王成康, 黃李波
(同濟(jì)大學(xué),上海 201804)
智能駕駛技術(shù)包括感知、決策、規(guī)劃、控制等模塊,目前在智能駕駛中常采用瀑布式的流程,即感知模塊的結(jié)果作為決策模塊的輸入,決策模塊的結(jié)果作為規(guī)劃控制的輸入,因此智能車感知與決策的能力十分重要。很多感知、決策模塊的算法基于機(jī)器學(xué)習(xí)方法實(shí)現(xiàn),這類算法的效果高度依賴于訓(xùn)練數(shù)據(jù)的豐富程度。目前,大部分駕駛數(shù)據(jù)主要通過駕駛員駕駛裝有各類傳感器的車輛在實(shí)際道路中采集。實(shí)車采集數(shù)據(jù)需要耗費(fèi)大量的時(shí)間與精力,并且在采集過程中受限于天氣、安全性等多種人為不可控因素。此外,實(shí)車采集數(shù)據(jù)存在極端場景數(shù)據(jù)缺失,數(shù)據(jù)標(biāo)注工作繁重等缺點(diǎn)。從虛擬的仿真環(huán)境中采集帶標(biāo)簽的數(shù)據(jù)被證明是真實(shí)道路數(shù)據(jù)補(bǔ)充的一種可行手段?;陂_源智能駕駛仿真平臺CARLA搭建了駕駛員在環(huán)的駕駛仿真平臺。為了提高駕駛仿真平臺的擬真度,設(shè)計(jì)并實(shí)現(xiàn)了轉(zhuǎn)向盤力反饋與轉(zhuǎn)向燈功能。提出的駕駛仿真平臺可以被用于駕駛數(shù)據(jù)采集、駕駛行為分析等領(lǐng)域。
CARLA[1]是由西班牙巴塞羅那自治大學(xué)計(jì)算機(jī)視覺中心指導(dǎo)開發(fā)的開源模擬器,用于自動駕駛系統(tǒng)的開發(fā)、訓(xùn)練和驗(yàn)證等多個環(huán)節(jié)。CARLA的渲染系統(tǒng)采用虛幻引擎,可以擬真地表現(xiàn)出光照、陰影,實(shí)現(xiàn)不同的天氣狀態(tài)。通過采用主從式的網(wǎng)絡(luò)架構(gòu)設(shè)計(jì),CARLA支持多個用戶在同一個虛擬世界中同時(shí)進(jìn)行實(shí)驗(yàn)。在場景方面,CARLA提供了為自動駕駛系統(tǒng)開發(fā)創(chuàng)建的開源數(shù)字資源(包括城市地圖、建筑物、交通信號燈等),同時(shí)CARLA開放了豐富的API接口幫助用戶自定義仿真環(huán)境中的動態(tài)元素(例如行人、自行車、卡車等)行為。此外,用戶可以使用MATLAB工具箱RoadRunner地圖編輯器創(chuàng)建個性化場景地圖并導(dǎo)入CARLA實(shí)現(xiàn)自定義的道路結(jié)構(gòu)。在傳感器方面,CARLA提供了包括攝像頭、雷達(dá)、激光雷達(dá)、GPS等在內(nèi)的多種傳感器模型,用戶在使用時(shí)可以自定義傳感器的部分參數(shù),例如激光雷達(dá)的線數(shù)、最大探測距離,雷達(dá)的視場角等。CARLA底層由C++實(shí)現(xiàn),上層提供了豐富的Python接口,為用戶的二次開發(fā)、聯(lián)合仿真提供了良好的基礎(chǔ)條件。
目前CARLA在智能駕駛領(lǐng)域主要存在三方面應(yīng)用,分別是生成帶標(biāo)簽數(shù)據(jù)用以訓(xùn)練深度學(xué)習(xí)算法[2],為深度強(qiáng)化學(xué)習(xí)提供訓(xùn)練環(huán)境[1]和智能駕駛算法驗(yàn)證與測試[3]。
圖1 CARLA 虛擬場景示意圖
駕駛模擬仿真平臺采用的CARLA版本為0.9.10,所用的渲染引擎為UE4-4.22,在64位Ubuntu16.04系統(tǒng)上完成部署。
1.2.1 G920駕駛操縱設(shè)備介紹
所使用的駕駛設(shè)備采用Logitech G920駕駛操縱設(shè)備。整套設(shè)備包括具有雙電機(jī)反饋力的方向盤,油門、制動、離合踏板。方向盤上布置了兩個方向軸,9個不同的按鈕以及左右兩個換擋撥片。圖2為G920結(jié)構(gòu)示意圖。
圖2 G920駕駛操縱設(shè)備
1.2.2 計(jì)算硬件介紹
CARLA采用UE4作為內(nèi)核,在仿真過程中需要對駕駛場景進(jìn)行實(shí)時(shí)渲染,對于計(jì)算機(jī)的GPU性能有較高要求。采用的計(jì)算機(jī)基礎(chǔ)配置如下表所示。
表1 使用的計(jì)算機(jī)配置
CARLA采用主從式網(wǎng)絡(luò)架構(gòu)。服務(wù)器端負(fù)責(zé)處理仿真環(huán)境信息,客戶端用于接收和發(fā)送車輛控制信號。在CARLA仿真軟件的基礎(chǔ)上搭建了駕駛設(shè)備與顯示設(shè)備,同時(shí)完成了轉(zhuǎn)向盤力反饋功能與轉(zhuǎn)向燈控制功能。構(gòu)建的駕駛仿真平臺架構(gòu)如圖3所示。
圖3 駕駛仿真平臺架構(gòu)
為了實(shí)現(xiàn)更為真實(shí)的駕駛環(huán)境,在CARLA的基礎(chǔ)上對駕駛仿真平臺進(jìn)行二次開發(fā),開發(fā)內(nèi)容包括G920轉(zhuǎn)向盤反饋力矩設(shè)計(jì)、轉(zhuǎn)向燈功能開發(fā)。
根據(jù)趙林鋒等人[4]所提供的方向盤轉(zhuǎn)矩模型設(shè)計(jì)駕駛仿真平臺中G920轉(zhuǎn)矩力反饋系統(tǒng)。他們的研究表明,轉(zhuǎn)向盤反饋力矩與車輛行駛速度、轉(zhuǎn)向盤轉(zhuǎn)角、側(cè)向加速度之間存在密切關(guān)系。當(dāng)車輛在低速環(huán)境下行駛時(shí),車輛的側(cè)向加速度較小,駕駛員對轉(zhuǎn)向盤轉(zhuǎn)角的變化較為敏感;當(dāng)車輛以中速行駛時(shí),駕駛員對側(cè)向加速度和轉(zhuǎn)向盤轉(zhuǎn)角均較為敏感;當(dāng)車輛以高速行駛時(shí),駕駛員對側(cè)向加速度更為敏感。由此設(shè)計(jì)了一套在不同行駛速度區(qū)段下不同的轉(zhuǎn)向盤反饋力矩模型。
最終采用的反饋力矩模型如下。
Tfb=k(v)×Tfbl+(1-k(v))×Tfbh
Tfbl=(0.0162v+1.73)×(1-exp(-0.01×θsw))
Tfbh=(0.0163v+0.966)×(1-exp(0.857ay))
式中Tfb代表轉(zhuǎn)向盤反饋力矩,Tfbh表示高速時(shí)的反饋力矩,Tfbl表示低速時(shí)的反饋力矩,力矩單位為N·m;v為車速,單位為km/h;Qsw為轉(zhuǎn)向盤轉(zhuǎn)角,單位為m/s2;ay為側(cè)向加速度,單位為m/s2。將低速場景與高速場景的閾值分別設(shè)置為20km/h與60km。由上述公式得到的反饋力矩分布情況可見圖4。
根據(jù)真實(shí)車輛的轉(zhuǎn)向燈操縱方式對駕駛仿真平臺的轉(zhuǎn)向燈操縱方式進(jìn)行設(shè)計(jì),目的在于提高模擬仿真平臺的擬真性。在大部分乘用車中,轉(zhuǎn)向燈通常由方向盤背后的轉(zhuǎn)向燈操縱桿進(jìn)行控制,部分賽車的轉(zhuǎn)向燈操縱設(shè)備位于方向盤上。所使用的駕駛模擬設(shè)備不存在轉(zhuǎn)向燈操縱桿對應(yīng)的物理結(jié)構(gòu),因此采用按鈕的方式控制轉(zhuǎn)向車燈狀態(tài)。在設(shè)計(jì)的駕駛仿真平臺上,使用G920轉(zhuǎn)向盤(圖2)上的4和8按鈕代表左轉(zhuǎn)向燈與右轉(zhuǎn)向燈。
圖4 低速、高速場景下反饋力矩變化圖
設(shè)計(jì)的轉(zhuǎn)向燈控制邏輯如下。在仿真場景開始運(yùn)行時(shí),轉(zhuǎn)向燈均默認(rèn)處于關(guān)閉狀態(tài)。當(dāng)在仿真過程中捕捉到按鈕4被按下時(shí),打開左轉(zhuǎn)向燈,再次捕捉到按鈕4被按下時(shí),關(guān)閉左轉(zhuǎn)向燈。右轉(zhuǎn)向燈采用與左轉(zhuǎn)向燈相同的控制邏輯。
圖5 轉(zhuǎn)向燈控制邏輯
提出的駕駛仿真平臺充分利用了CARLA仿真軟件真實(shí)的渲染效果和豐富的應(yīng)用接口。二次開發(fā)實(shí)現(xiàn)的力矩反饋模型與轉(zhuǎn)向燈功能進(jìn)一步提升了駕駛仿真平臺的擬真性。最終完成的駕駛仿真平臺在駕駛員視覺感受、觸覺感受方面取了較高的還原度。提出的駕駛仿真平臺將來可用于駕駛員駕駛行為分析、駕駛數(shù)據(jù)采集、道路交通事故重現(xiàn)等領(lǐng)域。
駕駛仿真平臺將來可在以下方面進(jìn)行優(yōu)化。軟件方面,可以提升交通流真實(shí)程度,加入不同風(fēng)格的虛擬駕駛員模型。硬件方面,可以優(yōu)化駕駛座艙與儀表顯示系統(tǒng),實(shí)現(xiàn)更為真實(shí)的駕駛環(huán)境。