課程鏈接:http://bit.baidu.com/Course/detail/id/294.html
講師:樊昊陽 百度Apollo研發工程師
說明:因個人工作方向變更的原因,該系列學習筆記不再更新,如有影響還請抱歉
接下來的幾節課內容,講解關於運動規劃的知識。老師也很可愛,思路挺流暢。
運動規劃部分的內容分爲:
- 基本介紹(也就是這一節)
- Robotics基本知識以及和運動規劃的關係
- 怎麼處理信息
- 算法核心,最優解問題
- EM Planning
- 發展方向,數據驅動方面
基本運動規劃
motion planning,即運動規劃,規劃的本質是搜索問題,也就是求某個目標函數的最優解的問題。對於無人車來說就是求無人車運動的最優解問題。
簡單化
首先將問題簡單化:就是一個Path finding問題,搜索最優路徑。
比較經典的算法:深度優先、廣度優先算法,他們的問題是沒有利用目標位置,運算量會相對較大;
還有A算法,問題是它是全局搜索,需要知道全局信息,通常作爲全局優化算法。
現在很多算法依然是基於最初A的思路衍生出來的。
無人車算法的區別
無人車算法相對於這個簡單問題來說,有一些更爲複雜的問題,比如:
- 無人車是部分觀察系統,只能獲得當前位置附近的信息;
- 無人車所在環境的障礙物是在時刻變化的,而且障礙物有速度屬性,不能當做靜止物體處理。
從而,A*算法就不適合了。
這時就引出了局部規劃,incremental search,算法求解局部最優解或相對好的解,比如D*用於月球車(還是火星車?),就是局部路徑規劃算法。
無人車的規劃問題是部分關心全局最優解的問題。
平滑
之前說的算法,都是把結果路徑按照折線表示,這樣對於實際無人車來說無法使用,離散化的算法結果不能直接用,需要平滑,平滑不只是要平滑路徑,還要平滑速度。
未解決的問題
- 環境是動態的,規劃模塊如何解動態環境下的最優解;
- 無人車上路要滿足交通規則,如何吧交通規則融合到算法中;
- 實時計算,要求規劃算法的實時性很高,通常在0.2-0.3s;
- 高精地圖在其中也起到很大的作用,先驗知識;
其他
- 無人車的5個模塊:定位、感知、預測、規劃、控制,都很重要。
- 軌跡不只是一條線,而是一條動態的線,這個動態的線包括了平滑後的速度,所以這個軌跡不叫trace,而是叫trajectory,包括平滑路徑和平滑速度。
- 不要因爲用算法而用算法,而是要從問題出發,先知道要解決什麼問題,然後思考能不能用算法解決。
參考文獻
- 書籍:Motion Planning Algorithms
- 書籍:Principles of Robot Motion: Theory, Algorithms and Implementations
- 論文:A Review of Motion: Planning Techniques for Automated Vehicles
(做筆記沒有記全,作者也沒記,大概是這個名字,應該不會有重名)