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