熊明強,胡文力,譙 杰,夏 芹,張 強,江 萌
(1.汽車噪聲振動和安全技術國家重點實驗室,重慶 401122;2.中國汽車工程研究院股份有限公司,重慶 401122;3.中國市政工程西南設計研究總院有限公司,成都 610084)
近年來,世界各國對自動駕駛格外關注[1-10],被認為是緩解交通擁堵,減少交通事故和環(huán)境污染的重要技術[1,6,11]。目前,一些自動駕駛汽車已經(jīng)進行了大規(guī)模的道路測試,比如谷歌自動駕駛汽車和蘋果自動駕駛汽車。據(jù)研究[12],在當前的交通事故中,有超過30%的道路事故是不合理的換道和跟馳行為引起的。如圖1所示,在一個單向兩車道上,主車為SV,PV是與SV當前所在車道的前車,LV和FV分別是SV目標車道的前車與后車。其中,穿過兩條車道的線是車輛SV的行駛軌跡,車輛在O點結束對前車的跟馳并開始準備換道,P點開始由跟馳行為轉(zhuǎn)為換道行為,D點完成換道,設換道起點為P(0,0),那么換道終點為D(x(tf),y(tf))。車輛完成換道準備后開始執(zhí)行換道,SV從當前車道的中心線沿著圖中所示的虛線發(fā)生移動,一直移動到目標車道的中心線,在此過程中,SV的位置和速度會受到LV、PV、FV三輛車的影響,正常的過程應該是SV在這3輛車的共同影響下安全舒適且高效率地完成換道。
強化學習模型在20世紀已有研究,WATKINS[13]第1次將動態(tài)規(guī)劃和時間異步方法結合在一起,并提出了Q-Learning算法。目前,基于機器學習的方法對自動駕駛決策的研究還比較少[14-20],利用機器學習進行自動駕駛車輛換道軌跡規(guī)劃的模型需要經(jīng)過大量已有的換道數(shù)據(jù)訓練來確定。MNIH等[21]在已有研究基礎上將Deep-Qlearning應用于自動駕駛換道決策中,用于克服無限場景帶來的數(shù)據(jù)不足和決策安全性問題。但是,對于微觀層面的自動駕駛換道軌跡的規(guī)劃多是基于規(guī)則的模型,現(xiàn)實場景的無限化導致該類模型存在維度爆炸等難題。由于深度學習模型沒有考慮到車輛決策過程中的安全性和合理性,針對于此,結合基于深度學習的換道和跟馳方法,以及深度強化學習的決策方法,提出了車路協(xié)同條件下智能網(wǎng)聯(lián)汽車一體化決策模型,使用深度強化學習方法對模型進行訓練和嘗試,最后使用自動駕駛仿真環(huán)境highway-env和動力學仿真軟件CarSim對本模型輸出結果進行了驗證。
提出的模型框架如圖2所示,主要包括環(huán)境信息模塊、強化學習動作選擇模塊和深度學習動作執(zhí)行模塊。環(huán)境信息模塊主要為強化學習動作選擇模塊,以及為動作執(zhí)行模塊搜集所需的信息,包括當前時刻周邊車輛信息、當前時刻周邊道路信息、下一時刻周邊道路信息、下一時刻周邊車輛信息和本車車輛信息,其中包含的內(nèi)容有本車狀態(tài)信息、周圍車輛狀態(tài)信息、障礙物狀態(tài)信息和環(huán)境狀態(tài)信息。在強化學習動作選擇模塊中,基于長短期記憶(Long Short-Term Memory,LSTM)神經(jīng)網(wǎng)絡使用了A2C算法,根據(jù)環(huán)境信息決策車輛下一時刻的行為(是否變化速度、是否換道),如果該行為沒有碰撞或者使行程時間變短,則進行獎勵,反之則進行懲罰。獎勵函數(shù)包括兩個方面:車輛的安全性和車輛行駛效率,并以此為衡量標準來獲取車輛在環(huán)境中動作時可以獲取的最大累計獎勵,通過接受環(huán)境對動作的獎勵(反饋)獲得學習信息并更新模型參數(shù),最后達到模型的獎勵收斂,實現(xiàn)模型在交通環(huán)境中的應用。在動作執(zhí)行模塊中,同樣基于LSTM神經(jīng)網(wǎng)絡對強化學習輸出的動作進行執(zhí)行,其原理是當強化學習模塊輸出的車輛動作為換道時,執(zhí)行模塊自動切換到換道模型,當強化學習模塊輸出的車輛動作為跟馳時,執(zhí)行模塊自動切換到跟馳模型。最后,根據(jù)highway-env中自帶的控制模型進行動作執(zhí)行,從而更新狀態(tài)信息。
圖2 模型框架
車路協(xié)同是使用無線通信和傳感技術,實現(xiàn)交通參與者之間動態(tài)信息的交互和共享。車路協(xié)同環(huán)境下,汽車主要獲取當前時刻周邊車輛信息、當前時刻周邊道路信息、上一時刻周邊道路信息、上一時刻周邊車輛信息和本車車輛信息。主要通過兩種方式取得此類消息,一種是車-車通信,另一種是車-路通信。車輛間彼此通過安裝的車載單元(On Board Unit,OBU)進行信息傳遞和交互,主要包括車輛的姿態(tài)信息、速度信息、位置信息以及CAN信號。路側(cè)單元(Road Side Unit,RSU)是物理位置上固定的交通狀態(tài)監(jiān)測設備,以及連接人-車-路的通信設備。它的主要功能是收集路側(cè)傳感單元感知的道路環(huán)境信息(如交通流量、車輛行駛狀態(tài)、道路交叉口狀態(tài)、信號燈控制信息等)。車路協(xié)同通信模組,如圖3所示。
圖3 車路協(xié)同通信模組
1.2.1 神經(jīng)網(wǎng)絡
Actor-Critic算法流程,如圖4所示。首先系統(tǒng)會提供一個仿真的交通環(huán)境以及一個主車(SV),主車行駛在交通環(huán)境中,在行駛過程中不斷采取各種動作,并觀察交通環(huán)境中其他交通參與者以及自身的狀態(tài),同時記錄所觀察的數(shù)據(jù)供主車學習,主要學習應對各種交通狀況下的動作策略,從而讓車輛更加安全高效地完成行駛。主車學習的方法即為Actor-Critic算法,該算法包含兩個網(wǎng)絡:一個網(wǎng)絡為Actor網(wǎng)絡,采用對時間序列數(shù)據(jù)更敏感的LSTM神經(jīng)網(wǎng)絡,輸出車輛下一時刻的某個動作(是否換道、下一時刻目標速度),另一個網(wǎng)絡為Critic網(wǎng)絡,同樣也采用對時間序列數(shù)據(jù)更敏感的LSTM神經(jīng)網(wǎng)絡,負責對Actor網(wǎng)絡輸出的動作進行評價,如果該動作是有益的,Critic網(wǎng)絡則增加下次遇到該種環(huán)境狀態(tài)時選擇該動作的概率,如果該動作是有害的,Critic網(wǎng)絡則減小該種環(huán)境狀態(tài)下采用該動作的概率。交通環(huán)境瞬息萬變,深度強化學習方法在與環(huán)境交互的過程中學習,可以更好地捕捉到影響駕駛行為的隱性因素,彌補傳統(tǒng)機器學習時單純復刻已有數(shù)據(jù)的不足。
圖4 Actor-Critic算法流程
由于車輛在行駛過程中產(chǎn)生的是時間序列數(shù)據(jù),此類數(shù)據(jù)通常符合馬爾科夫決策過程,而強化學習恰好是基于該過程進行的。將馬爾可夫決策過程定義為:
式中:S為所有狀態(tài)(state)的集合,也稱為狀態(tài)空間,狀態(tài)空間的大小可以是有限的,也可以是無限的。ρ0(s0)為初始狀態(tài)s0的分布。A為所有動作(action)的集合,也稱為動作空間,模型確定的動作空間主要包括3個:換道、跟馳和目標速度。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時車輛采取動作a所得到的獎勵。獎勵函數(shù)也有其他定義方式,r:S→R或者r:S×A×S→R。這3種的主要區(qū)別在于獎勵函數(shù)和狀態(tài)轉(zhuǎn)移過程中的哪些元素相關。γ為狀態(tài)轉(zhuǎn)移過程中的折扣系數(shù)(discount coeきcient),通常在區(qū)間(0,1)中。
通常會定義離散時間步t=0,1,2,...,用來描述交互過程中的狀態(tài)和動作。一般而言,馬爾科夫過程服從,如式(2)所示。
A2C算法通過計算V值來確定Critic網(wǎng)絡的損失值,其表示方法如式(3)所示。
式中:V為狀態(tài)值函數(shù),即車輛達到某個狀態(tài)所能夠獲取的獎勵值;st為當前時刻狀態(tài);st+1為下一時刻狀態(tài);α為學習率;γ為折扣因子;rt為當前環(huán)境下做出該動作的獎勵值。
Actor網(wǎng)絡的更新方式,如式(4)所示。
通過梯度下降更新Actor神經(jīng)網(wǎng)絡,如式(6)所示。
1.2.2 獎勵函數(shù)
根據(jù)對智能網(wǎng)聯(lián)汽車行駛過程中的效率和安全性要求,將獎勵函數(shù)設置為:
式中:v為車輛實時速度;vmin為車輛訓練過程中采用的最小速度;vmax為車輛訓練過程中采用的最大速度;a為對于換道過程中的速度獎勵值;b為對車輛發(fā)生碰撞時的碰撞懲罰值;collision為仿真環(huán)境對于車輛發(fā)生碰撞的反饋結果。
在跟馳和換道過程中,如果發(fā)生碰撞,則collision值為1,反之則為0;速度獎勵是關于最大速度和最小速度的線性函數(shù)。
動作選擇模塊輸出車輛是否換道,本節(jié)利用深度學習方法進行規(guī)劃執(zhí)行,跟馳模型和換道模型各為一個LSTM神經(jīng)網(wǎng)絡,具體輸入?yún)?shù)選擇本車以及環(huán)境中其他交通參與者的橫向位置、縱向位置、速度作為神經(jīng)網(wǎng)絡的輸出,輸出下一時刻本車的位置和速度。LSTM數(shù)據(jù)流程,如圖5所示。
圖5 LSTM數(shù)據(jù)流程
由于車輛跟馳和換道數(shù)據(jù)均屬于時間序列數(shù),LSTM神經(jīng)網(wǎng)絡是對時間序列量身定制的,其獨特的“門”結構和“狀態(tài)”結構可以對智能網(wǎng)聯(lián)汽車觀測的歷史數(shù)據(jù)進行去粗取精,深度挖掘?qū)δ繕诵袨橛嘘P聯(lián)的數(shù)據(jù)。
LSTM神經(jīng)網(wǎng)絡結構如圖6所示,主要由輸入層、隱藏層、輸出層神經(jīng)元構成[23]。其中,隱藏層神經(jīng)元主要由3個門結構以及一個狀態(tài)構成:遺忘門、輸入門、輸出門、細胞狀態(tài)。
圖6 LSTM神經(jīng)網(wǎng)絡結構
首先,在新數(shù)據(jù)傳入LSTM神經(jīng)網(wǎng)絡時要決定哪些和車輛決策無關的特征數(shù)據(jù)需要從細胞狀態(tài)ht-1中刪除,如式(8)~(9)所示。
式中:Wf為權重矩陣;ht-1為上一時刻的細胞狀態(tài);xt為輸入數(shù)據(jù);bf為偏置矩陣。
其次,由輸入門通過一個sigmoid函數(shù)層決定被更新的數(shù)據(jù),再由一個tanh函數(shù)層將車輛決策所需的特征數(shù)據(jù)加入到細胞狀態(tài),如式(10)所示。
式中:bi為輸入門的偏置矩陣;為準備用以更新的數(shù)據(jù)矩陣;Wc為準備用以更新的數(shù)據(jù)的權重矩陣。
第3步是更新上一時刻細胞狀態(tài),首先從細胞狀態(tài)移除掉在忘記門刪除的數(shù)據(jù);然后將該數(shù)據(jù)乘以一個權值從而將加權的數(shù)據(jù)也加入細胞狀態(tài),如式(13)所示。
最后,LSTM神經(jīng)網(wǎng)絡決定車輛每個時刻的速度值。輸出是在細胞狀態(tài)Ct的基礎上進行適當?shù)奶幚?。通過一個sigmoid函數(shù)層決定細胞狀態(tài)Ct中被更新的數(shù)據(jù),并將其數(shù)據(jù)進行歸一化。
式中:Wo為輸出門的權重矩陣;bo為輸出門的偏置項。
LSTM神經(jīng)網(wǎng)絡最終輸出為:
主要包括兩部分:一是通過動作選擇模塊輸出的換道決策信息驗證是否可以有效降低車輛在行駛過程中的各種碰撞風險;二是動作執(zhí)行模塊輸出的軌跡是否符合動力學特性,分別通過highway-env和CarSim仿真軟件進行分析。
OpenAI旗下的GYM提供了一種支持車路協(xié)同的仿真環(huán)境highway-env[24],highway-env是一個可交互、可定制的仿真環(huán)境,包括高速公路直道、匝道匯入、環(huán)形路口、停車場等場景。該模擬器允許在10 Hz下模擬40 s,支持參數(shù)調(diào)整,且可接入不同動力學模型,深度學習框架可接入該模型,支持車路協(xié)同條件仿真將使用高速公路場景。
車輛行駛過程中可能發(fā)生各類風險,如圖7所示,車輛在行駛過程中發(fā)生了追尾、側(cè)撞等交通事故,圖7 a~c展示了因主車不安全的換道行為導致和周邊車輛發(fā)生碰撞,圖7 d展示了主車不安全的跟馳行為和前車發(fā)生碰撞。
圖7 車輛行駛過程中可能發(fā)生各類風險
對模型訓練輸出的執(zhí)行數(shù)據(jù)進行驗證,主要驗證對象包括車輛規(guī)劃的速度與實際速度的誤差,以及車輛規(guī)劃的位置與實際位置的誤差。主要的驗證指標有:平均絕對誤差(Mean Absolute Error,MAE)以及平均絕對相對誤差(Average Absolute Relative Error,MARE)。
式中:N為測試數(shù)據(jù)樣本數(shù);dr,i為第i輛車的實際值;ds,i為第i輛車的規(guī)劃值。
由表1可以看出,規(guī)劃值和實際值偏差較小,執(zhí)行模塊有效。
表1 規(guī)劃值和執(zhí)行值的誤差指標
2.2.1 訓練結果
LSTM神經(jīng)網(wǎng)絡,在單向三車道條件下模型訓練收斂后,將訓練好的模型在單向雙車道、單向三車道、單向四車道條件下對模型進行驗證。訓練過程收益如圖8所示。由圖可知,訓練收益隨著訓練時間增加快速上升,訓練超過2 000次時,收益值穩(wěn)定并且趨于收斂。仿真環(huán)境highway-env環(huán)境參數(shù)主要分為3類,第1類是道路參數(shù),主要包括車道數(shù)、道路寬度等;第2類是車輛參數(shù),主要包括車輛動力學參數(shù)及車輛屬性等;第3類是強化學習參數(shù),主要包括碰撞懲罰值及加速獎勵等,具體設置見表2。
圖8 訓練過程收益
表2 highway-env環(huán)境參數(shù)
2.2.2 和已有模型對比分析
由圖9可知,車輛換道和跟馳過程中,為避免換道過程中發(fā)生碰撞以及爭取減少行程時間,將單向雙車道、單向三車道、單向四車道和傳統(tǒng)模型[25]進行對比,換道環(huán)境中每輛車后部淡色的方框表示在過去5個時間步長的歷史軌跡。圖9 a為訓練前車輛在雙車道換道過程中發(fā)生碰撞;圖9 b為訓練后車輛在雙車道換道過程中成功實現(xiàn)換道的場景,在三車道及以上的車道環(huán)境下,車輛如果處于中間車道,會面臨更復雜的換道決策問題;圖9 c為訓練前車輛在三車道換道后和前車發(fā)生碰撞;圖9 d為訓練后車輛在三車道成功換道的場景;圖9 e為訓練前車輛在四車道發(fā)生碰撞;圖9 f為訓練后車輛在四車道成功換道的場景??偟膩碚f,本模型在驗證過程中,行程時間減少21.2%,碰撞概率減少26.3%,見表3。
圖9 自動駕駛車輛在不同車道數(shù)下的行駛狀況
表3 碰撞概率統(tǒng)計
將模型輸出的車輛軌跡數(shù)據(jù)作為CarSim輸入,對模型軌跡的可跟蹤性、平穩(wěn)性等參數(shù)進行評估。
本節(jié)對驗證過程中產(chǎn)生的軌跡隨機選擇一組輸入到CarSim仿真軟件中進行動力學仿真,圖10所示車輛SV在成功換道場景下預測本模型的仿真結果。圖10a所示車輛SV在成功換道場景下,本模型輸出軌跡的仿真結果,其中藍色曲線為本模型輸出的軌跡,即目標軌跡,紅色軌跡是CarSim仿真條件下的跟蹤軌跡,由圖可知,本模型輸出的軌跡在動力學仿真中變化平穩(wěn),可以在和目標軌跡保持較小誤差的條件下被跟蹤。圖10 b所示車輛SV在成功換道場景下,車輛輪胎的側(cè)向滑移角,4個車輪的變化保持一致,變化的數(shù)值較小。圖10 c所示換道條件下的車輛質(zhì)心偏移角,整個換道過程中的角度偏移在±0.3°以內(nèi)且變化均勻。圖10 d所示車輛換道過程中的車輛橫擺角速度,在換道中途發(fā)生速度變化且變化均勻,滿足平滑性需求。
圖10 換道場景各參數(shù)曲線
提出的基于深度強化學習的智能網(wǎng)聯(lián)汽車一體化決策模型,綜合考慮了已有決策模型的不足,對于有限數(shù)據(jù)下神經(jīng)網(wǎng)絡如何能適應和學習到更多駕駛技巧的問題進行探索,得出以下結論:
(1)利用本模型可以規(guī)劃出一條合適的智能網(wǎng)聯(lián)汽車行駛軌跡,且能保證車輛能夠更安全、更高效地完成跟馳和換道。
(2)仿真發(fā)現(xiàn),構建的換道軌跡規(guī)劃模型可以用于自動駕駛車輛換道的場景。車輛可以在有限的數(shù)據(jù)量條件下對新的交通場景做出合理的反應。
(3)CarSim的仿真顯示,提出的模型所規(guī)劃出的換道的軌跡和速度能夠被智能網(wǎng)聯(lián)汽車跟蹤,車輛行駛穩(wěn)定性良好。