李炳德,張 莉
(西安工程大學(xué)電子信息學(xué)院,西安710048)
改進(jìn)人工勢場法在機(jī)器人路徑規(guī)劃中的應(yīng)用
李炳德,張 莉
(西安工程大學(xué)電子信息學(xué)院,西安710048)
針對傳統(tǒng)人工勢場法中存在的一些局部極小點(diǎn)問題,提出了一種基于偏轉(zhuǎn)角度的改進(jìn)人工勢場法。針對在傳統(tǒng)的人工勢場法中,障礙物在目標(biāo)點(diǎn)附近使得機(jī)器人不能到達(dá)目標(biāo)點(diǎn)問題,通過加入機(jī)器人與目標(biāo)點(diǎn)之間距離參數(shù)的方法,使得移動機(jī)器人順利到達(dá)指定目標(biāo)點(diǎn)。對于機(jī)器人在行進(jìn)過程中,產(chǎn)生局部極小點(diǎn)問題,即出現(xiàn)合力為零的時(shí)候,在機(jī)器人因受斥力和引力的作用下沿正常角度行駛時(shí)給其加入一個偏轉(zhuǎn)角度,有效解決了路徑規(guī)劃失敗的問題,規(guī)劃出一條平滑無碰撞路徑。通過仿真實(shí)驗(yàn),可以驗(yàn)證算法改進(jìn)的有效性。
機(jī)器人;路徑規(guī)劃;人工勢場法;偏轉(zhuǎn)角度
路徑規(guī)劃是機(jī)器人研究領(lǐng)域的重要分支,它是指移動機(jī)器人按照某一性能指標(biāo)要求搜索一條從起始狀態(tài)到目標(biāo)狀態(tài)最優(yōu)或次優(yōu)路徑的過程。目前根據(jù)機(jī)器人路徑規(guī)劃方法的不同,可以將其分為兩類:傳統(tǒng)路徑規(guī)劃方法和人工智能路徑規(guī)劃方法。傳統(tǒng)的路徑規(guī)劃方法主要有:可視圖法、柵格法、自由空間法、人工勢場法等。智能路徑規(guī)劃方法主要有:專家系統(tǒng)[1]、神經(jīng)網(wǎng)絡(luò)法、模糊算法、遺傳算法和一些仿生學(xué)算法[2]。
人工勢場法是由Khatib等提出的一種虛擬方法,他把移動機(jī)器人在環(huán)境中的運(yùn)動視為在一種抽象的人造受力場中的運(yùn)動:目標(biāo)點(diǎn)對移動機(jī)器人產(chǎn)生引力,障礙物對移動機(jī)器人產(chǎn)生斥力,最后根據(jù)合力來確定機(jī)器人的運(yùn)動。
在傳統(tǒng)人工勢場法的路徑規(guī)劃過程中,當(dāng)障礙物處在機(jī)器人和目標(biāo)點(diǎn)之間,機(jī)器人受到目標(biāo)點(diǎn)的引力和障礙物的斥力,可能出現(xiàn)合力為零的狀態(tài),即存在局部最優(yōu)解,使移動機(jī)器人在到達(dá)目標(biāo)點(diǎn)之前就停留在局部最小點(diǎn),找不到路徑到達(dá)目標(biāo)點(diǎn)。當(dāng)機(jī)器人向斥力勢能減少和引力勢能增加的方向躲避障礙物向目標(biāo)點(diǎn)移動,并且目標(biāo)點(diǎn)離障礙物距離較近時(shí),斥力越來越大,有可能出現(xiàn)引力勢能小于斥力勢能的情況,使得機(jī)器人不能到達(dá)目標(biāo)點(diǎn),使其陷入局部極小狀態(tài)[13]。
針對以上問題,提出了一種改進(jìn)的人工勢場法。當(dāng)障礙物在目標(biāo)點(diǎn)附近,使機(jī)器人不能到達(dá)目標(biāo)點(diǎn)時(shí),提出在斥力場函數(shù)中引入機(jī)器人和目標(biāo)點(diǎn)距離,即距離參數(shù),使得機(jī)器人在目標(biāo)點(diǎn)的時(shí)候,全局勢能為零。當(dāng)障礙物在機(jī)器人和目標(biāo)點(diǎn)之間,使得機(jī)器人受到的合力為零,從而停滯不前時(shí),提出給機(jī)器人加一個偏轉(zhuǎn)角度,使得其繞開障礙物繼續(xù)向目標(biāo)點(diǎn)前進(jìn)。
2.1 人工勢場路徑規(guī)劃法
人工勢場法最初在1986年由Khatib[4-5]提出,起初是應(yīng)用于機(jī)械手抓取物體和移動機(jī)器人導(dǎo)航,具有簡單新穎的特點(diǎn)。其基本思想是仿照物理學(xué)中電場力和電勢的概念,把機(jī)器人運(yùn)動視為一種在虛擬人造力場中的運(yùn)動,以目標(biāo)位置為中心構(gòu)造方向指向目標(biāo)的引力勢場,其大小隨機(jī)器人與目標(biāo)之間距離的增加而單調(diào)遞增,用表示;在障礙物周圍構(gòu)造斥力勢場,并給其一個斥力影響范圍。當(dāng)機(jī)器人處在障礙物處的影響范圍時(shí)受到斥力作用,并隨機(jī)器人與障礙物之間距離的增大而單調(diào)遞減,用表示;所以形成由斥力和引力勢場共同作用的復(fù)合人工勢場,用表示。機(jī)器人在運(yùn)動空間中某一點(diǎn)時(shí)在勢場作用下所受的力是的負(fù)梯度,如下式:
而在整個區(qū)域內(nèi)的引力勢場被定義為:
圖1 傳統(tǒng)人工勢場法受力分析
該力隨機(jī)器人趨近目標(biāo)而逐漸趨近于零。一個經(jīng)常被使用的斥力場公式如下:
2.2 局部問題
傳統(tǒng)的人工勢場法被廣泛應(yīng)用,因?yàn)槠湓砗唵?,容易上手,在一般的機(jī)器人路徑中能規(guī)劃出來一條比較平滑且安全的路徑,但是通過廣泛使用和大量的實(shí)驗(yàn)跟蹤發(fā)現(xiàn),該產(chǎn)生其固有缺陷——局部極小點(diǎn)問題。所謂局部極小點(diǎn)是指空間內(nèi)的某些區(qū)域由于受多個勢函數(shù)的作用造成了斥力與引力的平衡點(diǎn),使得機(jī)器人不能到達(dá)目標(biāo)點(diǎn)[6]。主要有兩方面問題。
(1)目標(biāo)不可達(dá)問題
當(dāng)目標(biāo)點(diǎn)在障礙物的影響范圍之內(nèi)時(shí),障礙物斥力快速增強(qiáng),引力減小,在兩者相等時(shí)機(jī)器人停在目標(biāo)前某一點(diǎn)使路徑規(guī)劃失敗。
(2)局部極小點(diǎn)問題
機(jī)器人未到達(dá)目標(biāo)點(diǎn)時(shí),多個障礙物形成的斥力和目標(biāo)點(diǎn)引力的合力為零,此時(shí)斥力與引力大小相等,機(jī)器人停在障礙物前某一點(diǎn),使其不能到達(dá)目標(biāo)點(diǎn),路徑規(guī)劃失敗。
3.1 目標(biāo)不可達(dá)問題的解決
目標(biāo)不可達(dá)問題存在的主要原因是:當(dāng)目標(biāo)在障礙物的影響范圍之內(nèi)時(shí),整個勢場的全局最小點(diǎn)并不是目標(biāo)點(diǎn)。因?yàn)?,?dāng)機(jī)器人向目標(biāo)逼近時(shí),障礙物的勢場快速增加,使機(jī)器人偏離目標(biāo)點(diǎn)移動。該問題存在的根本原因是目標(biāo)點(diǎn)并不是整個勢場的全局最小點(diǎn),針對該問題,對斥力勢場函數(shù)實(shí)施改進(jìn)。通過引入目標(biāo)與機(jī)器人的相對距離,將原有斥力勢場函數(shù)乘以一個距離參數(shù)(X-Xgo)n,使機(jī)器人在目標(biāo)位置處合力為零,那么目標(biāo)點(diǎn)將仍然是整個勢場的全局最小點(diǎn)[6]。為此,保留目標(biāo)點(diǎn)的引力場函數(shù)不變,修正障礙物的斥力場函數(shù)為:
式中:krep為斥力勢場正比例增益系數(shù);ρ(X)為機(jī)器人在空間位置與障礙物的最短距離;ρ0為單個障礙物的最大影響距離,是預(yù)先設(shè)定好的,主要取決于機(jī)器人的運(yùn)動速度和減速能力。當(dāng)機(jī)器人與障礙物的距離大于ρ0時(shí)斥力勢場對機(jī)器人的運(yùn)動不再有影響,其中n是一個大于零的任意實(shí)數(shù)。
(X-Xgo)n=|(x-xgo)n|+|(y-ygo)n|為機(jī)器人與目標(biāo)間的相對距離,與傳統(tǒng)人工勢場斥力函數(shù)相比,引入了機(jī)器人與目標(biāo)間的相對距離,從而保證了整個勢場僅在目標(biāo)點(diǎn)全局最小。則斥力為斥力勢函數(shù)的負(fù)梯度
式中Fb1(X)和Fb2(X)為Fb(X)的2個分力。這樣,在機(jī)器人到達(dá)目標(biāo)點(diǎn)之前,不可能出現(xiàn)合力為零的情況,從而解決了目標(biāo)與障礙物距離過近導(dǎo)致目標(biāo)不可達(dá)的問題。
圖2 引入距離參數(shù)后機(jī)器人的受力情況
將斥力Fb(X)分解為Fb1(X)和Fb2(X),F(xiàn)b2(X)的方向?yàn)閺臋C(jī)器人指向目標(biāo)點(diǎn),對于機(jī)器人、目標(biāo)點(diǎn)、障礙物在同一直線且障礙物不在中間時(shí),定義Fb1(X)與Fb2(X)同向,而對于上述兩種情況將Fb1(X)的方向定義為與障礙物的影響范圍相切,且與引力向量的內(nèi)積大于等于零,即與引力的方向不大于90度,如圖2所示。這樣,在機(jī)器人到達(dá)目標(biāo)之前,不可能出現(xiàn)合力為零的情況,從而能夠完全避免陷入局部極小點(diǎn)的問題[7]。
3.2 局部極小值問題的解決
當(dāng)移動機(jī)器人搜索路徑時(shí),會出現(xiàn)特殊問題,陷入局部極小值點(diǎn),產(chǎn)生鎖死現(xiàn)象[8]。在機(jī)器人的行進(jìn)空間中,分布一個或多個障礙物,當(dāng)其在某一點(diǎn)時(shí),目標(biāo)點(diǎn)對機(jī)器人產(chǎn)生的引力與機(jī)器人受到多個障礙物的斥力大小相等方向相反,此時(shí)機(jī)器人所受到的勢場合力,停滯不前,陷入局部極小值點(diǎn),從而導(dǎo)致路徑規(guī)劃失敗。
采用了一種偏轉(zhuǎn)角度的方法來解決機(jī)器人陷入局部極小值點(diǎn)的問題。此時(shí),在機(jī)器人因受斥力和引力的作用下沿正常角度行駛時(shí)給其加入一個偏轉(zhuǎn)角度,此偏角度主要是給機(jī)器人重新定義一個運(yùn)動方向,使其偏離原來的陷入局部極小點(diǎn)的運(yùn)動方向,具體做法是沿著目標(biāo)點(diǎn)與機(jī)器人當(dāng)前位置連線的方向順時(shí)針或者逆時(shí)針偏轉(zhuǎn)一個0~π/2的角度,其中k的取值為0~1,是一個逐漸增加的實(shí)數(shù),因?yàn)樵?~π/2的角度下偏轉(zhuǎn),能規(guī)劃出一條相對較優(yōu)的路徑,之后將偏轉(zhuǎn)kπ/2角度后的方向作為機(jī)器人下一步移動的方向。在k值不斷從小到大變化中,機(jī)器人對應(yīng)逐步搜索,判斷其受到的合力,如果機(jī)器人轉(zhuǎn)動一個角度后判斷其合力不為零,那么就能使其走出局部極小點(diǎn),機(jī)器人就會在勢場合力的作用下繼續(xù)搜索到達(dá)目標(biāo)的路徑;如果判斷其合力還為零,那么它沒有走出局部極小點(diǎn),則繼續(xù)隨著k的變化增大偏轉(zhuǎn)角度,此時(shí)它的偏轉(zhuǎn)方向也較大,直到逃離局部極小值點(diǎn)。在機(jī)器人行進(jìn)過程中,步長l保持不變,使其搜尋的路徑?jīng)]有斷點(diǎn),即一直采用初始化步長。上述改進(jìn)的算法路徑規(guī)劃流程如圖3所示。
為了驗(yàn)證改進(jìn)的人工勢場法的有效性,在MATLAB2008a下進(jìn)行仿真實(shí)驗(yàn)。
(1)針對機(jī)器人不能到達(dá)目標(biāo)點(diǎn)問題進(jìn)行仿真。在該仿真實(shí)驗(yàn)環(huán)境中,區(qū)域空間是10×10的二維空間,空間有6個障礙物點(diǎn),機(jī)器人從空間區(qū)域的左下角(0,0)點(diǎn)為起始位置點(diǎn),(10,10)為目標(biāo)位置點(diǎn),取實(shí)驗(yàn)參數(shù)k=30,m=25,Po=1.2,N=6,T=100,l=0.2,kk=0(其中k為引力需要的增益系數(shù),m為斥力增益系數(shù),T為迭代次數(shù),Po為障礙物的影響距離,N為障礙物個數(shù),l為機(jī)器人步長,kk為偏移角度系數(shù)的初始值)。
圖4和圖5是針對機(jī)器人不能到達(dá)目標(biāo)點(diǎn)問題,傳統(tǒng)人工勢場法和引入距離調(diào)節(jié)因子的改進(jìn)人工勢場法的仿真圖??梢钥闯?,在傳統(tǒng)的人工勢場法基礎(chǔ)上加入距離參數(shù)后,機(jī)器人能準(zhǔn)確地到達(dá)目標(biāo)點(diǎn),路徑軌跡也較平滑。
圖3 改進(jìn)人工勢場法的算法流程
圖4 加入距離參數(shù)前
(2)針對機(jī)器人合力為零時(shí)的局部極小點(diǎn)進(jìn)行仿真。在該仿真實(shí)驗(yàn)環(huán)境中,區(qū)域空間也是10×10的二維空間,空間有10個障礙物點(diǎn),機(jī)器人從空間區(qū)域的左下角(0,0)點(diǎn)為起始位置點(diǎn),(10,10)為目標(biāo)位置點(diǎn),取實(shí)驗(yàn)參數(shù)k=30,m=25,Po=1.2,T=100,N=10,l=0.2,kk=0。
圖5 加入距離參數(shù)后
圖6和圖7分別是針對機(jī)器人在合力為零的局部極小點(diǎn)問題,傳統(tǒng)人工勢場法和基于偏移角度的改進(jìn)人工勢場法的仿真圖??梢钥闯?,在機(jī)器人行進(jìn)過程中出現(xiàn)的合力為零的局部極小點(diǎn),致使機(jī)器人停滯不前,通過引入偏移角度可以使機(jī)器人順利避開障礙物到達(dá)目標(biāo)點(diǎn)。
圖6 局部極小點(diǎn)合力為零時(shí)機(jī)器人路徑
圖7 合力為零時(shí),引入偏移角度后的機(jī)器人路徑
人工勢場法是一種非常有效的靜態(tài)路徑規(guī)劃方法[9],但在動態(tài)和多障礙物環(huán)境下存在很多問題。本文對傳統(tǒng)的人工勢場法做了詳細(xì)分析,并對所遇到的目標(biāo)不可達(dá)和局部極小值點(diǎn)問題進(jìn)行了改進(jìn)。對于障礙物在目標(biāo)點(diǎn)附近而引起的機(jī)器人受到斥力勢場和引力勢場同時(shí)增大而出現(xiàn)的目標(biāo)不可達(dá)問題,采用在傳統(tǒng)應(yīng)用的斥力勢場函數(shù)中增加一個機(jī)器人與目標(biāo)點(diǎn)相對距離參數(shù)的方法,使得機(jī)器人能準(zhǔn)確到達(dá)目標(biāo)點(diǎn)。針對運(yùn)動空間中出現(xiàn)多個障礙物,使得機(jī)器人受到的合力為零從而陷入局部極小值點(diǎn)的情況,采用了給機(jī)器人增加一個偏轉(zhuǎn)角度的方法,使機(jī)器人逃離局部極小點(diǎn),能避開障礙物迅速向目標(biāo)點(diǎn)移動,解決了機(jī)器不能找到路徑的問題,節(jié)省了規(guī)劃時(shí)間。以上仿真結(jié)果表明了方法的有效性。
[1]周宏.人工智能技術(shù)在足球機(jī)器人中的應(yīng)用[J].考試周刊,2013(3):130-131.
[2]周金良,黃彥文,曹其新.對抗環(huán)境下足球機(jī)器人路徑規(guī)劃[J].上海交通大學(xué)學(xué)報(bào),2006,11(11):1828-1831.
[3]田麗平.基于Robocup足球機(jī)器人路徑規(guī)劃與軌跡跟蹤的研究[D].沈陽:東北大學(xué),2009.
[4]KHATIB O.Real-time obstacle avoidance formanipulators and mobile robots[J].Inter.J.Robotics Research,1986,5(1):90-98.
[5]M B Metea.Planning for intelligence autonomous land vehi-cles using hierarchical terrain representation[A].In:Proc of IEEE Int Conf on Robotics and Automation[C].1987:1947-1952.
[6]劉濤,李海濱,段志信.基于人工力場的移動機(jī)器人路徑規(guī)劃研究[J].計(jì)算機(jī)仿真,2007,(11):144-146,197.
[7]盧恩超,張鄧斕,寧雅男,等.改進(jìn)人工勢場法的機(jī)器人路徑規(guī)劃[J].西北大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,42(5):735-738.
[8]劉洲洲.基于改進(jìn)人工勢場法的智能無人車路徑規(guī)劃仿真研究[J].計(jì)算技術(shù)與自動化,2013,32(2):133-136.
[9]張建英,劉暾.基于人工勢場法的移動機(jī)器人最優(yōu)路徑規(guī)劃[J].航空學(xué)報(bào),2007(S1):184-188.
Application of Robot Path Planning Based on Artificial Potential Field Method
LIBing-de,ZHANG Li
(The Electronic Information Academy,Xi’an Polytechnic University,Xi’an 710048,China)
The paper presents an artificial potential field method based on angular deflection to overcome localminimum problem in traditional artificial potential field.Because the issue that themobile robot can not reach the goal in the traditional artificial potential field method,the paper presents a new repulsive potential function considering the relative distance between the robot and the goal tomake robot reach the goal.As for localminimum problem when resultant force is zero,the paper presents angular deflection to overcome the failure of path planning,at the same time,the robot are successfully planning a smooth path without collision.The simulation results prove the effectiveness of thismethod.
Robot;Path planning;Artificial potential field;Angular deflection
10.3969/j.issn.1002-2279.2014.05.015
TP242
:A
:1002-2279(2014)05-0051-05
李炳德(1989-),男,陜西榆林人,碩士研究生,主研方向:嵌入式與系統(tǒng)仿真。
2014-03-21