【Baidu Apollo】6.3 EM规划算法
今天這篇文章作為之前6.1 Apollo規(guī)劃的補充,詳細介紹下EM Planner
1. EM Planner 中的EM的含義
最大期望算法 Expectation Maximum
最大期望算法在統(tǒng)計中被用于尋找,依賴于不可觀察的隱性變量的概率模型中,參數(shù)的最大似然估計。
在統(tǒng)計計算中,最大期望(EM)算法是在概率模型中尋找參數(shù)最大似然估計或者最大后驗估計的算法,其中概率模型依賴于無法觀測的隱性變量。最大期望算法經(jīng)常用在機器學習和計算機視覺的數(shù)據(jù)聚類(Data Clustering)領(lǐng)域。最大期望算法經(jīng)過兩個步驟交替進行計算,第一步是計算期望(E),利用對隱藏變量的現(xiàn)有估計值,計算其最大似然估計值;第二步是最大化(M),最大化在E步上求得的最大似然值來計算參數(shù)的值。M步上找到的參數(shù)估計值被用于下一個E步計算中,這個過程不斷交替進行。
EM簡單教程
EM是一個在已知部分相關(guān)變量的情況下,估計未知變量的迭代技術(shù)。EM的算法流程如下:
2. 變道超車在EM Planner中是如何考慮的?
對于路徑規(guī)劃而言,變道是重要的組成部分。一般的方法是在所有可能的車道上進行基于cost的最優(yōu)解搜索。不過這種方法也有以下的缺點:
因此在apollo里面使用了如下的Framework,對不同可能的目標車道分別進行優(yōu)化尋找最優(yōu)解,最后的Decider決定最終的路徑。
上圖中的E-Step對應(yīng)的基于隱含數(shù)據(jù)的假設(shè)值(當前規(guī)劃的Trajectory)進行的極大似然估計(Path Planning)。
M-Step對應(yīng)的是重新給出未知變量的期望估計(Velocity Planning,然后合成完整的Trajectory)。
最后的Trajectory decider會根據(jù)不同Trajectory的cost,交規(guī)還有車況選擇一條最優(yōu)的trajectory。
3. Path 和 Speed 迭代算法
Path
EM Planner會迭代式的對路徑和速度進行優(yōu)化。首先基于上一步計算得到的trajectory也就是對自身運動的預測與其他運動物體的預測進行碰撞檢測,講可能的碰撞點投射到SL圖中。這里在SL圖中只考慮低速移動物體或?qū)ο蛐旭偟奈矬w,對于高速物體,EM Planner基于安全原因更傾向于變道。
整個路徑的規(guī)劃分為DP的粗糙規(guī)劃,和QP的平滑規(guī)劃,QP主要就是對DP的路徑進行平滑處理。
這里Cost有三個組成部分:平滑Cost,離障礙物距離Cost,離引導線偏差Cost。
?
Nudge Decision包括nudge, yield和overtake,用來生成convex hull來進行QP的spline優(yōu)化。
QP的Cost相對簡單些,就是負責平滑的路徑一階二階三階倒數(shù)還有和DP結(jié)果與引導線的偏差。
Speed
速度優(yōu)化和路徑優(yōu)化類似,也是先來DP跟著QP。
Cost多了和目標速度的偏差和與障礙物的距離。
?
?
4.實例
a. 上一個cycle的規(guī)劃,master vehicle 10m/s直行。
b. 第一次迭代,基于上一個cycle的預測,可能的碰撞區(qū)域位于S = 40m 處,映射到SD Graph進行path優(yōu)化。
c. 基于優(yōu)化得到的Path進行速度優(yōu)化,40m處因為距離障礙物較近,會減速到5m/s。
d. 這個時候因為 master vehicle 的 預測更新了,進行第二次迭代,基于新的速度Profile,可能的碰撞(交叉)區(qū)域位于S = 30m 處,重新優(yōu)化Path
e. 基于新優(yōu)化得到的Path再次進行速度優(yōu)化,迭代會一直進行知道收斂。
總結(jié)
以上是生活随笔為你收集整理的【Baidu Apollo】6.3 EM规划算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四国军棋界面Swing/AWT的代码
- 下一篇: 怎样用ZBrush®中Nudge推动笔刷