鄭陽(yáng)俊,賀 帥,帥志斌,*,李建秋,蓋江濤,李 勇,張 穎,李國(guó)輝
(1.中國(guó)北方車輛研究所,北京100072,中國(guó);2.汽車安全與節(jié)能國(guó)家重點(diǎn)實(shí)驗(yàn)室(清華大學(xué)),北京100084,中國(guó))
車輛關(guān)鍵運(yùn)動(dòng)狀態(tài)的測(cè)量和估計(jì)一直是車輛動(dòng)力學(xué)領(lǐng)域的研究熱點(diǎn)[1]。在車輛的平面運(yùn)動(dòng)狀態(tài)中,縱向車速、側(cè)向車速、橫擺角速度是影響車輛操控性能和行駛穩(wěn)定性的關(guān)鍵。量產(chǎn)車上安裝的慣性測(cè)量單元(inertial measurement unit, IMU)等傳感器能夠?qū)v向加速度、側(cè)向加速度、橫擺角速度等進(jìn)行較為精確的測(cè)量,縱向車速也可通過(guò)車輪轉(zhuǎn)速進(jìn)行估計(jì),而側(cè)向車速的測(cè)量難度較大,難以通過(guò)量產(chǎn)車上安裝的傳感器進(jìn)行準(zhǔn)確的實(shí)時(shí)測(cè)量[2]。雖然車載GPS (全球定位系統(tǒng),global positioning system)模塊能對(duì)縱向車速、側(cè)向車速等運(yùn)動(dòng)狀態(tài)進(jìn)行測(cè)量,但受限于地形、天氣等因素,通常難以保證持續(xù)良好的GPS 衛(wèi)星信號(hào)質(zhì)量,存在不穩(wěn)定因素,并且量產(chǎn)車的GPS 模塊數(shù)據(jù)更新速率較低,獲取的車速難以用于車輛動(dòng)力學(xué)相關(guān)的強(qiáng)實(shí)時(shí)控制。因此,通過(guò)傳感器獲取的有限的車輛狀態(tài)信息,對(duì)車輛側(cè)向車速或質(zhì)心側(cè)偏角進(jìn)行估計(jì),是汽車行業(yè)一直以來(lái)廣泛關(guān)注的研究和應(yīng)用領(lǐng)域。
已有許多圍繞車輛側(cè)向車速和質(zhì)心側(cè)偏角精確估計(jì)的研究工作,并形成了行之有效的估計(jì)方法[3],包括:Kalman 濾波器(Kalman filter, KF)及其變種(擴(kuò)展KF、無(wú)跡KF、容積KF、聯(lián)邦KF 等)、模糊邏輯觀測(cè)器、神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)等方法。金賢建提出了一種基于雙容積KF 的車輛質(zhì)心速度和質(zhì)心側(cè)偏角觀測(cè)方法[4]。樊東升基于聯(lián)邦KF 實(shí)現(xiàn)對(duì)車輛速度和路面附著系數(shù)的聯(lián)合估計(jì)[5]。肖峰設(shè)計(jì)了基于無(wú)跡KF 的車輛橫擺角速度和質(zhì)心側(cè)偏角估計(jì)方法[6]。施樹(shù)明提出了一種基于模糊邏輯的車輛質(zhì)心側(cè)偏角估計(jì)方法[7]。
除了廣泛采用的KF 算法以外,神經(jīng)網(wǎng)絡(luò)也被嘗試應(yīng)用于車輛運(yùn)動(dòng)狀態(tài)的實(shí)時(shí)估計(jì)上。張鳳嬌提出了一種基于深度學(xué)習(xí)的極限工況下車輛狀態(tài)估計(jì)方法[8]。汪?提出了一種基于深度學(xué)習(xí)的車輛關(guān)鍵狀態(tài)平行估計(jì)方法[9]。Ribeiro 采用時(shí)延神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了對(duì)輪胎—路面附著情況的實(shí)時(shí)估計(jì)[10]。
近年來(lái),在車輛控制領(lǐng)域,深度強(qiáng)化學(xué)習(xí)(deep reinforcement learning, DRL)技術(shù)也得到了應(yīng)用。目前針對(duì)DRL 的應(yīng)用研究主要集中在混合動(dòng)力車輛的能量管理、自動(dòng)駕駛車輛的路徑規(guī)劃等領(lǐng)域。HAN Xuefeng 采用double DQN 算法進(jìn)行混合動(dòng)力履帶車輛的能量管理[11]。李文禮采用深度確定性策略梯度(deep deterministic policy gradient, DDPG)算法實(shí)現(xiàn)了車輛自主避撞決策控制[12]。
也有學(xué)者利用強(qiáng)化學(xué)習(xí)方法進(jìn)行車輛系統(tǒng)的狀態(tài)估計(jì)和參數(shù)辨識(shí)。高洪森將DRL 與KF 算法相結(jié)合,提出了一種鋰離子電池SOC(荷電狀態(tài),state of charge)估計(jì)方法[13]。Kim T. 利用基于模型的強(qiáng)化學(xué)習(xí)算法進(jìn)行輪胎參數(shù)的辨識(shí),并在此基礎(chǔ)上進(jìn)行路徑跟蹤控制[14]。WANG Pengyue 利用分布式強(qiáng)化學(xué)習(xí)算法對(duì)智能交通系統(tǒng)中車輛的不確定性進(jìn)行估計(jì)[15]。
本文基于DRL 的范式,結(jié)合深度神經(jīng)網(wǎng)絡(luò),設(shè)計(jì)了一種基于DDPG 算法的四輪獨(dú)立電驅(qū)動(dòng)車輛側(cè)向車速估計(jì)方法。通過(guò)對(duì)神經(jīng)網(wǎng)絡(luò)、獎(jiǎng)勵(lì)函數(shù)、訓(xùn)練場(chǎng)景等的合理設(shè)計(jì),所訓(xùn)練得到的智能體,可望對(duì)車輛側(cè)向車速進(jìn)行準(zhǔn)確的估計(jì)。
車輛的側(cè)向車速需要基于車載傳感器易于測(cè)量的狀態(tài)量,通過(guò)設(shè)計(jì)專門(mén)的狀態(tài)觀測(cè)器或估計(jì)算法進(jìn)行計(jì)算得到。目前的估計(jì)方法主要包括2 類:
1)基于模型的估計(jì)方法。如圖1a 所示。常規(guī)車載傳感器易于測(cè)量的狀態(tài)量包括:車輛的縱向加速度ax、側(cè)向加速度ay、橫擺角速度γ,各車輪轉(zhuǎn)速ni,方向盤(pán)轉(zhuǎn)角δ等。大多數(shù)估計(jì)方法都是基于上述測(cè)量信號(hào),并結(jié)合車輛動(dòng)力學(xué)模型設(shè)計(jì)觀測(cè)器(如Kalman 濾波器),進(jìn)行車輛狀態(tài)的估計(jì)。
2)數(shù)據(jù)驅(qū)動(dòng)的估計(jì)方法。即本文所采用的方法,如圖1b 所示。基于四輪獨(dú)立電驅(qū)動(dòng)車輛中易于獲取的可測(cè)量狀態(tài)量,在狀態(tài)量中增加了各車輪轉(zhuǎn)矩Ti,結(jié)合深度神經(jīng)網(wǎng)絡(luò)的非線性擬合能力和強(qiáng)化學(xué)習(xí)的高效訓(xùn)練模式,設(shè)計(jì)并訓(xùn)練出能夠?qū)囕v側(cè)向車速進(jìn)行準(zhǔn)確估計(jì)的策略。
圖1 2 種車輛狀態(tài)估計(jì)算法比較
對(duì)于四輪獨(dú)立電驅(qū)動(dòng)車輛,由于其各車輪的輸出轉(zhuǎn)矩Ti可以獨(dú)立、精確地控制,帶來(lái)了2 方面的影響:
1) 各個(gè)車輪的輸出轉(zhuǎn)矩能夠用來(lái)作為狀態(tài)觀測(cè)器的輸入,更多的可測(cè)量信號(hào)為狀態(tài)估計(jì)提供了更多的信息和數(shù)據(jù)源,同時(shí)也為估計(jì)算法的設(shè)計(jì)提供了更大的自由度[16];
2) 由于各車輪轉(zhuǎn)矩的獨(dú)立控制,導(dǎo)致行駛工況的多樣性、復(fù)雜性、非線性等特征更加顯著,容易超出傳統(tǒng)觀測(cè)模型的適用范圍,給基于模型的估計(jì)方法帶來(lái)了新的挑戰(zhàn)。
因此,基于數(shù)據(jù)驅(qū)動(dòng)的估計(jì)方法在估計(jì)效果上更具潛力。
深度強(qiáng)化學(xué)習(xí)(DRL)是機(jī)器學(xué)習(xí)的一個(gè)分支,它一方面基于深度神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)復(fù)雜非線性數(shù)據(jù)關(guān)系的擬合,另一方面又采用強(qiáng)化學(xué)習(xí)的范式對(duì)其中的若干個(gè)深度神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行訓(xùn)練;因此可以認(rèn)為是深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的結(jié)合。DRL 的優(yōu)勢(shì)在于,其通過(guò)探索試錯(cuò)和獎(jiǎng)勵(lì)函數(shù)的機(jī)制,能夠快速地實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)超參數(shù)的高效學(xué)習(xí)和訓(xùn)練優(yōu)化。
DRL 的基本架構(gòu)如圖2 所示。
圖2 深度強(qiáng)化學(xué)習(xí)的基本架構(gòu)
本研究基于DRL 的范式對(duì)四輪獨(dú)立電驅(qū)動(dòng)車輛側(cè)向車速進(jìn)行估計(jì),其總體架構(gòu)如圖3 所示,主要包括智能體(Agent)和環(huán)境(Environment)2 部分。智能體從環(huán)境中獲得的狀態(tài)量包括:車輛縱向加速度ax、車輛側(cè)向加速度ay、方向盤(pán)轉(zhuǎn)角δ、車輛橫擺角速度γ、各車輪轉(zhuǎn)速ni、各車輪的驅(qū)動(dòng)轉(zhuǎn)矩Ti。
圖3 基于深度強(qiáng)化學(xué)習(xí)范式的側(cè)向車速估計(jì)架構(gòu)
上述車輛狀態(tài)量也即DRL 中的狀態(tài)空間,即
狀態(tài)的選取主要考慮2 方面因素:能夠表征車輛行駛過(guò)程中的關(guān)鍵動(dòng)力學(xué)狀態(tài);在量產(chǎn)車中通過(guò)常規(guī)的車載傳感器和控制器容易進(jìn)行測(cè)量或直接計(jì)算。
“智能體”是用于對(duì)側(cè)向車速進(jìn)行估計(jì)的主體,其內(nèi)部包含估計(jì)策略,基于傳感器可測(cè)量的車輛狀態(tài)量,通過(guò)深度神經(jīng)網(wǎng)絡(luò)對(duì)車輛的側(cè)向車速進(jìn)行估計(jì)。同時(shí),其內(nèi)部的深度強(qiáng)化學(xué)習(xí)算法又能根據(jù)輸入的可測(cè)量狀態(tài)量、輸出的車速估計(jì)值、估計(jì)誤差評(píng)價(jià)函數(shù)所反饋的獎(jiǎng)勵(lì)值對(duì)估計(jì)策略進(jìn)行訓(xùn)練和更新,使其估計(jì)精度得到不斷提高。
“環(huán)境”的主體是用于提供數(shù)據(jù)驅(qū)動(dòng)的車輛動(dòng)力學(xué)模型(或裝有專業(yè)測(cè)量設(shè)備的試驗(yàn)樣車),其主要作用是通過(guò)大量的行駛場(chǎng)景(模型仿真或?qū)嵻嚋y(cè)試)為智能體提供足夠的訓(xùn)練數(shù)據(jù)來(lái)源,并將其輸出的車速估計(jì)值與仿真模型內(nèi)部輸出的(或?qū)I(yè)設(shè)備測(cè)量得到的)車速真實(shí)值進(jìn)行對(duì)比,生成獎(jiǎng)勵(lì)值反饋給智能體,供其進(jìn)行策略的學(xué)習(xí)和更新。
“動(dòng)作”(action)在深度強(qiáng)化學(xué)習(xí)的控制應(yīng)用中是指智能體根據(jù)輸入狀態(tài)和內(nèi)部策略,對(duì)外界環(huán)境做出的反應(yīng)。對(duì)于本研究中的狀態(tài)估計(jì)問(wèn)題,智能體的對(duì)外輸出動(dòng)作則是其對(duì)車輛側(cè)向車速的估計(jì)值v?v,因此對(duì)動(dòng)作的定義為
近年來(lái),已衍生出一些適合不同應(yīng)用場(chǎng)景需求的DRL算法,如:深度Q網(wǎng)絡(luò) (deepQnetwork,DQN)算法、近端策略優(yōu)化(proximal policy optimization,PPO)算法、深度確定性策略梯度(deep deterministic policy gradient, DDPG)算法等。本研究中的狀態(tài)和動(dòng)作都是連續(xù)變量,因此選取DDPG 算法作為DRL 智能體的算法。
DDPG 算法的核心是Actor 網(wǎng)絡(luò)和Critic 網(wǎng)絡(luò)[17]。Actor 網(wǎng)絡(luò)負(fù)責(zé)基于當(dāng)前的狀態(tài)空間輸入計(jì)算出當(dāng)前的動(dòng)作,并輸出至環(huán)境;Critic 網(wǎng)絡(luò)根據(jù)狀態(tài)和動(dòng)作進(jìn)行Q值的計(jì)算;基于Critic 網(wǎng)絡(luò)計(jì)算的Q值和環(huán)境反饋的獎(jiǎng)勵(lì)值,對(duì)Actor 網(wǎng)絡(luò)和Critic 網(wǎng)絡(luò)的參數(shù)進(jìn)行調(diào)整和更新。DDPG 算法的主體架構(gòu)如圖4 所示。
圖4 DDPG 算法的主體架構(gòu)框圖
在實(shí)際應(yīng)用的DDPG 算法中,Actor 網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)各有2 個(gè),分別為當(dāng)前網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò),此外,DDPG 算法還借鑒了DQN 算法的經(jīng)驗(yàn)回放功能,通過(guò)使用經(jīng)驗(yàn)池可以提高訓(xùn)練效果。
深度神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)是決定深度強(qiáng)化學(xué)習(xí)效果的關(guān)鍵。本研究采用DDPG 算法構(gòu)建深度強(qiáng)化學(xué)習(xí)智能體,需要對(duì)其中的Actor 網(wǎng)絡(luò)和Critic 網(wǎng)絡(luò)進(jìn)行設(shè)計(jì),如圖5 所示。
圖5 Actor 網(wǎng)絡(luò)與Critic 網(wǎng)絡(luò)設(shè)計(jì)
輸入層:在Actor 網(wǎng)絡(luò)和Critic 網(wǎng)絡(luò)的輸入層,首先需要對(duì)輸入的變量值進(jìn)行歸一化處理,以提高網(wǎng)絡(luò)的計(jì)算精度和訓(xùn)練效率。由于網(wǎng)絡(luò)的輸入都是車輛行駛過(guò)程中的狀態(tài)量,其取值范圍都是能夠根據(jù)車輛的行駛極限進(jìn)行預(yù)先估算的,因此基于各變量的合理取值上下限對(duì)其進(jìn)行歸一化處理。Actor 網(wǎng)絡(luò)的輸入為可通過(guò)常規(guī)車載傳感器觀測(cè)的行駛狀態(tài)量,Critic 網(wǎng)絡(luò)的輸入包含兩部分,第一部分是觀測(cè)的行駛狀態(tài)量,第二部分是Actor 網(wǎng)絡(luò)輸出的動(dòng)作量,也即其對(duì)側(cè)向車速的估計(jì)值。
全連接層:神經(jīng)網(wǎng)絡(luò)的主體部分是全連接層(包含激活函數(shù)層),在Actor 網(wǎng)絡(luò)的設(shè)計(jì)中共采用了4 個(gè)全連接層,每個(gè)全連接層內(nèi)含有48 個(gè)節(jié)點(diǎn)。在Critic 網(wǎng)絡(luò)的設(shè)計(jì)中,狀態(tài)量和動(dòng)作量的路徑中各采用了2 個(gè)全連接層,在通過(guò)加法層的整合運(yùn)算后,又加入了2 個(gè)全連接層,每個(gè)全連接層也都含有48 個(gè)節(jié)點(diǎn)。
循環(huán)神經(jīng)網(wǎng)絡(luò)層:循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)是以序列數(shù)據(jù)為輸入,在序列的演進(jìn)方向進(jìn)行遞歸的神經(jīng)網(wǎng)絡(luò)。RNN 的記憶性使其在對(duì)序列的非線性特征進(jìn)行學(xué)習(xí)時(shí)能獲得較好的效果,因此適用于本研究中采用非線性狀態(tài)方程進(jìn)行描述的車輛動(dòng)力學(xué)特性?;赗NN 的上述優(yōu)勢(shì),在Actor 網(wǎng)絡(luò)和Critic 網(wǎng)絡(luò)中分別加入一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)層,每個(gè)層中含有100 個(gè)節(jié)點(diǎn)。
縮放層:在Actor 網(wǎng)絡(luò)的最后需要加入一個(gè)縮放層,根據(jù)側(cè)向車速的實(shí)際可能取值范圍對(duì)神經(jīng)網(wǎng)絡(luò)的輸出值進(jìn)行縮放,其主要參數(shù)包括縮放層的增益和偏置。
獎(jiǎng)勵(lì)函數(shù)的作用是對(duì)智能體輸出動(dòng)作的作用效果進(jìn)行評(píng)估,計(jì)算出獎(jiǎng)勵(lì)值反饋至智能體,指導(dǎo)其內(nèi)部的策略更新和各個(gè)深度神經(jīng)網(wǎng)絡(luò)的參數(shù)調(diào)節(jié)。獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)對(duì)智能體的訓(xùn)練效果影響很大,結(jié)合不同應(yīng)用需求的具體情況,對(duì)獎(jiǎng)勵(lì)函數(shù)進(jìn)行合理的選取設(shè)置,是充分發(fā)揮深度強(qiáng)化學(xué)習(xí)優(yōu)勢(shì)和提升學(xué)習(xí)效果的關(guān)鍵。在本研究所針對(duì)的應(yīng)用中,獎(jiǎng)勵(lì)函數(shù)的目的是評(píng)估智能體對(duì)側(cè)向車速估計(jì)的準(zhǔn)確度,所設(shè)計(jì)的獎(jiǎng)勵(lì)函數(shù)為
其中:v?y是智能體對(duì)側(cè)向車速的估計(jì)值,vy是訓(xùn)練過(guò)程中獲取的側(cè)向車速的真實(shí)值。vy可以來(lái)自于車輛動(dòng)力學(xué)仿真模型,也可以來(lái)自試驗(yàn)樣車上的專業(yè)測(cè)試儀器。
在完成上述架構(gòu)搭建、算法選取、神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)、獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)之后,即可按照所選取的算法流程進(jìn)行訓(xùn)練,本文DDPG 算法的核心訓(xùn)練流程如下。
首先,采用一組隨機(jī)參數(shù)Φ對(duì)Critic 網(wǎng)絡(luò)Q進(jìn)行初始化,并用同樣的參數(shù)Φt=Φ對(duì)Target Critic 網(wǎng)絡(luò)Qt進(jìn)行初始化;其次,采用一組隨機(jī)參數(shù)θ對(duì)Actor網(wǎng)絡(luò)π進(jìn)行初始化,并用同樣的參數(shù)θt=θ對(duì)Target Actor 網(wǎng)絡(luò)πt進(jìn)行初始化;
開(kāi)始訓(xùn)練,在每一個(gè)訓(xùn)練時(shí)間步長(zhǎng)中重復(fù)如下步驟1—8,直至訓(xùn)練結(jié)束:
步驟1:對(duì)于當(dāng)前的觀測(cè)S,利用Actor 網(wǎng)絡(luò)π計(jì)算出對(duì)vy的估計(jì)值v?y=π(S)+N,其中N是噪聲模型生成的隨機(jī)噪聲;
步驟2:輸出估計(jì)值v?y,觀察計(jì)算的獎(jiǎng)勵(lì)值R和下一個(gè)觀測(cè)值S’;
步驟3:將經(jīng)驗(yàn)(S,v?y,R,S’)存入經(jīng)驗(yàn)池Buffer;
步驟4:從經(jīng)驗(yàn)池Buffer 中隨機(jī)選取出M個(gè)經(jīng)驗(yàn)(Si,v?yi,Ri,Si’),i= 1, 2, …,M;
步驟5:對(duì)選取出的每個(gè)經(jīng)驗(yàn)(Si,v?yi,Ri,Si’),計(jì)算其價(jià)值函數(shù)yi=Ri+γ Qt(Si’,πt(Si’|θt)|Φt);
步驟6:通過(guò)最小化來(lái)更新Critic 網(wǎng)絡(luò)Q的參數(shù);
步驟7:通過(guò)采用策略梯度(policy gradient)算法,來(lái)更新Actor 網(wǎng)絡(luò)π的參數(shù);
步驟8:采用平滑更新算法,來(lái)分別更新Target Critic 網(wǎng)絡(luò)Qt的參數(shù)Φt和Target Actor 網(wǎng)絡(luò)πt的參數(shù)θt。
為了驗(yàn)證本研究所提出的上述方法的有效性,在Matlab/Simulink 軟件中搭建了仿真環(huán)境和深度強(qiáng)化學(xué)習(xí)算法。車輛模型基于Matlab/Simulink 中Vehicle Dynamics Blockset 工具箱所提供的Muscle Car 模型進(jìn)行搭建,車輛在無(wú)限大的水平地面上進(jìn)行多個(gè)片段的反復(fù)訓(xùn)練。車輛模型和仿真場(chǎng)景如圖6 所示,車輛的主要參數(shù)如表1 所示。
圖6 用于訓(xùn)練的車輛模型和仿真場(chǎng)景
表1 車輛模型的主要參數(shù)
在訓(xùn)練學(xué)習(xí)階段中,每個(gè)訓(xùn)練片段持續(xù)10 s,車輛從靜止開(kāi)始加速,采用不同的駕駛員方向盤(pán)轉(zhuǎn)角δ和車輪輸出轉(zhuǎn)矩的組合作為車輛模型的輸入,對(duì)智能體進(jìn)行訓(xùn)練。δ的輸入包括150°的δ恒定值輸入、斜率為30 (°)/s 且最大值為150°的δ斜坡輸入、以及不同幅值和頻率的δ正弦波輸入,δ正弦波輸入信號(hào)的幅值和頻率特征如表2 所示,從δ到前輪轉(zhuǎn)角的傳動(dòng)比為20。4 個(gè)車輪的輸出轉(zhuǎn)矩Ti分別在{50, 100, 150, 200 } Nm這4 個(gè)值中進(jìn)行選取并隨機(jī)組合。在本研究的訓(xùn)練中,受限于訓(xùn)練樣本變量維度和仿真算力的約束,將不考慮整車質(zhì)量的變化,而將其視為一個(gè)定值。
表2 訓(xùn)練過(guò)程中的方向盤(pán)轉(zhuǎn)角輸入信號(hào)
訓(xùn)練過(guò)程中的主要參數(shù)設(shè)置如表3 所示。
表3 訓(xùn)練過(guò)程的主要參數(shù)
訓(xùn)練的結(jié)束條件設(shè)置為:最近100 次訓(xùn)練片段得到的累計(jì)獎(jiǎng)勵(lì)平均值不小于閾值-100,即認(rèn)為此時(shí)對(duì)側(cè)向車速估計(jì)的準(zhǔn)確度達(dá)到了要求。該閾值的選取基于式(3)中對(duì)獎(jiǎng)勵(lì)值的計(jì)算公式:將能夠容忍的最大估計(jì)誤差值所對(duì)應(yīng)的獎(jiǎng)勵(lì)值,乘以單個(gè)訓(xùn)練片段中設(shè)置的最大步長(zhǎng)數(shù),即作為用于判斷訓(xùn)練過(guò)程是否結(jié)束的累計(jì)獎(jiǎng)勵(lì)平均值的閾值。
某個(gè)訓(xùn)練過(guò)程的獎(jiǎng)勵(lì)值(reward)隨訓(xùn)練片段次數(shù)(N)變化關(guān)系如圖7 所示。在經(jīng)過(guò)630 次訓(xùn)練之后,累計(jì)獎(jiǎng)勵(lì)平均值達(dá)到了設(shè)置閾值,此時(shí)認(rèn)為訓(xùn)練過(guò)程完成。
圖7 仿真訓(xùn)練過(guò)程中獎(jiǎng)勵(lì)值的變化趨勢(shì)
完成訓(xùn)練之后,智能體中的Actor 網(wǎng)絡(luò)(或稱之為估計(jì)策略網(wǎng)絡(luò))即可用于對(duì)側(cè)向車速進(jìn)行實(shí)時(shí)估計(jì)。采用不在訓(xùn)練場(chǎng)景數(shù)據(jù)庫(kù)中的全新的仿真場(chǎng)景驗(yàn)證其對(duì)側(cè)向車速的估計(jì)效果,選用的是Vehicle Dynamics Blockset 工具箱中的雙車道變換場(chǎng)景,如圖8 所示。
圖8 用于驗(yàn)證估計(jì)效果的雙車道變換仿真場(chǎng)景
車輛以40 km/h 的初速度向前加速,當(dāng)車速達(dá)到60 km/h 時(shí)開(kāi)始進(jìn)行雙車道變換操作。
采用擴(kuò)展Kalman 濾波(extended Kalman filtering,EKF)算法作為對(duì)照組。EKF 是在車輛狀態(tài)觀測(cè)中廣泛應(yīng)用的估計(jì)方法,可處理車輛模型中的輪胎非線性等因素。
在雙車道變換場(chǎng)景中的側(cè)向車速(vy)估計(jì)結(jié)果對(duì)比如圖9 所示。
圖9 雙車道變換下的側(cè)向車速估計(jì)效果驗(yàn)證
由圖9 可知:智能體(Agent)在經(jīng)過(guò)訓(xùn)練之后,其估計(jì)策略網(wǎng)絡(luò)能夠?qū)囕v行駛過(guò)程中的側(cè)向車速進(jìn)行較為準(zhǔn)確的估計(jì)。在車輛加速行駛和雙車道變換的大部分過(guò)程中,估計(jì)值和真實(shí)值均較為接近,只在車道變換過(guò)程的后半部分存在一定的估計(jì)誤差,且總體估計(jì)精度優(yōu)于EKF 方法的估計(jì)值。
圖9中2 種算法的估計(jì)誤差的最大值和均方根(RMS)值如表4 所示。
由表4 可知:深度強(qiáng)化學(xué)習(xí)算法的最大估計(jì)誤差比EKF 算法減小了40%,估計(jì)誤差的RMS 比EKF 算法減小了58%。
表4 仿真工況中2 種算法的估計(jì)誤差比較
如前所述,在完成了訓(xùn)練過(guò)程之后,只需將智能體中的Actor 網(wǎng)絡(luò)部署到實(shí)車控制器中,即可實(shí)現(xiàn)對(duì)側(cè)向車速的估計(jì)。因此,影響算法實(shí)時(shí)性的主要是Actor網(wǎng)絡(luò)在控制器中的運(yùn)算時(shí)長(zhǎng)。以本文研究中設(shè)計(jì)的Actor 網(wǎng)絡(luò)為例,其主要的運(yùn)算量集中在4 個(gè)全連接層(每個(gè)全連接層包含48 個(gè)神經(jīng)元節(jié)點(diǎn))和1 個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)層(包含100 個(gè)節(jié)點(diǎn))。
以全連接層的計(jì)算為例,一個(gè)全連接層中每個(gè)節(jié)點(diǎn)的輸出值y=σ(wx+b),其中:σ(·)是激活函數(shù),x是上一層所有節(jié)點(diǎn)的輸出值組成的向量(維度為48×1),w是權(quán)重系數(shù)向量,b是偏置值。因此完成單個(gè)節(jié)點(diǎn)的計(jì)算輸出需要進(jìn)行48 次浮點(diǎn)乘法運(yùn)算和48 次浮點(diǎn)加法運(yùn)算,以及1 次激活函數(shù)的運(yùn)算;完成4 個(gè)全連接層中的所有節(jié)點(diǎn)的計(jì)算輸出大約需要進(jìn)行4×48×48 次乘法運(yùn)算,4×48×48 次加法運(yùn)算,以及4×48 次激活函數(shù)的運(yùn)算。而循環(huán)神經(jīng)網(wǎng)絡(luò)層的計(jì)算量通常比普通的全連接層更大。
因此,對(duì)于傳統(tǒng)的嵌入式控制器和單片機(jī)來(lái)說(shuō),進(jìn)行深度神經(jīng)網(wǎng)絡(luò)的實(shí)時(shí)計(jì)算是存在難度的,需要具有并行運(yùn)算能力的高算力平臺(tái)(如GPU 和FPGA),才能較好地實(shí)現(xiàn)基于深度神經(jīng)網(wǎng)絡(luò)的估計(jì)算法的實(shí)時(shí)運(yùn)行,這也是未來(lái)研究工作的方向之一。此外,從降低計(jì)算量的角度考慮,增加全連接層的層數(shù)比增加每個(gè)全連接層中的節(jié)點(diǎn)數(shù)更具性價(jià)比。
本文基于深度強(qiáng)化學(xué)習(xí)的范式,設(shè)計(jì)了四輪獨(dú)立電驅(qū)動(dòng)車輛的側(cè)向車速估計(jì)方法。結(jié)合深度神經(jīng)網(wǎng)絡(luò)的非線性擬合能力和強(qiáng)化學(xué)習(xí)的訓(xùn)練模式,以易于測(cè)量的車輛行駛狀態(tài)量為輸入,通過(guò)對(duì)獎(jiǎng)勵(lì)函數(shù)、神經(jīng)網(wǎng)絡(luò)、訓(xùn)練場(chǎng)景的合理設(shè)計(jì),實(shí)現(xiàn)了對(duì)車輛側(cè)向車速的估計(jì)功能。
仿真結(jié)果表明:在經(jīng)過(guò)充分的行駛場(chǎng)景訓(xùn)練之后,與擴(kuò)展Kalman 濾波方法比較,本文智能體中的估計(jì)策略網(wǎng)絡(luò)的估計(jì)誤差降低了40%,誤差的均方根降低了58%。因而,本方法提高了四輪獨(dú)立電驅(qū)動(dòng)車輛側(cè)向車速的估計(jì)精度,不僅能夠?qū)崿F(xiàn)對(duì)車輛側(cè)向車速的準(zhǔn)確估計(jì),還可以應(yīng)用于對(duì)其他車輛動(dòng)力學(xué)狀態(tài)的實(shí)時(shí)估計(jì)。