日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

局部路径规划中的人工势场法

發布時間:2023/12/31 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 局部路径规划中的人工势场法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

人工勢場法是局部路徑規劃的一種比較常用的方法。這種方法假設機器人在一種虛擬力場下運動。

一、簡介

如圖所示,機器人在一個二維環境下運動,圖中指出了機器人,障礙和目標之間的相對位置。?

?

這個圖比較清晰的說明了人工勢場法的作用,物體的初始點在一個較高的“山頭”上,要到達的目標點在“山腳”下,這就形成了一種勢場,物體在這種勢的引導下,避開障礙物,到達目標點。

人工勢場包括引力場和斥力場,其中目標點對物體產生引力,引導物體朝向其運動(這一點有點類似于A*算法中的啟發函數h)。障礙物對物體產生斥力,避免物體與之發生碰撞。物體在路徑上每一點所受的合力等于這一點所有斥力和引力的和。這里的關鍵是如何構建引力場和斥力場。下面我們分別討論一下:

引力場:

常用的引力函數:

這里的ε是尺度因子.ρ(q,q_goal)表示物體當前狀態與目標的距離。引力場有了,那么引力就是引力場對距離的導數(類比物理里面W=FX)(這個計算不一定對,具體在使用時,還是好好求導,或者查一下引力函數的導數):

關于梯度的算法可以參考相關資料,簡單提一下,二元函數梯度是醬紫的[δx,δy],這個符號是偏導數,不太對,見諒。

?Fig .引力場模型(相同樣色的區域表示其與目標之間產生的引力相同,右上角最遠,引力最大,左下角是目標點,引力為0)

斥力場:

公式(3)是傳統的斥力場公式,現在還沒有搞清楚是怎么推導出來的。公式中η是斥力尺度因子,ρ(q,q_obs)代表物體和障礙物之間的距離。ρ_0代表每個障礙物的影響半徑。換言之,離開一定的距離,障礙物就對物體沒有斥力影響。

斥力就是斥力場的梯度

?

?

?Fig 斥力場模型(相同顏色的位置說明該位置與障礙物的之間的斥力相同,特別需要注意的是兩個“山頂”區域,它們處于障礙物本體上,斥力為0。此圖只說明兩個障礙物與區域內各位置之間的斥力,不考慮目標所在位置。)

總的場就是斥力場和引力場的疊加,也就是U=U_att+U_rep,總的力也是對對應的分力的疊加(下圖只是兩個場的疊加,并不會力的疊加),如下圖所示:

二、存在的問題

(a) 當物體離目標點比較遠時,引力將變的特別大,相對較小的斥力在甚至可以忽略的情況下,物體路徑上可能會碰到障礙物
(b)當目標點附近有障礙物時,斥力將非常大,引力相對較小,物體很難到達目標點
(c)在某個點,引力和斥力剛好大小相等,方向想反,則物體容易陷入局部最優解或震蕩

三、各種改進版本的人工勢場法

(a)對于可能會碰到障礙物的問題,可以通過修正引力函數來解決,避免由于離目標點太遠導致引力過大

和(1)式相比,(5)式增加了范圍限定。d*_goal 給定了一個閾值限定了目標和物體之間的距離。對應的梯度也就是引力相應變成:

?

b)目標點附近有障礙物導致目標不可達的問題,引入一種新的斥力函數

這里在原有斥力場的基礎上,加上了目標和物體距離的影響,(n是正數,我看到有篇文獻上n=2)。直觀上來說,物體靠近目標時,雖然斥力場要增大,但是距離在減少,所以在一定程度上可以起到對斥力場的拖拽作用

相應斥力變成:

?

所以可以看到這里引力分為兩個部分,編程時要格外注意
(c)局部最優問題是一個人工勢場法的一個大問題,這里可以通過加一個隨機擾動,讓物體跳出局部最優值。類似于梯度下降法局部最優值的解決方案。

四、代碼整理

網上matlab 寫的代碼良莠不齊,bug很多,正在驗證,通過了會貼上來。
綜合了網上的各種代碼,發現基本都是出自一個人的matlab code,然后改成自己的。但是最開始哪個版本的code應該是有很多的錯誤,尤其集中在計算角度和斥力的子函數上,經過很多人的修改,這個代碼已經改的相對比較完善了,整理了一下,具體實現可以參考:改進版maltab 程序
國外的一款友好的matlab人工勢場法程序(附詳細說明文檔)

資料鏈接

路徑規劃算法初探http://blog.csdn.net/u011978022/article/details/49912515

關于人工勢場方法的研http://kovan.ceng.metu.edu.tr/~kadir/academia/courses/grad/cs548/hmws/hw2/report/apf.pdf

人工勢場方法整理http://letsmakerobots.com/artificial-potential-field-approach-and-its-problems

人工勢場方法的改進版本http://www.doc88.com/p-738493052458.html

人工勢場方法論壇版 http://www.ilovematlab.cn/thread-188840-1-1.html

人工勢場法matlab 程序末點震蕩版:http://download.csdn.net/detail/programming2015/8589191#comment

人工勢場法簡介PPThttp://www.cs.cmu.edu/~motionplanning/lecture/Chap4-Potential-Field_howie.pdf

人工勢場法matlab程序改進成功版本:http://www.ilovematlab.cn/thread-93531-1-1.html

總結

以上是生活随笔為你收集整理的局部路径规划中的人工势场法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。