国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于網(wǎng)絡(luò)連接的自動駕駛聯(lián)合仿真方法

2023-10-24 06:34:20戴大力王俊平趙天坤
時代汽車 2023年19期
關(guān)鍵詞:自動駕駛網(wǎng)絡(luò)連接

戴大力 王俊平 趙天坤

摘 要:自動駕駛算法大規(guī)模應(yīng)用離不開算法仿真測試,目前多使用場景仿真軟件對動態(tài)場景和傳感器信號進行模擬,而較為準(zhǔn)確的車身動力學(xué)模擬多需要交給專門的車輛多體動力學(xué)仿真軟件。得益于Matlab中Simulink產(chǎn)品廣泛的適配性,目前使用場景仿真軟件和車輛動力學(xué)仿真軟件進行聯(lián)合仿真的方法仍多通過Matlab進行中轉(zhuǎn)連接,但不適用于非Matlab環(huán)境的算法測試。本文提出了一種基于TCP網(wǎng)絡(luò)連接的場景仿真軟件與車輛動力學(xué)仿真軟件直接連接的聯(lián)合仿真方法,能夠達到應(yīng)用仿真場景地圖路面實時高程信息的效果,實現(xiàn)了車輛動力學(xué)仿真軟件高頻解算,與場景仿真軟件頻率相配合的效果。

關(guān)鍵詞:網(wǎng)絡(luò)連接 自動駕駛 仿真方法

1 引言

近年來,自動駕駛算法發(fā)展迅速,而為了保證安全性,自動駕駛算法在研發(fā)過程中,真正大規(guī)模應(yīng)用之前,需要經(jīng)歷大量的道路測試。然而作為一門歷史非常短的技術(shù),自動駕駛系統(tǒng)的測試存在諸多困難:首先,自動駕駛算法需要保證安全性,但即使是想要達到人類駕駛員的水平,也需要積累海量的駕駛和環(huán)境數(shù)據(jù)來訓(xùn)練和測試算法,采集數(shù)據(jù)所耗費的時間和成本巨大。其次,極端交通條件和危險場景難以復(fù)現(xiàn),而且人工測試存在安全隱患。同時,自動駕駛相應(yīng)交通法規(guī)及保險理賠機制尚不完善,制約了自動駕駛汽車路測的大范圍開展。此外,自動駕駛行業(yè)尚未就智能汽車測試的安全性等標(biāo)準(zhǔn)達成一致。最后,不同地區(qū)的道路環(huán)境差別巨大:如中國的城市道路中快遞、外賣、行人混行的情況普遍存在,而且中國道路上交通標(biāo)志、車道線標(biāo)志設(shè)置不規(guī)范情況普遍存在。[1]

因此需要加大仿真測試在自動駕駛測試中的占比。目前自動駕駛算法測試大約 90% 通過仿真平臺完成,9%在測試場完成,1% 通過實際路測完成?;诩兲摂M方法的自動駕駛仿真測試系統(tǒng)需要包含如下幾方面主要功能:傳感器仿真、車輛動力學(xué)仿真、道路場景仿真、交通流仿真、二次開發(fā)與自動化運行功能支持等。無論是商業(yè)軟件還是開源領(lǐng)域,目前業(yè)界沒有一款軟件能夠同時在以上各個功能領(lǐng)域都滿足功能要求,因此多學(xué)科軟件聯(lián)合仿真是一種典型的測試方式。

國外的場景仿真軟件如由VIRES公司的VTD、西門子公司的PreScan,以及國產(chǎn)軟件51SimOne和PanoSim等,都能夠做到覆蓋道路環(huán)境建模、交通場景建模、天氣和環(huán)境模擬、簡單和物理真實的傳感器仿真、場景仿真管理以及高精度的實時畫面渲染等方面的功能??梢灾С謴能浖诃h(huán)到硬件在環(huán)和車輛在環(huán)的全周期開發(fā)流程,開放式的模塊式框架可以方便的與第三方的工具和插件聯(lián)合仿真。而像CarSim、CarMaker、Simpack等屬于車輛動力學(xué)仿真軟件,主要從整車角度進行仿真,各軟件分別積累了豐富的經(jīng)驗參數(shù),內(nèi)建了相當(dāng)數(shù)量的車輛模型,用戶可以快速配置使用。[2]

因此場景仿真軟件搭配車輛動力學(xué)仿真軟件聯(lián)合仿真是一種普遍使用的仿真方法,由專業(yè)軟件進行車輛動力學(xué)仿真,將結(jié)果與場景仿真軟件進行交互,由場景仿真軟件負責(zé)構(gòu)建虛擬仿真環(huán)境及場景、輸出傳感器信號等仿真其他部分。然而,現(xiàn)行的場景仿真軟件和車輛動力學(xué)仿真軟件之間的連接,主要通過Matlab軟件實現(xiàn):這主要是因為一些歷史的原因,Matlab連同其旗下的Simulink產(chǎn)品在各個工程領(lǐng)域具有廣泛的受眾,與多領(lǐng)域的工具鏈都可適配,因此自動駕駛中的場景仿真軟件和車輛動力學(xué)仿真軟件在研制之初也優(yōu)先考慮與Matlab的聯(lián)通。Matlab軟件一般運行在Windows平臺,負責(zé)調(diào)用同樣主要用在Windows平臺的車輛動力學(xué)仿真軟件,同時Matlab通過UDP等網(wǎng)絡(luò)通訊方式與同在Windows平臺或在其他如Linux平臺的場景仿真軟件進行連接。這樣做的好處是:方便調(diào)試Matlab軟件環(huán)境下編寫的算法模型,Matlab調(diào)用車輛動力學(xué)仿真軟件、Matlab通過UDP等與場景仿真軟件進行通訊往往都有成熟方案。然而隨著自動駕駛行業(yè)的發(fā)展,待測算法逐漸不局限于Simulink模型,如果待測試算法在Linux環(huán)境下編寫,則該方案不便捷。目前業(yè)界還缺乏基于TCP網(wǎng)絡(luò)通訊的直連車輛動力學(xué)仿真軟件與場景仿真軟件的解決方案。

本文將首先介紹基于TCP連接的車輛動力學(xué)仿真軟件聯(lián)合場景仿真軟件解決方案的系統(tǒng)架構(gòu),再依次介紹車輛子系統(tǒng)設(shè)計和場景子系統(tǒng)設(shè)計,最后將介紹系統(tǒng)的實現(xiàn)情況并進行了測試。

2 仿真系統(tǒng)架構(gòu)

本文所述基于TCP連接的車輛動力學(xué)仿真方法所使用的仿真系統(tǒng)架構(gòu)如圖1所示。仿真系統(tǒng)首先包含了車輛動力學(xué)仿真軟件和場景仿真軟件,在車輛動力學(xué)仿真軟件所在的Windows端還包含本文將要論述的車輛子系統(tǒng),場景仿真軟件選擇運行在Linux系統(tǒng)下,以適應(yīng)Linux下的被測算法。在場景仿真軟件所在的Linux端將會包含本文所論述的場景子系統(tǒng)。

車輛子系統(tǒng)將會采用自動化調(diào)用車輛動力學(xué)仿真軟件的解算器的方式,根據(jù)需求運行車輛動力學(xué)仿真軟件的啟停,以及控制解算器的單步運行和接收解算器的單步運行完成信號,同時,車輛子系統(tǒng)將會通過使用車輛動力學(xué)仿真軟件自帶的二次開發(fā)API建立輸入輸出通訊接口。子系統(tǒng)控制解算器運行一次單步仿真運算的前提,是已將通過網(wǎng)絡(luò)TCP連接獲取的路面信息和控制命令發(fā)送給解算器,作為車輛仿真模型運算的輸入條件,待子系統(tǒng)接收到解算器單步運行完成的信號后,將模型運算的結(jié)果,即車輛位置速度以及車輛車輪觸地點的位置坐標(biāo)通過網(wǎng)絡(luò)發(fā)送出去。

在本文所使用的仿真方法中,控制命令主要包含油門踏板、剎車踏板、方向盤角度以及擋位信息,作為車輛控制輸入的基本信息;路面信息將會主要包括路面的高程信息、地面摩擦系數(shù)等。這些都是車輛動力學(xué)軟件在進行動力學(xué)計算時,數(shù)學(xué)模型的必要輸入。其中,車輛控制輸入往往視被測算法的控制輸出,或場景仿真軟件的駕駛員模型控制輸出而定;路面信息則視車輛動力學(xué)仿真軟件的計算必要條件而定。

場景子系統(tǒng)將會通過使用場景仿真軟件自帶的二次開發(fā)API建立輸入輸出通訊接口,接受來自網(wǎng)絡(luò)TCP連接的車輛位置速度信息,并將車輛位置速度信息轉(zhuǎn)化為場景仿真軟件數(shù)據(jù)通道能夠識別的實時信息,場景仿真軟件將根據(jù)該信息控制仿真場景中的車輛模型的位置速度。場景子系統(tǒng)同時接收來自網(wǎng)絡(luò)的車輛實時車輪觸地點位置信息,并調(diào)用場景仿真軟件自帶的地圖處理接口程序,使用車輪觸地點位置信息作為查詢條件,查詢仿真場景地圖在觸地點位置的地面高程等信息,返回給車輛子系統(tǒng)。如果使用的場景仿真軟件沒有解析地圖的接口程序,則可以將該信息置為默認值,可以當(dāng)作路面為平面無起伏;或再聯(lián)合另外的第三方地圖解析軟件,通過觸地點位置對路面信息進行查詢。

場景子系統(tǒng)還將接收來自控制算法的車輛控制命令,通過網(wǎng)絡(luò)連接發(fā)送給車輛子系統(tǒng)。

場景子系統(tǒng)與車輛子系統(tǒng)將通過網(wǎng)絡(luò)進行連接,配置好ip地址及TCP端口號即可,見圖1。

3 車輛子系統(tǒng)設(shè)計

本節(jié)將具體介紹Windows端的車輛子系統(tǒng)的設(shè)計。

如圖2所示,車輛子系統(tǒng)包含主函數(shù)、接口模塊、TCP Server模塊等主要程序內(nèi)容。主函數(shù)以本地Windows平臺上的配置文件為輸入,配置文件將指定解算器程序路徑、記錄仿真時間、數(shù)據(jù)記錄項目、IO開放變量等信息。大多數(shù)車輛動力學(xué)仿真軟件都有一個解算器作為程序內(nèi)核。主函數(shù)負責(zé)對仿真解算器進行調(diào)用,對接口模塊中的函數(shù)進行聲明,并聲明TCP Server以進行數(shù)據(jù)收發(fā)。主函數(shù)將以可配置的固定仿真步長運行,以達到期望的仿真頻率:即主函數(shù)在接收到TCP傳來的解算器所需輸入后,觸發(fā)仿真器運行固定仿真步長的單步仿真,待解算器發(fā)回已完成單步仿真的信號后,將解算器計算結(jié)果同步給場景仿真軟件端。

接口模塊將實時跟蹤仿真解算器,獲取將要輸出的變量內(nèi)容,如車輛位置速度等,寫入IO數(shù)據(jù)區(qū)域,從IO數(shù)據(jù)區(qū)域獲取要輸入的內(nèi)容,如車輛控制命令等,并傳送給解算器。

TCP Server是負責(zé)建立TCP網(wǎng)絡(luò)連接,并與外界進行數(shù)據(jù)交互的程序,將通過IP地址和TCP端口號與場景子系統(tǒng)進行連接。

4 場景子系統(tǒng)設(shè)計

本節(jié)將具體介紹Linux端的場景子系統(tǒng)設(shè)計。圖3顯示的是場景子系統(tǒng)的各個模塊整體架構(gòu)。

場景子系統(tǒng)的主函數(shù)負責(zé)管理整個子系統(tǒng)。主函數(shù)接收來自算法的控制命令,例如來自被測自動駕駛規(guī)劃控制算法,或來自場景仿真軟件自帶的駕駛員模型輸出的控制命令。

主函數(shù)負責(zé)建立3個TCP網(wǎng)絡(luò)通訊通道,分別執(zhí)行不同的任務(wù)。其中,remote TCP通道負責(zé)與跨平臺的車輛子系統(tǒng)通訊,發(fā)送控制命令、地圖高程等,接收車輛位置速度、車輪觸地點位置等。地圖查詢TCP通道負責(zé)與場景仿真軟件自帶地圖處理功能層程序進行通訊(場景仿真軟件一般會對仿真使用的靜態(tài)地圖進行解析,如VTD軟件的OdrGateway模塊就是軟件功能的一部分),發(fā)送車輪觸地點位置,接收觸地點高程等,地圖處理功能層程序使用觸地點位置查詢正在運行的本次仿真中的地圖相應(yīng)位置的高程信息等。仿真任務(wù)控制TCP通道負責(zé)與場景仿真軟件的任務(wù)控制流程進行通訊,將轉(zhuǎn)譯好的車輛位置速度實時信息發(fā)送給場景仿真軟件,控制仿真環(huán)境中的車輛模型運動。在地圖查詢通道和仿真任務(wù)控制通道收發(fā)信息時,需要做相應(yīng)的坐標(biāo)轉(zhuǎn)換,例如場景子系統(tǒng)接收到的車輪觸地點坐標(biāo)可能是車輛動力學(xué)仿真軟件中車輪在車身坐標(biāo)系下的坐標(biāo),需要結(jié)合這一時刻的車輛位姿轉(zhuǎn)化成地圖坐標(biāo)系下的位置;車輛動力學(xué)仿真軟件中的地圖坐標(biāo)系與場景仿真軟件中的地圖坐標(biāo)系可能不一致,需要進行統(tǒng)一;或者車輛動力學(xué)仿真軟件中的車身坐標(biāo)系原點與場景仿真軟件中的車身原點會不一致。以上這些都需要通過對不同軟件間坐標(biāo)系定義的對比,在場景子系統(tǒng)中做出相應(yīng)的坐標(biāo)轉(zhuǎn)換。

與車輛子系統(tǒng)中的觸發(fā)-同步功能相對應(yīng),場景子系統(tǒng)中也需要實現(xiàn)這一個功能:接收到車輛位置速度等從車輛動力學(xué)仿真軟件端發(fā)來的信息后,觸發(fā)仿真執(zhí)行一步固定時間步長的單步運算,待場景仿真的單步運算完成后,將車輛控制信號等作為同步信號發(fā)送給車輛子系統(tǒng),讓車輛子系統(tǒng)對車輛動力學(xué)仿真進行觸發(fā)。兩端仿真的復(fù)雜度可能不同,因此兩端的仿真固定步長可以不同,以固定比例設(shè)置即可。例如,車輛動力學(xué)仿真軟件的仿真步長設(shè)置為1ms,場景仿真軟件的仿真步長設(shè)置為40ms時,需要讓場景子系統(tǒng)每接收40次車輛子系統(tǒng)發(fā)送的信號觸發(fā)一次場景仿真的單步運算。

Windows端的車輛動力學(xué)模型通常時間精度較高,會以較高頻率運行(如1000Hz),部分場景仿真軟件的地圖處理功能層因為任務(wù)簡單,也可以支持在此級別的頻率下訪問地圖數(shù)據(jù)。而場景仿真軟件的任務(wù)控制流程,因為要兼顧場景渲染、傳感器數(shù)據(jù)生成等計算任務(wù),一般沒有這個級別的高頻率,通常會以100Hz以下的頻率觸發(fā)仿真。因此需要在主函數(shù)中創(chuàng)建不同線程,線程1管理地圖查詢TCP,用以在高頻率下訪問地圖處理功能層程序。線程2管理仿真任務(wù)控制TCP,用以和場景仿真軟件進行通訊,更新車輛在仿真環(huán)境中的位置速度信息。于此同時,主函數(shù)線程管理remote TCP,用以為車輛動力學(xué)模型運算提供高頻數(shù)據(jù),控制命令如果不能以此頻率變化,則發(fā)送重復(fù)數(shù)據(jù)即可。經(jīng)過測試,某場景仿真軟件地圖處理功能層程序的查詢過程耗時和與車輛動力學(xué)模型交互一次數(shù)據(jù)的耗時均在1ms以內(nèi)[3],因此可以滿足類似1000Hz的高頻率運算。

由于在不同線程中都會訪問到某些數(shù)據(jù),如與remote TCP交互的車輛信息,因此需要對信息數(shù)據(jù)加互斥鎖,以對數(shù)據(jù)讀寫進行保護。

5 系統(tǒng)實現(xiàn)與調(diào)試

本文所述系統(tǒng)選用CarSim作為車輛動力學(xué)仿真軟件、VTD作為場景仿真軟件進行實現(xiàn)。車輛子系統(tǒng)和場景子系統(tǒng)編制編譯完成的情況下,CarSim軟件和VTD軟件仍需注意如下配置選項:在CarSim軟件中,對車輛動力學(xué)模型進行參數(shù)配置,以符合期望的仿真測試車型;對CarSim中的仿真啟停條件進行設(shè)置,選擇無限長的仿真時間,以便由VTD軟件控制仿真的進程啟停;以及配置仿真步長、輸入輸出變量等。Linux端的VTD軟件中,需要對OdrGateway程序進行TCP連接配置。

依照以上設(shè)置,配置VTD和CarSim,運行VTD軟件和CarSim軟件和以本論文方法開發(fā)的車輛子系統(tǒng)和場景子系統(tǒng),最終實現(xiàn)了VTD通過TCP網(wǎng)絡(luò)連接與CarSim軟件直接連接通訊,使用CarSim車輛動力學(xué)模型控制VTD仿真環(huán)境中車輛模型的功能。應(yīng)用本論文所述仿真方法,最終達到了以1000Hz訪問地圖數(shù)據(jù)并與CarSim軟件進行交互,CarSim軟件以1000Hz高頻率仿真,VTD軟件以25Hz進行仿真的效果。

6 結(jié)語

本文介紹了一種自動駕駛仿真場景下的基于TCP連接的車輛動力學(xué)仿真軟件和場景仿真軟件聯(lián)合仿真方法。通過設(shè)計一個車輛子系統(tǒng)和一個場景子系統(tǒng),管理了車輛動力學(xué)仿真軟件自動化運行,且實時交互輸入輸出,通過TCP網(wǎng)絡(luò)連接將場景仿真軟件與車輛動力學(xué)仿真軟件直接連接,且保證了車輛動力學(xué)仿真軟件高頻率1000Hz仿真,場景仿真軟件25Hz頻率仿真。

接下來的研究將進一步豐富車輛子系統(tǒng)與車輛動力學(xué)仿真軟件實時交互的變量數(shù)目,如接入更多的車輪觸地點信息應(yīng)用,接入更多的控制信息等,更充分地利用車輛動力學(xué)模型的信息。

參考文獻:

[1]2020中國自動駕駛仿真藍皮書.

[2]自動駕駛仿真技術(shù)研究報告(2019).

[3]周波,張代遠.TCP連接往返時延的被動測量算法實驗驗證[J].計算機技術(shù)與發(fā)展,2012.

猜你喜歡
自動駕駛網(wǎng)絡(luò)連接
個性化設(shè)置 Win10 的網(wǎng)絡(luò)連接信息
電腦報(2019年5期)2019-09-10 07:22:44
運動想象的大尺度動態(tài)功能網(wǎng)絡(luò)連接
試論軟交換技術(shù)在通信工程中的應(yīng)用和發(fā)展前景
甲醛濃度檢測系統(tǒng)軟件的設(shè)計
“自動駕駛”熱潮背后的擔(dān)心和疑慮
汽車周刊(2017年5期)2017-06-06 14:02:49
汽車自動駕駛的發(fā)展
基于自動駕駛下的車道規(guī)劃對交通擁堵的改善
LTE—V車路通信技術(shù)淺析與探討
移動通信(2016年24期)2017-03-04 22:12:26
特斯拉默默更改了官網(wǎng)上“自動駕駛”的說明
家用汽車(2016年9期)2016-11-04 15:04:44
特斯拉中國官網(wǎng)不再提“自動駕駛”
南汇区| 绥化市| 彭泽县| 永安市| 崇礼县| 恩平市| 金门县| 彰化县| 陈巴尔虎旗| 伽师县| 绥芬河市| 美姑县| 乌拉特中旗| 江门市| 赫章县| 台南县| 桃园市| 乌鲁木齐县| 郑州市| 方城县| 青岛市| 海盐县| 澎湖县| 金川县| 临澧县| 衡水市| 屯昌县| 土默特左旗| 通江县| 铁力市| 万荣县| 连江县| 和平区| 本溪市| 哈尔滨市| 汝阳县| 衡山县| 威海市| 永康市| 油尖旺区| 民勤县|