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

?

網(wǎng)絡(luò)多車輛實(shí)時仿真的同步算法

2019-08-16 12:06騁,陸
關(guān)鍵詞:公用引擎終端

張 騁,陸 濤

(1. 浙江吉利汽車研究院,浙江 寧波 315336; 2. 福州大學(xué)物理與信息工程學(xué)院,福建 福州 350108)

0 引言

車輛智能行為驗(yàn)證與評估平臺旨在對無人駕駛車輛的智能行為進(jìn)行驗(yàn)證與評估,具有經(jīng)濟(jì)、 安全、 不受時間和空間條件約束等優(yōu)點(diǎn)[1]. 國內(nèi)最新研究成果是吉林大學(xué)開發(fā)的新一代先進(jìn)智能駕駛模擬仿真系統(tǒng)panosim,為汽車電控與智能化技術(shù)與產(chǎn)品的研發(fā)提供高效和高精度的測試與驗(yàn)證[2]. 此外,享有很高聲譽(yù)的汽車系統(tǒng)仿真軟件CarSim,被廣泛地應(yīng)用于現(xiàn)代汽車控制系統(tǒng)的開發(fā).

在2007年DARPA城市挑戰(zhàn)賽上,11輛全尺寸的無人駕駛汽車首次在封閉的賽道上自由行駛. 期間,麻省理工學(xué)院的“塔洛斯”和康奈爾大學(xué)的“天網(wǎng)”在一場低速事故中相撞. 分析原因有: ① 傳感器數(shù)據(jù)關(guān)聯(lián)困難,導(dǎo)致難以察覺緩慢移動的車輛; ② 未能預(yù)測車輛意圖; ③ 在運(yùn)動規(guī)劃中過分強(qiáng)調(diào)車道約束與車輛接近性. 人類道路使用者之間的眼神交流是車輛之間緩慢移動的近距離接觸的重要溝通渠道. 車輛間通信對無人駕駛車輛也可能起到類似的作用,但還存在可用和拒絕服務(wù)的問題需要解決[3].

另外,在車水馬龍的現(xiàn)實(shí)世界中行駛,周圍往往是不遵守交通規(guī)定的人和車,這是非常棘手的問題.

真實(shí)世界的不同狀況,如白天與夜晚、 變化的天氣、 不同的道路情況和路面材料都會使問題變得更加復(fù)雜. 動態(tài)的環(huán)境增加了許多不確定性和變量,使機(jī)器人系統(tǒng)工程師們很難如以往一樣將問題簡化為一系列基本的假設(shè)[4]. 2018年3月18日,Uber自動駕駛試驗(yàn)車撞上橫穿馬路的行人事件再一次對無人車的實(shí)驗(yàn)方法提出了新的挑戰(zhàn).

無論是老牌的CarSim,還是新一代的panosim,都是針對單一無人駕駛車輛在規(guī)則場景的仿真,而對于多車輛協(xié)同和復(fù)雜環(huán)境實(shí)時交互的功能開發(fā)支持不足,在未來的無人駕駛功能開發(fā)上存在提升空間. 本項(xiàng)目針對這一空間進(jìn)行擴(kuò)展,模擬了以往較難實(shí)現(xiàn)的無人駕駛多車輛實(shí)時同步交互場景,以減少場地和道路試驗(yàn)的次數(shù)和風(fēng)險(xiǎn). 該系統(tǒng)不僅支持單一設(shè)備上的多車輛仿真,同時還支持基于網(wǎng)絡(luò)多設(shè)備的同一場景實(shí)時仿真.

本研究主要是針對這一實(shí)時系統(tǒng)中的關(guān)鍵技術(shù)——場景中多車輛之間的運(yùn)動狀態(tài)同步問題.

1 車輛模擬系統(tǒng)架構(gòu)

圖1 車輛仿真系統(tǒng)構(gòu)架Fig.1 Vehicle simulation system architecture

車輛同步的系統(tǒng)架構(gòu)如圖1所示,表示分布在各終端的車輛之間以及終端內(nèi)部車輛的同步關(guān)系.

服務(wù)器維護(hù)著所有車輛和交通參與者的狀態(tài)數(shù)據(jù),含有時間點(diǎn)、 速度和位置等信息,以及記錄當(dāng)前的狀態(tài)參數(shù),負(fù)責(zé)協(xié)調(diào)所有車輛的同步; 同一場景里,各終端通過網(wǎng)絡(luò)連接至服務(wù)器,記錄所有車輛的最新狀態(tài)參數(shù),公用物理引擎維護(hù)車輛和交通參與者在場景里的當(dāng)前運(yùn)動狀態(tài); 終端內(nèi)的兩種物理引擎,私有引擎承擔(dān)車輛仿真功能的計(jì)算,與公用引擎同步,共同計(jì)算終端自己控制的車輛的運(yùn)動狀態(tài).

仿真系統(tǒng)具有如下功能:

1) 模擬車輛行駛的外部環(huán)境的靜態(tài)內(nèi)容(如道路,交通信號燈,綠化,建筑等);

2) 模擬動態(tài)內(nèi)容(如行人,交通流量等);

3) 接受駕駛行為輸入,模擬被控制車輛運(yùn)動行為、 車輛行駛反饋;

4) 支持多臺智能駕駛模擬器互聯(lián),支持多臺設(shè)備連入同一仿真測試環(huán)境;

5) 記錄仿真測試環(huán)境中的數(shù)據(jù)(包括環(huán)境數(shù)據(jù)與車輛動態(tài)數(shù)據(jù)),支持通過數(shù)據(jù)實(shí)現(xiàn)實(shí)驗(yàn)回放;

6) 記錄數(shù)據(jù)能夠?qū)崟r備份,支持遠(yuǎn)程備份;

7) 支持升級,更新,自定義模擬環(huán)境中的各類視覺外觀資源(如車輛,場景,靜態(tài)動態(tài)內(nèi)容等);

8) 使用開放數(shù)據(jù)格式,提供第三方程序數(shù)據(jù)接口(ROS、 UDP等).

2 多車輛模擬系統(tǒng)的實(shí)現(xiàn)策略

有一種寫實(shí)風(fēng)格的競速類網(wǎng)絡(luò)游戲是以賽車為角色進(jìn)行駕駛比賽的. 這種由完全仿真的車輛在逼近真實(shí)的環(huán)境中行駛,車輛之間、 車輛與環(huán)境的交互作用,得到運(yùn)動學(xué)意義上的結(jié)果,正符合無人駕駛功能開發(fā)驗(yàn)證平臺的期望. 以賽車類網(wǎng)絡(luò)游戲技術(shù)作為基礎(chǔ),研制一種超越游戲用途,可以高速高效地仿真車輛間的實(shí)時交互,滿足無人駕駛功能研發(fā)需要的開發(fā)驗(yàn)證平臺,這就是本項(xiàng)目的設(shè)計(jì)思路.

游戲技術(shù)中的物理引擎由運(yùn)動學(xué)計(jì)算和碰撞檢測組成. 物理引擎能遵循科學(xué)的規(guī)律自行推演剛體運(yùn)動,而不必依靠編寫腳本,比如描述車輛的顛簸、 所到達(dá)的位置等. 碰撞檢測可以探測各物體的物理邊緣,當(dāng)兩個3D物體撞在一起的時候,防止它們相互穿過,碰撞探測會根據(jù)物體和墻之間的特性確定兩者的位置和相互的作用關(guān)系.

將游戲技術(shù)中的物理引擎作為本系統(tǒng)的公用物理引擎,構(gòu)造車輛的運(yùn)動學(xué)模型,描述車輛之間、 車輛與環(huán)境之間的交互關(guān)系.

科學(xué)仿真中的要求是能夠集成車輛的所有動力部件和輔助系統(tǒng),提供所需要的數(shù)據(jù)結(jié)果. 然而,游戲技術(shù)中的物理引擎?zhèn)戎赜趯?shí)時近似[5],無法提供建立車輛仿真數(shù)學(xué)模型的計(jì)算精度. 為兼得仿真精度和實(shí)時速度,本項(xiàng)目優(yōu)化設(shè)計(jì)了一套只針對車輛的科學(xué)仿真物理引擎,私用于每輛車的內(nèi)部系統(tǒng),構(gòu)造車輛的動力學(xué)模型[6]. 私用物理引擎與公用物理引擎并行計(jì)算,大大簡化了系統(tǒng)計(jì)算復(fù)雜度. 在保留實(shí)時性的同時又有科學(xué)仿真的真實(shí)性,還能運(yùn)行在通用的計(jì)算設(shè)備上,甚至可運(yùn)行于更為資源受限的平臺(比如手持型游戲設(shè)備和移動手機(jī)),而不需要配置昂貴的專用設(shè)備.

單一軟件平臺兩種物理引擎,其關(guān)鍵是動力學(xué)模型與運(yùn)動學(xué)模型的同步. 單終端上可以有多輛車在同一場景中,多車輛關(guān)鍵是各輛車運(yùn)動狀態(tài)的同步. 當(dāng)擴(kuò)展至網(wǎng)絡(luò)分布式系統(tǒng),關(guān)鍵就是各終端所控制的車輛與其他終端的車輛的運(yùn)動狀態(tài)的同步,由網(wǎng)絡(luò)服務(wù)器協(xié)調(diào). 這就是本系統(tǒng)的同步策略.

3 多車輛模擬系統(tǒng)的同步算法

3.1 統(tǒng)一基準(zhǔn)時鐘

多車輛實(shí)時仿真時,有單終端或多終端并行兩種工況. 單終端是以終端本身的時鐘為標(biāo)準(zhǔn). 多終端由于運(yùn)行在開放的網(wǎng)絡(luò)環(huán)境中,存在時鐘的不確定性,因此需要引入統(tǒng)一的時間基準(zhǔn). 本方案使用服務(wù)器設(shè)定時鐘為統(tǒng)一時鐘. 終端的時間校準(zhǔn)方式是,終端發(fā)起請求服務(wù)器時間,服務(wù)器收到請求向終端發(fā)送基準(zhǔn)時間,終端使用收到的服務(wù)器返回的時刻減去發(fā)起請求的時刻得到往返延遲,用服務(wù)器發(fā)送的基準(zhǔn)時間加上1/2往返延遲估算出基準(zhǔn)時間和傳輸時間. 誤差一般在毫秒以下.

3.2 基于運(yùn)動學(xué)的預(yù)測

由于系統(tǒng)要求極高的實(shí)時性,必須有預(yù)測機(jī)制. 對于終端自控的車輛,私有引擎進(jìn)行驅(qū)動力預(yù)測,把每幀結(jié)束時刻的狀態(tài)作為當(dāng)前狀態(tài). 對于場景中其他終端的車輛,公有引擎進(jìn)行運(yùn)動狀態(tài)預(yù)測,以收到的數(shù)據(jù)包中最新時間戳的相關(guān)數(shù)據(jù)為當(dāng)前數(shù)據(jù). 這里使用的轉(zhuǎn)移矩陣,根據(jù)車輛動力學(xué)模型,以車輛技術(shù)的經(jīng)驗(yàn)數(shù)據(jù)為依據(jù)[6],預(yù)測與實(shí)際車輛運(yùn)動狀態(tài)有很高的吻合度. 系統(tǒng)的運(yùn)行過程就是一個預(yù)測執(zhí)行—同步制約的過程.

3.3 單終端車輛的同步

系統(tǒng)采用分層的狀態(tài)同步方式: 在終端內(nèi)部,車輛仿真與場景仿真通過交換位置數(shù)據(jù)和速度數(shù)據(jù)的方式實(shí)現(xiàn)同步. 算法流程示意圖如圖2所示,表示在客戶端內(nèi)部,每臺車輛通過與場景交換數(shù)據(jù)來取得車輛間的同步.

圖2 終端內(nèi)部流程示意圖Fig.2 Terminal internal synchronizatiion diagram

圖3 終端內(nèi)部同步時序示意圖Fig.3 Terminal internal synchronization sequence diagram

在終端內(nèi)部,公用引擎計(jì)算出當(dāng)前時刻各臺車的位置相關(guān)的數(shù)據(jù),私用引擎讀取后更新各車輛的位置管理器參數(shù),并分析與預(yù)測值的誤差因素,如是否有碰撞等被動力的作用. 接著依據(jù)動力系統(tǒng)(這里包括被測控制器的因素: 人在環(huán)的操控,軟硬件在環(huán)的測試)的驅(qū)動力,預(yù)測出下一時段的速度相關(guān)數(shù)據(jù),公用引擎讀取并更新速度管理器參數(shù),運(yùn)行到下一時刻檢測碰撞并計(jì)算出與位置相關(guān)的數(shù)據(jù),完成一個幀循環(huán),既實(shí)現(xiàn)了車輛的驅(qū)動力與車輛行為的同步,也實(shí)現(xiàn)了各車輛之間的同步. 時序如圖3所示.

周期中,Tn—t1讀數(shù)據(jù),t1—t2計(jì)算,t2—t3寫數(shù)據(jù),t3—Tn+1空閑. 紅色虛線表示狀態(tài)數(shù)據(jù),藍(lán)色虛線表示速度數(shù)據(jù). 公用引擎的周期通常選擇10 ms,可以達(dá)到運(yùn)動學(xué)仿真需求,而私用引擎以5~10倍于公用引擎的頻率進(jìn)行計(jì)算,使車輛動力學(xué)模型的仿真更為精確.

3.4 多終端車輛的同步

在網(wǎng)絡(luò)上,各終端都通過與服務(wù)器交換數(shù)據(jù)同步到場景中,以實(shí)現(xiàn)跨終端同步仿真,并可彈性擴(kuò)展至大規(guī)模車輛仿真,可模擬車流量聚集的堵車場景. 算法流程示意圖如圖4所示,表示由服務(wù)器來執(zhí)行在不同的客戶端上數(shù)據(jù)的同步.

圖4 多終端同步示意圖Fig.4 Multi-terminal synchronization diagram

在以服務(wù)器為核心的分布式網(wǎng)絡(luò)上,各終端在每個幀循環(huán)結(jié)束時刻把本地所維護(hù)對象的當(dāng)前狀態(tài)數(shù)據(jù)(時間戳,位置坐標(biāo),方向速度,等)報(bào)告給服務(wù)端. 服務(wù)端接收到數(shù)據(jù)包后向同一場景中的關(guān)聯(lián)終端廣

圖5 多終端同步時序示意圖Fig.5 Multi-terminal synchronization sequence diagram

播. 各終端依據(jù)服務(wù)端的推送,對公用引擎中的由網(wǎng)絡(luò)中其他終端所管理的車輛和交通參與者進(jìn)行處理: 以最新的時間戳的數(shù)據(jù)更新對象狀態(tài),然后預(yù)測并執(zhí)行車輛的運(yùn)動估計(jì). 完成以上流程后,終端回到等待接收到服務(wù)器的推送階段,直到實(shí)時仿真結(jié)束. 以系統(tǒng)的同步間隔在100 ms為基準(zhǔn),同步環(huán)境下各終端間的車輛位置誤差在最高時速(120 km·h-1)過程中不超過0.5 m,速度越低誤差越小. 時序如圖5所示.

服務(wù)器發(fā)送同步信號的頻率低于本地公用引擎,延時幾個周期.m1、m4為有效同步信號,m2信號丟失,由于m3延時落后于m4到達(dá),失去同步作用,m5信號未畫出.

3.5 視景同步

由于仿真過程中同時希望屏幕上要有一致的視覺效果[7],渲染引擎的數(shù)據(jù)與場景計(jì)算結(jié)果的同步如圖6所示. 有效的同步算法協(xié)調(diào)運(yùn)行中的各線程平滑銜接,讓系統(tǒng)整體穩(wěn)定有序地運(yùn)行.

圖6 車輛仿真時示意圖Fig.6 Vehicle simulation time diagram

仿真運(yùn)行時,渲染引擎讀取公用物理引擎每個循環(huán)計(jì)算的運(yùn)動狀態(tài)數(shù)據(jù),更新自己的數(shù)據(jù),在屏幕上顯示,完成畫面的一幀. 得到的就是數(shù)據(jù)和畫面完全一致的,仿真度達(dá)到需求的,非常接近真實(shí)的評估和驗(yàn)證結(jié)果.

4 運(yùn)行測試

圖4的服務(wù)端啟動,從數(shù)據(jù)庫讀取服務(wù)器配置,等待登錄車輛. 當(dāng)?shù)谝粋€終端啟動場景仿真運(yùn)行時,服務(wù)端的同步被激活,直到收到最后一個連接的結(jié)束通知. 停止同步,清理場景數(shù)據(jù),進(jìn)入休眠,等待下一次場景的啟動.

圖2的客戶端啟動,車輛登錄服務(wù)器,根據(jù)設(shè)定從數(shù)據(jù)庫讀取車輛的配置. 選擇場景,開啟車輛仿真功能,激活服務(wù)端的同步. 雙物理引擎根據(jù)外部控制器的輸入,同步計(jì)算出車輛的位置、 速度、 姿態(tài)等狀態(tài)參數(shù)的改變,反饋給控制器. 外部控制器包括人在環(huán)的駕駛模擬器、 在環(huán)測試的智能駕駛的軟硬件產(chǎn)品. 記錄并輸出仿真數(shù)據(jù),運(yùn)行結(jié)束后關(guān)閉場景,通知服務(wù)端.

圖6渲染引擎和物理引擎初始化后,車輛模型啟動,然后三個模塊并行執(zhí)行. 根據(jù)車輛模型的狀態(tài)參數(shù)的改變、 公用物理引擎的場景更新,渲染引擎不斷更新畫面數(shù)據(jù),以不低于60 Hz的頻率刷新屏幕. 可以得到與科學(xué)仿真同步的,與實(shí)際場景吻合度非常高的視景畫面.

本系統(tǒng)曾經(jīng)的用戶有: 有大眾尚酷、 福田 MPX、 福田 Ollin、 凱迪拉克 CTS-V、 吉利 EC8、 GC9 等.

模擬駕駛仿真視頻的回放截圖如圖7所示,這是一場跟車制動的在環(huán)測試,兩個版本的AEB-P主動安全系統(tǒng)分別接入仿真系統(tǒng),測試工況為: 城市高架路,40 km·h-1,30次.

圖7中,前車是人工駕駛,后車是無人駕駛. 前車隨機(jī)剎車,后車自動制動,記錄兩車間距. 兩臺車輛均執(zhí)行高精度動力學(xué)仿真. 測試結(jié)果數(shù)據(jù)如圖8所示.

圖8中的x軸為測試次數(shù),y軸為車距,藍(lán)色曲線圖是優(yōu)化前的版本的數(shù)據(jù),橙色曲線表示優(yōu)化后的版本數(shù)據(jù),兩次的測試結(jié)果,反映了車輛中的AEB-P功能,在優(yōu)化后跟車制動的間距波動范圍變小,穩(wěn)定度提高. 這個仿真結(jié)果與實(shí)車測試結(jié)果吻合度非常高. 仿真平臺發(fā)揮了預(yù)期的作用.

圖7 雙車跟車測試視頻截圖Fig.7 Screenshot of the two-cars follow test video

圖8 雙車跟車測試結(jié)果數(shù)據(jù)Fig.8 Datas of the test results of both vehicles and vehicles

圖9 多車仿真視頻截圖Fig.9 Screenshot of multi-vehicle simulation video

仿真實(shí)景視頻截圖如圖9所示,模擬了復(fù)雜環(huán)境中的跟車制動場景. 共3臺車參與測試,前車是人工駕駛,后兩跟車是自動駕駛,黃色主視角車為中間車,除了測試本車的跟車制動,還測試被后車追尾的可能性. 這樣的復(fù)雜環(huán)境工況,真實(shí)環(huán)境實(shí)車測試很不現(xiàn)實(shí),做重復(fù)試驗(yàn)幾乎完全不可能. 本仿真系統(tǒng)為復(fù)雜工況的功能測試提供了可能.

畫面中的環(huán)境是地圖商提供的衛(wèi)星實(shí)景[8],25 km虛擬現(xiàn)實(shí)場景,場景中有大量的運(yùn)動物體,包括參與交通的其他仿真車輛,也有單純作為干擾障礙的車輛模型.

5 結(jié)語

傳統(tǒng)的車輛仿真系統(tǒng),多車輛仿真難以在統(tǒng)一環(huán)境下實(shí)現(xiàn),需要多個軟硬件聯(lián)合仿真,本方案使用公用物理引擎模擬所有交通環(huán)境場景和車輛本身的運(yùn)動,仿真系統(tǒng)得以優(yōu)化. 針對仿真車輛額外附加的私有物理模型,使綜合平臺仍然保持了車輛獨(dú)立仿真時才擁有的高擬真度. 本算法實(shí)現(xiàn)了多客戶端,多車輛聯(lián)合仿真的狀態(tài)同步系統(tǒng). 通過同步多個仿真環(huán)境中的交通參與者行為、 車輛運(yùn)動學(xué)觀測以及時鐘信號,使需要多車配合才能實(shí)現(xiàn)的場景成為可能.

猜你喜歡
公用引擎終端
X美術(shù)館首屆三年展:“終端〉_How Do We Begin?”
通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
一個公用品牌的養(yǎng)成——橫山羊肉是咋樣“吃香”的
GSM-R手持終端呼叫FAS失敗案例分析
公用電梯自動取消??垦b置初步設(shè)計(jì)
藍(lán)谷: “涉藍(lán)”新引擎
醫(yī)生私車公用撞傷人 醫(yī)院擔(dān)責(zé)
無形的引擎
基于Cocos2d引擎的PuzzleGame開發(fā)
“私車公用”打錯“方向盤”
天全县| 荣昌县| 亚东县| 松桃| 和田市| 察隅县| 南京市| 绵竹市| 石楼县| 蕲春县| 望谟县| 闵行区| 商城县| 壤塘县| 武定县| 江津市| 武鸣县| 郁南县| 渝中区| 侯马市| 唐海县| 天祝| 泸溪县| 左权县| 新民市| 雅安市| 舟曲县| 柘城县| 洛川县| 嵊泗县| 临桂县| 额尔古纳市| 浑源县| 衡山县| 金堂县| 延寿县| 郁南县| 昭通市| 宜君县| 武定县| 隆回县|