劉 昂,蔣 近,徐克鋒
(1.湘潭大學(xué)自動化與電子信息學(xué)院,湖南湘潭 411105;2.智能計算與信息處理教育部重點(diǎn)實(shí)驗室(湘潭大學(xué)),湖南湘潭 411105)
(?通信作者電子郵箱liuang96@163.com)
移動機(jī)器人路徑規(guī)劃問題是機(jī)器人研究領(lǐng)域的熱點(diǎn),要求機(jī)器人在從起始點(diǎn)到目標(biāo)點(diǎn)的運(yùn)動過程中避免發(fā)生碰撞[1-2]。根據(jù)周圍環(huán)境信息是否已知,將移動機(jī)器人的路徑規(guī)劃分為全局路徑規(guī)劃和局部路徑規(guī)劃[3-4]。現(xiàn)有的路徑規(guī)劃問題主要研究的是全局路徑規(guī)劃[5],而當(dāng)移動機(jī)器人運(yùn)動過程中發(fā)現(xiàn)突發(fā)威脅時,規(guī)劃出局部路徑并減小路徑長度和評價函數(shù)值來提高路徑性能,同樣是亟須解決的問題[6-7]。
國內(nèi)外學(xué)者在這方面做出了大量工作。常見的路徑規(guī)劃算法包括蟻群算法[8]、A*算法[9]和人工勢場法[10]等。文獻(xiàn)[11]提出一種跳點(diǎn)搜索的方式來改進(jìn)A*算法,減少對不必要節(jié)點(diǎn)的搜索,提高搜索效率;文獻(xiàn)[12]提出對A*算法的啟發(fā)函數(shù)引入指數(shù)衰減的加權(quán),降低搜索節(jié)點(diǎn)數(shù),提高算法搜索效率;文獻(xiàn)[13]提出對鴿群算法的地圖算子部分引入自適應(yīng)權(quán)重系數(shù),提高鴿群算法的搜索效率;文獻(xiàn)[14]提出通過約束函數(shù)來縮小A*算法的搜索范圍,提高算法的效率;文獻(xiàn)[15]提出采用概率選擇的機(jī)制區(qū)分地圖算子和地標(biāo)算子,提高了算法的全局搜索能力。雖然上述算法在一定程度上解決了收斂速度慢、易陷入局部最優(yōu)解等問題,但仍存在路徑不平滑以及未考慮突發(fā)障礙物等問題。
蟻群算法的正反饋、并行性等優(yōu)點(diǎn),使得其更適用于機(jī)器人路徑規(guī)劃等問題。鴿群算法因其在無人機(jī)航路規(guī)劃等問題中表現(xiàn)出優(yōu)秀的尋優(yōu)能力而備受研究者青睞,2014 年Goel[16]首次提到了鴿群算法,但并沒有將其應(yīng)用到實(shí)際問題中。
鑒于此,本文提出一種基于改進(jìn)A*蟻群算法與改進(jìn)鴿群算法相結(jié)合的算法。首先,利用改進(jìn)的A*蟻群算法進(jìn)行全局靜態(tài)路徑規(guī)劃;其次,將全局靜態(tài)路徑應(yīng)用到鴿群算法初始化過程,使算法獲得更多初始信息,并且在全局路徑的基礎(chǔ)上,利用改進(jìn)的鴿群算法進(jìn)行局部動態(tài)避障,使得移動機(jī)器人能夠繞過動態(tài)障礙物進(jìn)行局部路徑規(guī)劃;最后,引入B樣條曲線對規(guī)劃路徑進(jìn)行平滑化和重規(guī)劃。
A*算法于1968 年由Hart 等[17]首次提出,是啟發(fā)式路徑規(guī)劃算法[18]。本文使用改進(jìn)的A*算法來優(yōu)化蟻群算法的初始信息素,減少算法的搜索時間,如圖1所示。
圖1 搜索示意圖Fig.1 Schematic diagram of searching
實(shí)際操作時,將兩個方向上當(dāng)前節(jié)點(diǎn)的前一個節(jié)點(diǎn)作為其相反方向搜索的目標(biāo)節(jié)點(diǎn)。例如,正向搜索中當(dāng)前節(jié)點(diǎn)s3是以反向搜索中節(jié)點(diǎn)e2作為目標(biāo)節(jié)點(diǎn)搜索得來的,反向搜索中當(dāng)前節(jié)點(diǎn)e4則是以正向搜索中節(jié)點(diǎn)s3作為目標(biāo)節(jié)點(diǎn)搜索得來的。這樣可以保證兩個方向上搜索的目標(biāo)節(jié)點(diǎn)同時更新。為了有效提升算法的效率,將得到的優(yōu)化路徑記作R,并將其初始信息素設(shè)為:
其中:k為大于1的系數(shù);C表示其他路徑上的初始信息素。
本文在改進(jìn)A*算法的基礎(chǔ)上引入方向評價的啟發(fā)信息,在利用估價函數(shù)f(n)計算每個擴(kuò)展節(jié)點(diǎn)的成本之前,構(gòu)建擴(kuò)展節(jié)點(diǎn)的方向評價函數(shù)D(n),利用方向評價函數(shù)D(n)對擴(kuò)展的節(jié)點(diǎn)進(jìn)行篩選,保留朝向目標(biāo)點(diǎn)搜索的節(jié)點(diǎn),舍去偏離目標(biāo)點(diǎn)搜索的節(jié)點(diǎn),提高搜索速度。其中,方向評價函數(shù)為:
式中:D(n)為擴(kuò)展節(jié)點(diǎn)N 的方向評價函數(shù);θ 為擴(kuò)展節(jié)點(diǎn)與其父節(jié)點(diǎn)構(gòu)成的矢量與目標(biāo)點(diǎn)與起始點(diǎn)構(gòu)成的矢量之間的夾角。而在本文中,起始點(diǎn)和目標(biāo)點(diǎn)的坐標(biāo)已知,令(x1,y1)為目標(biāo)點(diǎn)與起始點(diǎn)構(gòu)成的矢量的坐標(biāo);(x2,y2)為擴(kuò)展節(jié)點(diǎn)與其父節(jié)點(diǎn)構(gòu)成的矢量的坐標(biāo)。則兩個矢量的夾角可以表示為:
而父節(jié)點(diǎn)N -1的坐標(biāo)為(xn-1,yn-1);擴(kuò)展節(jié)點(diǎn)N的坐標(biāo)為(xn,yn);起始點(diǎn)的坐標(biāo)為(xstart,ystart);目標(biāo)點(diǎn)的坐標(biāo)為(xend,yend)。兩個矢量的坐標(biāo)分別為:
本文采用八鄰域節(jié)點(diǎn)擴(kuò)展,當(dāng)D(n) ≥0時,則保留這些節(jié)點(diǎn),將其加入OPEN 表中進(jìn)行后續(xù)計算;當(dāng)D(n) <0 時,則忽略掉這些節(jié)點(diǎn),加快搜索速度。
傳統(tǒng)蟻群算法通過信息素的引導(dǎo)來進(jìn)行搜索[19]。本文在傳統(tǒng)蟻群算法的轉(zhuǎn)移概率基礎(chǔ)上引入隨機(jī)選擇機(jī)制來增加解的多樣性。設(shè)q0為隨機(jī)選擇因子,q0∈(0,1),q1為[0,1]的常數(shù),當(dāng)q0≤q1,則在排除障礙物節(jié)點(diǎn)和已走節(jié)點(diǎn)后,隨機(jī)選取當(dāng)前節(jié)點(diǎn)周圍任意一個節(jié)點(diǎn)作為可行節(jié)點(diǎn);否則按照概率轉(zhuǎn)移公式來選擇可行節(jié)點(diǎn)。具體如下:
式中:α為信息素啟發(fā)因子;β為啟發(fā)信息因子;τij(t)為連接頂點(diǎn)i,j 的邊上第t 次迭代開始時的信息素濃度;ηij(t)為啟發(fā)信息;rand(allowedk)表示在允許選擇的柵格集合中隨機(jī)選擇下一步節(jié)點(diǎn)。
為避免蟻群算法受到非最優(yōu)路徑信息素的干擾而陷入局部最優(yōu),本文對信息素更新策略引入獎懲因子,即對當(dāng)前迭代后的最優(yōu)路徑Lb增強(qiáng)其信息素濃度,對當(dāng)前迭代后的最差路徑Lw減小其信息素濃度,并且在迭代初期更應(yīng)跳出局部最優(yōu),在迭代后期應(yīng)逐步減少獎懲因子的影響,故引入三角函數(shù)作為系數(shù)。改進(jìn)后的更新公式如下:
機(jī)器人路徑優(yōu)劣的評價函數(shù)如下所示:
式中:f 表示評價函數(shù);f1表示威脅評價函數(shù);f2表示路徑評價函數(shù);0 ≤k ≤1,為f1與f2之間的權(quán)重比。
f1為機(jī)器人受到的威脅評價函數(shù),將路段分為10份,取路段上標(biāo)志性的五個點(diǎn)來表示該段路徑受到的威脅代價,則路段i受到的威脅代價[20]為:
式中:Li為路段的長度;tk為威脅因子,表示障礙物的影響程度;N 為障礙物的個數(shù);d0.5,k為5Li/10 處的點(diǎn)距離第k 個障礙物的距離。
f2為移動機(jī)器人受到的路徑評價函數(shù),借鑒A*算法中的評價函數(shù)對其改進(jìn)表示如下:
式中:di,i+1表示節(jié)點(diǎn)i 與節(jié)點(diǎn)i+1 之間的距離,di+1,e表示節(jié)點(diǎn)i+1與目標(biāo)點(diǎn)e之間的距離。
基于鴿群在歸巢過程中的特殊導(dǎo)航行為,Duan 等[21]提出了一種仿生群體智能優(yōu)化算法——鴿群優(yōu)化算法。鴿群算法主要應(yīng)用于無人機(jī)航路規(guī)劃等領(lǐng)域,但是現(xiàn)有的鴿群算法在進(jìn)行航路規(guī)劃時,沒有對初始路徑進(jìn)行初始化操作,這樣導(dǎo)致最終的算法執(zhí)行效率較低[22]?;邙澣核惴▋?yōu)秀的尋優(yōu)能力,本文將改進(jìn)的鴿群算法應(yīng)用到機(jī)器人的路徑規(guī)劃中。靜態(tài)規(guī)劃階段得出的路徑可視為一個較為優(yōu)秀的解集,可以將此解集作為鴿群算法的初始種群,提高算法的執(zhí)行效率。
當(dāng)檢測到動態(tài)障礙物時,通過靜態(tài)階段設(shè)置的局部起始點(diǎn)和局部目標(biāo)點(diǎn)之間的靜態(tài)路徑來進(jìn)行鴿群算法的初始化操作。具體如圖2所示。
圖2 初始化示意圖Fig.2 Schematic diagram of initialization
在實(shí)際計算中,本文通過固定橫坐標(biāo)的方式來簡化計算。圖2 中O 點(diǎn)和A 點(diǎn)分別為局部起始點(diǎn)和局部目標(biāo)點(diǎn),將OA 沿橫向作n 等分,圖中的a~d 表示n -1 條等分線,路徑OA 則由這樣的等分線構(gòu)成。本文以正態(tài)分布的形式取這些等分線上下一定數(shù)量的初始數(shù)據(jù)形成鴿群算法的初始種群。
通過上述操作,鴿群算法的初始種群由以靜態(tài)路徑為中心的正態(tài)分布的初始數(shù)據(jù)組成。初始種群不失隨機(jī)性,同時整體質(zhì)量提高,能加快尋優(yōu)速度。
鴿群算法的起始階段使用地圖算子進(jìn)行搜索,每次迭代鴿子都會得到新的位置和速度。在地圖算子的速度迭代公式中,e-Rt是一個遞減的指數(shù)函數(shù),在迭代后期將趨近于零,因此,地圖算子十分依賴全局最優(yōu)位置x'g,本文對全局最優(yōu)位置進(jìn)行改進(jìn),改進(jìn)后的地磁算子更新公式如下所示:
式中:vi(t)為第i 只鴿子在第t 次迭代后的速度;xi(t)為第i 只鴿子在第t次迭代后的位置;R 是地圖因子;rand 是[0,1]的隨機(jī)數(shù);x'g為迭代中改進(jìn)的全局最優(yōu)位置。
本文對原全局最優(yōu)位置引入高斯擾動,避免鴿群算法陷入局部最優(yōu),提高整個種群的多樣性,具體如下:
式中:xg(t)為原全局最優(yōu)位置;xG(t)為全局最優(yōu)位置受到高斯擾動后的位置;r1為[0,1]的控制參數(shù);G 是服從均值為0、方差為1的高斯分布,其概率密度函數(shù)[23]如下:
另外,在搜索過程中,應(yīng)以一定的概率接受較差解,可以有效避免在迭代搜索過程中陷入局部最優(yōu),本文引入模擬退火算法來解決此問題。設(shè)擾動前的原全局最優(yōu)位置xg的適應(yīng)度值為f(xg),受到高斯擾動后的全局最優(yōu)位置xG的適應(yīng)度值為f(xG)。如果f(xG)優(yōu)于f(xg)或者下面的式(13)成立,則將受到擾動后的位置xG作為改進(jìn)后的全局最優(yōu)位置xg';否則,仍使用擾動前的全局最優(yōu)位置xg作為改進(jìn)后的全局最優(yōu)位置xg',具體如下:
式中:K 為玻爾茲曼常數(shù);μ 是衰減因子;T(t)為當(dāng)前迭代退火溫度,隨著迭代進(jìn)行逐漸下降。
在地標(biāo)算子中,迭代后期種群數(shù)量過少,影響算法尋優(yōu)。地標(biāo)算子階段中,在迭代初期種群規(guī)??梢陨源笠恍?,但隨著迭代次數(shù)逐漸增大,種群規(guī)模應(yīng)逐漸減小。logsig函數(shù)具有從1 到0 非線性減少的特性,故本文中引入logsig 函數(shù)作為鴿群數(shù)量的自適應(yīng)步長,改進(jìn)后的地標(biāo)算子更新公式如下所示:
式中:Np(t)為當(dāng)前迭代次數(shù)的鴿群數(shù)量;Npmax表示種群規(guī)模的數(shù)量最大值;Ncmax2為地標(biāo)算子階段的最大迭代次數(shù);k 為logsig 函數(shù)的斜率;xc(t)代表第t 代鴿群的中心;f(xi(t))是第i只鴿子的適應(yīng)度函數(shù)。改進(jìn)后的種群數(shù)量呈非線性遞減的變化趨勢,其值逐漸減少,保證了種群多樣性。
實(shí)際運(yùn)動過程中,要讓路徑盡量平滑。本文使用三次B樣條曲線對路徑平滑化處理[24]。B 樣條曲線是Bezier 曲線的一般化形式,通過逼近多邊形而獲得曲線[25]。曲線平滑化的示意圖如圖3所示。
圖3 平滑化示意圖Fig.3 Schematic diagram of smoothing
平滑化后若有部分路徑進(jìn)入障礙物內(nèi)部,那么可以對該段路徑中相交的碰撞部分進(jìn)行重規(guī)劃使路徑更貼近原曲線。
具體操作為:如圖4 所示,當(dāng)平滑化后的路徑進(jìn)入障礙物內(nèi)部,而原路徑并未進(jìn)入障礙物內(nèi)部時,通過選取相交的碰撞部分的4個路徑點(diǎn),在4個點(diǎn)形成的三條邊的中點(diǎn)取新路徑點(diǎn)進(jìn)行平滑化,并重復(fù)上述過程直至消除碰撞。
圖4 重規(guī)劃示意圖Fig.4 Schematic diagram of replanning
根據(jù)上述改進(jìn)方案,本文整體步驟如下:
1)用柵格法建立地圖模型,設(shè)置全局靜態(tài)階段的參數(shù),包含蟻群數(shù)量m、信息素啟發(fā)因子α、啟發(fā)信息因子β、信息素?fù)]發(fā)因子ρ、信息素強(qiáng)度系數(shù)Q、迭代次數(shù)Nc等。
2)利用改進(jìn)的A*蟻群算法規(guī)劃出一條靜態(tài)離線路徑,并對路徑進(jìn)行平滑化處理。
3)利用靜態(tài)路徑的節(jié)點(diǎn),以正態(tài)分布的形式對改進(jìn)的鴿群算法進(jìn)行初始化,并設(shè)置局部動態(tài)避障階段的參數(shù),包含鴿群數(shù)量Npmax,地圖和地標(biāo)算子的迭代次數(shù)Ncmax1和Ncmax2,地圖因子R,初始退火溫度T(0)和衰減因子μ 以及l(fā)ogsig 函數(shù)的斜率k。
4)移動機(jī)器人通過自帶傳感器檢測到動態(tài)障礙物時,以檢測到障礙物的前一個柵格點(diǎn)為局部起始點(diǎn),利用改進(jìn)的鴿群算法進(jìn)行局部動態(tài)避障,并對局部路徑進(jìn)行平滑化處理;否則沿原靜態(tài)路徑到達(dá)目標(biāo)點(diǎn)。
5)判斷移動機(jī)器人是否到達(dá)目標(biāo)點(diǎn),若到達(dá),則結(jié)束整個路徑規(guī)劃過程;否則返回步驟4)。整體流程如圖5所示。
圖5 整體流程Fig.5 Overall flowchart
從靜態(tài)和動態(tài)兩個方面對本文算法的性能進(jìn)行仿真分析。基于柵格法并借助Matlab 2017b 平臺在Windows 10 系統(tǒng)下進(jìn)行建模仿真分析。
為了驗證本文算法在全局靜態(tài)避障過程中的性能,在不同環(huán)境下進(jìn)行仿真對比,要求路徑不能與障礙物的邊緣發(fā)生任何碰撞。全局靜態(tài)避障階段的蟻群數(shù)量m=20,迭代次數(shù)Nc=30,信息素啟發(fā)因子α=1,啟發(fā)信息因子β=12,信息素?fù)]發(fā)因子設(shè)置為ρ=0.2,信息素強(qiáng)度系數(shù)Q=10。
5.1.1 環(huán)境1中仿真比較
在環(huán)境1 下對傳統(tǒng)蟻群算法和本文算法進(jìn)行對比分析,起始點(diǎn)坐標(biāo)為(1.5,1.5),目標(biāo)點(diǎn)坐標(biāo)為(33.5,33.5)。其中,圖6(a)為傳統(tǒng)蟻群算法規(guī)劃出的最優(yōu)路徑,圖6(b)為本文算法規(guī)劃出的最優(yōu)路徑。
圖6 靜態(tài)環(huán)境1下傳統(tǒng)蟻群算法和本文算法對比Fig.6 Comparison of traditional ant colony algorithm and the proposed algorithm under static environment 1
5.1.2 環(huán)境2中仿真比較
在環(huán)境2 下對傳統(tǒng)蟻群算法和本文算法進(jìn)行對比分析,起始點(diǎn)坐標(biāo)為(0.5,39.5),目標(biāo)點(diǎn)坐標(biāo)為(39.5,0.5),其中,圖7(a)為傳統(tǒng)蟻群算法規(guī)劃出的最優(yōu)路徑,圖7(b)為本文算法規(guī)劃出的最優(yōu)路徑。
5.1.3 性能指標(biāo)對比
在靜態(tài)環(huán)境下,對環(huán)境1和環(huán)境2下的本文算法與傳統(tǒng)蟻群算法的性能指標(biāo)對比分析。
表1給出傳統(tǒng)蟻群算法和本文算法在兩種環(huán)境下進(jìn)行10次路徑規(guī)劃的結(jié)果。可以看出,傳統(tǒng)蟻群算法在環(huán)境1中有3次找到了最優(yōu)路徑52.527 km,在環(huán)境2 中有3 次找到了最優(yōu)路徑71.456 km;本文算法在環(huán)境1中有10次找到了最優(yōu)路徑49.941 km,在環(huán)境2 中有4 次找到了最優(yōu)路徑66.284 km,在兩種環(huán)境中的平均值分別比傳統(tǒng)蟻群算法縮短了2.977 km和5.078 km。本文算法在環(huán)境1 下的平均執(zhí)行時間2.503 s比傳統(tǒng)蟻群算法的執(zhí)行時間2.712 s,縮短了7.71%;本文算法在環(huán)境2 下的平均執(zhí)行時間4.872 s 比傳統(tǒng)蟻群算法的執(zhí)行時間5.204 s縮短了6.38%。綜合來看,本文算法性能更優(yōu)。
圖7 靜態(tài)環(huán)境2下傳統(tǒng)蟻群算法和本文算法對比Fig.7 Comparison of traditional ant colony algorithm and the proposed algorithm under static environment 2
表1 傳統(tǒng)蟻群算法和本文算法性能對比Tab.1 Performance comparison between traditional ant colony algorithm and the proposed algorithm
為了驗證本文算法在局部動態(tài)避障過程中的性能,在不同環(huán)境下進(jìn)行仿真對比。局部動態(tài)避障階段的鴿群數(shù)量Npmax=150,迭代次數(shù)Ncmax1=150,Ncmax2=100,初始退火溫度T(0)=100,衰減因子μ=0.99,logsig函數(shù)的斜率k=5。
5.2.1 環(huán)境1中仿真比較
在環(huán)境1 中,障礙物與移動機(jī)器人的路徑有部分重疊,如圖8所示。圖中的P點(diǎn)為檢測到碰撞點(diǎn)的前一個柵格點(diǎn),M點(diǎn)為障礙物離開移動機(jī)器人軌跡后的下一個柵格點(diǎn),即此時的障礙物僅在P點(diǎn)和M點(diǎn)之間運(yùn)動,P點(diǎn)和M點(diǎn)分別為局部起始點(diǎn)和局部目標(biāo)點(diǎn),其坐標(biāo)分別為(9.5,15.5)和(17.5,23.5)。
圖8 動態(tài)環(huán)境1下傳統(tǒng)蟻群算法和本文算法對比Fig.8 Comparison of traditional ant colony algorithm and the proposed algorithm under dynamic environment 1
可以看出,圖8(a)傳統(tǒng)鴿群算法得出的路徑性能較劣,并不能完全躲避障礙物,與障礙物的邊緣仍會發(fā)生碰撞。圖8(b)本文算法得出的路徑與障礙物保持一定距離,且路徑長度更短、更平滑化。
5.2.2 環(huán)境2中仿真比較
為了進(jìn)一步驗證本文算法在動態(tài)避障階段的性能,在環(huán)境2 中,即在規(guī)劃空間中隨機(jī)生成大量突發(fā)動態(tài)障礙物的復(fù)雜環(huán)境下進(jìn)行仿真對比,如圖9所示。圖中的S點(diǎn)表示規(guī)劃起始點(diǎn),E 點(diǎn)表示規(guī)劃目標(biāo)點(diǎn),圓形區(qū)域表示膨脹化后的動態(tài)障礙物。從圖9 可以看出,傳統(tǒng)鴿群算法在面臨數(shù)量眾多突發(fā)障礙物時不能完全避障,本文算法得出的路徑具有更短的路徑長度且更平滑,能實(shí)現(xiàn)完全避障。
圖9 動態(tài)環(huán)境2下傳統(tǒng)蟻群算法和本文算法對比Fig.9 Comparison of traditional ant colony algorithm and the proposed algorithm under dynamic environment 2
5.2.3 性能指標(biāo)對比
在動態(tài)環(huán)境下,對環(huán)境1和環(huán)境2下本文算法與傳統(tǒng)鴿群算法的性能指標(biāo)對比分析。表2 是傳統(tǒng)鴿群算法和本文算法在環(huán)境1 和環(huán)境2 中進(jìn)行10 次實(shí)驗的性能指標(biāo)對比表。可以看出,在環(huán)境1 下,本文算法在10 次實(shí)驗的平均路徑長度51.273 km 比傳統(tǒng)鴿群算法平均路徑長度51.406 km 要短0.133 km,并且本文算法評價函數(shù)的平均值2.621 比傳統(tǒng)鴿群算法評價函數(shù)的平均值2.792 減小了0.171。在環(huán)境2 的復(fù)雜環(huán)境下,本文算法在10 次實(shí)驗的平均路徑長度62.566 km 比傳統(tǒng)鴿群算法的70.006 km 縮短了10.62%,并且本文算法評價函數(shù)的平均值72.734 比傳統(tǒng)鴿群算法評價函數(shù)的平均值89.841減小了19.04%。
表2 傳統(tǒng)鴿群算法和本文算法性能對比Tab.2 Performance comparison between traditional pigeon inspired optimization algorithm and the proposed algorithm
綜合上述結(jié)果來看,在相同的環(huán)境下,本文算法能規(guī)劃出路徑長度更短、評價函數(shù)值更小、性能更優(yōu)的路徑,具有更強(qiáng)的尋優(yōu)能力。
傳統(tǒng)蟻群算法收斂速度較慢、易陷入局部最優(yōu)解,應(yīng)用到機(jī)器人路徑規(guī)劃時不易尋得全局最優(yōu)解。本文對傳統(tǒng)蟻群算法引入改進(jìn)的雙向A*算法,并對蟻群算法的轉(zhuǎn)移概率和信息素更新機(jī)制進(jìn)行改進(jìn)。與傳統(tǒng)蟻群算法相比,本文的全局靜態(tài)路徑算法可以得出更為優(yōu)秀的靜態(tài)路徑;并且針對運(yùn)動過程中出現(xiàn)動態(tài)障礙物的情況,本文提出一種改進(jìn)的鴿群算法來實(shí)現(xiàn)局部動態(tài)避障。通過對傳統(tǒng)鴿群算法的地圖和地標(biāo)算子進(jìn)行改進(jìn),與傳統(tǒng)鴿群算法相比,本文改進(jìn)后的局部動態(tài)避障算法能更好地實(shí)現(xiàn)避障。最后,本文對整體路徑引入三次B樣條曲線進(jìn)行路徑平滑化處理,使路徑更符合實(shí)際。
改進(jìn)后的算法仍存在一些不足之處,如沒有將算法放到實(shí)際場景中進(jìn)行實(shí)驗比較,沒有在三維環(huán)境下對算法進(jìn)行推廣,今后將嘗試研究將本文方法應(yīng)用到實(shí)際場景以及三維環(huán)境下的機(jī)器人路徑規(guī)劃問題中。