Robotics: Computational Motion Planning(路径规划)笔记(完):人工势场法(Artificial Potential Fields)
在上一個章節(jié)中,我們討論了基于采樣的方法-PRM和RRT算法,在本章節(jié)中,我們將討論人工勢場法(Artificial Potential Fields),這是另一種路徑規(guī)劃方法,主要思想就是在配置空間內(nèi)構(gòu)造一個平滑函數(shù),機器人會根據(jù)函數(shù)的梯度方向向目標點移動,同時躲避障礙物。
人工勢場法(Artificial Potential Fields)
人工勢場法的主要內(nèi)容就是構(gòu)造一個函數(shù),當機器人靠近障礙物時,其值會變高,當機器人靠近目標點時,其值會變低。同時,我們還希望此函數(shù)在所需的目標位置具有最低值。如果我們可以構(gòu)造這樣一個函數(shù),我們可以使用它的梯度來引導(dǎo)機器人到達目標點。
構(gòu)造引力場(Constructing an Attractive Potential Field)
構(gòu)建引力場其實很簡單,只需要考慮當前時刻機器人與目標點的位置,那么我們可以用一個度量距離的方法,比如歐氏距離,這樣就會在目標處的值為零,并且其值會隨著機器人遠離它而增加:
其中,?為配置空間中的某一個位置,?為目標點的位置,??只是一個縮放因子(常數(shù)值),這個函數(shù)我們就稱之為引力函數(shù),能將機器人吸引到目標點。
這樣子我們就得到一個引力場,它的樣子是這樣的:
?引力場的樣子就像一個坡,越遠離目標點的地方越高,目標點的地勢最低。
構(gòu)造斥力場(Constructing a Repulsive Potential Field)?
除了到達目標點,我們還希望機器人避開環(huán)境中的障礙物。為此我們也會構(gòu)建一個斥力函數(shù),讓機器人遠離障礙物:
其中??表示機器人在當前位置距離最近障礙物的值,?也只是一個縮放因子(常數(shù)值),?控制斥力函數(shù)的影響范圍,當機器人與障礙物的距離大于?,這個函數(shù)的值就為0。
這樣子我們就可以根據(jù)地圖的障礙物信息得到一個斥力場,它的樣子是這樣的:
通過將引力場和斥力場相加,就可以得到:
那么我們可以把機器人的位置當作一個小球,那么小球就可以根據(jù)梯度移動到目的點,就好像由于重力從高處向低處滾落。?
局限性
通過人工勢場法進行路徑規(guī)劃有時候會出現(xiàn)局部最小值的問題,例如我們考慮下面這種情況,地圖是這樣的,機器人在左上方,目標點在右下方(紅點處):?
下圖就是小球通過人工勢場法移動的結(jié)果,可以看到,小球卡在了中間的障礙物里,這表明小球現(xiàn)在處于吸引力和排斥力相加的局部最小值的位置。這意味著, 簡單的基于梯度的控制策略可能會也可能不會收斂于目標點,這取決于機器人起點的位置。
所以現(xiàn)在主流的路徑規(guī)劃算法都不會單純地只使用這種基于梯度的算法,但是這種算法可以當作路徑規(guī)劃算法中的一部分,比如用在局部規(guī)劃器或者重規(guī)劃中,用來保證機器人快速向目標點靠近。
?
?
總結(jié)
以上是生活随笔為你收集整理的Robotics: Computational Motion Planning(路径规划)笔记(完):人工势场法(Artificial Potential Fields)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Matlab画图设置指数坐标
- 下一篇: qq音乐主页 思路解析(及代码)