RRT路徑規划算法

2020-11-26 騰訊網

汽車學堂,www.auto-mooc.com

隸屬清華大學蘇州汽車研究院旗下清研車聯

專注汽車新技術人才培養

"

基於快速擴展隨機樹(RRT / rapidly exploring random tree)的路徑規划算法,通過對狀態空間中的採樣點進行碰撞檢測,避免了對空間的建模,能夠有效地解決高維空間和複雜約束的路徑規劃問題。

"

RRT方法的特點是能夠快速有效地搜索高維空間,通過狀態空間的隨機採樣點,把搜索導向空白區域,從而尋找到一條從起始點到目標點的規劃路徑,適合解決多自由度機器人在複雜環境下和動態環境中的路徑規劃。

RRT算法

快速搜索隨機樹(RRT)算法是一種增量式採樣的搜索方法,該方法在應用中不需要任何參數整定,具備良好的使用性能。它利用增量式方法構建搜索樹,以逐漸提高分辨能力,而無須設置任何解析度參數。在極限情況,該搜索樹將稠密的布滿整個空間,此時搜索樹由很多較短曲線或路經構成,以實現充滿整個空間的目的。增量式方法構建的搜索樹其導向取決於稠密採樣序列,當該序列為隨機序列時,該搜索樹稱為快速搜索隨機樹(Rapidly Exploring Random Tree,RRT),而不論該序列為隨機還是確定性序列,都被稱為快速搜索稠密樹(Rapidly Exploring Dense Trees,RDTs),這種規劃方法可處理微分等多種約束。

算法步驟

考慮二維和三維工作空間,環境中包含靜態障礙物。初始化快速隨機搜索樹T,只包括根節點,即初始狀態S。在自由空間中隨機選取一個狀態點,遍歷當前的快速隨機搜索樹T,找到T上距離最近的節點,考慮機器人的動力學約束從控制輸入集中選擇輸入,從狀態開始作用,經過一個控制周期到達新的狀態。滿足與的控制輸入為最佳控制量。將新狀態添加到快速隨機搜索樹T中。按照這樣得到方法不斷產生新狀態,直到到達目標狀態G。完成搜索樹構建後,從目標點開始,逐次找到父節點直到到達初始狀態,即搜索樹的根節點。

隨機樹構建過程

由於在搜索過程中考慮了機器人的動力學約束,因此生成的路徑的可行性很好。但是算法的隨機性導致其只具備概率完備性。

改進算法

LaValle等人的工作奠定了RRT方法的基礎。在採樣策略方面,RRTGoalBiaS方法在控制機器人隨機運動的同時,以一定概率向最終目標運動;RRTGoalZoom方法分別在整個空間和目標點周圍的空間進行採樣;RRTCon方法則通過加大隨機步長改進規劃速度。雙向規劃思想也被採用,衍生出RRTExtExt,RRTExtCon,RRTConCon等多種算法。

基本RRT算法收斂到終點位姿的速度可能比較慢。為了提高算法的效率和性能,需不斷對該算法進行改進。如為了提高搜索效率採用雙向隨機搜索樹(Bi~RRT),從起始點和目標點並行生成兩棵RRT,直至兩棵樹相遇,算法收斂。由於這個算法相比於原始RRT有更好的收斂性,因此在目前路徑規劃中是很常見的。NikAMelchior提出的粒子RRT算法,考慮了地形的不確定性,保證了在不確定性環境下搜索樹的擴展。

Kuffner和Lavane又提出RRT-connectlv,使得節點的擴展效率大大提高。運動規劃中,距離的定義非常複雜,Pengcheng研究了在RRT生長過程中距離函數不斷學習的算法以降低距離函數對環境的敏感性。考慮到基本RRT規劃器得到的路徑長度一般是最優路徑的1.3~1.5倍,英國的J.desmithl研究了變分法技術使其達到最優。Amna A引入KD樹作為二級數據結構加速查找距離從環境中取出的隨機點最近的葉節點,降低了搜索成本。該算法在動態障礙物、高維狀態空間和存在運動學、動力學等微分約束的環境中的運動規劃已經得到廣泛的應用。

相關焦點

  • 機器人是如何規劃路徑的?動畫演示一下吧
    在機器人研究領域,給定某一特定任務之後,如何規劃機器人的運動方式至關重要。最近,GitHub 上開源了一個存儲庫,該庫實現了機器人技術中常用的一些路徑規划算法,大部分代碼是用 Python 實現的。值得一提的是,開發者用 plotting 為每種算法演示了動畫運行過程,直觀清晰。
  • 幾種常見的車輛路徑規划算法
    根據車輛導航系統的研究歷程 , 車輛路徑規划算法可分為靜態路徑規划算法和動態路徑算法。靜態路徑規劃是以物理地理信息和交通規則等條件為約束來尋求最短路徑,靜態路徑規划算法已日趨成熟 , 相對比較簡單 , 但對於實際的交通狀況來說 , 其應用意義不大。
  • golang 調用 python 實戰路徑規劃之 A* 算法
    在極端情況下,當啟發函數$h(n)$始終為0,則將由$g(n)$決定節點的優先級,此時算法就退化成了Dijkstra算法。如果$h(n)$始終小於等於節點n到終點的代價,則A*算法保證一定能夠找到最短路徑。但是當$h(n)$的值越小,算法將遍歷越多的節點,也就導致算法越慢。如果$h(n)$完全等於節點n到終點的代價,則A*算法將找到最佳路徑,並且速度很快。
  • 圖的最短路徑算法-Floyd算法-弗洛伊德算法
    Floyd算法又稱為插點法,是一種利用動態規劃的思想尋找給定的加權圖中多源點之間最短路徑的算法 在計算機科學中,Floyd-Warshall算法是一種在具有正或負邊緣權重(但沒有負周期)的加權圖中找到最短路徑的算法。算法的單個執行將找到所有頂點對之間的最短路徑的長度(加權)。
  • A* 路徑搜索算法
    假設地圖中存在起點和終點,路徑搜索算法可以用於搜索起點到終點的路徑。在機器人路徑規劃,或者遊戲中都需要用到路徑搜索算法。本文介紹一種經典的 A* 算法,和 Dijkstra 算法相比,A* 採用啟發式的搜索策略,能夠更快地搜索出最短路徑。
  • 基於遺傳算法的工廠AGV路徑優化研究
    遺傳算法是模仿自然界生物進化機制發展起來的隨機全局搜索優化方法,具有算法效率高、魯棒性強、可實現並行搜索等特點 [3] ,被廣泛用於解決路徑規劃等領域的問題。G.Jeon [4] 和William [5] 等人用混合遺傳算法求解車輛路徑規劃問題;李青欣 [6] 進行了AGV路徑規劃的遺傳算法研究,根據運行環境信息複雜度和數量的不同分別分析了幾種不同類型的路徑規劃。
  • 自動駕駛運動規劃-Hybird A×算法
    Hybird A*算法保證生成的路徑是車輛可實際行駛的,但它仍然包含很多不必要的車輛轉向操作,我們可以對其進行進一步的平滑和優化。 實際停車場的Voronoi Field和Junior的規劃路徑2、Obstacle Term Obstacle Term中
  • 水下機器人a_水下機器人a星算法路徑規劃 - CSDN
    RL是一個基於動態規劃的馬爾可夫決策過程(MDP)的求解框架,沒有轉移模型。它已成功地應用於機器人控制問題,包括單個機器人,移動機器人[17]或多機器人[18],機器人足球[19],雙足機器人[20],無人飛行器[21]等的路徑規劃。本文基於確定性策略梯度(DPG)定理和神經網絡逼近,提出了一種水下機器人深度控制問題的逆向學習框架。
  • 美團技術解析:自動駕駛中的決策規划算法概述
    本文將分別介紹各層的主要作用與常見算法,並且比較各種算法的優劣性及適用情景。 2. 全局路徑規劃(Route Planning) 全局路徑規劃是指在給定車輛當前位置與終點目標後,通過搜索選擇一條最優的路徑,這裡的「最優」包括路徑最短,或者到達時間最快等條件。
  • 一種基於A*算法的用於道路場景的軌跡規劃方法
    一種基於A*算法的用於道路場景的軌跡規劃方法 李倩 發表於 2018-10-19 11:17:54 本文提出了一種基於A*算法的用於道路場景的軌跡規劃方法,該方法中
  • 無人機集群——航跡規劃你不知道的各種算法優缺點
    整體參考航跡規劃是飛行前在地面上進行的。參考航跡的優劣依據預先確定的性能指標,一般根據無人機飛行的任務要求、安全要求、飛行時間和其他戰略、戰術考慮等因素組合確定,以此最優性能為標準,通過動態路徑規划算法生成一條最優參考航跡。有了參考航跡之後,無人機受環境及自身約束條件如最小轉彎半徑、滾轉角等限制,在實際飛行中並非嚴格沿著參考航跡來飛,而是對參考航跡進行局部動態優化,最後生成最優航跡。
  • 機器人自主定位導航=SLAM+運動規劃
    要想解決機器人智能移動這個問題,除了要有SLAM技術之外,還需要加入路徑規劃和運動控制。在SLAM技術幫助機器人確定自身定位和構建地圖之後,進行一個叫做目標點導航的能力。通俗的說,就是規劃一條從A點到B點的路徑出來,然後讓機器人移動過去。
  • 圖論的各種基本算法
    所以,最短路徑長為n的路徑,只能從最短路徑長為n-1的路徑,轉移過來。這裡就得到了這個問題最重要的性質,單源最短路徑問題是個最短路徑每次遞增一的動態規劃問題。 單源最短路徑性質:此問題是個最短路徑每次長度遞增一的動態規劃問題。 在介紹通用算法之前,先介紹一種專對於有向無環圖很巧的算法。
  • 乾貨總結 | 動態規劃十問十答
    今天給大家總結動態規劃十問十答,快速幫你掃盲動態規劃。答:動態規劃是一種通過「大而化小」的思路解決問題的算法。區別於一些固定形式的算法,如二分法,寬度優先搜索法,動態規劃沒有實際的步驟來規定第一步做什麼第二步做什麼。
  • 編程世界中的18個重要的算法
    也歡迎你留下你覺得有意義的算法。(註:本篇文章並非翻譯,其中的算法描述大部份摘自Wikipedia,因為維基百科描述的很專業了)A*搜尋算法俗稱A星算法。這是一種在圖形平面上,有多個節點的路徑,求出最低通過成本的算法。常用於遊戲中的NPC的移動計算,或線上遊戲的BOT的移動計算上。
  • Apollo自動駕駛入門課程丨第⑦講—規劃(上)
    本期我們將介紹路徑規劃。在規劃中我們將結合高精度地圖、定位和預測的相關知識,從路線導航和軌跡生成兩方面來構建車輛軌跡。通過軌跡規劃,我們可以做出微妙的決策,以避開障礙物,並為乘客創造平穩的乘車體驗。在Apollo中,我們通過規劃模塊處理該任務。路線規劃的目標是,找到從地圖上的A前往B的最佳路徑。軌跡規劃的目標是找到避免碰撞和保持舒適度的可執行軌跡。路徑規劃使用三個輸入,第一個輸入為地圖,Apollo提供的地圖數據包括公路網和實時交通信息。第二個輸入為我們當前在地圖上的位置。
  • JAVA必須掌握的數據結構和算法
    廣度優先搜索會優先從離起點近的頂點開始搜索深度優先搜索深度優先搜索和廣度優先搜索一樣,都是對圖進行搜索的算法,目的也都是從起點開始搜索直到到達指定頂點(終點)。深度優先搜索會沿著一條路徑不斷往下搜索直到不能再繼續為止,然後再折返,開始搜索下一條候補路徑。
  • 邯鄲臨漳柳元鎮正重新規劃光纖路徑
    國網邯鄲供電公司通過「陽光理政」平臺做出回復表示,我公司已與河北廣電臨漳分公司溝通,該公司正在重新規劃光纖路徑,待其新架光纖投運後,即將搭掛在我公司電桿上的光纖拆除。     河北新聞網訊(記者王營)近日,河北新聞網網友通過「陽光理政」平臺反映「邯鄲臨漳柳元鎮部分村莊光纖線固定在高壓線上」的問題。
  • AI先驅、A*算法發明者Nils Nilsson去世
    Nils Nilsson 教授是人工智慧領域的元老級人物,他在搜索、規劃、知識表示等方面作出了卓越的貢獻。據 Nils Nilsson 教授個人主頁介紹,他在斯坦福國際研究院(SRI International)人工智慧中心工作了 23 年,致力於統計和神經網絡模式識別方法的研究。
  • 你只需要了解小貓吃魚,就能理解人工智慧的A*算法
    出品:科普中國製作:未來實驗室監製:中國科學院計算機網絡信息中心A*算法是人工智慧領域非常常用的一種搜索算法,在我們生活中也時常會接觸到,例如手機導航、無人車或無人機的路徑規劃等如果將A*算法比作小貓吃魚,A*貓會結合「雷達貓」的全路徑搜索本領和「貪心貓」少走彎路的特點,最快吃到小魚。電子地圖規劃路徑時用的就是這個原理。「科普中國」是中國科協攜同社會各方利用信息化手段開展科學傳播的科學權威品牌。本文由科普中國融合創作出品,轉載請註明出處。