熊明強(qiáng),胡文力,譙 杰,夏 芹,張 強(qiáng),江 萌
(1.汽車噪聲振動和安全技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,重慶 401122;2.中國汽車工程研究院股份有限公司,重慶 401122;3.中國市政工程西南設(shè)計(jì)研究總院有限公司,成都 610084)
近年來,世界各國對自動駕駛格外關(guān)注[1-10],被認(rèn)為是緩解交通擁堵,減少交通事故和環(huán)境污染的重要技術(shù)[1,6,11]。目前,一些自動駕駛汽車已經(jīng)進(jìn)行了大規(guī)模的道路測試,比如谷歌自動駕駛汽車和蘋果自動駕駛汽車。據(jù)研究[12],在當(dāng)前的交通事故中,有超過30%的道路事故是不合理的換道和跟馳行為引起的。如圖1所示,在一個(gè)單向兩車道上,主車為SV,PV是與SV當(dāng)前所在車道的前車,LV和FV分別是SV目標(biāo)車道的前車與后車。其中,穿過兩條車道的線是車輛SV的行駛軌跡,車輛在O點(diǎn)結(jié)束對前車的跟馳并開始準(zhǔn)備換道,P點(diǎn)開始由跟馳行為轉(zhuǎn)為換道行為,D點(diǎn)完成換道,設(shè)換道起點(diǎn)為P(0,0),那么換道終點(diǎn)為D(x(tf),y(tf))。車輛完成換道準(zhǔn)備后開始執(zhí)行換道,SV從當(dāng)前車道的中心線沿著圖中所示的虛線發(fā)生移動,一直移動到目標(biāo)車道的中心線,在此過程中,SV的位置和速度會受到LV、PV、FV三輛車的影響,正常的過程應(yīng)該是SV在這3輛車的共同影響下安全舒適且高效率地完成換道。
強(qiáng)化學(xué)習(xí)模型在20世紀(jì)已有研究,WATKINS[13]第1次將動態(tài)規(guī)劃和時(shí)間異步方法結(jié)合在一起,并提出了Q-Learning算法。目前,基于機(jī)器學(xué)習(xí)的方法對自動駕駛決策的研究還比較少[14-20],利用機(jī)器學(xué)習(xí)進(jìn)行自動駕駛車輛換道軌跡規(guī)劃的模型需要經(jīng)過大量已有的換道數(shù)據(jù)訓(xùn)練來確定。MNIH等[21]在已有研究基礎(chǔ)上將Deep-Qlearning應(yīng)用于自動駕駛換道決策中,用于克服無限場景帶來的數(shù)據(jù)不足和決策安全性問題。但是,對于微觀層面的自動駕駛換道軌跡的規(guī)劃多是基于規(guī)則的模型,現(xiàn)實(shí)場景的無限化導(dǎo)致該類模型存在維度爆炸等難題。由于深度學(xué)習(xí)模型沒有考慮到車輛決策過程中的安全性和合理性,針對于此,結(jié)合基于深度學(xué)習(xí)的換道和跟馳方法,以及深度強(qiáng)化學(xué)習(xí)的決策方法,提出了車路協(xié)同條件下智能網(wǎng)聯(lián)汽車一體化決策模型,使用深度強(qiáng)化學(xué)習(xí)方法對模型進(jìn)行訓(xùn)練和嘗試,最后使用自動駕駛仿真環(huán)境highway-env和動力學(xué)仿真軟件CarSim對本模型輸出結(jié)果進(jìn)行了驗(yàn)證。
提出的模型框架如圖2所示,主要包括環(huán)境信息模塊、強(qiáng)化學(xué)習(xí)動作選擇模塊和深度學(xué)習(xí)動作執(zhí)行模塊。環(huán)境信息模塊主要為強(qiáng)化學(xué)習(xí)動作選擇模塊,以及為動作執(zhí)行模塊搜集所需的信息,包括當(dāng)前時(shí)刻周邊車輛信息、當(dāng)前時(shí)刻周邊道路信息、下一時(shí)刻周邊道路信息、下一時(shí)刻周邊車輛信息和本車車輛信息,其中包含的內(nèi)容有本車狀態(tài)信息、周圍車輛狀態(tài)信息、障礙物狀態(tài)信息和環(huán)境狀態(tài)信息。在強(qiáng)化學(xué)習(xí)動作選擇模塊中,基于長短期記憶(Long Short-Term Memory,LSTM)神經(jīng)網(wǎng)絡(luò)使用了A2C算法,根據(jù)環(huán)境信息決策車輛下一時(shí)刻的行為(是否變化速度、是否換道),如果該行為沒有碰撞或者使行程時(shí)間變短,則進(jìn)行獎勵,反之則進(jìn)行懲罰。獎勵函數(shù)包括兩個(gè)方面:車輛的安全性和車輛行駛效率,并以此為衡量標(biāo)準(zhǔn)來獲取車輛在環(huán)境中動作時(shí)可以獲取的最大累計(jì)獎勵,通過接受環(huán)境對動作的獎勵(反饋)獲得學(xué)習(xí)信息并更新模型參數(shù),最后達(dá)到模型的獎勵收斂,實(shí)現(xiàn)模型在交通環(huán)境中的應(yīng)用。在動作執(zhí)行模塊中,同樣基于LSTM神經(jīng)網(wǎng)絡(luò)對強(qiáng)化學(xué)習(xí)輸出的動作進(jìn)行執(zhí)行,其原理是當(dāng)強(qiáng)化學(xué)習(xí)模塊輸出的車輛動作為換道時(shí),執(zhí)行模塊自動切換到換道模型,當(dāng)強(qiáng)化學(xué)習(xí)模塊輸出的車輛動作為跟馳時(shí),執(zhí)行模塊自動切換到跟馳模型。最后,根據(jù)highway-env中自帶的控制模型進(jìn)行動作執(zhí)行,從而更新狀態(tài)信息。

圖2 模型框架
車路協(xié)同是使用無線通信和傳感技術(shù),實(shí)現(xiàn)交通參與者之間動態(tài)信息的交互和共享。車路協(xié)同環(huán)境下,汽車主要獲取當(dāng)前時(shí)刻周邊車輛信息、當(dāng)前時(shí)刻周邊道路信息、上一時(shí)刻周邊道路信息、上一時(shí)刻周邊車輛信息和本車車輛信息。主要通過兩種方式取得此類消息,一種是車-車通信,另一種是車-路通信。車輛間彼此通過安裝的車載單元(On Board Unit,OBU)進(jìn)行信息傳遞和交互,主要包括車輛的姿態(tài)信息、速度信息、位置信息以及CAN信號。路側(cè)單元(Road Side Unit,RSU)是物理位置上固定的交通狀態(tài)監(jiān)測設(shè)備,以及連接人-車-路的通信設(shè)備。它的主要功能是收集路側(cè)傳感單元感知的道路環(huán)境信息(如交通流量、車輛行駛狀態(tài)、道路交叉口狀態(tài)、信號燈控制信息等)。車路協(xié)同通信模組,如圖3所示。

圖3 車路協(xié)同通信模組
1.2.1 神經(jīng)網(wǎng)絡(luò)
Actor-Critic算法流程,如圖4所示。首先系統(tǒng)會提供一個(gè)仿真的交通環(huán)境以及一個(gè)主車(SV),主車行駛在交通環(huán)境中,在行駛過程中不斷采取各種動作,并觀察交通環(huán)境中其他交通參與者以及自身的狀態(tài),同時(shí)記錄所觀察的數(shù)據(jù)供主車學(xué)習(xí),主要學(xué)習(xí)應(yīng)對各種交通狀況下的動作策略,從而讓車輛更加安全高效地完成行駛。主車學(xué)習(xí)的方法即為Actor-Critic算法,該算法包含兩個(gè)網(wǎng)絡(luò):一個(gè)網(wǎng)絡(luò)為Actor網(wǎng)絡(luò),采用對時(shí)間序列數(shù)據(jù)更敏感的LSTM神經(jīng)網(wǎng)絡(luò),輸出車輛下一時(shí)刻的某個(gè)動作(是否換道、下一時(shí)刻目標(biāo)速度),另一個(gè)網(wǎng)絡(luò)為Critic網(wǎng)絡(luò),同樣也采用對時(shí)間序列數(shù)據(jù)更敏感的LSTM神經(jīng)網(wǎng)絡(luò),負(fù)責(zé)對Actor網(wǎng)絡(luò)輸出的動作進(jìn)行評價(jià),如果該動作是有益的,Critic網(wǎng)絡(luò)則增加下次遇到該種環(huán)境狀態(tài)時(shí)選擇該動作的概率,如果該動作是有害的,Critic網(wǎng)絡(luò)則減小該種環(huán)境狀態(tài)下采用該動作的概率。交通環(huán)境瞬息萬變,深度強(qiáng)化學(xué)習(xí)方法在與環(huán)境交互的過程中學(xué)習(xí),可以更好地捕捉到影響駕駛行為的隱性因素,彌補(bǔ)傳統(tǒng)機(jī)器學(xué)習(xí)時(shí)單純復(fù)刻已有數(shù)據(jù)的不足。

圖4 Actor-Critic算法流程
由于車輛在行駛過程中產(chǎn)生的是時(shí)間序列數(shù)據(jù),此類數(shù)據(jù)通常符合馬爾科夫決策過程,而強(qiáng)化學(xué)習(xí)恰好是基于該過程進(jìn)行的。將馬爾可夫決策過程定義為:

式中:S為所有狀態(tài)(state)的集合,也稱為狀態(tài)空間,狀態(tài)空間的大小可以是有限的,也可以是無限的。ρ0(s0)為初始狀態(tài)s0的分布。A為所有動作(action)的集合,也稱為動作空間,模型確定的動作空間主要包括3個(gè):換道、跟馳和目標(biāo)速度。P∈R(|S|×|A|)×|S|為狀態(tài)轉(zhuǎn)移概率(state transition probability)。具體來說,P(s′|s,a)為在s的環(huán)境下車輛采取動作a從而環(huán)境產(chǎn)生狀態(tài)s′的概率。顯然,對于任意(s,a,s′)而言,都有0≤P(s′|s,a)≤1,并且∑s′P(s′|s,a)=1。r∈R||S×|A|為狀態(tài)轉(zhuǎn)移過程的獎勵函數(shù)(reward function)。r(s,a)為環(huán)境狀態(tài)為s時(shí)車輛采取動作a所得到的獎勵。獎勵函數(shù)也有其他定義方式,r:S→R或者r:S×A×S→R。這3種的主要區(qū)別在于獎勵函數(shù)和狀態(tài)轉(zhuǎn)移過程中的哪些元素相關(guān)。γ為狀態(tài)轉(zhuǎn)移過程中的折扣系數(shù)(discount coeきcient),通常在區(qū)間(0,1)中。
通常會定義離散時(shí)間步t=0,1,2,...,用來描述交互過程中的狀態(tài)和動作。一般而言,馬爾科夫過程服從,如式(2)所示。

A2C算法通過計(jì)算V值來確定Critic網(wǎng)絡(luò)的損失值,其表示方法如式(3)所示。

式中:V為狀態(tài)值函數(shù),即車輛達(dá)到某個(gè)狀態(tài)所能夠獲取的獎勵值;st為當(dāng)前時(shí)刻狀態(tài);st+1為下一時(shí)刻狀態(tài);α為學(xué)習(xí)率;γ為折扣因子;rt為當(dāng)前環(huán)境下做出該動作的獎勵值。
Actor網(wǎng)絡(luò)的更新方式,如式(4)所示。

通過梯度下降更新Actor神經(jīng)網(wǎng)絡(luò),如式(6)所示。

1.2.2 獎勵函數(shù)
根據(jù)對智能網(wǎng)聯(lián)汽車行駛過程中的效率和安全性要求,將獎勵函數(shù)設(shè)置為:

式中:v為車輛實(shí)時(shí)速度;vmin為車輛訓(xùn)練過程中采用的最小速度;vmax為車輛訓(xùn)練過程中采用的最大速度;a為對于換道過程中的速度獎勵值;b為對車輛發(fā)生碰撞時(shí)的碰撞懲罰值;collision為仿真環(huán)境對于車輛發(fā)生碰撞的反饋結(jié)果。
在跟馳和換道過程中,如果發(fā)生碰撞,則collision值為1,反之則為0;速度獎勵是關(guān)于最大速度和最小速度的線性函數(shù)。
動作選擇模塊輸出車輛是否換道,本節(jié)利用深度學(xué)習(xí)方法進(jìn)行規(guī)劃執(zhí)行,跟馳模型和換道模型各為一個(gè)LSTM神經(jīng)網(wǎng)絡(luò),具體輸入?yún)?shù)選擇本車以及環(huán)境中其他交通參與者的橫向位置、縱向位置、速度作為神經(jīng)網(wǎng)絡(luò)的輸出,輸出下一時(shí)刻本車的位置和速度。LSTM數(shù)據(jù)流程,如圖5所示。

圖5 LSTM數(shù)據(jù)流程
由于車輛跟馳和換道數(shù)據(jù)均屬于時(shí)間序列數(shù),LSTM神經(jīng)網(wǎng)絡(luò)是對時(shí)間序列量身定制的,其獨(dú)特的“門”結(jié)構(gòu)和“狀態(tài)”結(jié)構(gòu)可以對智能網(wǎng)聯(lián)汽車觀測的歷史數(shù)據(jù)進(jìn)行去粗取精,深度挖掘?qū)δ繕?biāo)行為有關(guān)聯(lián)的數(shù)據(jù)。
LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示,主要由輸入層、隱藏層、輸出層神經(jīng)元構(gòu)成[23]。其中,隱藏層神經(jīng)元主要由3個(gè)門結(jié)構(gòu)以及一個(gè)狀態(tài)構(gòu)成:遺忘門、輸入門、輸出門、細(xì)胞狀態(tài)。

圖6 LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
首先,在新數(shù)據(jù)傳入LSTM神經(jīng)網(wǎng)絡(luò)時(shí)要決定哪些和車輛決策無關(guān)的特征數(shù)據(jù)需要從細(xì)胞狀態(tài)ht-1中刪除,如式(8)~(9)所示。

式中:Wf為權(quán)重矩陣;ht-1為上一時(shí)刻的細(xì)胞狀態(tài);xt為輸入數(shù)據(jù);bf為偏置矩陣。
其次,由輸入門通過一個(gè)sigmoid函數(shù)層決定被更新的數(shù)據(jù),再由一個(gè)tanh函數(shù)層將車輛決策所需的特征數(shù)據(jù)加入到細(xì)胞狀態(tài),如式(10)所示。


式中:bi為輸入門的偏置矩陣;為準(zhǔn)備用以更新的數(shù)據(jù)矩陣;Wc為準(zhǔn)備用以更新的數(shù)據(jù)的權(quán)重矩陣。
第3步是更新上一時(shí)刻細(xì)胞狀態(tài),首先從細(xì)胞狀態(tài)移除掉在忘記門刪除的數(shù)據(jù);然后將該數(shù)據(jù)乘以一個(gè)權(quán)值從而將加權(quán)的數(shù)據(jù)也加入細(xì)胞狀態(tài),如式(13)所示。

最后,LSTM神經(jīng)網(wǎng)絡(luò)決定車輛每個(gè)時(shí)刻的速度值。輸出是在細(xì)胞狀態(tài)Ct的基礎(chǔ)上進(jìn)行適當(dāng)?shù)奶幚怼Mㄟ^一個(gè)sigmoid函數(shù)層決定細(xì)胞狀態(tài)Ct中被更新的數(shù)據(jù),并將其數(shù)據(jù)進(jìn)行歸一化。

式中:Wo為輸出門的權(quán)重矩陣;bo為輸出門的偏置項(xiàng)。
LSTM神經(jīng)網(wǎng)絡(luò)最終輸出為:

主要包括兩部分:一是通過動作選擇模塊輸出的換道決策信息驗(yàn)證是否可以有效降低車輛在行駛過程中的各種碰撞風(fēng)險(xiǎn);二是動作執(zhí)行模塊輸出的軌跡是否符合動力學(xué)特性,分別通過highway-env和CarSim仿真軟件進(jìn)行分析。
OpenAI旗下的GYM提供了一種支持車路協(xié)同的仿真環(huán)境highway-env[24],highway-env是一個(gè)可交互、可定制的仿真環(huán)境,包括高速公路直道、匝道匯入、環(huán)形路口、停車場等場景。該模擬器允許在10 Hz下模擬40 s,支持參數(shù)調(diào)整,且可接入不同動力學(xué)模型,深度學(xué)習(xí)框架可接入該模型,支持車路協(xié)同條件仿真將使用高速公路場景。
車輛行駛過程中可能發(fā)生各類風(fēng)險(xiǎn),如圖7所示,車輛在行駛過程中發(fā)生了追尾、側(cè)撞等交通事故,圖7 a~c展示了因主車不安全的換道行為導(dǎo)致和周邊車輛發(fā)生碰撞,圖7 d展示了主車不安全的跟馳行為和前車發(fā)生碰撞。

圖7 車輛行駛過程中可能發(fā)生各類風(fēng)險(xiǎn)
對模型訓(xùn)練輸出的執(zhí)行數(shù)據(jù)進(jìn)行驗(yàn)證,主要驗(yàn)證對象包括車輛規(guī)劃的速度與實(shí)際速度的誤差,以及車輛規(guī)劃的位置與實(shí)際位置的誤差。主要的驗(yàn)證指標(biāo)有:平均絕對誤差(Mean Absolute Error,MAE)以及平均絕對相對誤差(Average Absolute Relative Error,MARE)。

式中:N為測試數(shù)據(jù)樣本數(shù);dr,i為第i輛車的實(shí)際值;ds,i為第i輛車的規(guī)劃值。
由表1可以看出,規(guī)劃值和實(shí)際值偏差較小,執(zhí)行模塊有效。

表1 規(guī)劃值和執(zhí)行值的誤差指標(biāo)
2.2.1 訓(xùn)練結(jié)果
LSTM神經(jīng)網(wǎng)絡(luò),在單向三車道條件下模型訓(xùn)練收斂后,將訓(xùn)練好的模型在單向雙車道、單向三車道、單向四車道條件下對模型進(jìn)行驗(yàn)證。訓(xùn)練過程收益如圖8所示。由圖可知,訓(xùn)練收益隨著訓(xùn)練時(shí)間增加快速上升,訓(xùn)練超過2 000次時(shí),收益值穩(wěn)定并且趨于收斂。仿真環(huán)境highway-env環(huán)境參數(shù)主要分為3類,第1類是道路參數(shù),主要包括車道數(shù)、道路寬度等;第2類是車輛參數(shù),主要包括車輛動力學(xué)參數(shù)及車輛屬性等;第3類是強(qiáng)化學(xué)習(xí)參數(shù),主要包括碰撞懲罰值及加速獎勵等,具體設(shè)置見表2。

圖8 訓(xùn)練過程收益

表2 highway-env環(huán)境參數(shù)
2.2.2 和已有模型對比分析
由圖9可知,車輛換道和跟馳過程中,為避免換道過程中發(fā)生碰撞以及爭取減少行程時(shí)間,將單向雙車道、單向三車道、單向四車道和傳統(tǒng)模型[25]進(jìn)行對比,換道環(huán)境中每輛車后部淡色的方框表示在過去5個(gè)時(shí)間步長的歷史軌跡。圖9 a為訓(xùn)練前車輛在雙車道換道過程中發(fā)生碰撞;圖9 b為訓(xùn)練后車輛在雙車道換道過程中成功實(shí)現(xiàn)換道的場景,在三車道及以上的車道環(huán)境下,車輛如果處于中間車道,會面臨更復(fù)雜的換道決策問題;圖9 c為訓(xùn)練前車輛在三車道換道后和前車發(fā)生碰撞;圖9 d為訓(xùn)練后車輛在三車道成功換道的場景;圖9 e為訓(xùn)練前車輛在四車道發(fā)生碰撞;圖9 f為訓(xùn)練后車輛在四車道成功換道的場景。總的來說,本模型在驗(yàn)證過程中,行程時(shí)間減少21.2%,碰撞概率減少26.3%,見表3。

圖9 自動駕駛車輛在不同車道數(shù)下的行駛狀況

表3 碰撞概率統(tǒng)計(jì)
將模型輸出的車輛軌跡數(shù)據(jù)作為CarSim輸入,對模型軌跡的可跟蹤性、平穩(wěn)性等參數(shù)進(jìn)行評估。
本節(jié)對驗(yàn)證過程中產(chǎn)生的軌跡隨機(jī)選擇一組輸入到CarSim仿真軟件中進(jìn)行動力學(xué)仿真,圖10所示車輛SV在成功換道場景下預(yù)測本模型的仿真結(jié)果。圖10a所示車輛SV在成功換道場景下,本模型輸出軌跡的仿真結(jié)果,其中藍(lán)色曲線為本模型輸出的軌跡,即目標(biāo)軌跡,紅色軌跡是CarSim仿真條件下的跟蹤軌跡,由圖可知,本模型輸出的軌跡在動力學(xué)仿真中變化平穩(wěn),可以在和目標(biāo)軌跡保持較小誤差的條件下被跟蹤。圖10 b所示車輛SV在成功換道場景下,車輛輪胎的側(cè)向滑移角,4個(gè)車輪的變化保持一致,變化的數(shù)值較小。圖10 c所示換道條件下的車輛質(zhì)心偏移角,整個(gè)換道過程中的角度偏移在±0.3°以內(nèi)且變化均勻。圖10 d所示車輛換道過程中的車輛橫擺角速度,在換道中途發(fā)生速度變化且變化均勻,滿足平滑性需求。

圖10 換道場景各參數(shù)曲線
提出的基于深度強(qiáng)化學(xué)習(xí)的智能網(wǎng)聯(lián)汽車一體化決策模型,綜合考慮了已有決策模型的不足,對于有限數(shù)據(jù)下神經(jīng)網(wǎng)絡(luò)如何能適應(yīng)和學(xué)習(xí)到更多駕駛技巧的問題進(jìn)行探索,得出以下結(jié)論:
(1)利用本模型可以規(guī)劃出一條合適的智能網(wǎng)聯(lián)汽車行駛軌跡,且能保證車輛能夠更安全、更高效地完成跟馳和換道。
(2)仿真發(fā)現(xiàn),構(gòu)建的換道軌跡規(guī)劃模型可以用于自動駕駛車輛換道的場景。車輛可以在有限的數(shù)據(jù)量條件下對新的交通場景做出合理的反應(yīng)。
(3)CarSim的仿真顯示,提出的模型所規(guī)劃出的換道的軌跡和速度能夠被智能網(wǎng)聯(lián)汽車跟蹤,車輛行駛穩(wěn)定性良好。