Apollo自動駕駛教程學習筆記-Apollo規劃技術詳解6-3

視頻鏈接:http://bit.baidu.com/Course/detail/id/297.html
講師:樊昊陽 百度Apollo研發工程師

與環境相關的路徑規劃

前邊介紹了首先把車當做質點來規劃,但是質點不能直接用在無人車上,所以把質點具象成剛體;然而剛體也不滿足,因爲車輛具有運動學特徵,比如不能橫向shift,不能原地turn之類,所以還要考慮運動學約束;之後,規劃出的軌跡還需要考慮平滑性,這種平滑性不但是空間平滑,還有時間平滑;之後,我們要融入環境特徵,比如交通規則,結構化道路,並且還要考慮動態障礙物。所以還是很複雜的。
這一節課講了幾個比較關鍵的問題。老師講的時候感覺結構不是很清晰,所以筆記很亂,而且很多地方只是聽了題目,內容劃分不清晰,下邊就簡單整理了一下筆記。

車輛狀態和模型

車輛模型可以按照bicycle module來處理,也就是前輪中心點看做bicycle的前輪,後輪中心點看做bicycle的後輪,然後滿足一些bicycle module的特徵,比如兩個輪子的旋轉圓心是一個點,比如前輪比後輪轉向時走更遠的路徑(所以車輛需要差速器)。
除此之外,還需要kappa,用來描述車輛轉向時的狀態,另外還需要一個v,用來描述車輛速度,所以最後車輛狀態的表示爲=(x, y, theta, k, v)。

曲線座標系

車輛在行進過程中的一種描述座標系是曲線座標系,即SL座標系。因爲我們車輛在行駛時,考慮的是相對當前道路的調整,而道路是一個曲線,SL座標系中,S軸是跟隨道路的一個曲線軸,而L軸是垂直與S軸的。
一個很重要的問題是世界座標系即xy座標系與SL座標系之間如何變換,通過分析,我們能得出從SL座標系到xy座標系的轉換是唯一的,但從xy座標系到SL座標系的轉換是不唯一的,只有在一些特殊的約束條件下,纔是唯一的,這是也很複雜的問題。

車與障礙物的關係

車輛本身看做剛體,與其他的剛體(障礙物)之間的需要滿足關係,即不能相碰撞,也就是從數學上就是求解兩個剛體是否相交,通常將障礙物當做是bounding box,判斷bounding box之間是否相交,但這本身也不夠,還需要用到其他數學方法,比如超平面分割定理,複雜度是O(n^2),另外還有一些其他辦法,可能做到O(nlogn),但這個問題依然是個很複雜的問題,因爲相撞情況是時刻需要求解的,這也很依賴於硬件條件。

Uturn問題

上邊也提到了,對於U型彎(掉頭)操作下,路徑規劃比較困難,一個原因是在這樣的場景下一個障礙物的點對應着SL座標系中多個點。
對這種場景下的規劃問題,依然需要保證路線光滑,要保證曲率連續。之前說的直線加半圓加直線的方法不能保證連接點處的曲率連續,所以不是一條光滑曲線。
如果先求出軌跡再進行優化,其實也不行,因爲要考慮動力學模型的約束條件。

插值法

會遇到龍格現象,插值的線抖動太大無法控制幅度。

Bezier Spline

2D Constrained Smoothing Spline

通過在軌跡上的採樣點約束小方格,要求平滑後的曲線都要經過小方格。
要處理的優化函數是曲線的三階導的平方的積分。

Piecewise Polynomial models

Spline 2D

現在的問題就是需要求解平滑曲線,還要滿足約束條件,做優化問題。
piecewise polynomial的問題是它是一維的,對於軌跡優化不太夠用,所以用Spline 2D。
曲線是由幾節曲線組成的,在每一節曲線上求平滑結果,x軸和y軸的座標都是polynomial的函數。
有一個性質是座標軸旋轉不變性,不管座標軸是否旋轉,得出的結果不變。
另一個問題是,需要保證曲線和曲線相接的點處也要保證平滑,這就需要增加其他約束條件。

螺旋曲線

是用極座標來定義的曲線,在求解上比Spline方法要好處理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章