李新凱 虎曉誠 馬萍 張宏立
(新疆大學(xué) 電氣工程學(xué)院,新疆 烏魯木齊 830017)
隨著人工智能的發(fā)展,交通方式也在不斷地發(fā)展進(jìn)步,智慧交通逐漸進(jìn)入到生活當(dāng)中[1-2]。無人駕駛作為智慧交通的重要特征受到了越來越多的關(guān)注[3],避障跟蹤控制是無人駕駛技術(shù)的重要性能之一,無人駕駛汽車需要根據(jù)捕捉到的環(huán)境信息、障礙物信息,并結(jié)合自身當(dāng)前狀態(tài)信息靈活控制車速和轉(zhuǎn)向,以實(shí)現(xiàn)穩(wěn)定的避障跟蹤[4-5]。
針對無人駕駛車輛在復(fù)雜環(huán)境工況下的避障跟蹤控制,眾多學(xué)者進(jìn)行了深入研究[6]。在經(jīng)典控制方法中,張家旭等[7]提出了汽車緊急換道避障的路徑規(guī)劃與跟蹤控制方法,實(shí)現(xiàn)在緊急情況下的避障跟蹤;Wang等[8]采用PID控制器設(shè)計(jì)了閃避障礙物駕駛控制模型,并通過Carsim車輛仿真軟件驗(yàn)證了該模型的魯棒性,但PID 控制的最優(yōu)參數(shù)難以確定,在變化復(fù)雜的環(huán)境工況下難以精確控制;樊曉平等[9]提出了基于人工勢場的機(jī)器人避障方法,根據(jù)障礙物在人工勢場中的勢來判斷障礙物,使得機(jī)器人可以自主避障,但該方法應(yīng)用的廣泛性以及誤差判斷的精準(zhǔn)度未得到驗(yàn)證;Katsuki 等[10]提出了基于圖搜索方法的障礙物采樣及局部路徑規(guī)劃算法,該算法在障礙物周圍密集采樣,提高了對障礙物位置的魯棒性,但圖搜索方法的連續(xù)性較差,并且在高維空間中圖搜索方法的性能并不可靠;Wang 等[11]提出了一種基于雙層非線性模型預(yù)測控制的自動駕駛卡車避障跟蹤控制器,實(shí)現(xiàn)了平穩(wěn)避障并重新跟蹤上原路徑,但模型預(yù)測控制需要車輛的高精度數(shù)學(xué)模型,而精確的數(shù)學(xué)模型很難建立;Zong 等[12]設(shè)計(jì)了一種移動機(jī)器人的差分運(yùn)動學(xué)模型,提出了一種基于擴(kuò)展卡爾曼濾波的多傳感器信息融合,并利用模糊神經(jīng)網(wǎng)絡(luò)控制的避障算法,通過仿真驗(yàn)證了算法的魯棒性;Yang 等[13]根據(jù)車輛動力學(xué)模型設(shè)計(jì)了一種基于神經(jīng)網(wǎng)絡(luò)補(bǔ)償?shù)那梆伔答伩刂破?,?shí)現(xiàn)了無人駕駛的姿態(tài)和障礙物控制;姚強(qiáng)強(qiáng)等[14]提出了一種基于最優(yōu)前輪側(cè)向力和附加橫擺力矩協(xié)同的力驅(qū)動模型預(yù)測控制路徑跟蹤控制策略,實(shí)現(xiàn)了較好的控制效果。以上控制算法都是基于規(guī)則化的,這種根據(jù)人工經(jīng)驗(yàn)編程的控制算法很難應(yīng)對突發(fā)情況,故需要更加智能的算法[15]。
傳統(tǒng)的控制算法都是基于一個(gè)先要條件,即需要一個(gè)精確的數(shù)學(xué)模型來代替研究對象,通過算法調(diào)整模型參數(shù),即算法的作用是為模型提供對應(yīng)準(zhǔn)確的參數(shù)。而在實(shí)際狀態(tài)下模型具有可變性,即使當(dāng)前狀態(tài)下的參數(shù)為模型最優(yōu)參數(shù),但到下一狀態(tài)模型的變化導(dǎo)致了所使用的參數(shù)不一定為最優(yōu)參數(shù)?;谏疃葟?qiáng)化學(xué)習(xí)的控制算法則不需要模型,基于當(dāng)前的環(huán)境信息,根據(jù)學(xué)習(xí)到的相關(guān)經(jīng)驗(yàn)做出動作并進(jìn)入到下一狀態(tài),整個(gè)過程中模型的變化并不會影響到控制策略。因此,基于深度強(qiáng)化學(xué)習(xí)的控制算法更加適用于現(xiàn)實(shí)環(huán)境中。
隨著深度強(qiáng)化學(xué)習(xí)的發(fā)展,越來越多的學(xué)者將該方法運(yùn)用到無人駕駛控制中[16-18]。盧笑等[16]提出了一種聯(lián)合圖像與單目深度特征的強(qiáng)化學(xué)習(xí)端到端自動駕駛決策,Wang等[19]設(shè)計(jì)了一種基于異步監(jiān)督學(xué)習(xí)方法的強(qiáng)化學(xué)習(xí)端到端自動駕駛模型,解決了強(qiáng)化學(xué)習(xí)在初始訓(xùn)練中性能差的問題,并經(jīng)過仿真驗(yàn)證了算法的魯棒性。但以上智能算法都是離散型的學(xué)習(xí)算法,而無人駕駛控制是連續(xù)的控制過程,因此,Google DeepMind團(tuán)隊(duì)提出了一種確定性動作的DDPG算法,有效地解決了連續(xù)性控制問題。
深度強(qiáng)化學(xué)習(xí)是在強(qiáng)化學(xué)習(xí)的基礎(chǔ)上,采用深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)代替連續(xù)狀態(tài)空間的值函數(shù),彌補(bǔ)了強(qiáng)化學(xué)習(xí)對狀態(tài)空間和離散動作行為存在的缺陷[20]。深度強(qiáng)化學(xué)習(xí)應(yīng)用較廣泛的DDPG 算法可以實(shí)現(xiàn)無人駕駛汽車的跟蹤控制[21-22],該算法是將確定性策略梯度(DPG)算法和行動者-評論家(Actor-Critic,AC)框架相結(jié)合[23],并在算法中加入了DQN算法的經(jīng)驗(yàn)回放機(jī)制,使其在連續(xù)狀態(tài)空間和動作的控制問題中取得了很好的效果。
針對無人駕駛汽車在智能決策方法研究的現(xiàn)狀和目前存在的問題,為提高無人駕駛汽車實(shí)時(shí)控制跟蹤軌跡的精度,同時(shí)降低整個(gè)控制過程的難度,文中提出了一種基于蒙特卡洛-深度確定性策略梯度(MC-DDPG)的無人駕駛汽車避障跟蹤控制算法。該算法首先對用于訓(xùn)練的經(jīng)驗(yàn)設(shè)置臨界值,保留優(yōu)秀經(jīng)驗(yàn)用于網(wǎng)絡(luò)訓(xùn)練;然后采用Q函數(shù)的蒙特卡洛策略評價(jià)訓(xùn)練網(wǎng)絡(luò)參數(shù),以達(dá)到更好的控制效果。文中最后在計(jì)算機(jī)模擬環(huán)境TORCS 中對該控制算法進(jìn)行仿真實(shí)驗(yàn),并對比分析DQN算法、DDPG算法和MC-DDPG算法的跟蹤效果。
無人駕駛汽車自主駕駛過程中,首先要實(shí)現(xiàn)對環(huán)境的感知以及確定初始狀態(tài)。無人駕駛汽車通過各類傳感器的相互融合實(shí)現(xiàn)環(huán)境及初始狀態(tài)信息的采集。傳感器的相關(guān)類型有全球定位系統(tǒng)(GPS)、攝像頭、超聲波雷達(dá)和激光雷達(dá)。GPS用以判斷無人駕駛汽車的位置信息;攝像頭用以收集車道線信息,判斷車輛與車道線的相對位置;超聲波雷達(dá)則用以檢測道路邊緣信息;激光雷達(dá)用以檢測車輛周圍的障礙物大小以及運(yùn)動狀態(tài)。無人駕駛汽車的初始狀態(tài)是由傳感器采集的信息經(jīng)過處理得到的,無人駕駛汽車的基本狀態(tài)信息如表1所示。
表1 無人駕駛汽車的狀態(tài)信息Table 1 Status information for unmanned vehicles
表1所示的多類傳感器信息多樣且復(fù)雜,因此需要將這些數(shù)據(jù)進(jìn)行融合,以字典的方式作為狀態(tài)輸入到無人駕駛系統(tǒng)中。其基本融合過程如下:①傳感器觀測采集數(shù)據(jù);②對采集數(shù)據(jù)進(jìn)行特征提取,得到觀測數(shù)據(jù)的特征值;③對特征值數(shù)據(jù)進(jìn)行關(guān)聯(lián),形成對相同目標(biāo)的描述;④對不同目標(biāo)的特征值進(jìn)行組合,以字典的方式作為狀態(tài)信息輸入到強(qiáng)化學(xué)習(xí)模型。
圖1所示為無人駕駛車輛的傳感器測量輸入值。b為車輛中心與道路中線的距離,由傳感器的狀態(tài)信息TrackPos 表征,將其進(jìn)行歸一化處理,大于1或小于-1,表示越過道路邊緣;d為本車與其他車輛的相對距離,由傳感器的狀態(tài)信息Opponents表征;vx為車輛縱向速度,由傳感器的狀態(tài)信息SpeedX 表征,vy為車輛橫向速度,vz為車輛垂向速度;α為車輛行駛方向與道路中心線的夾角,由傳感器的狀態(tài)信息Angle表征。
圖1 無人駕駛汽車測量輸入值Fig.1 Measurement inputs for driverless vehicle
為驗(yàn)證算法的魯棒性,文中設(shè)計(jì)了一種基于深度強(qiáng)化學(xué)習(xí)方法的系統(tǒng)模型。利用深度學(xué)習(xí)處理收集到的信息,包括環(huán)境、障礙物、無人駕駛汽車的運(yùn)動狀態(tài)等信息,將其以特征形式作為狀態(tài)輸入。強(qiáng)化學(xué)習(xí)根據(jù)當(dāng)前狀態(tài)信息做出相應(yīng)的行為決策并得到一定的回報(bào)值,通過回報(bào)值判斷行為決策的優(yōu)越性,并根據(jù)結(jié)果誤差對動作決策行為做出相應(yīng)的獎(jiǎng)懲,以提高決策能力。無人駕駛汽車的基本深度強(qiáng)化學(xué)習(xí)模型如圖2所示。
圖2 無人駕駛汽車的基本深度強(qiáng)化學(xué)習(xí)模型Fig.2 Basic deep reinforcement learning model for driverless vehicle
文中采用DDPG 算法解決無人駕駛避障跟蹤的連續(xù)控制問題,基于DDPG 算法的無人駕駛避障跟蹤控制算法流程圖如圖3所示。
圖3 基于DDPG算法的無人駕駛避障跟蹤控制算法流程圖Fig.3 Flow chart of driverless obstacle avoidance tracking control algorithm based on DDPG algorithm
在車輛行駛過程中,車輛和環(huán)境提供狀態(tài)信息。無人駕駛汽車根據(jù)狀態(tài)信息提供控制決策,文中根據(jù)無人駕駛跟蹤控制選擇了3 個(gè)基本控制量,分別為加速、轉(zhuǎn)向和剎車,通過這3個(gè)基本控制量實(shí)現(xiàn)相對的無人駕駛汽車的避障跟蹤控制,其基本定義如表2所示。
表2 輸出控制量定義Table 2 Definition of output control volumes
DDPG 算法是根據(jù)DPG 算法提出來的,屬于無模型的行動者-評論家方法中的離線策略學(xué)習(xí)算法,結(jié)合DQN 算法的基礎(chǔ),突破了DQN 算法只能解決離散型和低維度動作空間的難題。以無人車作為智能體與DDPG 算法進(jìn)行交互,根據(jù)傳感器收集到的狀態(tài)信息作為輸入,行動者網(wǎng)絡(luò)根據(jù)狀態(tài)輸入做出相應(yīng)動作決策,并將當(dāng)前狀態(tài)信息儲存用以采樣更新網(wǎng)絡(luò)參數(shù)。評論家網(wǎng)絡(luò)通過計(jì)算行動者網(wǎng)絡(luò)動作決策的Q值判斷動作決策的優(yōu)劣。為使訓(xùn)練穩(wěn)定使用目標(biāo)-行動者網(wǎng)絡(luò)和目標(biāo)Q網(wǎng)絡(luò)定時(shí)從經(jīng)驗(yàn)池中采樣數(shù)據(jù),目標(biāo)Q網(wǎng)絡(luò)通過梯度算法緩慢更新網(wǎng)絡(luò)參數(shù)。DDPG算法的基本框架如圖4所示。
圖4 DDPG算法的基本框架Fig.4 Basic framework of DDPG algorithm
為了使網(wǎng)絡(luò)訓(xùn)練更加穩(wěn)定,文中加入奧恩斯坦-烏倫貝克(Ornstein-Uhlenbeck,OU)隨機(jī)過程作為噪聲輸入,OU隨機(jī)過程定義如下:
式中,θ>0,μ為均值,方差σ>0,Wt為維納過程(布朗運(yùn)動)。
OU 隨機(jī)過程是時(shí)序相關(guān)的,因此在無人駕駛汽車前一步和后一步的動作過程中利用OU 隨機(jī)過程產(chǎn)生時(shí)序相關(guān)的探索。訓(xùn)練時(shí)目標(biāo)-行動者網(wǎng)絡(luò)和目標(biāo)-評論家網(wǎng)絡(luò)的參數(shù)按照式(2)進(jìn)行更新,即
式中,τ為獎(jiǎng)勵(lì)考慮長遠(yuǎn)的回報(bào)值(文中取為0.01),θQ為動作價(jià)值Q函數(shù)的參數(shù)。
由圖4 和DDPG 算法的基本原理可以得到DDPG 算法的以下特征:①行動者和評論家網(wǎng)絡(luò)分別由訓(xùn)練網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)構(gòu)成,總共有4 個(gè)網(wǎng)絡(luò);②DDPG引入了DQN的經(jīng)驗(yàn)回放機(jī)制,用于儲存智能體和環(huán)境交互數(shù)據(jù)信息(St,At,Rt,St+1);③DDPG采用軟更新方法緩慢更新目標(biāo)網(wǎng)絡(luò)參數(shù),使網(wǎng)絡(luò)學(xué)習(xí)更加穩(wěn)定;④在神經(jīng)網(wǎng)絡(luò)中對每一組數(shù)據(jù)進(jìn)行歸一化處理;⑤DDPG 算法采用向動作網(wǎng)絡(luò)的輸出中添加隨機(jī)噪聲的方式實(shí)現(xiàn)信號輸入。
行動者網(wǎng)絡(luò)用以實(shí)現(xiàn)當(dāng)前動作的確定性策略,使無人駕駛汽車執(zhí)行當(dāng)前動作。行動者網(wǎng)絡(luò)是由傳感器收集到的狀態(tài)信息作為輸入,有兩個(gè)節(jié)點(diǎn)數(shù)分別為300 和600 的隱含層,用以逼近策略模型π(a|s)并輸出相應(yīng)動作。其網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 行動者網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Actor network structure
評論家網(wǎng)絡(luò)通過一組參數(shù)θQ估計(jì)當(dāng)前狀態(tài)動作的Q值,準(zhǔn)確的Q值對網(wǎng)絡(luò)的收斂至關(guān)重要。評論家網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
圖6 評論家網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 Critic network structure
評論家網(wǎng)絡(luò)由傳感器傳入的狀態(tài)信息s和動作值a作為輸入,以兩個(gè)節(jié)點(diǎn)數(shù)為600 的隱含層逼近價(jià)值Q函數(shù),輸出為當(dāng)前網(wǎng)絡(luò)價(jià)值Q。
文中基于DDPG 算法的無人駕駛汽車避障跟蹤控制的獎(jiǎng)勵(lì)設(shè)計(jì)是根據(jù)馬爾可夫決策的獎(jiǎng)勵(lì)過程,是由一個(gè)四元組構(gòu)成的獎(jiǎng)勵(lì)。其中S為狀態(tài)空間集,Pss'為從狀態(tài)s到狀態(tài)s'的狀態(tài)轉(zhuǎn)移矩陣,Pss'=P[St+1=s'|St=s],Rs為狀態(tài)s的獎(jiǎng)勵(lì),Rs=E[Rt+1|St=s],γ為折扣因子。
累積獎(jiǎng)勵(lì)是從當(dāng)前時(shí)間到最終狀態(tài)的所有獎(jiǎng)勵(lì),即
由于環(huán)境是隨機(jī)的或者環(huán)境變化是不確定的,因此下一個(gè)狀態(tài)的發(fā)生也是隨機(jī)的,當(dāng)前執(zhí)行的動作在下一狀態(tài)下不一定同樣執(zhí)行,且無法確定得到相等的獎(jiǎng)勵(lì)。未來的狀態(tài)具有不確定性,在累積獎(jiǎng)勵(lì)的過程中需要考慮未來獎(jiǎng)勵(lì)的變化對獎(jiǎng)勵(lì)值的影響,需要對未來獎(jiǎng)勵(lì)狀態(tài)進(jìn)行調(diào)整,使用折扣未來獎(jiǎng)勵(lì)Gt代替累積獎(jiǎng)勵(lì),即
獎(jiǎng)勵(lì)回報(bào)的期望用狀態(tài)s的價(jià)值來表示,其價(jià)值函數(shù)由兩部分組成,包括即時(shí)獎(jiǎng)勵(lì)Rt+1和下一狀態(tài)的折扣狀態(tài)價(jià)值γV(St+1)。因此,狀態(tài)獎(jiǎng)勵(lì)過程通過貝爾曼方程推導(dǎo),得
式中,V(St+1)為下一狀態(tài)預(yù)估價(jià)值。
獎(jiǎng)勵(lì)函數(shù)的貝爾曼方程推導(dǎo)是對所有可能性進(jìn)行加權(quán)平均,其函數(shù)表達(dá)式為
因此,獎(jiǎng)勵(lì)函數(shù)R的定義為
式中:D為道路寬度;C為權(quán)重系數(shù)向量,C=(c1,c2,c3,c4,c5)T;v為狀態(tài) 參數(shù)向 量,v=(vxcosα,-|vy|,-|vz|,-|b|,-vxd)T。當(dāng)無人駕駛車輛與其他車輛發(fā)生碰撞(即用傳感器測量與其他車輛的間距d<0.1 m)時(shí),給予最大懲罰,結(jié)束該回合訓(xùn)練;當(dāng)無人駕駛車輛越過道路線時(shí),給予相應(yīng)的懲罰,結(jié)束該回合訓(xùn)練。
策略π是狀態(tài)到動作的映射,是在某個(gè)狀態(tài)采取相應(yīng)的動作,其表達(dá)式為
式中,P為狀態(tài)轉(zhuǎn)移矩陣。
基于強(qiáng)化學(xué)習(xí)的無人駕駛決策包括M=和策略π兩部分,因此狀態(tài)和獎(jiǎng)勵(lì)序列可以表示為,其狀態(tài)轉(zhuǎn)移矩陣和獎(jiǎng)勵(lì)函數(shù)表示為
無人駕駛汽車根據(jù)狀態(tài)輸入采取相應(yīng)策略后,其累計(jì)回報(bào)服從一個(gè)分布,因此得到狀態(tài)值函數(shù)
及狀態(tài)-行為值函數(shù)
將式(11)和式(12)轉(zhuǎn)換成貝爾曼方程,得
DDPG 算法是一種無模型連續(xù)控制的深度強(qiáng)化學(xué)習(xí)方法[23],采用AC 網(wǎng)絡(luò)結(jié)構(gòu),由行動者網(wǎng)絡(luò)μ(s|θμ)、目標(biāo)-行動者網(wǎng)絡(luò)μ(s|θμ')及評論家網(wǎng)絡(luò)Q(s,a|θQ)和目標(biāo)-評論家網(wǎng)絡(luò)Q(s,a|θQ')組成,還增加了隨機(jī)噪聲以加強(qiáng)無人駕駛汽車對環(huán)境的感知能力,以及經(jīng)驗(yàn)回放池使系統(tǒng)可以離線訓(xùn)練學(xué)習(xí)。
累計(jì)回報(bào)與動作有關(guān),可以通過改進(jìn)梯度策略的方法對確定性動作策略的參數(shù)ω進(jìn)行更新,傳統(tǒng)的參數(shù)ω的更新由累計(jì)回報(bào)作為更新權(quán)重,文中設(shè)計(jì)當(dāng)前的策略參數(shù)更新只與采取動作之后的結(jié)果有關(guān),與曾經(jīng)和將來所有獎(jiǎng)勵(lì)的總和無關(guān),以使訓(xùn)練過程學(xué)習(xí)效果更加準(zhǔn)確。其基本過程如下:
(2)計(jì)算總的獎(jiǎng)勵(lì)回報(bào)值;
(3)丟棄總獎(jiǎng)勵(lì)回報(bào)值后70%回合的經(jīng)驗(yàn);
(4)剩余30%的優(yōu)秀經(jīng)驗(yàn)以觀測值為輸入,作為梯度策略數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò)的輸出;
(5)返回步驟(2),直到精確穩(wěn)定地跟蹤路徑。
在避障學(xué)習(xí)過程中以跟蹤精度作為目標(biāo),通過不斷地訓(xùn)練學(xué)習(xí),在選擇從左側(cè)超車或者從右側(cè)超車時(shí)選擇合適的超車路徑,并在超車過程中避免了因避障而出現(xiàn)的較大誤差。MC-DDPG 避障跟蹤算法的網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖7所示。
圖7 MC-DDPG算法的網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.7 Schematic diagram of the network structure of MCDDPG algorithm
用最小化的損失函數(shù)對參數(shù)θQ進(jìn)行更新,使得Q值更加準(zhǔn)確。其最小化損失函數(shù)為
式中,M為從小批量經(jīng)驗(yàn)中選取的經(jīng)驗(yàn)值。
游戲是小學(xué)生的天性,在進(jìn)行小學(xué)數(shù)學(xué)知識教學(xué)的過程中,教師可以借由游戲來構(gòu)建教學(xué)情境,促進(jìn)學(xué)生在相對輕松愉悅的氛圍中提高數(shù)學(xué)知識的學(xué)習(xí)效果。
當(dāng)前行動者網(wǎng)絡(luò)中,由于是確定性策略定義的損失梯度,利用蒙特卡洛近似將式(17)梯度策略中的未知項(xiàng)進(jìn)行近似處理。文中使用觀測到的rt近似Qπ(St,At),其過程是觀測到一個(gè)軌跡后,計(jì)算出回報(bào),就可以得到回報(bào)Rt。更新價(jià)值網(wǎng)絡(luò)就是用該價(jià)值獎(jiǎng)勵(lì)去擬合回報(bào)Rt,因?yàn)橹皩顟B(tài)價(jià)值函數(shù)近似為Rt,就可以得到預(yù)測的誤差,使用誤差的平方作為損失函數(shù),使得誤差變小,然后對其求導(dǎo),就可以得到梯度。本質(zhì)上,Q(St,At,ω)表示在相應(yīng)策略下給定St、At后回報(bào)Gt的期望,即
最后根據(jù)梯度算法更新網(wǎng)絡(luò)參數(shù)。因此,可以得到優(yōu)化后的策略梯度公式為
使用蒙特卡洛策略梯度Reinforce算法,將價(jià)值函數(shù)V(s)近似代替策略梯度公式中的Qπ(s,a)。用蒙特卡洛法計(jì)算序列每個(gè)時(shí)間位置t的狀態(tài)價(jià)值Vt,并使用梯度上升法更新策略函數(shù)的參數(shù)θ:
同樣地,狀態(tài)價(jià)值函數(shù)的更新公式為
式中,α為學(xué)習(xí)率。
TORCS 平臺是根據(jù)模擬車輛物理模型建立的模擬器,因此可以實(shí)現(xiàn)車輛與環(huán)境的交互。文中通過TORCS 平臺驗(yàn)證文中所提算法的可行性,基于TORCS的算法訓(xùn)練路線環(huán)境如圖8所示,其中B1為起始點(diǎn)(終點(diǎn))、B2為連續(xù)轉(zhuǎn)彎起點(diǎn)、B3為急轉(zhuǎn)彎起點(diǎn),B4為直線行駛起點(diǎn)。
圖8 無人駕駛避障訓(xùn)練路線圖Fig.8 Driverless obstacle avoidance training roadmap
動態(tài)障礙物作為影響無人駕駛汽車跟蹤效果的因素,可出現(xiàn)在跟蹤路徑中的任意位置。為驗(yàn)證算法的可行性,設(shè)置5種工況(3、5、8、10、15個(gè)動態(tài)障礙物),以研究無人駕駛汽車的穩(wěn)定狀態(tài)。
本實(shí)驗(yàn)設(shè)置優(yōu)化DDPG 算法中的超參數(shù)如下:樣本儲存空間大小BUFFER_SIZE=100 000,小批量選取樣本數(shù)量BATCH_SIZE=32,折扣系數(shù)γ=0.99,目標(biāo)網(wǎng)絡(luò)超參數(shù)τ=0.001,行動者網(wǎng)絡(luò)學(xué)習(xí)率和評論家網(wǎng)絡(luò)學(xué)習(xí)率分別為0.000 1和0.001。
網(wǎng)絡(luò)訓(xùn)練累計(jì)價(jià)值回報(bào)表示無人駕駛汽車從一個(gè)狀態(tài)選擇一個(gè)動作后走到最終狀態(tài),最后獲得的累計(jì)獎(jiǎng)勵(lì)總和的平均值。不同障礙物數(shù)量下,3 種算法的累計(jì)價(jià)值回報(bào)比較如圖9 所示。從圖中可知:DQN 算法的回報(bào)價(jià)值較低,算法的穩(wěn)定性差;DDPG算法比較穩(wěn)定,但隨著障礙物的增加,算法的訓(xùn)練效果達(dá)到最佳時(shí)需要的回合數(shù)也在增加;隨著障礙物的增加,MC-DDPG算法收斂到最佳效果后的跟蹤效果基本穩(wěn)定,且優(yōu)于DQN 算法和DDPG算法。由圖9可以計(jì)算出蒙特卡洛策略梯度改進(jìn)前后3種算法的目標(biāo)Q值回報(bào)性能,如表3所示。
圖9 訓(xùn)練場景下3種算法的累計(jì)獎(jiǎng)勵(lì)曲線Fig.9 Cumulative reward curves of three algorithms in the training scenario
表3 3種算法的累計(jì)回報(bào)性能對比Table 3 Comparison of cumulative return performance among three algorithms
為驗(yàn)證算法的跟蹤避障控制效果,通過誤差直觀判斷跟蹤效果的實(shí)際情況,文中設(shè)計(jì)了兩種無人駕駛跟蹤誤差,分別是車輛與實(shí)際道路角度的誤差、車輛位置與實(shí)際道路中心線的誤差,通過這兩種誤差可基本判斷無人駕駛車輛的實(shí)際跟蹤效果。不同障礙物數(shù)量下,3 種算法的角度誤差和位置誤差曲線分別如圖10、圖11所示。
圖10 不同障礙物數(shù)量下3種算法的角度誤差曲線Fig.10 Angular error curves of three algorithms for different numbers of obstacles
障礙物的存在使無人駕駛汽車在避開障礙物時(shí)與道路線的夾角(即角度誤差)有著較大的變化。由圖10 可以知道:在跟蹤過程中,使用DQN 算法的無人駕駛汽車的角度誤差變化最大,其跟蹤穩(wěn)定性差;使用DDPG 算法的無人駕駛汽車的角度誤差變化較大,跟蹤軌跡的準(zhǔn)確性大大降低;使用MC-DDPG 算法的無人駕駛汽車在遇到障礙物時(shí),利用小角度的轉(zhuǎn)向避開障礙物,大大提高了無人駕駛汽車軌跡跟蹤的控制精度。由圖10 可以計(jì)算出3種算法的角度誤差,如表4所示。
表4 3種算法的角度誤差對比Table 4 Comparison of angular error among three algorithms
障礙物的存在使無人駕駛汽車在避障過程中遠(yuǎn)離中心線。由圖11 可以看出,MC-DDPG 算法控制的角度變化比DQN算法和DDPG算法小,使得無人駕駛汽車在安全避障的同時(shí)行駛穩(wěn)定性高,位置誤差變化小,控制效果更佳。由圖11可以計(jì)算出3種算法的位置誤差,如表5所示。
表5 3種算法的位置誤差對比Table 5 Comparison of position error among three algorithms
為驗(yàn)證訓(xùn)練數(shù)據(jù)的可靠性,對訓(xùn)練好的模型進(jìn)行驗(yàn)證,驗(yàn)證路線如圖12所示。3種算法的跟蹤速度如圖13 所示。驗(yàn)證訓(xùn)練效果是否使車輛穩(wěn)定的駕駛,可以通過速度分析無人駕駛汽車的跟蹤穩(wěn)定性,速度的穩(wěn)定性意味著無人駕駛汽車正常駕駛。無人駕駛汽車在每一步跟蹤過程都存在相應(yīng)的獎(jiǎng)勵(lì),該獎(jiǎng)勵(lì)值可以反映無人駕駛汽車的避障跟蹤效果,3種算法的獎(jiǎng)勵(lì)回報(bào)曲線如圖14所示。
圖12 無人駕駛避障驗(yàn)證路線圖Fig.12 Driverless obstacle avoidance validation roadmap
圖13 3種算法的無人駕駛跟蹤速度曲線Fig.13 Driverless tracking speed curves of three algorithms
圖14 3種算法的獎(jiǎng)勵(lì)回報(bào)曲線Fig.14 Reward return curves of three algorithms
由圖13、圖14可以看出:在DQN算法控制下,無人駕駛汽車可以學(xué)習(xí)到基本的控制效果,但其跟蹤穩(wěn)定性差;在DDPG 算法和MC-DDPG 算法控制下,無人駕駛汽車都可以穩(wěn)定的駕駛,MC-DDPG算法的控制效果最佳。
為驗(yàn)證文中算法的跟蹤效果和跟蹤精度,文中對3種算法跟蹤過程的角度誤差和位置誤差進(jìn)行了對比,結(jié)果如圖15所示。
圖15 在不同避障步數(shù)下3種算法的角度誤差和位置誤差曲線Fig.15 Angular and positional error curves of three algorithms at different obstacle avoidance steps
由圖15 可知:無人駕駛汽車與道路夾角的變化小,其中角度變化大的主要原因是障礙物的存在,在避障過程中不可避免地使無人駕駛汽車與道路的夾角發(fā)生變化;MC-DDPG 算法控制的無人駕駛汽車角度變化和位置誤差變化均較小,其跟蹤效果最佳。從整體誤差看,DQN算法和DDPG算法能達(dá)到相應(yīng)的跟蹤控制,但其控制穩(wěn)定性差,誤差變化大,而MC-DDPG 算法的控制效果更加平穩(wěn),穩(wěn)定性更強(qiáng)。
3種算法的避障軌跡跟蹤效果如圖16所示。圖中障礙物在軌跡上的位置不斷發(fā)生變化,顏色越深表示障礙物與實(shí)際位置越接近,而淺色表示障礙物曾經(jīng)的位置。在整個(gè)軌跡跟蹤過程中,MC-DDPG算法的跟蹤精度高,可以很好地跟蹤軌跡;DDPG算法及DQN 算法控制的無人駕駛汽車可以完成相關(guān)的跟蹤任務(wù),但跟蹤誤差較大,在軌跡跟蹤中心線上來回浮動;MC-DDPG 算法控制的無人駕駛汽車避障效果最佳,避障路徑最優(yōu)。
圖16 避障軌跡跟蹤路線圖Fig.16 Obstacle avoidance track tracking roadmap
避障跟蹤過程中3 種算法的性能比較如表6所示。由表中可以看出,在整個(gè)避障過程中,MCDDPG 算法控制的無人駕駛汽車與由DDPG 算法及DQN算法控制的無人駕駛汽車相比,平均位置誤差最小,偏離跟蹤軌跡的范圍最小,并且避障過程采用的步數(shù)最短。因此,整個(gè)過程中MC-DDPG 算法的控制效果更優(yōu),控制精度更高。
表6 避障跟蹤過程3種算法的性能對比Table 6 Performance comparison of three algorithms for obstacle avoidance tracking process
文中提出了一種基于MC-DDPG 的無人駕駛汽車避障跟蹤控制算法,建立了單步狀態(tài)策略學(xué)習(xí)的AC 學(xué)習(xí)網(wǎng)絡(luò)。針對車道跟隨工況,設(shè)計(jì)相應(yīng)的條件約束和價(jià)值回報(bào)函數(shù),使無人駕駛汽車可穩(wěn)定地沿著車道行駛方向收斂并合理地避開障礙物。在TORCS 仿真環(huán)境下的結(jié)果表明,文中MC-DDPG 算法在訓(xùn)練2 500 回合后收斂,無人駕駛汽車可有效避開動態(tài)障礙物并跟蹤車道中心線駕駛,且最高時(shí)速可達(dá)180 km/h,實(shí)現(xiàn)了高速穩(wěn)定避障跟蹤效果。與原始DDPG 算法對比,改進(jìn)算法的控制精度及跟蹤效果均較優(yōu),實(shí)現(xiàn)了更加精準(zhǔn)的控制跟蹤。