機器人學 —— 軌跡規划(Sampling Method)


   上一篇提到,機器人軌跡規划中我們可以在 Configuration Space 中運行A* 或者 DJ 算法。無論A* 還是DJ 算法,都必須針對鄰域進行搜索,如果2自由度則有4鄰域,2自由度則有8鄰域。如果是工業上常用的6自由度機器人,那么就有2^6鄰域。。。。。。顯然,對於軌跡規划這種串行算法而言,這么高維度的搜索空間是不合適的.......於是就有了犧牲精度,魯棒性,但是效率較高的基於采樣的軌跡規划算法。PRM(probabilistic road map)。使用PRM生成稀疏的路徑圖,再利用A*算法在路徑圖中進行軌跡規划,則可以顯著提高效率。

1、生成永久map的PRM算法

  PRM算法的偽代碼如下:

  

  其中Dist function 是計算Configuration Space中,點與點之間距離的函數。Local Planner 是檢查點與點連線是否在Configuration Space 中經過非自由區域的函數。

  此算法的本質是蒙特卡洛算法。所以原本很容易在GPU上實現並行化。最大的困難還是處於非自由區域檢查部分...

  

  綠色的點為隨機采樣點。

2、在空間中生成一次性路徑的 RRT 算法

  很多時候,我們並不需要生成一整個可以反復使用的map ,我們更需要在空間中尋找到一條可以移動的路徑。比如,無人汽車從A到B ,我們只需要生成一次路徑即可,回頭時障礙物可能已經發生變化。這時候我們使用RRT算法。

  

 其root 為起點與終點,只要最后兩棵樹可以合並,那么則找到了起點到終點的路徑

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM