1 背景
在Apollo中,有比較多的Decider(決策器),上篇博客《自動駕駛---Motion Planning之Decider》中筆者也大概介紹了每個Deicder的作用。
本篇博客筆者主要介紹換道的決策內容,因為在自動駕駛中(嚴格意義上來講,目前還屬于輔助駕駛),變道的靈活性是用戶評價該功能是否好用很重要的一部分,變道遲緩或者激進都是不好的體驗,所以本篇博客會結合Apollo中的LaneChangeDecider、MCTS決策器及他們在量產中的使用做些介紹。
2 LaneChange
在自動駕駛中,變道使用的規劃算法是一個核心組件,它負責確定車輛如何在保持安全和效率的同時,從當前車道轉移到相鄰車道。這些規劃算法通常涉及多個層次和多個階段的決策過程,通過下面四個模塊的說明,讀者可以進一步了解整個變道的過程。
(1)全局路徑規劃(Routing)
- 結合高精地圖信息,全局路徑規劃會生成從當前位置到目的地的全局路徑,考慮到道路網絡、交通規則、交通流量等因素,全局路徑規劃算法會根據車道信息生成一條或者多條行駛路線。
(2)行為決策層(Behavior Planning)
- 在全局路徑規劃的基礎上,行為決策層會結合實時感知數據(如周圍車輛、行人、障礙物等)進行更具體的決策。
- 這一層會評估當前交通狀況,判斷是否適合變道,以及選擇最佳的變道時機和方式。
- 行為決策層可能會使用決策樹、規則基系統、有限狀態機等方法來實現。
(3)運動規劃(Motion Planning)
- 運動規劃層負責生成具體的軌跡,使車輛能夠按照行為決策層的決策進行變道。
- 這一層會考慮車輛的動力學約束(如加速度、減速度、轉向角度等),以及乘客的舒適性、安全性等因素。
- 運動規劃算法可能會使用采樣基方法(Lattice,RRT等)、優化方法(如模型預測控制、軌跡優化等)來生成滿足約束的軌跡。
2.1 Apollo之LaneChange
Apollo中的Lane Change Decider(換道決策器)是其自動駕駛系統中一個重要的組成部分,主要負責產生是否換道的決策并更新換道狀態。
換道決策器在LaneFollow場景下被調用,是第一個task。它的作用是對車輛的換道狀態進行管理,包括換道中(IN_CHANGE_LANE&#