本發(fā)明涉及無(wú)人機(jī)飛行路徑規(guī)劃,具體涉及一種無(wú)人機(jī)飛行路徑規(guī)劃方法。
背景技術(shù):
1、無(wú)人機(jī)飛行路徑規(guī)劃技術(shù)作為無(wú)人機(jī)智能化過(guò)程的一個(gè)重要組成部分一直被國(guó)內(nèi)外研究者廣泛研究。目前的路徑規(guī)劃的方法主要包括經(jīng)典算法、進(jìn)化算法以及群體智能算法等。其中經(jīng)典算法包括a*算法、dijkstra算法、floyd算法、人工勢(shì)場(chǎng)法等。進(jìn)化算法包括模擬退火算法、遺傳算法等。此外智能算法如蟻群算法、粒子群算法、人工魚(yú)群算法、螢火蟲(chóng)優(yōu)化算法等算法也被逐步應(yīng)用到路徑規(guī)劃的研究之中。以上方法在應(yīng)用到路徑規(guī)劃的過(guò)程中各有優(yōu)缺點(diǎn)。其中a*算法在障礙物密度較低的情況下容易快速規(guī)劃出路徑,但在高密度環(huán)境下搜索容易陷入死區(qū)。遺傳算法全局搜索能力強(qiáng),局部搜索能力較弱,往往只能得到次優(yōu)解而不是最優(yōu)解。蟻群方法是一種群智能優(yōu)化方法,它是由自然界中螞蟻覓食的行為所啟發(fā)提出的。螞蟻在尋路過(guò)程中受到基于地圖的信息素的引導(dǎo)而最終尋找到路徑。相較于其他方法,其魯棒性強(qiáng)且具有良好的環(huán)境適應(yīng)性,易于發(fā)揮并行計(jì)算的優(yōu)勢(shì),然而仍存在收斂速度慢、容易陷入局部最優(yōu)、早熟收斂等缺點(diǎn)。
技術(shù)實(shí)現(xiàn)思路
1、發(fā)明目的:本發(fā)明的目的是提供一種無(wú)人機(jī)飛行路徑規(guī)劃方法,解決存在收斂速度慢、容易陷入局部最優(yōu)、早熟收斂的問(wèn)題。
2、技術(shù)方案:本發(fā)明所述的一種無(wú)人機(jī)飛行路徑規(guī)劃方法,包括以下步驟:
3、(1)使用柵格法對(duì)飛行區(qū)域進(jìn)行建模,對(duì)基本參數(shù)初始化;
4、(2)基于改進(jìn)的雙層蟻群算法進(jìn)行無(wú)人機(jī)飛行路徑規(guī)劃,包括以下步驟:
5、(21)將m只螞蟻放在起始節(jié)點(diǎn),并且將起始節(jié)點(diǎn)加入禁忌表;
6、(22)計(jì)算引導(dǎo)層螞蟻啟發(fā)函數(shù),并選擇下一個(gè)節(jié)點(diǎn);記錄螞蟻?zhàn)哌^(guò)的路徑,并更新禁忌表;
7、(23)若螞蟻編號(hào)不大于m/2只,則再次進(jìn)入步驟(22)引導(dǎo)層螞蟻的搜索,否則進(jìn)入步驟(24);
8、(24)構(gòu)建優(yōu)化層搜索區(qū)域;
9、(25)計(jì)算優(yōu)化層螞蟻啟發(fā)式函數(shù)和轉(zhuǎn)角因子;
10、(26)計(jì)算優(yōu)化層螞蟻下一個(gè)節(jié)點(diǎn);記錄螞蟻?zhàn)哌^(guò)的路徑,并更新禁忌表;
11、(27)若螞蟻編號(hào)不大于m只,則再次進(jìn)入步驟(25)優(yōu)化層螞蟻的搜索,否則進(jìn)入步驟(28);
12、(28)對(duì)到達(dá)目標(biāo)節(jié)點(diǎn)的種群個(gè)體采用交叉變異的操作并更新信息素;
13、(29)判斷是否進(jìn)入最大迭代次數(shù),未達(dá)到返回步驟(22),達(dá)到則對(duì)路徑雙向冗余節(jié)點(diǎn)刪除;
14、(3)輸出最優(yōu)規(guī)劃路徑。
15、進(jìn)一步的,步驟(2)還包括:(20)初始化信息素,使用a*方法規(guī)劃起始點(diǎn)與目標(biāo)點(diǎn)之間的路徑,強(qiáng)化路徑上的信息素濃度,對(duì)其他柵格節(jié)點(diǎn)的初始化信息素進(jìn)行遞減賦值。
16、進(jìn)一步的,步驟(22)啟發(fā)函數(shù)公式如下:
17、;
18、;
19、其中,i表示當(dāng)前節(jié)點(diǎn),j為待選節(jié)點(diǎn),表示當(dāng)前節(jié)點(diǎn)i和待選節(jié)點(diǎn)j之間的歐氏距離,表示待選節(jié)點(diǎn)j和目標(biāo)節(jié)點(diǎn)e之間的歐氏距離;表示ji以及je之間的夾角, w為常數(shù);jx表示節(jié)點(diǎn)j的橫坐標(biāo),ix表示節(jié)點(diǎn)i的橫坐標(biāo),ex表示節(jié)點(diǎn)e的橫坐標(biāo);jy表示節(jié)點(diǎn)j的縱坐標(biāo),iy表示節(jié)點(diǎn)i的縱坐標(biāo),ey表示節(jié)點(diǎn)e的縱坐標(biāo);dis(i,j)表示節(jié)點(diǎn)i和j之間的距離,dis(i,e)表示節(jié)點(diǎn)i和e之間的距離;為啟發(fā)函數(shù)的自適應(yīng)調(diào)整因子,公式如下:
20、;
21、其中,表示最大迭代次數(shù),表示當(dāng)前迭代次數(shù)。
22、進(jìn)一步的,步驟(22)選擇下一節(jié)點(diǎn)j,公式如下:
23、;
24、其中,c代表螞蟻k在節(jié)點(diǎn)i時(shí)可選擇的節(jié)點(diǎn)集合,代表在t時(shí)刻路徑<i,j>上的信息素濃度;為t時(shí)刻啟發(fā)函數(shù);代表在t時(shí)刻路徑<i,s>上的信息素濃度;為t時(shí)刻 s點(diǎn)的啟發(fā)函數(shù);是信息素濃度的權(quán)值;是啟發(fā)函數(shù)的權(quán)值。
25、進(jìn)一步的,步驟(25)中,優(yōu)化層的啟發(fā)函數(shù)公式如下:
26、;
27、其中,、和表示待選節(jié)點(diǎn)j,目標(biāo)節(jié)點(diǎn)e以及起始節(jié)點(diǎn)s三個(gè)節(jié)點(diǎn)之間的歐式距離。
28、進(jìn)一步的,步驟(25)中,轉(zhuǎn)角因子公式如下:
29、;
30、其中,為轉(zhuǎn)角因子,表示上一節(jié)點(diǎn)i-1到當(dāng)前節(jié)點(diǎn)i方向的向量和當(dāng)前節(jié)點(diǎn)i到節(jié)點(diǎn)j方向的向量的夾角。
31、進(jìn)一步的,步驟(26)中,根據(jù)轉(zhuǎn)角因子,優(yōu)化層螞蟻使用下式選擇下一節(jié)點(diǎn)公式如下:
32、;
33、其中,為節(jié)點(diǎn)轉(zhuǎn)角因子的權(quán)值。
34、進(jìn)一步的,步驟(28)具體如下:根據(jù)不同個(gè)體的適應(yīng)度值大小,對(duì)螞蟻個(gè)體的交叉和變異的概率進(jìn)行變化,適應(yīng)度值公式如下:
35、;
36、其中,w1、w2分別表示路徑長(zhǎng)度以及路徑平滑度的權(quán)值;l(p)和b(p)分別為路徑長(zhǎng)度和路徑平滑程度;b(p)的計(jì)算公式:
37、;
38、其中,、分別表示轉(zhuǎn)彎次數(shù)和轉(zhuǎn)彎總角度的系數(shù),且滿足; n turn是轉(zhuǎn)彎次數(shù);
39、信息素更新公式如下:
40、;
41、;
42、其中,為信息素?fù)]發(fā)系數(shù),q為適應(yīng)度的權(quán)值,為信息素增強(qiáng)削弱因子,公式如下:
43、;
44、其中,代表歷史最優(yōu)適應(yīng)度,u為常數(shù)控制著增強(qiáng)削弱因子的強(qiáng)度。
45、本發(fā)明所述的一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被加載至處理器時(shí)實(shí)現(xiàn)任一項(xiàng)所述的一種無(wú)人機(jī)飛行路徑規(guī)劃方法。
46、本發(fā)明所述的一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)任一項(xiàng)所述的一種無(wú)人機(jī)飛行路徑規(guī)劃方法。
47、有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明具有如下顯著優(yōu)點(diǎn):初期搜索階段使用a*法得到次優(yōu)路徑,以該路徑非均勻化分配信息素。設(shè)計(jì)了雙層搜索的模式,兩層螞蟻的啟發(fā)式函數(shù)分別設(shè)計(jì),基礎(chǔ)層尋路,尋優(yōu)層進(jìn)一步尋找優(yōu)化路徑;信息素更新的過(guò)程中加入了進(jìn)化算法的思想,提高螞蟻種群的多樣性。信息素更新方式加入了信息素增強(qiáng)削弱因子,增強(qiáng)了方法的正反饋機(jī)制。最后對(duì)規(guī)劃出的路徑雙向刪除冗余節(jié)點(diǎn)。本發(fā)明提高了無(wú)人機(jī)飛行路徑規(guī)劃的效率、減少了規(guī)劃時(shí)間、規(guī)劃出的路徑更平滑,結(jié)果更優(yōu)。
1.一種無(wú)人機(jī)飛行路徑規(guī)劃方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種無(wú)人機(jī)飛行路徑規(guī)劃方法,其特征在于,步驟(2)還包括:(20)初始化信息素,使用a*方法規(guī)劃起始點(diǎn)與目標(biāo)點(diǎn)之間的路徑,強(qiáng)化路徑上的信息素濃度,對(duì)其他柵格節(jié)點(diǎn)的初始化信息素進(jìn)行遞減賦值。
3.根據(jù)權(quán)利要求1所述的一種無(wú)人機(jī)飛行路徑規(guī)劃方法,其特征在于,步驟(22)啟發(fā)函數(shù)公式如下:
4.根據(jù)權(quán)利要求1所述的一種無(wú)人機(jī)飛行路徑規(guī)劃方法,其特征在于,步驟(22)選擇下一節(jié)點(diǎn)j,公式如下:
5.根據(jù)權(quán)利要求1所述的一種無(wú)人機(jī)飛行路徑規(guī)劃方法,其特征在于,步驟(25)中,優(yōu)化層的啟發(fā)函數(shù)公式如下:
6.根據(jù)權(quán)利要求1所述的一種無(wú)人機(jī)飛行路徑規(guī)劃方法,其特征在于,步驟(25)中,轉(zhuǎn)角因子公式如下:
7.根據(jù)權(quán)利要求1所述的一種無(wú)人機(jī)飛行路徑規(guī)劃方法,其特征在于,步驟(26)中,根據(jù)轉(zhuǎn)角因子,優(yōu)化層螞蟻使用下式選擇下一節(jié)點(diǎn)公式如下:
8.根據(jù)權(quán)利要求1所述的一種無(wú)人機(jī)飛行路徑規(guī)劃方法,其特征在于,步驟(28)具體如下:根據(jù)不同個(gè)體的適應(yīng)度值大小,對(duì)螞蟻個(gè)體的交叉和變異的概率進(jìn)行變化,適應(yīng)度值公式如下:
9.一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被加載至處理器時(shí)實(shí)現(xiàn)根據(jù)權(quán)利要求1-8任一項(xiàng)所述的一種無(wú)人機(jī)飛行路徑規(guī)劃方法。
10.一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)權(quán)利要求?1-8任一項(xiàng)所述的一種無(wú)人機(jī)飛行路徑規(guī)劃方法。