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