參考:
Apollo的Planning分為參考線平滑、決策、路徑規划、速度規划等部分。
從整體上來說,規划模塊的架構分為兩個部分:一部分負責對數據的監聽、獲取和預處理;另一部分負責管理各個優化模塊。數據進入后,對其綜合處理為規划模塊的內部數據結構,由任務管理器調度合適的優化器進行各個優化任務。綜合優化的結果,經過最終的驗證后,輸出給控制模塊。
在設計上,實現了策略的可插拔,使得各個優化器可以靈活配置不同策略,提升迭代效率。
EM-Planner是具體的規划實施類,它基於高精地圖、導航路徑及障礙物信息作出實際的駕駛決策,包括路徑、速度等方面。
首先使用DP(動態規划)方法確定初始的路徑和速度,再利用QP(二次規划)方法進一步優化路徑和速度,以得到一條更平滑的軌跡,既滿足舒適性,又方便車輛操縱。
基於樣條的車輛軌跡優化二次規划,為了尋求更優質更平滑,體感更好的路徑,需要使用二次規划的方法尋找。需要的限制條件有:曲率和曲率連續性、貼近中心線、避免碰撞。
將路徑划分為n段,每段路徑用一個多項式來表示。
每個樣條段 i 都有沿着參考線的累加距離
。每段的路徑默認用5階多項式表示:
優化問題:
初始點約束:
終點約束:
平滑節點約束:
點采樣邊界約束:
在路徑上均勻的取樣m個點,檢查這些點上的障礙物邊界。將這些約束轉換為QP約束不等式,使用不等式:








