張佳尚,陳志華
(南京理工大學(xué) 瞬態(tài)物理國(guó)家重點(diǎn)實(shí)驗(yàn)室, 南京 210094)
路徑規(guī)劃是保證移動(dòng)機(jī)器人自主導(dǎo)航能夠穩(wěn)定運(yùn)行的關(guān)鍵技術(shù)之一,吸引了眾多學(xué)者對(duì)路徑規(guī)劃算法進(jìn)行研究。人工勢(shì)場(chǎng)法(artificial potential field,APF)是由Khatib提出的一種用于機(jī)器人路徑規(guī)劃的算法[1]。人工勢(shì)場(chǎng)法具有直觀,對(duì)運(yùn)算量要求不高,可以跟機(jī)器人的控制相結(jié)合[2]的特點(diǎn),因此得到了廣泛的應(yīng)用。但傳統(tǒng)人工勢(shì)場(chǎng)法并不是完備的,在實(shí)際應(yīng)用中無(wú)法避開(kāi)陷入局部極小點(diǎn)與目標(biāo)點(diǎn)不可達(dá)問(wèn)題。解決傳統(tǒng)人工勢(shì)場(chǎng)法的易陷入局部極小點(diǎn)問(wèn)題的改進(jìn)方法主要分成2個(gè)方向:一種是構(gòu)造合適的勢(shì)場(chǎng)函數(shù)以減小或避免局部極小點(diǎn)的出現(xiàn);另一種是將人工勢(shì)場(chǎng)法與其他的算法結(jié)合[3],從而改善傳統(tǒng)人工勢(shì)場(chǎng)法的缺陷?,F(xiàn)有的研究成果中運(yùn)用第一種方法的有:Liu等[4]提出的通過(guò)優(yōu)化斥力勢(shì)場(chǎng)函數(shù),調(diào)整斥力分量在坐標(biāo)軸上的方向,來(lái)解決傳統(tǒng)人工勢(shì)場(chǎng)法的局部極小值缺陷。Qi等[5]通過(guò)引入動(dòng)態(tài)調(diào)整系數(shù),對(duì)傳統(tǒng)人工勢(shì)場(chǎng)法中的引力和斥力函數(shù)進(jìn)行改進(jìn),使避障安全系數(shù)更高,路徑更平滑。針對(duì)目標(biāo)不可達(dá)問(wèn)題,在引力函數(shù)中構(gòu)建新的引力勢(shì)場(chǎng),能夠高效地解決無(wú)人機(jī)的路徑規(guī)劃避障問(wèn)題。Zhang等[6]提出了一種在斥力函數(shù)中加入一個(gè)繞行力來(lái)改進(jìn)斥力函數(shù)的方法,同樣可以有效地解決局部極小點(diǎn)問(wèn)題。運(yùn)用第2種方法的有:郭梟鵬[7]提出融合人工勢(shì)場(chǎng)法與快速擴(kuò)展隨機(jī)樹(shù)算法(rapidly-exploring random tree,RRT)的特性,通過(guò)RRT算法與人工勢(shì)場(chǎng)法優(yōu)勢(shì)互補(bǔ)同時(shí)解決各自的缺陷,通過(guò)多個(gè)算法的對(duì)比實(shí)驗(yàn),證明了APF-RRT算法具有良好的適用性。本文的改進(jìn)方向是基于第2種改進(jìn)方法,通過(guò)將預(yù)添加虛擬力的算法與傳統(tǒng)人工勢(shì)場(chǎng)算法結(jié)合改良傳統(tǒng)人工勢(shì)場(chǎng)法的缺陷。通過(guò)設(shè)置的五組仿真實(shí)驗(yàn)結(jié)果與傳統(tǒng)人工勢(shì)場(chǎng)法的仿真結(jié)果對(duì)比,分別驗(yàn)證了在環(huán)境中存在一個(gè)與多個(gè)障礙物的情況下基于預(yù)添加虛擬力的改進(jìn)人工勢(shì)場(chǎng)算法的可行性與有效性。證明了改良算法能夠解決傳統(tǒng)人工勢(shì)場(chǎng)算法易陷入局部極小值與目標(biāo)點(diǎn)不可達(dá)的問(wèn)題。相較于其他的第二種改良方向的方法,例如通過(guò)設(shè)置虛擬目標(biāo)點(diǎn)、人工勢(shì)場(chǎng)法結(jié)合蟻群算法[8]、人工勢(shì)場(chǎng)法結(jié)合粒子群算法[9-10]、人工勢(shì)場(chǎng)法結(jié)合快速擴(kuò)展隨機(jī)樹(shù)算法[11]等改良方向,本文提出的改良方法具有計(jì)算量小,規(guī)劃速度快,實(shí)時(shí)性好,規(guī)劃路徑更短等優(yōu)點(diǎn)。
人工勢(shì)場(chǎng)法是一種通過(guò)將障礙物和目標(biāo)點(diǎn)抽象為斥力與引力虛擬勢(shì)場(chǎng)的算法,讓目標(biāo)點(diǎn)處于谷底,距離目標(biāo)點(diǎn)越遠(yuǎn)的位置上引力勢(shì)場(chǎng)越高,同時(shí)為了避免碰撞,在障礙物四周添加排斥勢(shì)場(chǎng)[12-13]。圖1為利用傳統(tǒng)人工勢(shì)場(chǎng)法得到的勢(shì)場(chǎng)中的軌跡,其中藍(lán)色箭頭為勢(shì)場(chǎng)線,箭頭越長(zhǎng)代表該位置的引力或斥力越大,紅線為規(guī)劃的軌跡。機(jī)器人距離目標(biāo)點(diǎn)越遠(yuǎn),受到目標(biāo)點(diǎn)的引力越強(qiáng),機(jī)器人在障礙物影響范圍內(nèi)離障礙物越近受到的排斥力越強(qiáng),當(dāng)機(jī)器人不在障礙物影響范圍內(nèi)時(shí)不會(huì)受到排斥力。人工勢(shì)場(chǎng)法會(huì)根據(jù)機(jī)器人在勢(shì)場(chǎng)中的受力情況,沿著所受到的引力與斥力合力的方向自主規(guī)劃出一條能夠到達(dá)目標(biāo)點(diǎn)的最優(yōu)路徑。
人工勢(shì)場(chǎng)法模型分為引力場(chǎng)模型與斥力場(chǎng)模型。
引力場(chǎng)與引力模型:
(1)
(2)
其中:Uatt為引力勢(shì)場(chǎng)強(qiáng)度;Fatt為機(jī)器人所受的引力;katt為引力勢(shì)場(chǎng)增益系數(shù);dg為機(jī)器人到目標(biāo)點(diǎn)的直線距離;grad(·)為求·的梯度;m為常數(shù),通常取值為2;eg為機(jī)器人到目標(biāo)點(diǎn)的單位矢量。
排斥勢(shì)場(chǎng)與斥力模型:
(3)
(4)
(5)
其中:kUrep為第k個(gè)障礙物的排斥勢(shì)場(chǎng)強(qiáng)度;krep為排斥勢(shì)場(chǎng)增益系數(shù);kdo為機(jī)器人到第k個(gè)障礙物的直線距離;dd為障礙物的影響范圍;keo為機(jī)器人到第k個(gè)障礙物的單位矢量;kFrep為第k個(gè)障礙物對(duì)機(jī)器人的排斥力;Frep為機(jī)器人在勢(shì)場(chǎng)中受到的所以排斥力的合力。
合勢(shì)場(chǎng)與合力模型:
Utol=Uatt+Urep
(6)
(7)
其中:Utol為合勢(shì)場(chǎng)強(qiáng)度;Ftol為機(jī)器人所受的合力。
傳統(tǒng)人工勢(shì)場(chǎng)法常面臨的問(wèn)題有:
1) 易陷入局部極小點(diǎn)[14]。即當(dāng)勢(shì)場(chǎng)中出現(xiàn)除目標(biāo)點(diǎn)外其他合力為零的點(diǎn),使機(jī)器人在到達(dá)該點(diǎn)后無(wú)法再向目標(biāo)點(diǎn)移動(dòng)的現(xiàn)象。
2) 當(dāng)目標(biāo)點(diǎn)在障礙物影響范圍內(nèi)時(shí)可能存在目標(biāo)點(diǎn)不可達(dá)的問(wèn)題[15]。即當(dāng)機(jī)器人接近目標(biāo)點(diǎn)時(shí),其所受到的引力會(huì)逐漸減小,若此時(shí)目標(biāo)點(diǎn)恰好在障礙物的影響范圍內(nèi),其所受到的排斥力會(huì)因機(jī)器人靠近目標(biāo)點(diǎn)的同時(shí)靠近障礙物而不斷增大且與引力方向相反,就會(huì)使機(jī)器人停在某一點(diǎn)(局部極小點(diǎn))或發(fā)生抖動(dòng),導(dǎo)致無(wú)法到達(dá)目標(biāo)點(diǎn)的現(xiàn)象。目標(biāo)點(diǎn)不可達(dá)問(wèn)題可以看作是陷入局部極小點(diǎn)問(wèn)題的特例,不同于其他陷入局部極小點(diǎn)問(wèn)題的是此時(shí)的目標(biāo)點(diǎn)不再是全局極小點(diǎn),使得機(jī)器人到達(dá)不了目標(biāo)點(diǎn)而陷入局部極小點(diǎn)。
傳統(tǒng)人工勢(shì)場(chǎng)法存在著缺陷,在應(yīng)用中會(huì)面臨很多問(wèn)題導(dǎo)致機(jī)器人無(wú)法安全到達(dá)目標(biāo)點(diǎn),要想在實(shí)際中運(yùn)用必須進(jìn)行改進(jìn),在本文中提出了將傳統(tǒng)人工勢(shì)場(chǎng)算法結(jié)合預(yù)添加虛擬力的方法改良傳統(tǒng)人工勢(shì)場(chǎng)法的缺陷,具體改進(jìn)方法見(jiàn)下文。
針對(duì)易陷入局部極小值點(diǎn)的問(wèn)題,提出的解決方法如下:
但丁韙良也是京師同文館的教習(xí),其譯文表述必須借助中國(guó)譯員的協(xié)助,方能將浸淫傳統(tǒng)理學(xué)、只識(shí)文言文的清朝大員納入目標(biāo)讀者群的序列。這就給了本土文化的主導(dǎo)意識(shí)形態(tài)控制譯者聲音的可乘之機(jī)。畢竟以培養(yǎng)中國(guó)譯員為目標(biāo)的京師同文館本身即清政府的官辦機(jī)構(gòu)。
第1步:當(dāng)利用傳統(tǒng)人工勢(shì)場(chǎng)算法達(dá)到設(shè)置的最大迭代次數(shù)但規(guī)劃的軌跡未達(dá)到目標(biāo)點(diǎn)時(shí)判斷目標(biāo)點(diǎn)處的合勢(shì)場(chǎng)是否為零,若為零則進(jìn)行第2步。若不為零,則可得知系統(tǒng)陷入目標(biāo)點(diǎn)不可達(dá)問(wèn)題,直接結(jié)束此進(jìn)程,進(jìn)入解決目標(biāo)點(diǎn)不可達(dá)問(wèn)題的子程序。
第2步:通過(guò)給原人工勢(shì)場(chǎng)預(yù)添加幾個(gè)指定方向的虛擬力(具體方法在下文給出),得到機(jī)器人在勢(shì)場(chǎng)中受到的新合力,根據(jù)新合力繼續(xù)規(guī)劃路徑,使機(jī)器人能夠逃離局部極小點(diǎn),到達(dá)下一個(gè)極小點(diǎn)(可能為目標(biāo)點(diǎn))且不碰撞障礙物,得到幾條可行的路徑。
第3步:若出現(xiàn)幾個(gè)預(yù)選方向到達(dá)的下一個(gè)極小點(diǎn)仍是局部極小點(diǎn)而存在其他預(yù)選方向可到達(dá)的下一個(gè)極小點(diǎn)是目標(biāo)點(diǎn)則將再次陷入局部極小點(diǎn)的幾條路徑重新執(zhí)行第2步。在舍棄不合理的預(yù)添加虛擬力的方向后規(guī)劃出可以到達(dá)目標(biāo)點(diǎn)的幾條軌跡。然后分別計(jì)算每條預(yù)添加虛擬力方向的預(yù)規(guī)劃路徑的路程,選取其中路程最短的方向確定為最優(yōu)虛擬力方向,若出現(xiàn)兩條路程相同的路徑選取預(yù)添加虛擬力方向與用傳統(tǒng)人工勢(shì)場(chǎng)法規(guī)劃出的陷入局部極小點(diǎn)的路徑間夾角最小的一條路徑,若為對(duì)稱(chēng)路徑選擇改進(jìn)算法先得到的一條路徑,然后結(jié)束算法進(jìn)程。
預(yù)添加虛擬力方法中最重要問(wèn)題的是如何選擇合適的時(shí)機(jī)去掉預(yù)添加虛擬力。在本文中選擇當(dāng)達(dá)到設(shè)定的最大迭代次數(shù)或新規(guī)劃的軌跡點(diǎn)與目標(biāo)點(diǎn)的連線之間沒(méi)有障礙物時(shí),則去掉預(yù)添加虛擬力,此方法可有效避免與障礙物發(fā)生碰撞并減少冗余路徑,得到最優(yōu)路徑。若想使預(yù)添加虛擬力的方向更接近最優(yōu),可以通過(guò)更加細(xì)化等分預(yù)添加虛擬力的角度的方法,并且等分的角度越小預(yù)添加虛擬力的方向就越精確,但是如果細(xì)化等分的角度過(guò)小,將會(huì)延長(zhǎng)規(guī)劃多個(gè)方向路徑與計(jì)算路徑長(zhǎng)度的時(shí)間,從而在一定程度上影響改進(jìn)人工勢(shì)場(chǎng)法避障的實(shí)時(shí)性。
針對(duì)目標(biāo)點(diǎn)在障礙物附近時(shí)可能存在目標(biāo)不可達(dá)的問(wèn)題,提出的解決辦法如下:
若通過(guò)上面3.1節(jié)中的第一步判斷出目標(biāo)點(diǎn)處的合勢(shì)場(chǎng)不為零,則可判斷為遇到了目標(biāo)點(diǎn)不可達(dá)問(wèn)題。改進(jìn)算法選擇將在目標(biāo)點(diǎn)處給目標(biāo)點(diǎn)施加排斥勢(shì)場(chǎng)的障礙物在勢(shì)場(chǎng)中先去除掉,然后在原軌跡的基礎(chǔ)上規(guī)劃出一條能夠到達(dá)目標(biāo)點(diǎn)的預(yù)規(guī)劃路徑。再重新將障礙物放回原勢(shì)場(chǎng)中,若預(yù)規(guī)劃路徑與障礙物無(wú)碰撞,則可將預(yù)規(guī)劃路徑作為最優(yōu)路徑。若預(yù)規(guī)劃路徑與障礙物發(fā)生碰撞,則將預(yù)規(guī)劃路徑與障礙物影響范圍重合的部分路徑進(jìn)行重新規(guī)劃,此時(shí)運(yùn)用預(yù)添加虛擬力的方法規(guī)劃出重合部分的新路徑,將新路徑與原規(guī)劃路徑結(jié)合作為最終的規(guī)劃路徑。
以下運(yùn)用Matlab 2020b軟件進(jìn)行仿真,利用上述改進(jìn)方法對(duì)各種不同的障礙物環(huán)境下改進(jìn)算法的有效性進(jìn)行驗(yàn)證。在仿真實(shí)驗(yàn)中人工勢(shì)場(chǎng)各參數(shù)設(shè)置為:katt=0.001,m=2,krep=800,dd=15 cm。仿真結(jié)果圖中X坐標(biāo)與Y坐標(biāo)單位為厘米。
為驗(yàn)證在環(huán)境中存在一個(gè)障礙物的情況下機(jī)器人陷入局部極小點(diǎn)時(shí)改進(jìn)算法的優(yōu)化效果,設(shè)計(jì)了兩組仿真實(shí)驗(yàn)。
第1組仿真實(shí)驗(yàn)設(shè)置機(jī)器人的起始點(diǎn)位置坐標(biāo)為(10,10),目標(biāo)點(diǎn)位置坐標(biāo)為(360,360).仿真環(huán)境中存在一個(gè)圓形障礙物,其坐標(biāo)為(250,250),半徑為30 cm,障礙物影響范圍為15 cm。
圖2為運(yùn)用傳統(tǒng)人工勢(shì)場(chǎng)法進(jìn)行路徑規(guī)劃得到的二維勢(shì)場(chǎng)中的軌跡圖,圖2中藍(lán)色圓點(diǎn)為起始點(diǎn),綠色圓點(diǎn)為目標(biāo)點(diǎn),紅線為規(guī)劃的軌跡,大小不一的箭頭為勢(shì)場(chǎng)線。從仿真結(jié)果可以看出運(yùn)用傳統(tǒng)方法規(guī)劃的軌跡陷入了局部極小點(diǎn),未能完成到達(dá)目標(biāo)點(diǎn)的任務(wù)。
圖2 傳統(tǒng)APF解決第一組實(shí)驗(yàn)時(shí)勢(shì)場(chǎng)中的軌跡圖
圖3為運(yùn)用預(yù)添加虛擬力改進(jìn)算法后得到的軌跡圖,圖中黑色圓形為障礙物所在的位置,圖4為運(yùn)用預(yù)添加虛擬力改進(jìn)算法進(jìn)行路徑規(guī)劃得到的二維勢(shì)場(chǎng)中的軌跡圖。從圖3可以看出,運(yùn)用改進(jìn)算法規(guī)劃的軌跡能夠與障礙物保持足夠的距離,并沿著障礙物的排斥勢(shì)場(chǎng)邊緣規(guī)劃出平滑的路徑。結(jié)合圖3與圖4可知當(dāng)運(yùn)用傳統(tǒng)人工勢(shì)場(chǎng)法進(jìn)行軌跡規(guī)劃陷入局部極小值時(shí),利用預(yù)添加虛擬力的改進(jìn)算法可以有效地使機(jī)器人逃離局部極小點(diǎn),同時(shí)在保證不與障礙物發(fā)生碰撞的情況下降低冗余路程,規(guī)劃出一條能夠到達(dá)目標(biāo)點(diǎn)的軌跡,證明了提出的基于預(yù)添加虛擬力的改良方法在解決傳統(tǒng)人工勢(shì)場(chǎng)法易陷入局部極小值問(wèn)題的可行性。
第2組仿真實(shí)驗(yàn)設(shè)置機(jī)器人的起始點(diǎn)位置坐標(biāo)為 (80,200),目標(biāo)點(diǎn)位置坐標(biāo)為(370,200)。仿真環(huán)境中存在一個(gè)由3個(gè)矩形障礙物拼接而成的C型障礙物,障礙物影響范圍為15 cm。
圖3 改進(jìn)算法解決第一組實(shí)驗(yàn)時(shí)的軌跡圖
圖4 改進(jìn)算法解決第一組實(shí)驗(yàn)時(shí)勢(shì)場(chǎng)中的軌跡圖
圖5為運(yùn)用傳統(tǒng)人工勢(shì)場(chǎng)法進(jìn)行路徑規(guī)劃得到的二維勢(shì)場(chǎng)中的軌跡圖,從仿真結(jié)果可以看出傳統(tǒng)勢(shì)場(chǎng)法規(guī)劃的軌跡由于目標(biāo)點(diǎn)與起始點(diǎn)的連線與機(jī)器人受到的障礙物的排斥力處于同一水平線,沒(méi)有垂直方向的分力,所以在引力與斥力平衡后陷入了局部極小點(diǎn),使得機(jī)器人未能到達(dá)目標(biāo)點(diǎn)。圖6為運(yùn)用改進(jìn)算法得到的軌跡圖,圖7為運(yùn)用改進(jìn)算法進(jìn)行路徑規(guī)劃時(shí)二維勢(shì)場(chǎng)中的軌跡圖。從仿真結(jié)果可以看出在機(jī)器人陷入局部極小點(diǎn)后,通過(guò)添加的虛擬力能夠擺脫局部極小點(diǎn),在與障礙物保持一定距離避免碰撞的同時(shí),沿著障礙物的輪廓走出障礙物凹陷部分,最終在撤去虛擬力后,在人工勢(shì)場(chǎng)力的作用下順利到達(dá)目標(biāo)點(diǎn)。仿真結(jié)果表明在復(fù)雜的障礙物環(huán)境下改進(jìn)算法依舊可以克服傳統(tǒng)人工勢(shì)場(chǎng)法易陷入局部極小點(diǎn)的缺陷。
圖6 改進(jìn)算法解決第二組實(shí)驗(yàn)的軌跡圖
圖7 改進(jìn)算法解決第二組實(shí)驗(yàn)時(shí)勢(shì)場(chǎng)中的軌跡圖
為驗(yàn)證運(yùn)用傳統(tǒng)人工勢(shì)場(chǎng)法進(jìn)行路徑規(guī)劃陷入目標(biāo)點(diǎn)不可達(dá)問(wèn)題時(shí)改進(jìn)算法的優(yōu)化效果,設(shè)計(jì)了一組仿真實(shí)驗(yàn)。障礙物的環(huán)境情況為起始點(diǎn)與目標(biāo)點(diǎn)之間有障礙物相隔,但目標(biāo)點(diǎn)在障礙物影響范圍內(nèi)。仿真時(shí)設(shè)置的機(jī)器人的起始點(diǎn)位置坐標(biāo)為(10,10),目標(biāo)點(diǎn)位置坐標(biāo)為(337,350).仿真環(huán)境中存在一個(gè)圓形障礙物,其坐標(biāo)為(300,330),半徑為40 cm,障礙物影響范圍為20 cm。
圖8為利用傳統(tǒng)人工勢(shì)場(chǎng)法進(jìn)行路徑規(guī)劃得到的仿真結(jié)果。從仿真圖可知軌跡陷入了目標(biāo)點(diǎn)不可達(dá)問(wèn)題,出現(xiàn)此問(wèn)題的原因是目標(biāo)點(diǎn)在障礙物影響范圍內(nèi),機(jī)器人所受到的斥力會(huì)因靠近障礙物而增大,并與其受到的引力相平衡,使得規(guī)劃的軌跡未能順利到達(dá)目標(biāo)點(diǎn)。圖9為利用改進(jìn)算法時(shí)得到的勢(shì)場(chǎng)中的軌跡圖,從仿真結(jié)果可以看出由于引入了虛擬力的原因,機(jī)器人克服了障礙物的排斥力,逃離了局部極小點(diǎn)(合力為零點(diǎn)),成功到達(dá)了目標(biāo)點(diǎn)。證明了改進(jìn)算法在解決傳統(tǒng)人工勢(shì)場(chǎng)法易陷入目標(biāo)點(diǎn)不可達(dá)問(wèn)題時(shí)的有效性。
圖8 傳統(tǒng)APF解決問(wèn)題時(shí)勢(shì)場(chǎng)中的軌跡圖
圖9 改進(jìn)算法解決問(wèn)題時(shí)勢(shì)場(chǎng)中的軌跡圖
為驗(yàn)證當(dāng)環(huán)境中存在多障礙物情況下改進(jìn)算法的性能,設(shè)計(jì)了兩組多障礙物場(chǎng)景的仿真實(shí)驗(yàn)。
第一組仿真實(shí)驗(yàn)設(shè)置機(jī)器人的起始點(diǎn)位置坐標(biāo)為(10,10),目標(biāo)點(diǎn)位置坐標(biāo)為(360,360).仿真環(huán)境中存在3個(gè)障礙物,其坐標(biāo)分別為(210,210)、(280,320)、(310,230),半徑依次為30 cm、35 cm和30 cm,障礙物影響范圍都為15 cm。
圖10為利用傳統(tǒng)人工勢(shì)場(chǎng)法進(jìn)行路徑規(guī)劃得到的勢(shì)場(chǎng)中的軌跡圖,從圖中可以看出利用傳統(tǒng)人工勢(shì)場(chǎng)法進(jìn)行路徑規(guī)劃時(shí)會(huì)陷入局部極小點(diǎn),未能完成路徑規(guī)劃的任務(wù)。圖11為利用改進(jìn)算法進(jìn)行路徑規(guī)劃得到的勢(shì)場(chǎng)中的軌跡圖,從仿真結(jié)果可知引入預(yù)添加虛擬力的人工勢(shì)場(chǎng)法能夠有效地避免陷入局部極小點(diǎn),在不與障礙物發(fā)生碰撞的情況下,規(guī)劃出一條最優(yōu)路徑,證明了此改進(jìn)方法在多障礙物環(huán)境下應(yīng)用的可行性。
圖10 利用傳統(tǒng)APF時(shí)勢(shì)場(chǎng)中的軌跡圖
圖11 利用改進(jìn)算法時(shí)勢(shì)場(chǎng)中的軌跡圖
為驗(yàn)證改進(jìn)算法在更加復(fù)雜的障礙物環(huán)境下的優(yōu)化效果,設(shè)計(jì)了第二組仿真實(shí)驗(yàn)。實(shí)驗(yàn)設(shè)置機(jī)器人的起始點(diǎn)位置坐標(biāo)為(10,10),目標(biāo)點(diǎn)位置坐標(biāo)為(460,460)。仿真環(huán)境中存在15個(gè)不同形狀的障礙物,障礙物的影響范圍都為15 cm。
圖12為利用傳統(tǒng)人工勢(shì)場(chǎng)法進(jìn)行路徑規(guī)劃后得到的軌跡圖,從圖中可以看出利用傳統(tǒng)人工勢(shì)場(chǎng)法進(jìn)行路徑規(guī)劃時(shí)會(huì)因仿真軌跡圖軌跡末端左上角的圓形障礙物與右下角的方形障礙物的排斥合力作用與來(lái)自目標(biāo)點(diǎn)的引力平衡,而陷入局部極小點(diǎn),未能規(guī)劃出到達(dá)目標(biāo)點(diǎn)的路徑。圖13為利用改進(jìn)算法進(jìn)行路徑規(guī)劃得到的軌跡圖,從仿真結(jié)果可以看出原人工勢(shì)場(chǎng)作用力在結(jié)合了東南方向的虛擬力后,可以逃離局部極小點(diǎn),到達(dá)目標(biāo)點(diǎn)。證明了改良算法多在障礙物的復(fù)雜工況下依舊能夠改良傳統(tǒng)人工勢(shì)場(chǎng)法的缺陷,規(guī)劃出合理的軌跡。
圖12 利用傳統(tǒng)APF時(shí)的軌跡圖
圖13 利用改進(jìn)算法時(shí)的軌跡圖
在本文中提出了將預(yù)添加虛擬力的方法與傳統(tǒng)人工勢(shì)場(chǎng)法結(jié)合的想法,對(duì)傳統(tǒng)人工勢(shì)場(chǎng)法進(jìn)行改進(jìn)。通過(guò)設(shè)計(jì)的5組Matlab仿真實(shí)驗(yàn),驗(yàn)證了在環(huán)境中存在一個(gè)障礙物與多個(gè)障礙物的復(fù)雜環(huán)境情況下,改進(jìn)算法能夠逃離局部極小點(diǎn)與目標(biāo)點(diǎn)不可達(dá)問(wèn)題,同時(shí)降低冗余路程,并在避免與障礙物發(fā)生碰撞的前提下規(guī)劃出一條到達(dá)目標(biāo)點(diǎn)的合理軌跡,證明了改進(jìn)算法可以有效地改良傳統(tǒng)人工勢(shì)場(chǎng)法的缺陷,具有一定的可行性。