隨機路徑圖法(PRM)
1. 介紹
隨機路徑圖法由Lydia E. 等人在1996年提出,它的優點在於:
1)克服了以往一些路徑規劃方法易於陷入局部極小的缺點
2)可應用於多自由度的機器人的路徑規劃中
3)計算量小
主要的應用背景有:
1)核反應工廠冷卻管的維護
2)汽車裝配時點對點的焊接
3)飛機機身的清理
4)飛機引擎維護時拆解行爲規劃
用隨機路徑圖(PRM)法尋找給定地圖中兩點之間的路徑,PRM進行路徑規劃的步驟:
學習階段:在給定圖的自由空間裏隨機撒點(自定義個數),構建一個路徑網絡圖。
查詢階段:查詢從一個起點到一個終點的路徑。
2. PRM學習階段
A. 構造無向路徑網絡圖R=(N,E),其中N代表隨機點集,E代表所有可能的兩點之間的路徑集。
構造過程的僞代碼如下:
1)怎樣隨機撒點?(僞代碼第(4)步)
a. 必須是自由空間裏的隨機點
b. 每個點都要確保機器人與障礙物無碰撞
2)怎麼構造區域規劃器,連接兩點?(僞代碼第(8))
a. 保證區域規劃器的確定性和快速性
b. 均衡單次調用的時間和總的調用次數
c. 離散化局部路徑,進行防撞檢查
3)通過什麼規則來選取鄰域點?(僞代碼第(5)步)
a. 領域點的距離在一定範圍
b. 領域點的個數有上限
4)如何選擇距離函數D(僞代碼第(7)步)
該部分內容旨在找出那些在“困難”區域的點,並且擴充這一區域點的個數。通過給每個點引入權重係數w(c)來決定那些區域需要增加點。
啓發式的權重選擇法:
I. w(c)與一定半徑範圍內鄰點的個數成反比
II. w(c)與最近的沒有和c相連點的距離成反比
III. 局部規劃器與c點連接失敗的概率成正比
3. PRM查詢階段
1)將s和g點與路徑網絡中的兩個點x,y分別連接
2)尋找無向路徑網絡圖中x與y連接的路徑,這樣就可以將起點和終點連接起來,構成全局路徑。
3)得到全局路徑後,可以使用平滑的方法尋找捷徑,優化路徑。
主要的難點在於尋找s到x的路徑,g到y點的路徑。採用局部規劃器和距離函數D結合的方法尋找。如果失敗了,就採用random-bounce行走的方法尋找連接路徑。
可參照MathWorks官網中ROS系統下的路徑規劃瞭解其MATLAB代碼的實現。
參考文獻:
[1] L.E. Kavraki, P. Svestka, J.-C. Latombe, M.H. Overmars, "Probabilistic roadmaps for path planning in high-dimensional configuration spaces," IEEE Transactions on Robotics and Automation, vol. 12, no. 4, pp. 566-580, Aug 1996.
[2] http://cn.mathworks.com/help/robotics/examples/path-planning-in-environments-of-different-complexity.html