本發(fā)明涉及車輛控制仿真領(lǐng)域,尤其涉及一種控制車輛仿真運(yùn)行的方法。
背景技術(shù):
目前在國內(nèi)外有軌電車仿真運(yùn)行軟件的實現(xiàn)方式中很少考慮車輛間的沖突問題,即車輛在仿真運(yùn)行過程中可能出現(xiàn)的,由于改變車輛屬性(比如速度,停站時間等),從而導(dǎo)致前后車輛間出現(xiàn)追尾,重疊,甚至超車等與實際情況嚴(yán)重不符的情況。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種控制車輛仿真運(yùn)行的方法,能夠避免車輛的追尾、重疊問題,提高了車輛運(yùn)行的效率。
根據(jù)上述目的,本發(fā)明提供一種控制車輛仿真運(yùn)行的方法,提供至少一個車輛,每一個車輛的運(yùn)行線路包含多個區(qū)段,所述方法包括:a)針對每一個車輛,計算該車輛對應(yīng)的至少一個占用區(qū)段;b)針對每一個車輛,判斷該車輛對應(yīng)的至少一個占用區(qū)段是否與位于該車輛前方的車輛對應(yīng)的至少一個占用區(qū)段重合;c)若是,則使該車輛停止;d)若否,則使該車輛運(yùn)動。
在一實施例中,所述步驟a)包括:針對每一個車輛,將該車輛前端位置與距離該車輛前端位置為該車輛制動距離位置構(gòu)成的區(qū)間占據(jù)的區(qū)段作為所述至少一個占用區(qū)段。
在一實施例中,若所述至少一個占用區(qū)段中包含道岔區(qū)段,則將所述道岔區(qū)段的后一個區(qū)段作為占用區(qū)段。
在一實施例中,若所述至少一個占用區(qū)段中包含平交路口區(qū)段,則將所述平交路口區(qū)段的后一個區(qū)段作為占用區(qū)段。
在一實施例中,若所述至少一個占用區(qū)段中包含折返區(qū)段,則將包含有該段折返區(qū)段的折返區(qū)域?qū)?yīng)的所有區(qū)段作為占用區(qū)段。
在一實施例中,當(dāng)所述車輛的前端進(jìn)入任一所述區(qū)段時,執(zhí)行所述計算的操作和所述判斷的操作。
在一實施例中,當(dāng)所述車輛的后端離開任一所述區(qū)段時,執(zhí)行所述計算的操作和所述判斷的操作。
在一實施例中,每過一個時間周期,執(zhí)行所述計算的操作和所述判斷的操作。
對應(yīng)前述方法,本發(fā)明還提供一種控制車輛運(yùn)行仿真的裝置,提供至少一個車輛,每一個車輛的運(yùn)行線路包含多個區(qū)段,所述裝置包括:占用區(qū)段計算模塊,針對每一個車輛,計算該車輛對應(yīng)的至少一個占用區(qū)段;判斷模塊,判斷該車輛對應(yīng)的至少一個占用區(qū)段是否與位于該車輛前方的車輛對應(yīng)的至少一個占用區(qū)段重合;制動模塊,若是,則使該車輛停止;驅(qū)動模塊,若否,則使該車輛運(yùn)動。
在一實施例中,所述占用區(qū)段計算模塊進(jìn)一步用于:針對每一個車輛,將該車輛前端位置與距離該車輛前端位置為該車輛制動距離位置構(gòu)成的區(qū)間占據(jù)的區(qū)段作為所述至少一個占用區(qū)段。
在一實施例中,所述占用區(qū)段計算模塊進(jìn)一步用于:若所述至少一個占用區(qū)段中包含道岔區(qū)段,則將所述道岔區(qū)段的后一個區(qū)段作為占用區(qū)段。
在一實施例中,所述占用區(qū)段計算模塊進(jìn)一步用于:若所述至少一個占用區(qū)段中包含平交路口區(qū)段,則將所述平交路口區(qū)段的后一個區(qū)段作為占用區(qū)段。
在一實施例中,所述占用區(qū)段計算模塊進(jìn)一步用于:若所述至少一個占用區(qū)段中包含折返區(qū)段,則將包含有該段折返區(qū)段的折返區(qū)域?qū)?yīng)的所有區(qū)段作為占用區(qū)段。
在一實施例中,所述判斷模塊還包括:位置監(jiān)測組件,用于監(jiān)測所述車輛的前端是否與任一所述區(qū)段的前端的位置一致;若是,則觸發(fā)所述占用區(qū)段計算模塊執(zhí)行所述計算操作,觸發(fā)所述判斷模塊執(zhí)行所述判斷操作。
在一實施例中,所述判斷模塊還包括:位置監(jiān)測組件,用于監(jiān)測所述車輛的后端是否與任一所述區(qū)段的后端的位置一致;若是,則觸發(fā)所述占用區(qū)段計算模塊執(zhí)行所述計算操作,觸發(fā)所述判斷模塊執(zhí)行所述判斷操作。
在一實施例中,所述判斷模塊還包括:計時組件,根據(jù)預(yù)設(shè)時間周期進(jìn)行計時,每過一個時間周期,則觸發(fā)所述占用區(qū)段計算模塊執(zhí)行所述計算操作,觸發(fā)所述判斷模塊執(zhí)行所述判斷操作。
本發(fā)明還提供一種計算機(jī)設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計算機(jī)程序,所述處理器執(zhí)行所述程序時實現(xiàn)前述方法所述的步驟。
本發(fā)明還提供一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,該程序被處理器執(zhí)行時實現(xiàn)前述方法所述的步驟。
綜上所述,本發(fā)明提供一種控制車輛運(yùn)行仿真的方法及裝置,通過判斷車輛的占用區(qū)段是否重合,推斷各車輛是否存在碰撞的可能,進(jìn)而控制車輛運(yùn)行或停止。
更進(jìn)一步,各車輛的占用區(qū)段是通過各車輛的制動距離推算出的,這樣在避免車輛碰撞的同時,提高了線路使用的效率。
附圖說明
圖1示出了本發(fā)明一種控制車輛運(yùn)行仿真的方法一個方面的流程圖;
圖2示出了本發(fā)明一種控制車輛運(yùn)行仿真的裝置一個方面的結(jié)構(gòu)圖;
圖3示出了本發(fā)明一種控制車輛運(yùn)行仿真的裝置另一個方面的結(jié)構(gòu)圖。
具體實施方式
本發(fā)明提供一種控制車輛運(yùn)行仿真的方法,能夠避免在仿真環(huán)境下各車輛之間出現(xiàn)的撞車問題。
本發(fā)明所述的車輛包含有軌電車、地鐵、高鐵、火車、汽車等。
在車輛的軟件仿真運(yùn)行的過程中,會將車輛的運(yùn)行線路邏輯分成長度不等的多個區(qū)段,各個區(qū)段是前后無縫連接的,所有的區(qū)段構(gòu)成的集合即構(gòu)成整個運(yùn)行線路。
例如,若是有軌電車運(yùn)行的仿真,則將有軌電車的運(yùn)行軌道線路邏輯分成長度不等的區(qū)段。
車輛通常是在一條線路上先后發(fā)車的,若不同的車輛在同一時間占用的運(yùn)行線路有重疊,則會發(fā)生撞車事故。
本發(fā)明按照區(qū)段作為最小單元,若不同的車輛在同一時間占用相同的區(qū)段則表明出現(xiàn)了撞車事故。
為了避免上述撞車事故,一種控制車輛運(yùn)行仿真的方法,請參看圖1,圖1示出了本發(fā)明一種控制車輛運(yùn)行仿真的方法一個方面的流程圖,提供至少一個車輛,每一個車輛的運(yùn)行線路包含多個區(qū)段,所述方法包括:
步驟101:針對每一個車輛,計算該車輛對應(yīng)的至少一個占用區(qū)段;
步驟102:針對每一個車輛,判斷該車輛對應(yīng)的至少一個占用區(qū)段是否與位于該車輛前方的車輛對應(yīng)的至少一個占用區(qū)段重合;
步驟103:若是,則使該車輛停止;
步驟104:若否,則使該車輛運(yùn)動。
首先執(zhí)行步驟101,針對每一個車輛,計算該車輛對應(yīng)的至少一個占用區(qū)段,為了避免不同的車輛在同一時間占用相同的區(qū)段,首先計算每一個車輛占用的區(qū)段。
只要車輛的車身占用了一個區(qū)段的一部分,則認(rèn)為車輛占用了該整個區(qū)段。
應(yīng)當(dāng)理解,車輛占用的區(qū)段不一定僅包含車輛車身占用的區(qū)段構(gòu)成的集合,還有可能占用車輛前方和/或后方的區(qū)段。
例如,在某一時刻,車輛車身位于區(qū)段h和區(qū)段i內(nèi),即占用了區(qū)段h和區(qū)段i,但為了避免撞車的情況,還可能設(shè)置車輛同時占據(jù)區(qū)段g和區(qū)段j,也就是留有一定的余量,來避免撞車的情況。
在得到每一個車輛的占用區(qū)段后,執(zhí)行步驟102,針對每一個車輛,判斷該車輛對應(yīng)的至少一個占用區(qū)段是否與位于該車輛前方的車輛對應(yīng)的至少一個占用區(qū)段重合。
也就是說,判斷該車輛的前方是否有車輛占用了自己的區(qū)段,若占用了則可能發(fā)生撞車的危險,則執(zhí)行步驟103,使得該車輛停車。
若步驟102的判斷為否,則執(zhí)行步驟104,則使該車輛運(yùn)動,也就是讓車輛可以按照計劃繼續(xù)運(yùn)行。
對于每一個車輛而言,其有可能跟前方的車輛相撞,當(dāng)然也有可能跟后方的車輛相撞,步驟102是規(guī)定了每一個車輛都判斷是否可能與前方的車輛相撞,也就是說,每一個車輛后面的車輛判斷了該車輛是否會與其后面的車輛相撞的情況。
為了盡可能的避免撞車的情況,通常針對每輛車可以設(shè)置較大的占用區(qū)段,但是這種方式可能會存在占用區(qū)段的浪費(fèi),降低車輛行駛的效率。
在一實施例中,針對每一個車輛,將該車輛前端位置與距離該車輛前端位置為該車輛制動距離位置構(gòu)成的區(qū)間占據(jù)的區(qū)段作為該車輛的占用區(qū)段。
也就是考慮車輛從制動到完全停下來的距離,將這部分距離占用的區(qū)段也納入該車輛占用的區(qū)段集合。這就使得,當(dāng)各車輛在行使過程中產(chǎn)生意外,例如臨時停車,速度偏快、偏慢等情況時,只要車輛發(fā)現(xiàn)其前方有車輛在其制動區(qū)間內(nèi),則立馬停車,等待前方車輛開出其制動距離范圍后再繼續(xù)行使。
因為制動距離是避免撞車的最小距離,采用此方式能夠避免占用區(qū)間的浪費(fèi),提高列車行使的效率。
列車的行使路線會包含道岔,所謂道岔是指,車輛在道岔處會有多個方向供其選擇來行駛,道岔占據(jù)的區(qū)段即為道岔區(qū)段。
由于道岔區(qū)段的使用較一般區(qū)段要高很多,所以考慮盡量不要讓車輛停在道岔區(qū)段上。
在一實施例中,若至少一個占用區(qū)段中包含道岔區(qū)段,則將道岔區(qū)段的后一個區(qū)段作為占用區(qū)段。在此情況下,若車輛需要停止時,就可以停在道岔區(qū)段的后的一個區(qū)段內(nèi),避免停在道岔區(qū)段上,占用道岔區(qū)段。
列車的行使路線會包含平交路口,所謂平交路口是指,行駛路線在此處具有交叉點,兩個車輛可能會在此處教會,平交路口占據(jù)的區(qū)段即為平交路口區(qū)段。
同樣,由于平交路口區(qū)段的使用較一般區(qū)段要高很多,所以考慮盡量不要讓車輛停在平交路口區(qū)段上。
在一實施例中,若至少一個占用區(qū)段中包含平交路口區(qū)段,則將平交路口區(qū)段的后一個區(qū)段作為占用區(qū)段。在此情況下,若車輛需要停止時,就可以停在平交路口區(qū)段的后的一個區(qū)段內(nèi),避免停在平交路口區(qū)段上,占用平交路口區(qū)段。
當(dāng)車輛進(jìn)入折返線路時,由于車輛會在此區(qū)段內(nèi)會掉頭行駛,其列車行駛的兩個方向上,都有可能有其他車輛經(jīng)過,這就提高了撞車的可能性。
為了避免撞車情況的發(fā)生,在一實施例中,若至少一個占用區(qū)段中包含折返區(qū)段,則將包含有該段折返區(qū)段的折返區(qū)域?qū)?yīng)的所有區(qū)段作為占用區(qū)段。也就是說,只要車輛占據(jù)了折返區(qū)段集合中的任一個區(qū)段,則讓該車輛占據(jù)整個折返區(qū)段的集合,更好地避免其他車輛進(jìn)入折返區(qū)段。
由于各個車輛都是在不斷運(yùn)行的,前述步驟101中的占用區(qū)段計算的操作可以是實時的,即不斷地計算占用區(qū)段,并以實時的占用區(qū)段為基礎(chǔ),實時執(zhí)行步驟102中的判斷操作,并根據(jù)步驟102的判斷操作的結(jié)果,實時執(zhí)行步驟103或步驟104的操作。
實時計算和判斷的操作會導(dǎo)致較大的運(yùn)算量。為了減少計算量,在一實施例中,當(dāng)車輛的前端進(jìn)入任一區(qū)段時,執(zhí)行計算的操作和判斷的操作。也就是說,當(dāng)車輛的車頭進(jìn)入一個新的區(qū)段時,在執(zhí)行計算的操作和判斷的操作。
在一實施例中,當(dāng)車輛的后端離開任一區(qū)段時,執(zhí)行計算的操作和判斷的操作。
也可以設(shè)定時間周期,循環(huán)執(zhí)行計算的操作和判斷的操作,在一實施例中,每過一個時間周期,執(zhí)行計算的操作和判斷的操作。
對應(yīng)前述方法,本發(fā)明還提供一種控制車輛運(yùn)行仿真的裝置,請參看圖2,圖2示出了本發(fā)明一種控制車輛運(yùn)行仿真的裝置一個方面的結(jié)構(gòu)圖。
裝置20包括:占用區(qū)段計算模塊201,針對每一個車輛,計算該車輛對應(yīng)的至少一個占用區(qū)段;判斷模塊202,判斷該車輛對應(yīng)的至少一個占用區(qū)段是否與位于該車輛前方的車輛對應(yīng)的至少一個占用區(qū)段重合;制動模塊203,若所述判斷的結(jié)果為是,則使該車輛停止;驅(qū)動模塊204,若所述判斷的結(jié)果為否,則使該車輛運(yùn)動。
在一實施例中,占用區(qū)段計算模塊進(jìn)一步用于:針對每一個車輛,將該車輛前端位置與距離該車輛前端位置為該車輛制動距離位置構(gòu)成的區(qū)間占據(jù)的區(qū)段作為至少一個占用區(qū)段。
在一實施例中,占用區(qū)段計算模塊進(jìn)一步用于:若至少一個占用區(qū)段中包含道岔區(qū)段,則將道岔區(qū)段的后一個區(qū)段作為占用區(qū)段。
在一實施例中,占用區(qū)段計算模塊進(jìn)一步用于:若至少一個占用區(qū)段中包含平交路口區(qū)段,則將平交路口區(qū)段的后一個區(qū)段作為占用區(qū)段。
在一實施例中,占用區(qū)段計算模塊進(jìn)一步用于:若至少一個占用區(qū)段中包含折返區(qū)段,則將包含有該段折返區(qū)段的折返區(qū)域?qū)?yīng)的所有區(qū)段作為占用區(qū)段。
請參看圖3,圖3示出了本發(fā)明一種控制車輛運(yùn)行仿真的裝置另一個方面的結(jié)構(gòu)圖。
在圖2所示的一種控制車輛運(yùn)行仿真的裝置的結(jié)構(gòu)圖的基礎(chǔ)上,圖3中的判斷模塊302還包括位置監(jiān)測組件3021,用于監(jiān)測車輛的前端是否與任一區(qū)段的前端的位置一致,若是,則觸發(fā)占用區(qū)段計算模塊301執(zhí)行計算操作,觸發(fā)判斷模塊302執(zhí)行判斷操作。
在一實施例中,位置監(jiān)測組件3021,用于監(jiān)測車輛的后端是否與任一區(qū)段的后端的位置一致;若是,則觸發(fā)占用區(qū)段計算模塊301執(zhí)行計算操作,觸發(fā)判斷模塊302執(zhí)行判斷操作。
在一實施例中,判斷模塊還包括:計時組件,根據(jù)預(yù)設(shè)時間周期進(jìn)行計時,每過一個時間周期,則觸發(fā)占用區(qū)段計算模塊執(zhí)行計算操作,觸發(fā)判斷模塊執(zhí)行判斷操作。
本發(fā)明還提供一種計算機(jī)設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計算機(jī)程序,所述處理器執(zhí)行所述程序時實現(xiàn)前述方法所述的步驟。
本發(fā)明還提供一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,該程序被處理器執(zhí)行時實現(xiàn)前述方法所述的步驟。
本領(lǐng)域技術(shù)人員將進(jìn)一步領(lǐng)會,結(jié)合本文中所公開的實施例來描述的各種解說性邏輯板塊、模塊、電路、和算法步驟可實現(xiàn)為電子硬件、計算機(jī)軟件、或這兩者的組合。為清楚地解說硬件與軟件的這一可互換性,各種解說性組件、框、模塊、電路、和步驟在上面是以其功能性的形式作一般化描述的。此類功能性是被實現(xiàn)為硬件還是軟件取決于具體應(yīng)用和施加于整體系統(tǒng)的設(shè)計約束。技術(shù)人員對于每種特定應(yīng)用可用不同的方式來實現(xiàn)所描述的功能性,但這樣的實現(xiàn)決策不應(yīng)被解讀成導(dǎo)致脫離了本發(fā)明的范圍。
結(jié)合本文所公開的實施例描述的各種解說性邏輯模塊、和電路可用通用處理器、數(shù)字信號處理器(dsp)、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)或其它可編程邏輯器件、分立的門或晶體管邏輯、分立的硬件組件、或其設(shè)計成執(zhí)行本文所描述功能的任何組合來實現(xiàn)或執(zhí)行。通用處理器可以是微處理器,但在替換方案中,該處理器可以是任何常規(guī)的處理器、控制器、微控制器、或狀態(tài)機(jī)。處理器還可以被實現(xiàn)為計算設(shè)備的組合,例如dsp與微處理器的組合、多個微處理器、與dsp核心協(xié)作的一個或多個微處理器、或任何其他此類配置。
結(jié)合本文中公開的實施例描述的方法或算法的步驟可直接在硬件中、在由處理器執(zhí)行的軟件模塊中、或在這兩者的組合中體現(xiàn)。軟件模塊可駐留在ram存儲器、閃存、rom存儲器、eprom存儲器、eeprom存儲器、寄存器、硬盤、可移動盤、cd-rom、或本領(lǐng)域中所知的任何其他形式的存儲介質(zhì)中。示例性存儲介質(zhì)耦合到處理器以使得該處理器能從/向該存儲介質(zhì)讀取和寫入信息。在替換方案中,存儲介質(zhì)可以被整合到處理器。處理器和存儲介質(zhì)可駐留在asic中。asic可駐留在用戶終端中。在替換方案中,處理器和存儲介質(zhì)可作為分立組件駐留在用戶終端中。
在一個或多個示例性實施例中,所描述的功能可在硬件、軟件、固件或其任何組合中實現(xiàn)。如果在軟件中實現(xiàn)為計算機(jī)程序產(chǎn)品,則各功能可以作為一條或更多條指令或代碼存儲在計算機(jī)可讀介質(zhì)上或藉其進(jìn)行傳送。計算機(jī)可讀介質(zhì)包括計算機(jī)存儲介質(zhì)和通信介質(zhì)兩者,其包括促成計算機(jī)程序從一地向另一地轉(zhuǎn)移的任何介質(zhì)。存儲介質(zhì)可以是能被計算機(jī)訪問的任何可用介質(zhì)。作為示例而非限定,這樣的計算機(jī)可讀介質(zhì)可包括ram、rom、eeprom、cd-rom或其它光盤存儲、磁盤存儲或其它磁存儲設(shè)備、或能被用來攜帶或存儲指令或數(shù)據(jù)結(jié)構(gòu)形式的合意程序代碼且能被計算機(jī)訪問的任何其它介質(zhì)。任何連接也被正當(dāng)?shù)胤Q為計算機(jī)可讀介質(zhì)。例如,如果軟件是使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(dsl)、或諸如紅外、無線電、以及微波之類的無線技術(shù)從web網(wǎng)站、服務(wù)器、或其它遠(yuǎn)程源傳送而來,則該同軸電纜、光纖電纜、雙絞線、dsl、或諸如紅外、無線電、以及微波之類的無線技術(shù)就被包括在介質(zhì)的定義之中。如本文中所使用的盤(disk)和碟(disc)包括壓縮碟(cd)、激光碟、光碟、數(shù)字多用碟(dvd)、軟盤和藍(lán)光碟,其中盤(disk)往往以磁的方式再現(xiàn)數(shù)據(jù),而碟(disc)用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。上述的組合也應(yīng)被包括在計算機(jī)可讀介質(zhì)的范圍內(nèi)。
提供對本公開的先前描述是為使得本領(lǐng)域任何技術(shù)人員皆能夠制作或使用本公開。對本公開的各種修改對本領(lǐng)域技術(shù)人員來說都將是顯而易見的,且本文中所定義的普適原理可被應(yīng)用到其他變體而不會脫離本公開的精神或范圍。由此,本公開并非旨在被限定于本文中所描述的示例和設(shè)計,而是應(yīng)被授予與本文中所公開的原理和新穎性特征相一致的最廣范圍。