基金項(xiàng)目:
廣西高校中青年教師科研基礎(chǔ)能力提升項(xiàng)目“基于5G和北斗的城市路況交通路口安全車速引導(dǎo)系統(tǒng)”(編號(hào):2021KY1124)
作者簡(jiǎn)介:
劉 丹(1991—),碩士,講師,工程師,研究方向:信息與通信技術(shù)、職業(yè)教育研究與管理。
摘要:針對(duì)在智能交通系統(tǒng)和相關(guān)技術(shù)的研究過程中難以使用實(shí)際交通設(shè)施設(shè)置專用試驗(yàn)場(chǎng)景的問題,文章提出了一種用于智能交通場(chǎng)景的虛擬仿真系統(tǒng),并使用Python語言編程實(shí)現(xiàn)了該系統(tǒng)的基本功能。同時(shí),使用該虛擬仿真系統(tǒng)對(duì)若干場(chǎng)景進(jìn)行了仿真分析。結(jié)果表明,該系統(tǒng)對(duì)智能交通場(chǎng)景有較好的虛擬仿真能力,可以為智能交通相關(guān)技術(shù)研發(fā)、教學(xué)提供一定的幫助。
關(guān)鍵詞:智能交通;虛擬仿真;Python語言編程
中圖分類號(hào):U495文獻(xiàn)標(biāo)識(shí)碼:A 49 163 4
0 引言
隨著城市化進(jìn)程的加速,城市交通系統(tǒng)日益復(fù)雜化,因此導(dǎo)致的交通擁堵、交通事故等現(xiàn)象進(jìn)一步惡化,嚴(yán)重影響城市居民的日常出行體驗(yàn),成為了城市交通亟待解決的問題。智能交通系統(tǒng)(Intelligent Transportation Systems,ITS)及其相關(guān)技術(shù)的出現(xiàn),使得緩解交通擁堵、提高道路安全性、進(jìn)一步優(yōu)化交通管理成為可能。
智能交通系統(tǒng)及相關(guān)技術(shù)的研究,涉及交通、汽車、通信、電子、計(jì)算機(jī)等多學(xué)科的綜合應(yīng)用,在技術(shù)層面有較高的復(fù)雜性。而交通系統(tǒng)作為城市日常運(yùn)行的重要環(huán)節(jié),使得其難以專門為技術(shù)研究提供專用試驗(yàn)場(chǎng)景。在此背景下,虛擬仿真技術(shù)成為了智能交通領(lǐng)域的重要研究手段。而虛擬仿真系統(tǒng)能夠模擬現(xiàn)實(shí)世界中的交通環(huán)境,進(jìn)而在無須實(shí)際部署的情況下預(yù)測(cè)和評(píng)估不同策略的效果[1]。
本文介紹一種智能交通場(chǎng)景下的虛擬仿真系統(tǒng),并利用Python語言編程實(shí)現(xiàn)了該系統(tǒng)的基本功能,以期說明利用虛擬仿真技術(shù),可以有效模擬智能交通技術(shù)在相關(guān)交通場(chǎng)景下的運(yùn)行效果。
1 系統(tǒng)設(shè)計(jì)
1.1 總體設(shè)計(jì)
圖1為本文研究的虛擬仿真系統(tǒng)的系統(tǒng)框圖。其中核心為仿真器模塊,作用是根據(jù)虛擬交通場(chǎng)景和交通仿真成員的相關(guān)信息,統(tǒng)一調(diào)度、推進(jìn)仿真的進(jìn)程;虛擬交通場(chǎng)景模塊是對(duì)交通道路情況的一種描述,幫助仿真器構(gòu)建虛擬交通場(chǎng)景;交通仿真成員模塊則包括參與虛擬仿真的車輛、行人、信號(hào)燈等交通實(shí)體成員,以及“北斗”定位、5G通信、智慧紅綠燈、高精地圖等智能交通信息成員;記錄與展示模塊用于記錄仿真過程的數(shù)據(jù),并為可視化展示提供數(shù)據(jù)基礎(chǔ)。
本文研究的虛擬仿真系統(tǒng),采用了分布式設(shè)計(jì)[2]。仿真器模塊和交通仿真成員模塊采用C/S架構(gòu),可以分別在不同的計(jì)算機(jī)上運(yùn)行,并通過HTTP接口實(shí)現(xiàn)互聯(lián)。分布式設(shè)計(jì)的優(yōu)點(diǎn)是在單臺(tái)設(shè)備算力有限的情況下,充分利用多臺(tái)設(shè)備的硬件性能,有助于實(shí)現(xiàn)大規(guī)模的交通場(chǎng)景虛擬仿真。同時(shí),仿真器模塊與交通仿真成員模塊之間采用解耦設(shè)計(jì),當(dāng)未來有新類型的仿真成員類型希望加入仿真時(shí),只需要該成員滿足仿真器的接口標(biāo)準(zhǔn)即可,仿真器不需要進(jìn)行大調(diào)整即可兼容運(yùn)行。
1.2 仿真器
1.2.1 仿真器設(shè)計(jì)
圖2為仿真器的類圖。仿真器的作用,是統(tǒng)一調(diào)度、協(xié)調(diào)推進(jìn)仿真進(jìn)程。需要特別說明的是,為了提高虛擬仿真系統(tǒng)的兼容性和可拓展性,仿真器模塊與交通成員模塊之間采用解耦設(shè)計(jì)。仿真器只負(fù)責(zé)統(tǒng)一推進(jìn)仿真進(jìn)程,確保各交通成員的運(yùn)行時(shí)序保持合理的邏輯順序;同時(shí)采用“發(fā)布-訂閱”模式,實(shí)現(xiàn)交通成員之間的數(shù)據(jù)交互。仿真器并不干涉交通成員的具體行為模式。
上頁(yè)圖3為仿真器的工作流程圖,其中初始化為設(shè)置全局參數(shù),包括全局仿真時(shí)鐘、仿真步長(zhǎng)、仿真成員管理列表等。生成虛擬交通場(chǎng)景,是根據(jù)預(yù)設(shè)道路資源、智能交通信息資源,構(gòu)建一個(gè)虛擬的交通場(chǎng)景,用于仿真的推進(jìn)。仿真開始后,仿真器處于監(jiān)聽模式,根據(jù)道路情況、信息情況變化,向訂閱了相關(guān)信息的仿真成員推送最新信息資源;同時(shí),接收仿真成員提交的本步長(zhǎng)執(zhí)行申請(qǐng),并最終決策推進(jìn)仿真進(jìn)程到下一個(gè)步長(zhǎng)。
如圖4所示,本仿真器將道路和智能交通信息視為一種資源,以“資源矩陣”的形式存儲(chǔ),用于仿真決策和推進(jìn)。其中,道路資源按照車道數(shù)、路段長(zhǎng)度、導(dǎo)行方向等預(yù)設(shè)參數(shù),生成道路資源矩陣,相關(guān)仿真成員按照其位置信息,部署在道路資源矩陣中;同時(shí),仿真成員可以向仿真器訂閱智能交通信息,當(dāng)進(jìn)入相應(yīng)信息矩陣區(qū)域后,會(huì)收到仿真器的信息推送。以具備“北斗”導(dǎo)航車速引導(dǎo)功能的汽車為例,當(dāng)其進(jìn)入信號(hào)燈信息矩陣區(qū)域時(shí),會(huì)收到仿真器推送的前方路口的信號(hào)燈信息,可以幫助其提前調(diào)整車速,以便其在綠燈亮起時(shí)剛好通過交通路口。
1.2.2 仿真決策
仿真決策,指的是仿真器接收到各個(gè)仿真成員的仿真請(qǐng)求后,對(duì)所有的請(qǐng)求進(jìn)行統(tǒng)一處理,根據(jù)其合理性、順序性,進(jìn)行優(yōu)先級(jí)判斷、沖突檢測(cè)等,最終決定本仿真步長(zhǎng)的執(zhí)行結(jié)果。下面對(duì)其中部分重要環(huán)節(jié)進(jìn)行詳細(xì)介紹。
優(yōu)先級(jí)判斷:在道路交通系統(tǒng)中,各類成員具備不同的優(yōu)先級(jí)。比如行人的路權(quán)高于汽車,特種車輛的路權(quán)也高于普通車輛。本文研究的虛擬仿真系統(tǒng)充分考慮了這個(gè)因素,設(shè)置了優(yōu)先級(jí)參數(shù),對(duì)優(yōu)先級(jí)高的仿真成員優(yōu)先調(diào)度、優(yōu)先執(zhí)行。
沖突檢測(cè):由于仿真系統(tǒng)采用了低耦合的分布式設(shè)計(jì),每一個(gè)仿真成員并不了解其他成員的仿真行動(dòng)計(jì)劃,故而可能出現(xiàn)沖突的情況。比如車輛A計(jì)劃在本步長(zhǎng)內(nèi)向左變道,而位于車輛A左后方的車輛B計(jì)劃在步長(zhǎng)內(nèi)加速,則這兩個(gè)操作可能存在沖突,仿真器需要檢測(cè)沖突,并決策最終執(zhí)行效果。
y-y1y2-y1=x-x1x2-x1
(1)
如式(1)所示,按照道路資源矩陣中仿真成員本步長(zhǎng)前、后的位置坐標(biāo)(x1,y1)、(x2,y2),計(jì)算獲得一個(gè)兩點(diǎn)式直線方程。
A=y2-y2B=x1-x2C=x2×y1-x1×y2
(2)
A1x+B1y+C1=0A2x+B2y+C2=0
(3)
利用式(2)可將式(1)中的兩點(diǎn)式直線方程變換為一般式方程。兩個(gè)仿真成員分別獲得一個(gè)一般式方程,見式(3)。聯(lián)立求解即可得到交點(diǎn)坐標(biāo),假設(shè)為(x′,y′)。但如果兩個(gè)直線平行,則交點(diǎn)不存在。
沖突,x1lt;x′≤x2
不沖突,交點(diǎn)不存在or" x′≤x1 or x′gt;x2
(4)
如式(4)所示,通過判斷交點(diǎn)坐標(biāo)可以判斷兩個(gè)仿真成員本步長(zhǎng)的推進(jìn)計(jì)劃是否有沖突。如果交點(diǎn)不存在,或者交點(diǎn)坐標(biāo)不在仿真成員本步長(zhǎng)前后位置坐標(biāo)之間,則不存在沖突。當(dāng)兩個(gè)仿真成員的本步長(zhǎng)推進(jìn)計(jì)劃無沖突時(shí),可以正常推進(jìn)仿真。如果有沖突,仿真器需要進(jìn)行決策。
圖5為仿真決策的流程。在上述沖突檢測(cè)中,如果結(jié)果為有沖突,仿真器按照仿真成員在道路資源矩陣中的位置關(guān)系,優(yōu)先調(diào)度位于前方的仿真成員按計(jì)劃推進(jìn),位于后方的成員只能推進(jìn)到?jīng)_突點(diǎn)的前一個(gè)道路資源網(wǎng)格。通過此方法,可以避免在仿真過程中的“穿?!眴栴},確保各個(gè)仿真成員之間的邏輯合理性。
需要說明的是,仿真器的決策過程,只涉及仿真成員的位置信息,不干涉其具體行動(dòng)模式。當(dāng)仿真器將決策結(jié)果返回給仿真成員時(shí),仿真成員應(yīng)自行調(diào)整本步長(zhǎng)的行動(dòng)模式。比如車輛A原計(jì)劃本步長(zhǎng)加速前進(jìn),但仿真器檢測(cè)到前方車輛B將變道并阻礙車輛A前行,則車輛A應(yīng)自行調(diào)整計(jì)劃為勻速或減速行駛。本設(shè)計(jì)旨在模擬現(xiàn)實(shí)交通行為,并實(shí)現(xiàn)仿真成員之間的解耦。
1.3 仿真成員
1.3.1 仿真成員設(shè)計(jì)
本文所述交通仿真成員,包括參與仿真的交通實(shí)體類成員(如車輛、行人等),以及智能交通信息類成員(如“北斗”導(dǎo)航、5G通信、智慧信號(hào)燈等)。
圖6為實(shí)體類仿真成員的類圖。此類仿真成員具有一個(gè)全局唯一的ID,由仿真器分配;成員類型表明該成員是什么類型(如汽車、行人等);局部時(shí)鐘、仿真步長(zhǎng),需與仿真器的全局時(shí)鐘同步,用于記錄仿真成員自身的仿真歷史記錄,以便最終展示仿真結(jié)果;優(yōu)先級(jí)指該仿真成員在仿真過程中的優(yōu)先級(jí)(比如行人的優(yōu)先級(jí)高于汽車,特種車輛的優(yōu)先級(jí)高于普通車輛);訂閱信息列表為該仿真成員向仿真器訂閱的智能交通信息,幫助其制定仿真推進(jìn)計(jì)劃。
圖7為智能交通信息類成員的類圖。此類成員包括了信息產(chǎn)生的時(shí)間戳、信息類型(如“北斗”信息、5G通信信息、智慧信號(hào)燈信息等)、信息內(nèi)容等。該類成員可以由其他仿真成員“發(fā)布”,也可以被其他實(shí)體類成員“訂閱”。通過”發(fā)布-訂閱”機(jī)制,可以實(shí)現(xiàn)仿真成員間的智能交通信息交互,最終完成對(duì)智能交通場(chǎng)景的模擬仿真。
1.3.2 仿真成員運(yùn)行
圖8為仿真成員(實(shí)體類)與仿真器之間的通信交互和運(yùn)行序列圖。仿真成員在加入仿真前,必須向仿真器發(fā)起成員注冊(cè)申請(qǐng)。仿真器接收申請(qǐng)后,會(huì)執(zhí)行注冊(cè)操作,并反饋當(dāng)前仿真時(shí)鐘、仿真步長(zhǎng)等信息,實(shí)現(xiàn)仿真器與仿真成員的同步,從而保證仿真系統(tǒng)整體的運(yùn)行時(shí)序符合邏輯關(guān)系。另外,仿真成員可以向仿真器訂閱其關(guān)注的智能交通信息,當(dāng)該信息有效時(shí),仿真器會(huì)向其推送。
在仿真過程中,仿真成員可以根據(jù)自身行動(dòng)模式和獲取到的智能交通信息,獨(dú)立制定本步長(zhǎng)的行動(dòng)計(jì)劃,并向仿真器提交行動(dòng)申請(qǐng)。仿真器將結(jié)合所有仿真成員提交的行動(dòng)申請(qǐng)進(jìn)行沖突檢測(cè)和決策,最終將執(zhí)行結(jié)果通過回調(diào)的方式反饋給仿真成員。
如前文所述,仿真成員提交的本步長(zhǎng)推進(jìn)計(jì)劃,可能因?yàn)榕c其他成員有沖突,被仿真器駁回。此時(shí)仿真成員需按如圖9流程,根據(jù)仿真器反饋的結(jié)果,調(diào)整本步長(zhǎng)推進(jìn)計(jì)劃并執(zhí)行新計(jì)劃,同時(shí)按需記錄歷史信息。
特別需要說明的是,本文研究的仿真系統(tǒng),采用了分布式設(shè)計(jì),即仿真器和仿真成員可以分別運(yùn)行在不同的計(jì)算設(shè)備或服務(wù)器上。只要設(shè)備間具備IP連接,即可通過HTTP協(xié)議實(shí)現(xiàn)接口調(diào)用,推進(jìn)仿真進(jìn)程。為了提高仿真運(yùn)行效率,建議將設(shè)備部署在相同局域網(wǎng)內(nèi)。
2 結(jié)果與測(cè)試
本文采用Python語言編程實(shí)現(xiàn)該智能交通虛擬仿真系統(tǒng)的基本功能,并構(gòu)建了2個(gè)虛擬交通場(chǎng)景。場(chǎng)景一:1 000 m長(zhǎng)度雙車道道路,多車輛行駛路況,用于模擬具備智能輔助駕駛功能的汽車在道路上自動(dòng)變道超車的情況;場(chǎng)景二:1 000 m長(zhǎng)度帶紅綠燈路口的道路,用于模擬具備交通路口車速引導(dǎo)功能的“北斗”導(dǎo)航車路協(xié)同環(huán)境下,車輛提前調(diào)整車速以便剛好在綠燈時(shí)通過路口的情況。
2.1 場(chǎng)景一
本次場(chǎng)景模擬中,車輛采用文獻(xiàn)[3]所述的智能輔助駕駛車道變換策略,模擬車輛1以較快速度接近車輛2后,車輛1自動(dòng)變道超車的情況。
圖10為場(chǎng)景模擬結(jié)果,可見車輛1在距離車輛2約20 m距離時(shí),檢測(cè)到前方慢速車輛2阻擋前行,自動(dòng)實(shí)現(xiàn)變換車道后超車行駛的過程。
2.2 場(chǎng)景二
本次場(chǎng)景模擬中,車輛采用文獻(xiàn)[4]所述的“北斗”導(dǎo)航車速引導(dǎo)方法,模擬對(duì)比車輛1(具有車速引導(dǎo)功能)和車輛2(不具有車速引導(dǎo)功能)在通過交通路口時(shí)的情況。
如圖11為場(chǎng)景模擬結(jié)果,可見車輛1在距離紅綠燈約500 m時(shí)進(jìn)入引導(dǎo)區(qū),根據(jù)“北斗”導(dǎo)航車速引導(dǎo)提前調(diào)整車速,使得其在通過路口時(shí)剛好綠燈通過。而車輛2因?yàn)椴痪邆滠囁僖龑?dǎo)功能,在到達(dá)路口時(shí)碰上紅燈,需要停車等待,通行效率不如車輛1。
3 結(jié)語
本文介紹了一種智能交通場(chǎng)景的虛擬仿真系統(tǒng),并采用Python語言編程實(shí)現(xiàn)了該仿真系統(tǒng)的基本功能。試驗(yàn)結(jié)果表明,該仿真系統(tǒng)具備模擬若干智能交通場(chǎng)景的功能,可以為智能交通相關(guān)技術(shù)研究、教育教學(xué)提供一定的幫助。本文研究還有不足之處,如沒有實(shí)現(xiàn)場(chǎng)景可視化展示。后續(xù)研究可將該虛擬仿真引擎與Unity 3D等圖形引擎相結(jié)合,實(shí)現(xiàn)智能交通場(chǎng)景的可視化虛擬仿真。
參考文獻(xiàn)
[1]蔡 銘,徐 朋,黃 敏,等.智能交通工程虛擬仿真實(shí)驗(yàn)教學(xué)體系的構(gòu)建[J].中國(guó)教育信息化,2019(2):49-51.
[2]李 朔. 分布式戰(zhàn)術(shù)互聯(lián)網(wǎng)仿真系統(tǒng)關(guān)鍵技術(shù)研究與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2023.
[3]陳杰威,劉 丹,黃海麗,等.基于智能輔助駕駛的車速引導(dǎo)方法[J].西部交通科技,2023(9):172-174,185.
[4]陳杰威,鄭欣悅,劉 丹,等.北斗系統(tǒng)應(yīng)用環(huán)境下的車速引導(dǎo)效能分析[J].西部交通科技,2022(9):146-148,205.