李志錕, 趙倩楠
(1.廣東科技學(xué)院機(jī)電工程學(xué)院,廣東 東莞 523000;2.高端裝備先進(jìn)感知與智能控制教育部重點(diǎn)實(shí)驗(yàn)室,安徽 蕪湖 241000)
路徑規(guī)劃是移動(dòng)機(jī)器人依賴(lài)智能算法從起點(diǎn)到目標(biāo)位置規(guī)劃出一條最優(yōu)路徑。智能算法的應(yīng)用可有效提高移動(dòng)機(jī)器人路徑規(guī)劃效率,目前已有大量智能算法應(yīng)用于移動(dòng)機(jī)器人的路徑規(guī)劃,如D*算法[1]、蟻群算法[2-6]、人工勢(shì)場(chǎng)法[7]、人工魚(yú)群算法[8-10]等。每種算法都有自己的優(yōu)點(diǎn)和缺點(diǎn),利用不同算法的優(yōu)點(diǎn)進(jìn)行融合,為解決移動(dòng)機(jī)器人路徑規(guī)劃提供了新的方法,如人工勢(shì)場(chǎng)法與蟻群算法之間的結(jié)合、粒子群算法和A*算法之間的結(jié)合、模擬退火算法和改進(jìn)人工魚(yú)群算法之間的結(jié)合等。蟻群算法是通過(guò)研究螞蟻覓食規(guī)律而得出的概率型算法,蟻群算法相比其他智能算法具有更強(qiáng)的魯棒性和正反饋性;分布式搜索方法使得蟻群算法擅長(zhǎng)解決組合優(yōu)化問(wèn)題,信息素的分泌增強(qiáng)蟻群選擇局部最優(yōu)路徑的概率,當(dāng)全局非最優(yōu)路徑上的信息素較多時(shí),由于蟻群的正反饋性,將吸引越來(lái)越多的螞蟻選擇全局非最優(yōu)路徑,降低了移動(dòng)機(jī)器人路徑規(guī)劃能力;而蟻群算法和人工勢(shì)場(chǎng)算法的融合,能夠提高算法收斂速度以及縮短全局最優(yōu)路徑長(zhǎng)度。
人工勢(shì)場(chǎng)法[11]通過(guò)設(shè)計(jì)一種人造力干預(yù)移動(dòng)機(jī)器人的運(yùn)動(dòng),有利區(qū)域?qū)σ苿?dòng)機(jī)器人的吸引作用,障礙物及不利區(qū)域?qū)σ苿?dòng)機(jī)器人的排斥作用,最后通過(guò)合力來(lái)引導(dǎo)移動(dòng)機(jī)器人完成最優(yōu)路徑搜索,利用人工勢(shì)場(chǎng)法規(guī)劃出的路徑基本可以避免死鎖現(xiàn)象。作為分布式算法,傳統(tǒng)蟻群算法雖然有足夠強(qiáng)的魯棒性,但是收斂速度較慢,且利用蟻群算法[5,12-13]搜索出的最優(yōu)路徑較長(zhǎng),甚至可能陷入局部最優(yōu)。為解決傳統(tǒng)蟻群算法存在的這些問(wèn)題,本文融合人工勢(shì)場(chǎng)算法,對(duì)傳統(tǒng)蟻群算法進(jìn)行改進(jìn),構(gòu)造勢(shì)場(chǎng)力啟發(fā)函數(shù),同時(shí)改進(jìn)信息素更新策略,融合人工勢(shì)場(chǎng)法的蟻群算法[14-17]相對(duì)傳統(tǒng)蟻群算法,具有較強(qiáng)的全局路徑搜索能力,能較快地完成起始點(diǎn)到終點(diǎn)的路徑規(guī)劃。
人工勢(shì)場(chǎng)法的基本原理為在移動(dòng)機(jī)器人路徑規(guī)劃區(qū)域內(nèi)引入模擬的勢(shì)力場(chǎng)。當(dāng)移動(dòng)機(jī)器人從起點(diǎn)向終點(diǎn)移動(dòng)時(shí),受到模擬的吸引力或排斥力的作用,影響移動(dòng)機(jī)器人路徑的選擇。如圖1所示,終點(diǎn)產(chǎn)生一個(gè)吸引力,吸引移動(dòng)機(jī)器人朝著終點(diǎn)移動(dòng),阻礙移動(dòng)機(jī)器人通過(guò)的障礙物產(chǎn)生排斥力,避免移動(dòng)機(jī)器人碰撞障礙物,多個(gè)排斥力和引力的綜合作用下,移動(dòng)機(jī)器人將沿著合力方向移動(dòng)。移動(dòng)機(jī)器人受到的排斥力的大小和移動(dòng)機(jī)器人與障礙物之間的距離有關(guān),距離越長(zhǎng),則移動(dòng)機(jī)器人受到障礙物的排斥力就越??;同理,終點(diǎn)對(duì)移動(dòng)機(jī)器人引力的大小和移動(dòng)機(jī)器人與終點(diǎn)的距離成正比,距離越長(zhǎng),則終點(diǎn)對(duì)移動(dòng)機(jī)器人的引力就越大。移動(dòng)機(jī)器人在搜索路徑時(shí),目標(biāo)點(diǎn)對(duì)它的引力保證移動(dòng)機(jī)器人朝著終點(diǎn)方向移動(dòng),而障礙物對(duì)它的排斥力則避免移動(dòng)機(jī)器人與障礙物發(fā)生碰撞。
圖1 人工勢(shì)場(chǎng)法路徑規(guī)劃圖Fig.1 Path planning diagram of artificial potential field method
設(shè)移動(dòng)機(jī)器人在二維空間中的當(dāng)前位置X坐標(biāo)為(x,y),目標(biāo)點(diǎn)Xd坐標(biāo)為(xd,yd),當(dāng)移動(dòng)機(jī)器人在模擬的勢(shì)力場(chǎng)內(nèi)移動(dòng)時(shí),引力勢(shì)場(chǎng)函數(shù)為
(1)
式中,kp表示位置增益系數(shù)。引力勢(shì)場(chǎng)對(duì)移動(dòng)機(jī)器人產(chǎn)生的引力為引力勢(shì)能的負(fù)梯度方向,即
Fa=-kp·[(x-xd),(y-yd)]。
(2)
由式(2)可以看出,移動(dòng)機(jī)器人距離終點(diǎn)越近,終點(diǎn)對(duì)移動(dòng)機(jī)器人的引力則越小。定義斥力場(chǎng)函數(shù)為
(3)
式中:m為斥力場(chǎng)的增益系數(shù);P0為障礙物的影響范圍;ρ(X,X0)為移動(dòng)機(jī)器人和障礙物之間的最短直線(xiàn)距離;當(dāng)移動(dòng)機(jī)器人到障礙物的直線(xiàn)距離小于P0,障礙物對(duì)移動(dòng)機(jī)器人產(chǎn)生的斥力有效。斥力勢(shì)場(chǎng)對(duì)移動(dòng)機(jī)器人產(chǎn)生的斥力為
Fr=-grad(Ur(X))
(4)
(5)
由式(5)可以看出,移動(dòng)機(jī)器人距離障礙物越近,則產(chǎn)生的排斥力越大,因此,人工勢(shì)場(chǎng)作用在移動(dòng)機(jī)器人上的合力Ft為
Ft=Fa+Fr。
(6)
移動(dòng)機(jī)器人將在引力及斥力的合力作用下移動(dòng),并最終到達(dá)終點(diǎn)Xd。
當(dāng)終點(diǎn)附近的障礙物較多時(shí),由于移動(dòng)機(jī)器人距離障礙物較近,受到障礙物的排斥力較大,而此時(shí),移動(dòng)機(jī)器人與目標(biāo)點(diǎn)距離較小,目標(biāo)點(diǎn)對(duì)移動(dòng)機(jī)器人的吸引力也隨之減小,可能導(dǎo)致移動(dòng)機(jī)器人無(wú)法到達(dá)目標(biāo)點(diǎn)。改進(jìn)后的斥力場(chǎng)函數(shù)為
(7)
λ=(X-Xd)n
(8)
其中,n為正整數(shù)。從式(8)可以看出,當(dāng)移動(dòng)機(jī)器人靠近目標(biāo)點(diǎn)時(shí),同時(shí)也在靠近與目標(biāo)點(diǎn)距離較近的障礙物,目標(biāo)點(diǎn)距離影響因子λ的值也隨之變小,有效避免移動(dòng)機(jī)器人在目標(biāo)點(diǎn)附近受到過(guò)大的斥力,相應(yīng)的斥力算式為
(9)
(10)
(11)
其中,F(xiàn)r1及Fr2兩個(gè)分力表示的方向不同,F(xiàn)r1是由障礙物指向移動(dòng)機(jī)器人的矢量,F(xiàn)r2是由移動(dòng)機(jī)器人指向終點(diǎn)的矢量。
對(duì)改進(jìn)后的人工勢(shì)場(chǎng)算法進(jìn)行仿真實(shí)驗(yàn),移動(dòng)機(jī)器人的運(yùn)動(dòng)軌跡如圖2所示。圖3所示為對(duì)目標(biāo)點(diǎn)附近放大顯示。圖2、圖3中,小圓圈代表障礙物,實(shí)心點(diǎn)組成了移動(dòng)機(jī)器人路徑規(guī)劃軌跡,三角形代表目標(biāo)點(diǎn)位置。圖2、圖3中坐標(biāo)均無(wú)單位。移動(dòng)機(jī)器人起始點(diǎn)坐標(biāo)為(0,0),目標(biāo)點(diǎn)坐標(biāo)為(10,10),移動(dòng)機(jī)器人避開(kāi)了所有的障礙物,斥力函數(shù)有利于移動(dòng)機(jī)器人避開(kāi)障礙物,但也可能導(dǎo)致移動(dòng)機(jī)器人偏離目標(biāo)點(diǎn),因此,為了解決勢(shì)場(chǎng)力的負(fù)面影響,引入了目標(biāo)點(diǎn)距離影響因子λ,動(dòng)態(tài)調(diào)整移動(dòng)機(jī)器人受到的斥力,改善勢(shì)場(chǎng)力對(duì)于移動(dòng)機(jī)器人路徑搜索的影響。即便在目標(biāo)點(diǎn)附近放置較多障礙物,改進(jìn)人工勢(shì)場(chǎng)算法通過(guò)改進(jìn)斥力場(chǎng)函數(shù),避免移動(dòng)機(jī)器人受到較大的斥力而無(wú)法規(guī)劃出最優(yōu)路徑。
圖2 改進(jìn)人工勢(shì)場(chǎng)算法機(jī)器人軌跡圖Fig.2 Robot trajectory diagram of the improved artificial potential field algorithm
圖3 軌跡放大圖Fig.3 The enlarged trajectory
傳統(tǒng)蟻群算法構(gòu)造出的啟發(fā)函數(shù)僅考慮節(jié)點(diǎn)之間的距離,即
(12)
式中,di j表示當(dāng)前節(jié)點(diǎn)位置i與下一步可到達(dá)節(jié)點(diǎn)j之間的歐氏距離,位于節(jié)點(diǎn)i的螞蟻k選擇節(jié)點(diǎn)j作為下一步要到達(dá)的位置。位置選擇概率為
(13)
式中:ak表示螞蟻k下一步可選擇到達(dá)位置的集合;τi j表示路徑(i,j)上的信息素值;ηi j表示啟發(fā)函數(shù);α表示信息素啟發(fā)因子;β表示啟發(fā)函數(shù)ηi j的權(quán)重參數(shù)。di j的值越小,該啟發(fā)函數(shù)的值就越大,則節(jié)點(diǎn)i選擇節(jié)點(diǎn)j的概率就越大。
根據(jù)式(12)可知,傳統(tǒng)蟻群算法的啟發(fā)函數(shù)僅僅與移動(dòng)機(jī)器人當(dāng)前位置到下一節(jié)點(diǎn)位置的距離有關(guān),當(dāng)終點(diǎn)附近存在大量障礙物時(shí),由于傳統(tǒng)蟻群算法的啟發(fā)函數(shù)考慮因素較少,可能使得傳統(tǒng)蟻群算法陷入局部最優(yōu),由于蟻群算法的正反饋性,當(dāng)初代螞蟻未能尋找到最優(yōu)路徑,同時(shí)蟻群分泌大量的信息素吸引其他螞蟻選擇該路徑,最終螞蟻搜索出的路徑可能較長(zhǎng),甚至規(guī)劃出錯(cuò)誤的路徑。為了解決傳統(tǒng)蟻群算法存在的問(wèn)題,通過(guò)人工勢(shì)場(chǎng)法搜索到的節(jié)點(diǎn)與終點(diǎn)的距離信息來(lái)改進(jìn)啟發(fā)函數(shù),在移動(dòng)機(jī)器人路徑搜索的后期,為了避免勢(shì)場(chǎng)蟻群算法陷入局部最優(yōu),降低啟發(fā)函數(shù)對(duì)移動(dòng)機(jī)器人路徑搜索的影響,引入啟發(fā)函數(shù)遞減參數(shù)φ,移動(dòng)機(jī)器人越接近終點(diǎn),啟發(fā)函數(shù)起的作用就越小。在考慮距離啟發(fā)信息之外,當(dāng)移動(dòng)機(jī)器人在路徑搜索時(shí)遇到復(fù)雜的障礙物環(huán)境,移動(dòng)機(jī)器人要繞開(kāi)障礙物,同時(shí)要搜索出最優(yōu)路徑,因此,也要考慮勢(shì)場(chǎng)啟發(fā)信息,改進(jìn)后的啟發(fā)函數(shù)為
(14)
式中:ηF(t)為勢(shì)場(chǎng)啟發(fā)函數(shù);ηd(t)為距離啟發(fā)函數(shù);φ為大于0小于1的常數(shù)。為了保證移動(dòng)機(jī)器人搜索到的路徑足夠短,在移動(dòng)機(jī)器人的可選節(jié)點(diǎn)中,移動(dòng)機(jī)器人優(yōu)先考慮距離目標(biāo)點(diǎn)更近的節(jié)點(diǎn),用移動(dòng)機(jī)器人下一步要選擇的節(jié)點(diǎn)j到目標(biāo)點(diǎn)e的距離dje替代傳統(tǒng)蟻群算法的di j,改進(jìn)后的距離啟發(fā)信息為
(15)
勢(shì)場(chǎng)啟發(fā)函數(shù)為
ηF(t)=aFt·cos θ
(16)
式中:a是大于零的常數(shù);θ為移動(dòng)機(jī)器人在當(dāng)前位置i指向下一個(gè)節(jié)點(diǎn)j的方向與勢(shì)場(chǎng)合力Ft方向的夾角。人工勢(shì)場(chǎng)力的存在,引導(dǎo)移動(dòng)機(jī)器人避開(kāi)障礙物,朝向終點(diǎn)移動(dòng),提高了算法的收斂速度,但是也更容易陷入局部最優(yōu)解,融合人工勢(shì)場(chǎng)的蟻群算法引入勢(shì)場(chǎng)合力的衰減系數(shù)ξ,隨著融合人工勢(shì)場(chǎng)的蟻群算法不斷迭代,勢(shì)場(chǎng)合力逐漸衰減至零,則根據(jù)式(16)可知,勢(shì)場(chǎng)啟發(fā)函數(shù)ηF(t)趨向于數(shù)值1,勢(shì)場(chǎng)合力的衰減系數(shù)ξ為
(17)
式中:Nmax為最大迭代次數(shù);Nk為當(dāng)下迭代次數(shù)。因此,改進(jìn)后的啟發(fā)函數(shù)為
(18)
式中,F(xiàn)1為改進(jìn)后的勢(shì)場(chǎng)合力,其算式為
(19)
傳統(tǒng)蟻群算法在蟻群初始化時(shí),分布均勻的信息素,移動(dòng)機(jī)器人在路徑規(guī)劃前期,各柵格位置的信息素值差異不大,導(dǎo)致移動(dòng)機(jī)器人盲目搜索。本文提出信息素不均勻分配方式,增加移動(dòng)機(jī)器人起始點(diǎn)指向終點(diǎn)方向所在區(qū)域的信息素濃度,信息素濃度沿著垂直于移動(dòng)機(jī)器人起始點(diǎn)到終點(diǎn)方向逐步衰減,如圖4所示。
圖4 初始信息素分配方式Fig.4 Initial pheromone distribution mode
圖4中,移動(dòng)機(jī)器人起始點(diǎn)到目標(biāo)點(diǎn)連接的直線(xiàn)函數(shù)表達(dá)式為
y=-x+C
(20)
式中,C為正整數(shù)。當(dāng)該直線(xiàn)遇到障礙物時(shí),障礙物所在的柵格位置信息素濃度值設(shè)置為零,初始信息素分布方式為
(21)
式中:T為初始信息素調(diào)整參數(shù);坐標(biāo)系中y=-x+C代表的直線(xiàn)穿過(guò)所有非障礙物柵格的初始信息素濃度值為T(mén),初始信息素的差異化分配對(duì)于提高算法的收斂速度具有明顯作用。
當(dāng)移動(dòng)機(jī)器人完成從節(jié)點(diǎn)i到節(jié)點(diǎn)j的移動(dòng),需要對(duì)移動(dòng)機(jī)器人行走過(guò)的路徑進(jìn)行局部信息素更新,局部信息素更新規(guī)則為
τi j=(1-ρ)τi j+ω·τ0
(22)
式中:ω為參數(shù),ω在(0,1)中取值;ρ表示信息素?fù)]發(fā)系數(shù),且ρ在(0,1)中取值;τ0表示信息素初始值。在路徑搜索過(guò)程中,移動(dòng)機(jī)器人每經(jīng)過(guò)路徑(i,j)時(shí),均按照式(22)進(jìn)行局部信息素更新,當(dāng)移動(dòng)機(jī)器人完成一次路徑迭代后,對(duì)所有路徑上的信息素做全局更新,螞蟻系統(tǒng)的全局信息素更新方式為
(23)
(24)
隨著算法迭代次數(shù)的增加,當(dāng)信息素集中于非最優(yōu)路徑時(shí),由于蟻群算法的正反饋?zhàn)饔?,移?dòng)機(jī)器人在路徑搜索時(shí)更傾向于選擇信息素多的路徑,最終,算法收斂于非最優(yōu)解,為解決這一問(wèn)題,降低信息素的干擾,引入信息素調(diào)節(jié)系數(shù),改進(jìn)后的全局信息素更新方式為
(25)
式中,e1表示參數(shù)。隨著Nk的增加,信息素調(diào)節(jié)系數(shù)逐漸減小,避免算法收斂于非最優(yōu)解。
融合人工勢(shì)場(chǎng)蟻群算法的實(shí)現(xiàn)步驟如下:
1) 初始化融合人工勢(shì)場(chǎng)蟻群算法的所有參數(shù),建立柵格地圖環(huán)境,設(shè)置蟻群的起始點(diǎn)、終點(diǎn),根據(jù)式(21)進(jìn)行信息素不均勻分布;
2)m只螞蟻從起始點(diǎn)開(kāi)始搜索路徑;
3) 將構(gòu)造的勢(shì)場(chǎng)力啟發(fā)函數(shù)算式(18)、重新設(shè)計(jì)的信息素更新算式(25)代入狀態(tài)轉(zhuǎn)移概率算式(13),選擇螞蟻要到達(dá)的節(jié)點(diǎn)位置;
4) 判斷所有螞蟻是否避開(kāi)所有障礙物到達(dá)終點(diǎn)位置,若是,存儲(chǔ)本次迭代產(chǎn)生的最優(yōu)路徑,若不是,返回3);
5) 根據(jù)算式(13)對(duì)每條路徑更新信息素濃度值,根據(jù)算式(18)更新勢(shì)場(chǎng)力啟發(fā)函數(shù);
6) 判斷是否完成所有迭代,如果達(dá)到最大迭代次數(shù),存儲(chǔ)并輸出最優(yōu)路徑,否則返回2)。
在20 m×20 m柵格仿真環(huán)境下,對(duì)本文提出的融合人工勢(shì)場(chǎng)蟻群算法及文獻(xiàn)[14]算法分別進(jìn)行仿真實(shí)驗(yàn)。對(duì)比路徑軌跡如圖5所示。移動(dòng)機(jī)器人起點(diǎn)和終點(diǎn)坐標(biāo)分別為(0.5 m,19.5 m),(19.5 m,0.5 m)。圖5(a)為應(yīng)用融合人工勢(shì)場(chǎng)蟻群算法規(guī)劃出的最優(yōu)路徑軌跡,最優(yōu)路徑長(zhǎng)度為30.38 m,移動(dòng)機(jī)器人在搜索路徑時(shí)轉(zhuǎn)折次數(shù)為12。圖5(b)為采用文獻(xiàn)[14]算法規(guī)劃出的最優(yōu)路徑軌跡,最優(yōu)路徑軌跡長(zhǎng)度為30.38 m,移動(dòng)機(jī)器人在搜索路徑時(shí)轉(zhuǎn)折次數(shù)為14。顯然,采用融合人工勢(shì)場(chǎng)蟻群算法規(guī)劃出的最優(yōu)路徑轉(zhuǎn)折次數(shù)更少,路徑更加平滑。
圖5 兩種算法的路徑軌跡(實(shí)驗(yàn)1)Fig.5 Path trajectory diagram of two algorithms(Experiment 1)
圖6為采用人工勢(shì)場(chǎng)蟻群算法規(guī)劃出的各代最優(yōu)路徑軌跡,可以看出,各代最優(yōu)路徑均避開(kāi)所有障礙物,且各代軌跡均集中于起點(diǎn)指向終點(diǎn)的直線(xiàn)附近,實(shí)驗(yàn)數(shù)據(jù)如表1所示。
圖6 融合人工勢(shì)場(chǎng)蟻群算法各代最優(yōu)路徑軌跡(實(shí)驗(yàn)1)
表1 20 m×20 m柵格環(huán)境實(shí)驗(yàn)結(jié)果對(duì)比
兩種算法收斂曲線(xiàn)如圖7所示。由圖7(a)可知,移動(dòng)機(jī)器人在第6次搜索路徑時(shí)達(dá)到穩(wěn)定狀態(tài),由圖7(b)可知,移動(dòng)機(jī)器人在第30次搜索路徑時(shí)達(dá)到穩(wěn)定狀態(tài)。采用人工勢(shì)場(chǎng)蟻群算法在收斂速度方面比文獻(xiàn)[14]算法提高了80%,由于人工勢(shì)場(chǎng)蟻群算法采用全新的信息素不均勻分布策略,對(duì)距離啟發(fā)信息及勢(shì)場(chǎng)啟發(fā)信息同時(shí)改進(jìn),構(gòu)造了全新的勢(shì)場(chǎng)力啟發(fā)函數(shù)。因此,人工勢(shì)場(chǎng)蟻群算法在迭代初期搜索出的最優(yōu)路徑長(zhǎng)度已經(jīng)比較接近全局最優(yōu)路徑長(zhǎng)度;而文獻(xiàn)[14]算法在迭代初期振蕩較大,且收斂速度較慢,效率較低,不利于移動(dòng)機(jī)器人路徑規(guī)劃。因此,采用人工勢(shì)場(chǎng)蟻群算法規(guī)劃路徑速度更快,搜索效率更高。
圖7 兩種算法的收斂曲線(xiàn)Fig.7 Convergence curves of two algorithms
為了驗(yàn)證融合人工勢(shì)場(chǎng)蟻群算法在復(fù)雜環(huán)境下的路徑規(guī)劃能力,在30 m×30 m柵格仿真環(huán)境下,采用與文獻(xiàn)[15]同樣的柵格地圖進(jìn)行仿真實(shí)驗(yàn)及對(duì)比。移動(dòng)機(jī)器人起點(diǎn)和終點(diǎn)坐標(biāo)分別為(0.5 m,29.5 m)和(29.5 m,0.5 m)。圖8為移動(dòng)機(jī)器人采用融合人工勢(shì)場(chǎng)蟻群算法規(guī)劃出的最優(yōu)路徑軌跡,路徑長(zhǎng)度為43.355 3 m,最優(yōu)路徑轉(zhuǎn)折次數(shù)為9;同一幅柵格地圖下,文獻(xiàn)[15]規(guī)劃出的最優(yōu)路徑長(zhǎng)度為44.526 9 m,最優(yōu)路徑轉(zhuǎn)折次數(shù)為12。在最優(yōu)路徑長(zhǎng)度方面,本文提出的融合人工勢(shì)場(chǎng)蟻群算法相比文獻(xiàn)[15]算法縮短了2.6%。在路徑平滑度方面,本文算法相比文獻(xiàn)[15]算法縮短了25%。圖9為融合人工勢(shì)場(chǎng)蟻群算法的收斂曲線(xiàn),可以看出,第1代蟻群搜索出的最優(yōu)路徑長(zhǎng)度為62.669 0 m,第2代蟻群搜索出的最優(yōu)路徑長(zhǎng)度為49.598 0 m,第2代蟻群搜索出的最優(yōu)路徑長(zhǎng)度相比第1代蟻群搜索出的最優(yōu)路徑長(zhǎng)度大幅縮短,第3代蟻群搜索出的最優(yōu)路徑長(zhǎng)度為43.355 3 m,達(dá)到全局最優(yōu)路徑長(zhǎng)度。文獻(xiàn)[15]算法的收斂次數(shù)為9,相比文獻(xiàn)[15]算法,本文算法在收斂速度方面提高了66.7%,實(shí)驗(yàn)數(shù)據(jù)如表2所示。體現(xiàn)了本文提出的融合人工勢(shì)場(chǎng)蟻群算法具有極強(qiáng)的路徑搜索能力。
圖8 融合人工勢(shì)場(chǎng)蟻群算法路徑軌跡(實(shí)驗(yàn)2)
圖9 融合人工勢(shì)場(chǎng)蟻群算法收斂曲線(xiàn)
圖10為移動(dòng)機(jī)器人采用融合人工勢(shì)場(chǎng)蟻群算法規(guī)劃出的各代最優(yōu)路徑軌跡,可以看出,從起點(diǎn)到終點(diǎn)存在多條路徑實(shí)現(xiàn)最短路徑長(zhǎng)度,各代最優(yōu)路徑均集中于起點(diǎn)到終點(diǎn)方向的直線(xiàn)附近,表明本文算法的有效性及優(yōu)越性。
圖10 融合人工勢(shì)場(chǎng)蟻群算法各代最優(yōu)路徑軌跡(實(shí)驗(yàn)2)
表2 30 m×30 m柵格環(huán)境實(shí)驗(yàn)結(jié)果對(duì)比
本文首先介紹了人工勢(shì)場(chǎng)法的基本原理。為了解決勢(shì)場(chǎng)力的負(fù)面影響,引入目標(biāo)點(diǎn)距離影響因子,通過(guò)改進(jìn)斥力場(chǎng)函數(shù),避免移動(dòng)機(jī)器人受到較大斥力而無(wú)法實(shí)現(xiàn)路徑規(guī)劃;為了降低啟發(fā)函數(shù)對(duì)于移動(dòng)機(jī)器人路徑搜索的影響,引入啟發(fā)函數(shù)遞減參數(shù),同時(shí)兼顧勢(shì)場(chǎng)啟發(fā)信息及距離啟發(fā)信息的改進(jìn),來(lái)構(gòu)造全新的勢(shì)場(chǎng)力啟發(fā)函數(shù);為了避免融合勢(shì)場(chǎng)蟻群算法陷入局部最優(yōu)解,構(gòu)造勢(shì)場(chǎng)合力衰減系數(shù),隨著算法的不斷迭代,勢(shì)場(chǎng)合力逐漸衰減至零;采用全新的信息素不均勻分配策略,引入信息素調(diào)節(jié)系數(shù),改進(jìn)全局信息素更新方式,促進(jìn)移動(dòng)機(jī)器人朝著最優(yōu)路徑方向搜索,提高了移動(dòng)機(jī)器人全局路徑搜索能力。