機器人路徑規劃 A*與D*機器人路徑規劃演算法詳述

快樂的小皮鞋發表於2019-03-25

移動這一簡單動作,對於人類來說相當容易,但對機器人而言就變得極為複雜,說到機器人移動就不得不提到路徑規劃,路徑規劃是移動機器人導航最基本的環節,指的是機器人在有障礙物的工作環境中,如何找到一條從起點到終點適當的運動路徑,使機器人在運動過程中能安全、無碰撞地繞過所有障礙物。這不同於用動態規劃等方法求得的最短路徑,而是指移動機器人能對靜態及動態環境作出綜合性判斷,進行智慧決策。

機器人路徑規劃圖

總的來說,路徑規劃主要涉及這3大問題:①明確起點位置及終點;②規避障礙物;③儘可能的做到路徑上的優化。

機器人路徑規劃有全域性與區域性規劃之分

根據對環境資訊的掌握程度不同,機器人路徑規劃可分為全域性路徑規劃和區域性路徑規劃。

思嵐機器人路徑規劃圖

全域性路徑規劃是在已知的環境中,給機器人規劃一條路徑,路徑規劃的精度取決於環境獲取的準確度,全域性路徑規劃可以找到最優解,但是需要預先知道環境的準確資訊,當環境發生變化,如出現未知障礙物時,該方法就無能為力了。它是一種事前規劃,因此對機器人系統的實時計算能力要求不高,雖然規劃結果是全域性的、較優的,但是對環境模型的錯誤及噪聲魯棒性差。

而區域性路徑規劃則環境資訊完全未知或有部分可知,側重於考慮機器人當前的區域性環境資訊,讓機器人具有良好的避障能力,通過感測器對機器人的工作環境進行探測,以獲取障礙物的位置和幾何性質等資訊,這種規劃需要蒐集環境資料,並且對該環境模型的動態更新能夠隨時進行校正,區域性規劃方法將對環境的建模與搜尋融為一體,要求機器人系統具有高速的資訊處理能力和計算能力,對環境誤差和噪聲有較高的魯棒性,能對規劃結果進行實時反饋和校正,但是由於缺乏全域性環境資訊,所以規劃結果有可能不是最優的,甚至可能找不到正確路徑或完整路徑。

 

全域性路徑規劃和區域性路徑規劃並沒有本質上的區別,很多適用於全域性路徑規劃的方法經過改進也可以用於區域性路徑規劃,而適用於區域性路徑規劃的方法同樣經過改進後也可適用於全域性路徑規劃。兩者協同工作,機器人可更好的規劃從起始點到終點的行走路徑。

A*與D*機器人路徑規劃演算法介紹

在實際情況中,機器人路徑規劃除了考慮已知環境和未知環境地圖,還要考慮到動態和靜態環境下的路徑規劃。

A*(A-Star)演算法是一種靜態路網中求解最短路徑最有效的直接搜尋方法,也是解決許多搜尋問題的有效演算法。演算法中的距離估算值與實際值越接近,最終搜尋速度越快。但是,A*演算法同樣也可用於動態路徑規劃當中,只是當環境發生變化時,需要重新規劃路線。

機器人路徑規劃之A演算法

而D*演算法則是一種動態啟發式路徑搜尋演算法,它事先對環境位置,讓機器人在陌生環境中行動自如,在瞬息萬變的環境中游刃有餘。D*演算法的最大優點是不需要預先探明地圖,機器人可以和人一樣,即使在未知環境中,也可以展開行動,隨著機器人不斷探索,路徑也會時刻調整。

綜上所述,移動機器人路徑規劃技術已經取得了可觀的成績,但是,在其全域性與區域性路徑規劃方法中仍然存在諸多不足之處,為此,國內已有針對這類演算法的改進,例如思嵐科技的SLAMWARE模組化自主定位導航,SLAMWARE內採用改良的D*演算法進行路徑規劃,這也是美國火星探測器採用的核心尋路演算法。是一種動態啟發式路徑搜尋演算法,它可以讓機器人在未知環境中行走自如,在環境多變的情況下游刃有餘。

 

 

相關文章