1. 程式人生 > >[AutoCars(一)]自動駕駛汽車概述(下)

[AutoCars(一)]自動駕駛汽車概述(下)

緣分 操作 第一個 拓撲 空間 跟蹤 以及 通過 分布

本文將介紹自動駕駛汽車決策系統的相關技術,包含路線規劃、行為選取、運動規劃和控制子系統。

1.路線規劃

路線規劃子系統負責計算出一條穿過道路網的路線,讓自動駕駛汽車能從起始位置到達用戶定義的終點位置。如果將道路網表示為一個加權的有向圖,其邊權重表示遍歷一個道路片段的成本,則計算路線的問題就可約簡為在一個加權有向圖中尋找最短路徑的問題。但是,對於大型道路網,經典最短路徑算法(比如 Dijkstra和 A*)的復雜性時間是不實用的。

用於道路網中路線規劃的方法能在查詢時間、預處理時間、空間用量、對輸入變化的穩健性等方面提供不同的權衡。這些方法主要可分為四類:目標導向的方法、基於分割因子的方法、分層方法、bounded-hop 方法;也可以組合這些方法。

(1)目標導向方法

目標導向技術通過避免掃描不在目標頂點方向上的頂點來指導從源頂點到目標頂點的搜索。 A *是經典的目標導向最短路徑算法。 通過在每個頂點上使用下限距離函數,它實現了比Dijkstra算法更好的性能,這使得更靠近目標的頂點可以更早地被掃描。 ALT(A *,地標和三角不等式)算法通過選擇一小組頂點作為地標來增強A *。 在預處理階段,計算所有地標和所有頂點之間的距離。 在查詢階段,使用涉及地標的三角不等式估計任何頂點的有效下界距離。 查詢性能和正確性取決於明智地選擇頂點作為地標。

另一個目標導向算法是Arc Flags。 在預處理階段期間,圖形被劃分為具有少量邊界頂點和平衡(即,相似)數量的頂點的單元。 通過從每個邊界頂點向後生成最短路徑樹來計算單元i的弧標誌,為樹的所有弧(或邊)設置第i個標記。 在查詢階段,算法修剪沒有為包含目標頂點的單元格設置標誌的邊。 弧標記方法具有較高的預處理時間,但是目標導向技術中查詢時間最快。

(2)基於分離器的技術

基於分隔符的技術基於頂點或邊緣分隔符。 頂點(或邊緣)分隔符是頂點(或邊)的一小部分,其移除將圖分解為若幹平衡單元。 基於頂點分隔符的算法使用頂點分隔符來計算疊加圖。 將快捷方式邊緣添加到疊加圖中,以保留完整圖形中任何一對頂點之間的距離。 疊加圖比完整圖小得多,用於加速查詢算法。 HPML(高性能多級路由)算法是此方法的一種變體,可顯著縮短查詢時間,但代價是增加空間使用和預處理時間,方法是在不同級別上向圖表添加更多快捷方式。

基於弧分離器的算法使用邊緣分隔符將圖形分解為平衡單元格,嘗試最小化切割邊緣的數量,這些邊緣連接不同單元格的邊界頂點。 快捷方式被添加到覆蓋圖中,以便保留每個單元內的邊界頂點之間的距離。 CRP(可定制路線規劃)算法被設計為滿足現實世界道路網絡的要求,例如處理轉彎成本和執行成本函數的快速更新。 它的預處理有兩個階段。 第一階段計算多層分區和疊加的拓撲。 第二階段通過自下而上和並行處理單元來計算clique邊緣的成本。 查詢在疊加圖中作為雙向搜索進行處理。

(3)分層技術

分層技術利用道路網絡的固有層次結構,其中諸如高速公路的主要道路復合了小的動脈子網絡。 一旦源頂點和目標頂點相距很遠,查詢算法僅掃描子網的頂點。 預處理階段根據實際的最短路徑結構計算頂點或邊的重要性。 CH(收縮層次結構)算法是一種分層技術,它實現了創建快捷方式以跳過具有低重要性的頂點的想法。 它重復執行頂點收縮操作,如果它們之間的最短路徑是唯一的並且包含要收縮的頂點,則從圖形中移除最不重要的頂點並在每對相鄰頂點之間創建快捷方式。 CH是多功能的,因此可用作其他點對點算法和擴展查詢的構建塊。

REACH算法是一種分層技術,在預處理階段,計算頂點的中心度量(到達值),並在查詢階段,使用它們來修剪基於Dijkstra的雙向搜索。 設P是從源頂點s到包含頂點v的目標頂點t的最短路徑.v相對於P的到達值是r(v,P)= min {distance(s,v),distance(v) ,t)}。

(4)有界跳技術

有界跳躍技術通過向圖形添加虛擬快捷方式來預先計算頂點對之間的距離。由於所有頂點對之間的預計算距離對於大型網絡而言是禁止的,因此有界跳躍技術旨在獲得具有非常少的跳躍的任何虛擬路徑的長度。有界跳躍算法是HL(Hub Labeling),它在預處理階段計算圖形的每個頂點u的標簽L(u),其由u的一組中心頂點和它們的距離組成。從你這來的。選擇這些標簽使得它們遵守覆蓋屬性:對於任何頂點對(s,t),標記L(s)和L(t)的交集必須包含從s到t的最短路徑的至少一個頂點。 。在查詢階段期間,通過評估標記L(s)和L(t)的交集中存在的中心點之間的距離,可以在線性時間內確定距離(s,t)。 HL具有最快的已知道路網絡查詢,但代價是空間占用率高。 HL-∞算法[ABR12]利用了集線器標簽和頂點排序之間的關系,並開發了預處理算法來計算產生小標簽的排序。頂點排序的叠代範圍優化算法使HL-∞算法的查詢時間比HL快兩倍。它以一些頂點排序(例如,由CH給出的那個)開始並且在給定數量的叠代步驟中進行,每個叠代步驟按重要性的降序重新排序不同範圍的頂點。 HLC(集線器標簽壓縮)算法[DEL13a]通過組合出現在多個標簽中的常見子結構,以更高的查詢時間為代價,將空間使用量減少一個數量級。

另一種有界跳躍算法是TNR(傳輸節點路由),它使用頂點子集上的距離表。 在預處理階段,它選擇一小組頂點作為傳輸節點,並計算它們之間的所有成對距離。 從傳輸節點,對於每個頂點u,它計算一組訪問節點。 如果存在來自u的最短路徑,使得v是其中的第一個傳輸節點,則傳輸節點v是u的接入節點。 它還計算每個頂點與其訪問節點之間的距離。 選擇傳輸節點集的一種自然方法是選擇弧分隔符的頂點分隔符或邊界頂點作為傳輸節點。 在查詢階段,距離表用於選擇從源頂點s到目標頂點t的路徑,該路徑最小化組合距離s-a(s)-a(t)-t,其中a(s)和a( t)是接入節點。 如果最短路徑不包含傳輸節點,則執行本地查詢(通常為CH)。

(5)組合

可以將各個技術組合成利用不同圖形屬性的混合算法。 REAL算法結合了REACH和ALT。 ReachFlags算法結合了REACH和Arc Flags。 SHARC算法將快捷方式的計算與多級Arc Flags相結合。 CHASE算法將CH與Arc Flags相結合。 TNR + AF算法結合了TNR和Arc Flags。 PHAST算法可以與若幹技術組合,以便通過利用多個核心CPU和GPU的並行性來加速它們。

Bast等人通過實驗評估了這裏描述的許多路線規劃技術,使用著名的大陸尺寸基準西歐和現實世界道路網絡的簡化模型。 表I顯示了他們的實驗分析結果。 對於每種技術,表1列出了總內存空間使用情況,總預處理時間,平均查詢掃描的頂點數以及平均查詢時間。

表1 路線規劃技術的對比

技術分享圖片

2.運動規劃

運動規劃子系統負責計算一條路徑或軌跡,使自動駕駛汽車能從當前狀態到達行為選取子系統定義的下一個局部目標狀態。運動規劃執行的是局部駕駛行為,滿足汽車的運動學和動力學限制,保證乘客舒適,以及避免與環境中的靜止和移動障礙物碰撞。

運動規劃可以是路徑或軌跡。路徑是一個汽車狀態序列,不是定義汽車狀態隨時間變化的方式。這個任務可以委托給其它子系統(比如行為選取子系統),或者可將速度分布定義為曲率以及與障礙物的接近程度的函數。軌跡是指定了汽車狀態隨時間的演變情況的路徑。

(1) 路徑規劃

路徑規劃涉及從汽車的當前狀態到下一個目標狀態生成一系列狀態,這不會定義汽車狀態隨時間的演變。 路徑規劃通常分為全局和本地路徑規劃。在全局路徑規劃中,在汽車開始使用環境的離線全局地圖移動之前計算全局路徑。 在本地路徑規劃中,當汽車使用周圍環境的在線本地地圖移動時生成本地路徑,這允許汽車處理移動的障礙物。 路徑規劃的方法可以主要分為兩類:基於圖搜索和基於插值曲線

(a)基於圖搜索的技術

基於圖搜索的技術在表示為圖的狀態空間中搜索汽車的當前狀態和下一個目標狀態之間的最佳路徑(狀態序列)。它們將搜索空間表示為圖形。他們將搜索空間離散化並在占用網格地圖上施加圖形,其中單元中心充當搜索圖中的鄰居。用於自動駕駛汽車的路徑規劃的最常見的基於圖搜索的技術是DijkstraA-starA-star變體。

(b)基於曲線的插值技術

(2) 軌跡規劃

(a)基於圖搜索的技術

(b)基於抽樣的技術

(c)基於曲線的插值技術

(d)基於數值優化的技術

3.控制

在自動駕駛汽車領域,控制是指工程開發領域的自動控制背後的理論,這涵蓋了沒有連續直接人類幹預的操作和調節過程的機制的應用。在最簡單的自動控制形式中,控制子系統會比較該過程的輸出與預期輸入,並使用其中的誤差(該過程的輸出與預期輸入的差異)來修改該過程的輸入,使得該過程即使在存在擾動時也能保持在設定點。在自動車輛中,通常會將自動控制理論應用於路徑跟蹤和硬件驅動方法。路徑跟蹤方法的作用是在汽車模型等地方存在不準確的情況時穩定運動規劃的執行。硬件驅動控制的作用是在汽車模型等地方存在不準確的情況時計算執行運動規劃的轉向角度、油門和剎車制動器輸入。

路徑跟蹤方法也被稱為控制技術,因為其使用了自動控制理論,並將路徑視為所要控制的信號。但是,在自動駕駛領域將其稱為路徑跟蹤方法更合適,以便將它們與硬件驅動方法分開。

(1) 路徑跟蹤方法

(2)硬件驅動控制方法

運動規劃子系統負責計算一條路徑或軌跡,使自動駕駛汽車能從當前狀態到達行為選取子系統定義的下一個局部目標狀態。運動規劃執行的是局部駕駛行為,滿足汽車的運動學和動力學限制,保證乘客舒適,以及避免與環境中的靜止和移動障礙物碰撞。

運動規劃可以是路徑或軌跡。路徑是一個汽車狀態序列,不是定義汽車狀態隨時間變化的方式。這個任務可以委托給其它子系統(比如行為選取子系統),或者可將速度分布定義為曲率以及與障礙物的接近程度的函數。軌跡是指定了汽車狀態隨時間的演變情況的路徑。

文獻中提出了多種用於運動規劃的方法。我們將介紹為路上運動規劃設計的且使用真實自動車輛實驗評估過的方法。

[AutoCars(一)]自動駕駛汽車概述(下)