在混合交通流中網(wǎng)聯(lián)自動駕駛車如何避撞:一個基于模型的強化學(xué)習(xí)方法
arXiv上傳于2021年10月11日的論文 “Addressing crash-imminent situations caused by human driven vehicle errors in a mixed traffic stream: a model-based reinforcement learning approach for CAV“,作者來自普渡大學(xué)的網(wǎng)聯(lián)自動化交通中心(Center for Connected and Automated Transportation,CCAT),其中一個是從CMU的機器人研究所(RI)來的訪問教授。
本文也是研究混合交通流,即網(wǎng)聯(lián)自動駕駛車 (CAV)、人類駕駛汽車 (HDV) 和網(wǎng)聯(lián)人類駕駛車輛 (CHDV)組成,最近這種研究方向的論文不常見。
本文開發(fā)一個簡單的基于模型的強化學(xué)習(xí) (RL) 系統(tǒng),部署在 CAV上生成預(yù)測和避免HDV引起碰撞的軌跡。該模型涉及端到端的數(shù)據(jù)驅(qū)動方法,包含基于深度學(xué)習(xí)的運動預(yù)測模型和通過MPC的快速軌跡規(guī)劃算法。
這個系統(tǒng)不需要車輛動力學(xué)的物理環(huán)境先驗知識或假設(shè),是一種可以部署在任何類型車輛(例如卡車、公共汽車、摩托車等)的通用方法。在 CARLA 模擬器進行多個即將發(fā)生碰撞場景的訓(xùn)練和測試。
大家認為有車聯(lián)網(wǎng)(V2X)的網(wǎng)聯(lián)自駕車(CAV) 是實現(xiàn)零事故的關(guān)鍵。不過,仍然需要很多安全緊要的場景數(shù)據(jù),往往這個比較稀少缺乏。
基于模型的強化學(xué)習(xí)(RL)利用數(shù)據(jù)估計狀態(tài)轉(zhuǎn)換模型,然后根據(jù)估計模型進行規(guī)劃。 這種組合方法從兩種方法中獲益:數(shù)據(jù)/訓(xùn)練的高效和模型不可知性。
一般來說,用于AV軌跡規(guī)劃的基于模型RL方法包含2個模塊:狀態(tài)預(yù)測和路徑規(guī)劃。 狀態(tài)預(yù)測作為對物理環(huán)境的估計,專門解決從先前信息推理未來狀態(tài)的問題。 換句話說,它根據(jù)歷史軌跡“告訴”周圍目標在不久的將來(預(yù)測范圍)將達到的狀態(tài)(位置、速度、加速度等)。
這里狀態(tài)預(yù)測模塊是基于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),實驗中測試了三種模型,包括3-layer fully connected neural network (FCN), single layer long short-term memory network (LSTM), single layer FCN (linear regression)。因為周圍車輛的變化,采用分散預(yù)測模式,而不是中心化模式,即每個智體有不同的狀態(tài)預(yù)測模型。
路徑規(guī)劃建立在狀態(tài)預(yù)測模型之上。由于狀態(tài)預(yù)測不完美,規(guī)劃模塊應(yīng)該穩(wěn)健地輸出安全路徑來阻止錯誤傳播。其次,規(guī)劃模塊應(yīng)該適應(yīng)高動態(tài)場景,特別是在新智體出現(xiàn)的情況下(行人突然橫穿馬路或周圍車輛激進變道)。
模型預(yù)測控制 (MPC) 是一種常見的控制方法,一種滿足上述這兩個標準的通用方法。關(guān)鍵思想是在每個時間步“重規(guī)劃”,只執(zhí)行當前最優(yōu)軌跡的第一步。由于每個時間步評估動作的可行性,該方法能夠處理快速變化的場景。
經(jīng)典 MPC 試圖將規(guī)劃問題表述為具有“給定”物理環(huán)境模型(系統(tǒng)動力學(xué))的復(fù)雜優(yōu)化問題。在基于模型RL 設(shè)置中,作者把MPC 與數(shù)據(jù)驅(qū)動的狀態(tài)預(yù)測模塊結(jié)合,用快速簡單的規(guī)劃算法代替復(fù)雜優(yōu)化算法。所提出方法的優(yōu)點包括:數(shù)據(jù)高效、模型可解釋、穩(wěn)定和跨場景遷移(穩(wěn)健)。
MPC的規(guī)劃方法包括4個步驟:
- (1) 每個時間步生成 序列,每個序列包含ℎ個動作,其中 是測試軌跡數(shù),ℎ是規(guī)劃范圍。
- (2) 每個軌跡,依次將總ℎ動作輸入狀態(tài)預(yù)測模型,計算每一步的未來狀態(tài)和成本。
- (3) 匯總每個軌跡的成本。
- (4) 選取累積成本最低的軌跡,執(zhí)行該軌跡的第一個動作。
整個端到端算法如下所示:
該端到端算法包含 3 個主要階段:預(yù)熱階段(收集數(shù)據(jù)); 訓(xùn)練階段(估計狀態(tài)預(yù)測模型)和路徑規(guī)劃階段(避免碰撞)。 這 3 個步驟遵循基于模型 RL 方法的過程:收集經(jīng)驗、估計模型和用估計模型進行規(guī)劃。 測試(規(guī)劃)階段的經(jīng)驗可被加入重放內(nèi)存,重新訓(xùn)練模型,保證部署之后仍然可以改進模型。
如圖所示是2 種碰撞緊要情況:主要源于圖中灰色車輛的非法或侵略性變道;紅色車輛處于灰色車輛的盲點,這種情況在現(xiàn)實世界中會出現(xiàn)。
在CARLA中模擬4 輛車,如圖所示:黃色車輛代表“有故障”的 HDV,而 CAV 為紅色。
圖中黃色 HDV 希望超車越過灰色車輛,但未能識別其盲點中的紅色車輛 (CAV)。這種激進的變道可能會導(dǎo)致碰撞,尤其是在駕駛環(huán)境緊湊的情況下(CAV 不能用力剎車,因為這會導(dǎo)致與藍色 HDV 發(fā)生追尾)。需要 CAV 產(chǎn)生一系列機動,避免系統(tǒng)崩潰。在模擬中,還建立黃色 HDV 從左側(cè)超車的場景,可能導(dǎo)致和右側(cè) CAV 的側(cè)面碰撞。
模擬步長為0.05s/step(或20step/s),黃色HDV的激進超車動作是通過Logitech G27 Racing Wheel手動駕駛生成。另外,作者開發(fā)了一個 Open AI gym 與 Python API 的接口連接 CARLA 模擬器。
如下是不同駕駛速度下成功避撞的實驗結(jié)果比較: