概述
路徑規劃在自動駕駛中占有比較重要的位置,一些路徑的規劃演算法在自動駕駛的路徑選擇中比較關鍵。
一般來說,路徑規劃涉及路徑搜尋,避障以及產生可以保證舒適和效率的軌跡的生成。目前存在的**也是對這些方面進行研究,主要涉及①尋路,②選擇最安全的策略和③決定最可行的軌跡。
當然,v2v和v2i的研究也是路徑規劃中的乙個比較重要的方向。
決策在自動駕駛中至關重要,他可以被很多演算法實現。路徑規劃的目的在於尋找通往目的地的安全的道路。同時要考慮到車輛的動力學模型,策略以及道路交通規則和路邊沿等。
概念和定義
路線規劃是根據提供的起始點和目的地,以及結合道路資訊和電子地圖來進行全域性的路線規劃。關於路線規劃,我也會具體詳細的介紹,可以參看書籍the darpa urban challenge。下面就是一些概念的介紹,為了交流方面,我就不把一些英文名詞翻譯成中文。
configuration space and state
在乙個固定座標系下定義乙個車的位置和指向的特性向量,我們叫做configuration vector,那麼一系列的這樣的configuration vector就形成了configuration space。
乙個描述本車當前特性的集合被稱為乙個車在當前時刻的狀態(state),一般用來描述當前車的狀態的量有position(x,y,z), orientation(θx
,θy,
θz),線速度line velocity(vx
,vy,
vz)以及角速度angular velocity(ωx
,ωy,
ωz)。
乙個車輛可以簡化為乙個簡單的模型bicycle model,兩個前輪和兩個後輪都可以等效為自行車的前輪和後輪,這樣一來,車輛的狀態就可以簡單的利用(x
,y,θ
) 來描述, (x
,y) 分別指代的是車輛重心的位置,而
θ 表示車輛的車頭指向。這一假設的前提是內側滑移、外側滑移和方向盤轉角是相等的。
關於完整可積分的定義:action如果乙個機械人可以控制的關節變數數量等於機械人本身的自由度,那麼這個機械人是完整可積分的,否則他就是非完整積分的。
car-like robots按照bicycle model,他有三個自由度(x
,y,θ
) ,但是本身可以控制的變數只有兩個:
- 車輛可以按照本身當前指向的切線方向進行前進和後退。
- 車輛的轉向角可以變化。
也就是說緊緊可以控制車輛的油門踏板、制動和方向盤轉角。
action 是可以引起車輛狀態改變的系統輸入(比如說是加速度和方向盤轉角), action space 是一系列action 的集合。
path
path 指的是從configuration space的起點和終點之間乙個連續的序列。,也就是說它是一段從起點到終點,沒有障礙物的一段幾何軌跡。
path-planning 指的是由給定的起始點和末端點規劃出一條可行的幾何路徑的過程,在這過程中需要考慮到路段和車道的邊界,交通燈資訊以及各種障礙物,比如行人、車輛和自行車倆等。
manoeuvre(策略規劃)
相對於位置和速度控制來說,manoeuvre可以說是一種比較高層次的車輛運動描述。超車、換道、直行和轉彎都是策略的一種。
trajectory
trajectory指的是一系列的車輛狀態的集合,它是包含時間和速度的序列。
trajectory planning更多的是關於實時的規劃乙個車的當前狀態到下一狀態的過程,是整個path planning的結果更符合車輛運動學原理。
路徑規劃的搜尋空間
對於路徑規劃來說,如果想要定量的去讀取道路的資訊,那麼首先,需要將這些連續的路徑資訊轉化為離散的、可以容易表達的數字路網。只有這樣,我們才能夠很好利用這些離散道路表達來進行路徑的選取和規劃。除此以外,將這些連續的道路資訊進行離散化,也可以降低計算負載,提高規劃的速度。
目前的現存的搜尋空間表達方法有一下幾種:
voronoi diagrams(圖a)
voronoi diagrams可以在車輛和障礙點之間產生一條最大距離的路徑。這一演算法可以用在自動泊車的過程中,比較適用於靜態環境中。有**利用voronoi diagram結合人工勢場法產生避障的路徑。
但是這一演算法**於移動機械人,對於on-road path-planning 不是很適合,所以對於自動駕駛來說也不是很適用。
occupancy grids (圖b)& cost map (圖c)
occupancy grids和cost map比較相似,都是將空間劃分成細小網格,然後將每乙個網格和其被障礙物佔的概率或者是網格的消耗關聯起來。根據概率地圖或者消耗地圖進行路徑規劃。
state lattices(圖d)
state lattices可以說是grid的一種變種,它是grid的一種泛化。grid是由方框和長方體不斷堆砌的,而lattices是不斷各種不同狀態之間的路徑堆砌而成。state lattices演算法克服了基於網格演算法的效率的同時,沒有偶額外增加計算負載。
driving corridors
driving corridors是一段連續的無障礙的路段,這一路段的邊界是道路和車道邊界以及障礙點等。這些道路和車道邊界資訊可以由數字地圖或者slam的方法獲得。這些driving corridors的中線就是規劃的路徑。
路徑規劃總結
概述 路徑規劃在自動駕駛中占有比較重要的位置,一些路徑的規劃演算法在自動駕駛的路徑選擇中比較關鍵。一般來說,路徑規劃涉及路徑搜尋,避障以及產生可以保證舒適和效率的軌跡的生成。目前存在的 也是對這些方面進行研究,主要涉及 尋路,選擇最安全的策略和 決定最可行的軌跡。當然,v2v和v2i的研究也是路徑規...
動態規劃專題(I)
動態規劃與分治法類似,都是通過組合子問題的解來求解原問題。分治方法將問題劃分為互不相交的子問題,遞迴的求解子問題,再將它們組合起來,求出原問題的解。與之相反,動態規劃應用於子問題重疊的情況,不同的子問題具有公共的子子問題。這個時候,分治演算法會做許多不必要的工作,它會反覆的求解那些公共子子問題,而動...
arcEngine 路徑規劃
作者 瘋狂的烏龜 2015 5 26 arcengine 10.1 功能 路徑規劃 using system using system.collections.generic using system.linq using system.text using esri.arcgis.geodatab...