DYNA4為車輛閉環系統測試提供功能豐富、可擴展的開發環境。通過集成交通流仿真軟件SUMO,DYNA4不僅能模擬車輛確定的駕駛狀態,也可以模擬隨機交通流。DYNA4還能為CANoe.Car2x提供數據接口用于填充V2X報文,通過驅動V2X通信網絡模擬器即能搭建起V2X的仿真環境,實現更接近真實交通環境的三維場景。
V2X是智能網聯汽車中的重要技術
V2X車路協同技術提高交通安全與效率
V2X(Vehicle-to-Everything)是指車輛與所有周圍的或交互的道路使用者和基礎設施的通信以及交換信息。通過V2X車聯網構建的交通系統,不僅能夠提高行駛效率、能源利用效率、駕駛安全與舒適性,也能給當前由雷達、激光雷達和攝像頭構成的自動駕駛感知系統提供額外的交通數據,以幫助解決在高速、交通復雜的自動駕駛路況中遇到的挑戰。依據不同的通信對象,V2X可以分為如下的幾種應用類型:
V2V:Vehicle-to-Vehicle
V2I:Vehicle-to-Infrastructure
V2N:Vehicle-to-Network
V2P:Vehicle-to-Pedestrian
V2H:Vehicle-to-Home
最初的V2X使用IEEE 802.11p無線傳輸技術,近期出現的C-V2X(Cellular V2X)基于LTE/4G或5G移動通信(PC5 Link),在V2N的情景中車輛通過LTE/4G或5G移動通信與后端/云端通信。不同的國家或地區可能使用不同的通信技術,即從物理層、數據鏈路層,到傳輸層、網絡層,再到應用層都應用或制定不同的通信規范。目前國內無線通信使用3GPP C-V2X PC5技術,網絡傳輸基于DSMP和GB/T 31024.3規范,具體的應用場景由CSAE 53和CSAE 157規范說明。
CANoe.Car2x支持基于V2X的通信應用的仿真、開發和測試
CANoe.Car2x支持無線標準WLAN IEEE 802.11p和3GPP C-V2X PC5,支持中國和歐美地區的協議和應用消息,還支持所有地區(中國、歐盟和美國)的安全機制,包括創建、導入和管理PKI及其證書和私鑰。
CANoe.Car2x提供數據庫工具來管理基于ASN.1的應用消息,用戶也可以在此基礎上補充其他的應用消息。Map Window和Protocol Analyzer窗口能夠高效分析通信報文內容。使用相關的CAPL函數能對所有數據元素單獨配置,保證了仿真工程的靈活性。使用Scenario Editor可以簡單高效地編輯基于虛擬道路的測試環境。通過DYNA4可以拓展測試環境,使仿真場景更接近真實環境,并實現閉環運行。
圖1:CANoe.Car2x提供的分析工具
SUMO是開源的交通系統仿真軟件
SUMO實現微觀和連續的交通流模擬
SUMO(Simulation of Urban Mobility)是一個開源的、可移植的用于模擬交通流的軟件包。SUMO模擬的微觀交通流在時間上是離散的,在空間上是連續的,并且能夠處理大型的交通網絡和不同的交通對象。SUMO主要由德國航空航天中心運輸系統研究所的員工開發。
在SUMO中可以使用XML文件描述交通網絡或車輛運動,也可以通過GUI軟件編輯,即netedit.exe和sumo-gui.exe。在SUMO里可以描述每一個車輛移動的起始位置和結束位置,通過SUMO內部的Car-Following Models和Lane-Changing Model來計算車輛在道路網絡中的車速。SUMO中還可以直接描述一個交通群體的運動,交通群體支持以不同的方式定義,通過內部的路由算法計算每個車輛在交通網絡中的路線。通過Traffic Control Interface(TraCl)允許訪問正在運行的道路交通仿真數據,也可“在線”修改某個交通對象的行為,通過TraCI接口也可以實現聯合仿真。SUMO提供豐富的工具,如導入不同類型的地圖文件,大大提高了開發效率和適用性。
SUMO可為V2X提供交通流模擬
SUMO提供了V2X仿真測試所需要的地圖功能和交通行為模擬功能,如果能與通信網絡模擬器結合,就能構建一個V2X仿真環境。
圖2:SUMO GUI交通流模擬工程示例
DYNA4集成SUMO實現V2X場景仿真
DYNA4支持車輛閉環系統測試中的功能開發
DYNA4為汽車虛擬駕駛測試提供一個開放的仿真環境。DYNA4中的虛擬車輛具有高保真的車輛動力學模型、動力總成模型、內燃機模型和電動機模型,可以實現車輛控制功能與策略的無縫集成。DYNA4內的駕駛場景仿真是3D可視化的,并提供攝像頭、激光雷達、雷達或超聲波傳感器的感知級別的傳感器信號模型,支持OpenDRIVE道路網絡和OpenSCENARIO場景描述,提供可擴展的交通對象庫,包括標志、車輛、騎自行車的人、行人、動物等,支持交通流仿真。
DYNA4具有高包容性的外部接口,除了與Simulink模型、C代碼和CANoe的無縫集成外,還支持FMU和ROS等標準接口,并且可以將導出的DYNA4 Run仿真包集成到其他工具環境(Windows或Linux)中,使其無需MATLAB/Simulink即可執行。DYNA4支持參數可變的自動化測試,支持從MIL、SIL到HIL的開發測試流程,并能夠實現大規模仿真的CI/CT持續集成測試。
DYNA4支持V2X場景編輯
在DYNA4中可以定義比CANoe的Scenario Editor更加真實的3D場景仿真。DYNA4中的交通道路有清晰的車道線劃分,模擬車輛有更真實的加速、減速、變道等駕駛行為,這對交通環境描述較為復雜的第二階段的CSAE157規范中的場景更有意義,如動態車道管理(DLM)和協作式車輛編隊管理(CPM)。DYNA4中支持編輯或導入OpenDRIVE地圖文件,并能設置場景里的交通信號燈狀態。場景中的HV(Host Vehicle)即是DYNA4中的VuT(Vehicle und Test),可以在Vehicle Control模型中編輯;而其他不同的交通參與者可以在Traffic Objects模塊中編輯,如緊急制動預警(EBW)場景中的RV(Remote Vehicle),弱勢交通參與者碰撞預警(VRUCW)中的行人,車內標牌(IVS)場景中的交通標牌。
DYNA4集成SUMO交通流仿真
在安裝DYNA4時,選中“Experimental features”下的“SUMO support”選項,即可自動安裝SUMO軟件包、Sumo Connect模塊和相關Demo工程。Sumo Connect模塊負責將DYNA4與SUMO集成,并可配置是否通過SUMO GUI運行仿真。集成的SUMO功能可用于為DYNA4創建復雜的交通場景,特別是在創建交通密集型場景時,如果不需要對交通對象進行精確的行為描述,建議使用SUMO進行仿真,而明確描述交通對象的行為則應使用DYNA4。在V2X應用中,SUMO可用于生成真實或專門設計的道路文件,并將道路上的交通組定義為背景車輛,從而生成更接近真實環境的V2X仿真場景。
DYNA4導出到CANoe中集成V2X通信網絡模擬器
DYNA4里的工程可以導出對應的CANoe工程,DYNA4工程可以作為不依賴于開發環境的、獨立的代碼包嵌入CANoe中運行,此外也可使用DYNA4與CANoe聯合調試運行模式。仿真工程中的交通對象的狀態可以方便地導入CANoe當中,如位置、速度、加速度等數據,使用CANoe.Car2x搭建的通信網絡仿真工程可以通過系統變量方便地使用這些數據,結合V2X通信網絡模擬器即可搭建出整個V2X HIL仿真環境。
圖3:基于DYNA4、SUMO和CANoe的V2X仿真工程環境
使用DYNA4、SUMO和CANoe搭建V2X仿真工程的方法
1.配置SUMO的環境變量
在安裝DYNA4時,選中相應選項即可自動安裝SUMO,但需要注意安裝路徑中不能有空格。此外,用戶還需要在操作系統中添加與SUMO相關的環境變量,即把SUMO_HOME設置為DYNA4安裝目錄下的.3rdPartySUMOsumo_bin路徑,將SUMO_BIN_DIR設置為DYNA4安裝目錄下的.3rdPartySUMOsumo_binin路徑。
2.在SUMO里繪制地圖
在SUMO里手動繪制地圖文件有兩種方式,一種是直接編寫地圖的XML腳本文件,另一種是通過GUI界面繪圖編輯。直接創建地圖文件需要先依次編寫node file、edge file、edge type file,再通過在命令行環境里調用netconvert工具生成network file。
圖4:SUMO里的.net.xml地圖文件和GUI編輯界面
SUMO也支持多種地圖文件格式轉換,如可以導入OpenStreetMap格式的地圖文件。通過運行SUMO軟件包里tools目錄下的Python腳本osmWebWizard.py可以打開網絡瀏覽器,然后在網頁地圖上選擇一個地理區域,再配置好交通需求后,點擊“Generate”按鈕即可根據所選區域對應的OSM數據生成地圖網絡、隨機需求和配置文件,并啟動sumo-gui。自動生成的地圖文件所包含的交通環境信息往往多于模擬所需的信息,因此可以通過圖形用戶界面或直接編輯XML文件對其進行修改。
圖5:在netedit和sumo-gui窗口顯示osmWebWizard生成的SUMO文件
3.將地圖導出為OpenDRIVE格式
前面提到的netconvert工具也可用于轉換不同的地圖文件格式,方法是通過命令行調用該工具,將SUMO網絡.net.xml文件作為輸入,將OpenDRIVE格式.xodr文件作為輸出。
圖6:導出OpenDRIVE格式地圖文件的命令
4.編寫route file和sumo configuration file
由于SUMO主要用于描述背景車輛的交通行為,因此可以描述一段路徑上的整體車輛運動情況,可以使用flow來描述該段路徑上的重復車輛運動情況,而不是單獨描述每輛車的運動情況。DYNA4中的Demo工程里提供一個.rou.xml文件,描述DYNA4 數據庫中所有的Traffic Objects,并將其歸類為幾種不同的type distributions,因此可以將目標路段上的flow設置為這些type distributions中的一種。
圖7:route_file.route.xml文件
再將準備好的network file和route file添加到sumo configuration file里,并加入與仿真控制相關的參數設置。
圖8:sumo_configuration_file.sumocfg文件
在sumo-gui中運行該.sumocfg文件,可以看到隨機生成的車流在道路上行駛。
圖9:sumo-gui運行工程結果
5.在DYNA4中導入OpenDRIVE地圖文件
在DYNA4的環境模型里設置“Road type”為“OpenDRIVE road”,在“OpenDRIVE”模塊里導入.xodr格式的地圖文件,并設置好“Route waypoints”作為VuT和Traffic Objects運行的路線。
圖10:DYNA4中查看和編輯OpenDRIVE格式地圖
6.在DYNA4中配置Sumo Traffic和VuT
根據V2X場景中對HV的描述,在DYNA4中的車輛控制模型里設置VuT的運動情況。在DYNA4中配置Sumo Traffic模型類似其他常規Traffic組件,一方面是在“Traffic Objects”模塊里設置V2X場景中的RV、行人或交通標志等。
圖11:“Traffic Objects”模塊設置
另一方面,在“SUMO Connect”模塊中設置SUMO連接方式,并導入SUMO配置文件。DYNA4最多支持40個Traffic Objects,包括前面介紹的在“Traffic Objects”模塊中設置的對象以及“SUMO Connect”模塊中設置的受SUMO控制的交通對象,后者即是V2X場景中的模擬背景車輛。
圖12:“Sumo Connect”模塊設置
7.將DYNA4導出為CANoe工程
對于需要在CANoe中使用的信號,可以在Simulink模型中添加“System Variable Output”模塊,如將VuT和Traffic Objects的位置、速度等信息輸出到CANoe中的系統變量。通過相關設置,DYNA4工程能夠自動導出為對應的CANoe工程,就可以使用CANoe.Car2x Option來實現V2X通信。
圖13:在Simulink中將運動狀態數據導出為系統變量
8.在CANoe里配置V2X工程
最后,在CANoe工程里添加Car2x網絡,導入并編輯Car2x數據庫,將從DYNA4中導出的系統變量賦值給Car2x報文里對應的Token,也可以在CANoe的“Map Window”窗口中實時顯示車輛位置。結合V2X通信網絡模擬器,V2X仿真環境就搭建完成。
圖14:在CANoe中運行仿真
綜上,DYNA4通過集成SUMO與CANoe.Car2x,能夠實現更接近真實的V2X場景仿真環境。點擊閱讀原文了解更多DYNA4可實現的其他應用以及DYNA4 R8的新特性。
審核編輯:湯梓紅
-
仿真軟件
+關注
關注
21文章
242瀏覽量
30335 -
CANoe
+關注
關注
4文章
65瀏覽量
8618 -
V2X
+關注
關注
25文章
209瀏覽量
43460 -
智能網聯汽車
+關注
關注
9文章
1027瀏覽量
31051
原文標題:DYNA4集成SUMO在CANoe中實現V2X三維場景
文章出處:【微信號:VectorChina,微信公眾號:Vector維克多】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論