龍艦涵,許湘揚(yáng)
(瀘州職業(yè)技術(shù)學(xué)院 電氣與電子工程學(xué)院,四川 瀘州 646000)
無人機(jī)(UAV)是一種常見的便攜式遙控設(shè)備。UAV由于成本低、適用場(chǎng)景多等優(yōu)點(diǎn),廣泛應(yīng)用于大氣探測(cè)行業(yè)、電力行業(yè)等行業(yè)[1-5]。UAV路徑規(guī)劃是UAV飛行領(lǐng)域內(nèi)的關(guān)鍵技術(shù)之一[6-8]。路徑規(guī)劃一般是指確定UAV的起飛位置和目標(biāo)任務(wù)后的一系列優(yōu)化問題[9-10]。根據(jù)UAV的機(jī)動(dòng)性、地理環(huán)境威脅和約束條件,規(guī)劃出最優(yōu)或次優(yōu)飛行路徑。規(guī)劃路徑的優(yōu)劣直接影響無人機(jī)能否順利完成任務(wù)。因此,無人機(jī)路徑規(guī)劃技術(shù)已成為無人機(jī)發(fā)展的關(guān)鍵。
傳統(tǒng)路徑規(guī)劃算法包括人工勢(shì)場(chǎng)法[11]、A*算法[14]等,傳統(tǒng)算法需要環(huán)境精確建模且運(yùn)算量較大,存在可行解時(shí)可以找到解,但當(dāng)函數(shù)不連續(xù)、不可微時(shí),則很難適用。因此在處理解決復(fù)雜問題,尤其是離散變量、非連續(xù)性問題,智能算法具有更好的適應(yīng)性。常見的包括蟻群算法[12]、粒子群算法[13],基本蟻群算法全局搜索能力強(qiáng),穩(wěn)定可靠,但信息濃度低,精度不高,搜索速度慢[15];差分進(jìn)化算法,這種算法參數(shù)較少,易控易實(shí)現(xiàn),但尋優(yōu)效率不高[16];魚群算法,基本魚群算法面對(duì)復(fù)雜環(huán)境有較高適應(yīng)性,但經(jīng)驗(yàn)行為學(xué)習(xí)能力不夠,收斂準(zhǔn)確度較低[17];遺傳算法可同時(shí)進(jìn)行多尋優(yōu),但后期收斂速度慢,易得局部最優(yōu)解[18];深度學(xué)習(xí)法具有較強(qiáng)的搜索能力,但卷積神經(jīng)網(wǎng)絡(luò)較為復(fù)雜,三維規(guī)劃數(shù)據(jù)量較大[19]。
螢火蟲算法(FA)是YANG開發(fā)的群體啟發(fā)算法之一。其受到螢火蟲閃爍的燈光照亮啟發(fā)。螢火蟲閃爍是為了尋找配偶或抵抗捕食者的攻擊。當(dāng)螢火蟲和光源之間的距離增大時(shí),光吸收導(dǎo)致光變得越來越弱。螢火蟲算法作為群體智能算法之一,也容易陷入局部最優(yōu)。在過去的幾年里,許多學(xué)者開發(fā)了新的FA變體,以避免過早收斂問題[20-23]。盡管這些改進(jìn)算法已被證明在解決優(yōu)化問題上是有效的,但仍存在以下缺點(diǎn):改進(jìn)方法僅限于算法的部分優(yōu)化,沒有從整體上考慮螢火蟲種群的特征。盡管FA算法在個(gè)別階段的優(yōu)化效果較好,但隨著優(yōu)化問題維數(shù)的增加,其性能也會(huì)像其他群體智能算法一樣下降。然而,在復(fù)雜飛行環(huán)境下,無人機(jī)路徑規(guī)劃問題往往是高維的。另外,通常在路徑規(guī)劃階段,如果不考慮運(yùn)動(dòng)學(xué)約束,算法規(guī)劃的路徑在實(shí)際情況下無法飛行。
針對(duì)以上問題,本文基于多角度改進(jìn)結(jié)合萊維飛行對(duì)基本螢火蟲算法做出優(yōu)化。引入Chebyshev映射優(yōu)化算法初期粒子分布,使得全局搜索能力得以提升;引入logistic混沌函數(shù)改進(jìn)吸引度系數(shù)γ,增強(qiáng)算法局部搜索能力,提高后期收斂速度;利用Levy分布改進(jìn)螢火蟲個(gè)體的搜索步長(zhǎng),得到新的位置更新公式和新的步長(zhǎng)更新公式,提高了種群的搜索范圍和有效性。
螢火蟲算法是一種智能仿生算法,模擬螢火蟲飛向更亮個(gè)體的特征。它是基于螢火蟲的閃爍模式和行為,這基本上是基于生物發(fā)光現(xiàn)象,這是一個(gè)過程,負(fù)責(zé)閃爍的光和交配伙伴被吸引使用這些光。這些燈的潛在優(yōu)勢(shì)是,更亮的螢火蟲會(huì)吸引其他不那么亮的螢火蟲,這種現(xiàn)象使得螢火蟲可以探索搜索空間,即更新它們的位置。利用目標(biāo)函數(shù)計(jì)算每只螢火蟲的亮度(適應(yīng)度)。此外,F(xiàn)A與其他優(yōu)化算法相比有兩個(gè)主要優(yōu)勢(shì):自動(dòng)劃分和處理多模態(tài)目標(biāo)函數(shù)的能力。這意味著整個(gè)螢火蟲種群能夠自主的分裂成若干子群體,各個(gè)群體都能夠在局部最優(yōu)周圍進(jìn)行聚集,從而在所有的這些解之中得到最優(yōu)的全局解。此外,如果搜索代理的數(shù)量適當(dāng)大于最優(yōu)的數(shù)量,則分割的性質(zhì)有利于搜索代理同時(shí)找到所有的最優(yōu)。FA基于兩個(gè)概念,即亮度和吸引力,隨著距離的增加而降低。
問題的可行解即螢火蟲的位置,螢火蟲的亮度即適應(yīng)度函數(shù)。可行解不斷接近最優(yōu)解的過程就是螢火蟲飛向更亮個(gè)體的過程,直到滿足預(yù)設(shè)條件,即完成任務(wù)。將這個(gè)過程以數(shù)學(xué)的形式表述如下:
假設(shè)有N只螢火蟲,求解問題的維度是D,xi= (xi1,xi2,…,xiD),(i=1,2,…,N)表示第i只螢火蟲的位置,相應(yīng)的xj= (xj1,xj2,…,xjD),(j=1,2,…,N)表示第j只螢火蟲的位置。
個(gè)體i和j之間的距離rij如式(1)計(jì)算:
(1)
式中,xid和xjd分別表示d維中,第i只和第j只螢火蟲所在的位置。
螢火蟲的亮度更新公式如式(2),吸引度更新公式如式(3)所示:
(2)
(3)
其中:I0表示螢火蟲初始亮度,β0代表初始吸引度,γ表示吸引系數(shù)。
若螢火蟲j更亮,則螢火蟲i向j移動(dòng)時(shí)的位置公式如下:
xid(t+1)=xid(t)+β(xjd(t)-xid(t))+αi(t)ε
(4)
其中:xid(t)和xjd(t)表示在d維時(shí)螢火蟲i和j迭代至第t代時(shí)的位置,αi(t)表示螢火蟲i第t代時(shí)的步長(zhǎng)因子,ε服從均勻分布,取值范圍為[-0.5,0.5]。
混沌在自然界的非線性系統(tǒng)中普遍存在,看似無邏輯的混沌過程卻有其規(guī)律性?;煦邕^程的規(guī)律性在于其能不重復(fù)地遍歷所有狀態(tài),因此遍歷性的優(yōu)點(diǎn)引入群智能算法,能極大地避免陷入局部極值[24-25]。
通過Chebyshev混沌映射使得螢火蟲隨機(jī)混沌的形成初始種群,與其他諸如logistic、sine等混沌映射相比,以Chebyshev映射方式產(chǎn)生的粒子全局分布更廣,信息更加全面,可以更好的避免信息片面帶來的種群易得局部最優(yōu)的問題。本文采用Chebyshev混沌映射生成混沌變量,如式(5)所示:
xn+1=cos(karccosxn),xn∈[-1,1]
(5)
式中,k為混沌的階次,當(dāng)k≥2時(shí),初始值任意設(shè)置,經(jīng)過混沌迭代處理后的序列均不相關(guān),本文取k=4,由公式計(jì)算生成彼此互不相關(guān),但所有變量具遍歷性質(zhì)的混沌序列。
利用Chebyshev映射產(chǎn)生初始化種群的步驟如下。
Step 1:若D維空間存在N只螢火蟲,隨機(jī)生成D維向量Y= (y1,y2,…,yd),yi∈[-1,1],i∈[1,d]作為第一只螢火蟲的初始信息;
Step 2:用式(5)對(duì)Y向量的各維度進(jìn)行迭代N-1次,得到其他N-1只螢火蟲信息;
Step 3:將N個(gè)經(jīng)過混沌的個(gè)體映射到解空間,具體如式(6)所示;
xid=ld+(1+yid)×(ud-ld)/2
(6)
第d維解空間的上界和下界分別用ud和ld表示,式(5)得出的第i個(gè)螢火蟲的第d維即yid,xid即經(jīng)過映射后,第i個(gè)螢火蟲的第d維坐標(biāo)值;
Step 4:將N個(gè)螢火蟲的適應(yīng)度函數(shù)分別進(jìn)行計(jì)算并排序,選M個(gè)優(yōu)質(zhì)個(gè)體作初始種群。
經(jīng)典的logistic混沌映射是一個(gè)動(dòng)態(tài)隨機(jī)的過程,相比其他方式其具有更好的局部精確性,因此在局部尋優(yōu)階段對(duì)吸引度衰減系數(shù)γ采用混沌邏輯處理,可跳出當(dāng)前狀態(tài)逃離局部最優(yōu)解。混沌序列處理方式如式(7)所示:
xi+1=μxi(1-xi),μ∈[0,4],xi∈[0,1],i=1,2,···,n
(7)
其中:μ是控制參數(shù),本文取μ=4,式(7)此時(shí)已進(jìn)入完全混沌狀態(tài)。為使吸引度衰減系數(shù)γ和算法運(yùn)行過程相匹配,引入另一變量hs,其值與適應(yīng)度函數(shù)聯(lián)系緊密,這樣處理可以在算法執(zhí)行初期,當(dāng)γ的值較小時(shí),I值會(huì)很大,此時(shí)便可以增強(qiáng)全局搜索能力;算法執(zhí)行后期,當(dāng)γ的值較大時(shí),I值會(huì)變小,可提高局部搜索能力,hs計(jì)算如式(8)所示:
(8)
(9)
其中:Tmax是最大迭代次數(shù),iter是當(dāng)前迭代次數(shù),通過此公式可調(diào)節(jié)γ取值,fpi(t)是最佳適應(yīng)度函數(shù)值。
Levy flight是法國(guó)數(shù)學(xué)家Levy在20世紀(jì)30年代提出的一種隨機(jī)行走機(jī)制,其行走步長(zhǎng)滿足穩(wěn)定的重尾分布,在局部位置有較大的跳躍概率。Levy飛行的概率密度分布具有尖峰、非對(duì)稱和拖尾特征。它的運(yùn)動(dòng)模式在頻繁的短距離跳躍和偶爾的長(zhǎng)距離跳躍之間交替,可以跳出局部最優(yōu),擴(kuò)大種群搜索區(qū)域。許多昆蟲和動(dòng)物,如蒼蠅和馴鹿,遵循類似自然界Levy飛行的軌跡。
引入Levy飛行的隨機(jī)搜索策略代替基本算法的步長(zhǎng)因子[25,27]。改進(jìn)的基本思路是利用Levy分布的概率分布特性,改良個(gè)體搜索步長(zhǎng)的隨機(jī)性,提高了種群的搜索范圍和有效性和全局綜合搜索能力。Levy飛行化簡(jiǎn)后的數(shù)學(xué)描述為:
Levy(s,γ,μ)=
(10)
引入Levy飛行后位置更新公式為:
(11)
其中:⊕是點(diǎn)對(duì)點(diǎn)乘法,Levy(λ)是符合Levy分布的步長(zhǎng)隨機(jī)函數(shù):
Levy(λ)~u=t-λ,1<λ≤3
(12)
改進(jìn)后步長(zhǎng)的計(jì)算公式如下所示:
(13)
其中:μ,ν服從正態(tài)分布。
(14)
其中:θ取1.5,為方便計(jì)算,對(duì)該正態(tài)分布進(jìn)行簡(jiǎn)化:
(15)
(16)
圖1 不同標(biāo)度參數(shù)下的Levy分布
本文算法的實(shí)現(xiàn)具體流程如下:
1)建立3維高空作業(yè)環(huán)境,設(shè)置起終點(diǎn),生成等高度自適應(yīng)巡航柵格圖。
2)初始化算法中初始亮度I0,初始吸引度β0,最大迭代次數(shù)Tmax,螢火蟲數(shù)目N,混沌映射后選擇的優(yōu)質(zhì)個(gè)體M。
3)引入Chebyshev映射,用式(5)~(6)生成螢火蟲初始種群。
4)根據(jù)式(7)~(9)計(jì)算吸引度系數(shù)γ。
5)代入吸引度系數(shù)至式(2)~(3),再通過式(1)計(jì)算各螢火蟲的相對(duì)熒光亮度I,距離rij,吸引度β。
6)根據(jù)公式(4)的萊維飛行策略更新位置。
7)對(duì)位置更新后的個(gè)體重新計(jì)算相對(duì)熒光亮度I。
8)當(dāng)前迭代次數(shù)iter與最大迭代次數(shù)Tmax作比較,若iter>Tmax則退出迭代,若iter 9)算法結(jié)束,輸出最優(yōu)結(jié)果。 具體流程圖如圖2所示。 圖2 算法流程圖 為了更清晰地考察和評(píng)價(jià)改進(jìn)螢火蟲算法的復(fù)雜性,將其與傳統(tǒng)螢火蟲的復(fù)雜性進(jìn)行了比較。 首先,需要分析了FA的時(shí)間復(fù)雜度。在FA算法中,假設(shè)終止條件為Max,其總體大小為N,問題的維數(shù)為D,算法的執(zhí)行時(shí)間是t1,求一個(gè)解的時(shí)間為t2。FA的時(shí)間復(fù)雜度為O(Max*N*N*D*(t1+t2))。所以它可以表示為O(N2)。 然后,分析改進(jìn)FA的時(shí)間復(fù)雜度。在改進(jìn)算法中,假設(shè)終止條件、總體大小和問題的維數(shù)分別與FA相同。生成的組的大小為K。計(jì)算時(shí)間di、生成組M、對(duì)xj的評(píng)價(jià)、對(duì)M的評(píng)價(jià)、對(duì)xgbest的評(píng)價(jià)的時(shí)間分別為t3、t4、t5、t6、t7。改進(jìn)FA的時(shí)間復(fù)雜度為O(Max*N*D*(N*t3+N*t4+ 4*N*t5+K*K*t6+t7))。因此,它可以表示O(N2+N*k2)。很明顯,改進(jìn)FA的時(shí)間復(fù)雜度取決于生成的組的大小。由于自適應(yīng)多群機(jī)制,K的值可以是(0,N)之間的任意值,因此改進(jìn)FA的時(shí)間復(fù)雜度在O(N2)和O(N3)之間。 雖然改進(jìn)FA的時(shí)間復(fù)雜度比FA要低,但為所提出的自適應(yīng)多群機(jī)制增加計(jì)算成本是值得的。原因之一是利用所提出的混沌初始化機(jī)制將搜索空間劃分為多個(gè)子空間,可以在搜索空間中探索出更滿意的解。另一種是增加對(duì)一些較好的螢火蟲的評(píng)價(jià),可能有助于FA增加逃脫局部陷阱的概率。 UAV在三維空間中執(zhí)行飛行任務(wù),空間跨度大,環(huán)境復(fù)雜。此外,無人機(jī)受到許多條件的約束。因此,路徑規(guī)劃需要平衡搜索時(shí)間、路徑代價(jià)和計(jì)算復(fù)雜度,以滿足實(shí)際工程的要求。路徑規(guī)劃的目標(biāo)是在復(fù)雜環(huán)境和各種約束條件下找到到達(dá)目標(biāo)點(diǎn)的可行路徑。在環(huán)境模型中,軌跡點(diǎn)的位置用三維坐標(biāo)(xi,yi,zi)(i= 1,2,…,Ns)表示,UAV飛行空間表示為: (17) 其中:xmin,xmax,ymin,ymax,zmin,zmax分別表示飛行空間邊界。 1)距離成本約束: 在UAV執(zhí)行飛行任務(wù)的過程中,距離較短的飛行軌跡(Mfirst,M2,M3,…,Mlast)比距離較遠(yuǎn)的軌跡具有更好的性價(jià)比。通過縮短飛行距離、降低無人機(jī)燃油消耗和縮短飛行時(shí)間,降低了飛行成本??紤]到無人機(jī)自身攜帶的燃料有限,需要將飛行距離控制在一定限度內(nèi),可用以下表達(dá)式來表征距離成本約束。 (18) (19) 式中,G(G≤Gmax)為距離代價(jià),N為構(gòu)成一條完整飛行軌跡的軌跡段數(shù),fi為軌跡i的距離代價(jià)。 2)飛行高度限制: 氣壓、風(fēng)速等因素對(duì)無人機(jī)的飛行有著巨大的影響??紤]到無人機(jī)飛行的安全,飛行高度應(yīng)控制在一定范圍內(nèi),飛行高度不能過高或過低。設(shè)環(huán)境模型在航跡點(diǎn)(xMi,yMi,zMi)處的地形高度Tmap為,fh表示最小飛行高度,F(xiàn)定義為最小飛行高度可調(diào)信息。 (20) 3)最大偏角約束: 在飛行過程中,無人機(jī)需要及時(shí)調(diào)整飛行姿態(tài),這受到其機(jī)動(dòng)性的限制。只有當(dāng)偏角小于最大偏角時(shí),無人機(jī)才能保持穩(wěn)定的飛行姿態(tài)。設(shè)某航跡段與其相鄰航跡段的向量為pi=(xMi+1-xMi,yMi+1-yMi,zMi+1-zMi),最大偏角滿足約束條件: (21) 4)最大俯仰角約束: 影響無人機(jī)俯仰角的因素包括風(fēng)向、氣候和自身機(jī)動(dòng)性。此約束限制 UAV在特定角度范圍內(nèi)向上或向下飛行。最大俯仰角可以用數(shù)學(xué)表達(dá)式描述: (22) 為滿足無人機(jī)特殊的飛行機(jī)動(dòng)特性,需要對(duì)算法生成的飛行路徑進(jìn)行平滑處理。普遍采用的方法是對(duì)生成的航跡曲線進(jìn)行擬合,增加了工程的工作量。三次樣條插值是一種分段的插值方法,它在原軌跡點(diǎn)中利用若干個(gè)插值點(diǎn)形成一條平滑的軌跡。三次樣條插值法處理過的無人機(jī)飛行軌跡更加平滑,無需對(duì)算法規(guī)劃的路徑進(jìn)行曲線擬合。既可以使得無人機(jī)在緊急制動(dòng)或者緊急轉(zhuǎn)向時(shí)具有良好的動(dòng)態(tài)性能,又可以減少路徑生成過程的冗余度。因此,本文采用三次樣條插值曲線來構(gòu)建和表示無人機(jī)飛行路徑。 3.3.1 三次樣條插值 設(shè)Δ為區(qū)間[a,b]的一部分,若函數(shù)S(x)滿足: 1)S(x)∈C2[a,b]; 2)S(xi)=f(xi)i= 0,1,2,…,n; 3)S(x)是每個(gè)子區(qū)間[xi,xi+1](i= 0,1,2,…,n-1)上的三次多項(xiàng)式,那么S(x)被稱為分區(qū)Δ的三次樣條函數(shù)。 如果在節(jié)點(diǎn)xi上給定一個(gè)函數(shù)值,且S(xi)=yi,則S(x)稱為三次樣條插值函數(shù)。為了確定唯一,需要添加3個(gè)常見的邊界條件: 1)S(a)=y0,S(b)=yn; 2)S(a)=y0,S(b)=yn; 3)S(a+0)=S(b-0),S(a+0)=S(b-0),S(a+0)=S(b-0)。 3.3.2 代碼設(shè)計(jì) 三次樣條插值是一種分段插值方法。每段之間的樣條是不一樣的。全部軌跡曲線都是一階連續(xù),而在軌跡節(jié)點(diǎn)是二階連續(xù)的。因此,軌跡節(jié)點(diǎn)的數(shù)量表示整條飛行軌跡的轉(zhuǎn)彎次數(shù)。雖然環(huán)境條件很復(fù)雜,但一般只需要三至五次就可以躲避全部的障礙。根據(jù)環(huán)境變化選擇飛行軌跡節(jié)點(diǎn)的位置。 本文將一條路徑上的所有節(jié)點(diǎn)視為螢火蟲的編碼,即一條路徑上n個(gè)路徑節(jié)點(diǎn)的三維坐標(biāo)構(gòu)成螢火蟲個(gè)體的n-3維坐標(biāo)。假設(shè)已經(jīng)確定了n個(gè)路徑節(jié)點(diǎn)的坐標(biāo),分別為r1= (xr1,yr1,zr1),...,rn= (xrn,yrn,zrn),路徑的起點(diǎn)和終點(diǎn)坐標(biāo)分別為(xs,ys,zs)和(xt,yt,zt)。分別在區(qū)間[xs,xr1,xr2,...,xrn,xt],[ys,yr1,yr2,...,yrn,yt]和[zs,zr1,zr2,…,zrn,zt],插值點(diǎn)坐標(biāo)為(xS1,xS2,…,xSm),(yS1,yS2,…,ySm),(zS1,zS2,…,zSm),并通過三次樣條插值。那么將軌跡點(diǎn)、插值點(diǎn)以及起終點(diǎn)的連接起來就是UAV規(guī)劃的飛行路線。 3.3.3 適應(yīng)度函數(shù)與碰撞檢測(cè) 無人機(jī)的飛行軌跡不能與障礙物產(chǎn)生沖突,路徑長(zhǎng)度要求盡可能短。碰撞檢測(cè)的目的是檢查規(guī)劃的飛行路線是否穿過障礙物。對(duì)三次樣條插值后的曲線按路徑節(jié)點(diǎn)進(jìn)行分段。每個(gè)節(jié)點(diǎn)產(chǎn)生{(x,y)| (xri,yri),(xS1,yS1),…,(xSm,ySm)}和{z|zri,zS1,zS2,…,zSm}集合,兩個(gè)集合構(gòu)成路徑曲線上的一點(diǎn)。 本文將障礙定義為三元函數(shù)F=aX+bY+cZ。(a,b,c)表示權(quán)重插值。對(duì)函數(shù)F數(shù)據(jù)進(jìn)行插值,得到集合{(x,y)}值對(duì)應(yīng)的插值函數(shù)值。將函數(shù)值與集合{(z)}進(jìn)行比較,以確定路徑是否通過障礙物。本文構(gòu)造的適應(yīng)度函數(shù)為: z=L?? (23) ?=?1f1+?2f2+?3f3 (24) (25) 式中,f1、f2、f3分別為飛行高度、最大偏航角、最大仰角的代價(jià)。滿足?1+ ?2+ ?3= 1。 為了研究改進(jìn)FA 的性能,對(duì)來自 CEC2013的 28 個(gè)測(cè)試函數(shù)分別利用傳統(tǒng)FA和本文算法獨(dú)立執(zhí)行30 次實(shí)驗(yàn)。在Windows環(huán)境下使用MATLAB2018b進(jìn)行了測(cè)試。參數(shù)設(shè)為隨機(jī)參數(shù)α=0.2,固定光吸收系數(shù)-315,初始亮度I0= 1,系數(shù)γ=1,r=0,最大的迭代次數(shù)為800,問題維數(shù)為10。結(jié)果如表1所示。 表1 算法性能對(duì)比結(jié)果 將本文算法的精度與傳統(tǒng)FA算法進(jìn)行比較,其中結(jié)果是使用30次運(yùn)行的平均值得到的。從表中可以看出,結(jié)果表明,在CEC2013的28個(gè)測(cè)試函數(shù)中,本文算法在測(cè)試函數(shù)中精度均優(yōu)于傳統(tǒng)FA算法。從表中的結(jié)果可以看出,基于多角度改進(jìn)策略的螢火蟲算法在單峰函數(shù)上表現(xiàn)良好,而對(duì)于多峰函數(shù)以及組合函數(shù),搜索步長(zhǎng)的設(shè)置會(huì)影響本文提出的算法。另外引入Wilcoxon秩檢驗(yàn),在5%的顯著水平下進(jìn)行試驗(yàn),當(dāng)P≤0.05時(shí),則存在顯著性差異。反之當(dāng)P>0.05時(shí),則表示差異不顯著,用N/A表示,具體結(jié)果如表2所示。由其可以看出,改進(jìn)算法與基本FA算法存在顯著差異,改進(jìn)算法更具優(yōu)勢(shì)。 表2 Wilconxon秩檢驗(yàn)P值 本文以數(shù)學(xué)模型建立模擬高空環(huán)境,主要研究山地地形的UAV的自適應(yīng)巡航路徑規(guī)劃問題。以山峰的形式模擬無人機(jī)高空工作面臨的地形狀況,將無人機(jī)實(shí)際工作環(huán)境用三維的山地環(huán)境表示,如圖3所示。整個(gè)模型空間為150×150×250,x∈(0,150),y∈(0,150),z∈(0,250)。 圖3 高空三維環(huán)境建模 為檢驗(yàn)改進(jìn)后螢火蟲算法的規(guī)劃性能,基于Windows11系統(tǒng)、Matlab R2017a平臺(tái)、內(nèi)存16 GB等硬件環(huán)境,分別利用改進(jìn)前后FA算法進(jìn)行規(guī)劃對(duì)比?;谏瞎?jié)中建立的模擬山地環(huán)境,并且設(shè)置無人機(jī)的飛行起始點(diǎn)為(0,0,160),終點(diǎn)為(150,150,160),將無人機(jī)視為質(zhì)點(diǎn),尺寸忽略不計(jì)。算法中主要參數(shù)初始值需通過多次仿真實(shí)驗(yàn)獲取,具體如表3所示。 基于模擬山地環(huán)境,并按上節(jié)參數(shù)取值初始化算法中的相關(guān)參數(shù),分別利用多角度改進(jìn)的FA算法和基本FA算法對(duì)無人機(jī)的航線進(jìn)行規(guī)劃。圖3為基本FA算法規(guī)劃的飛行路徑,圖4為本文算法規(guī)劃的飛行路徑。兩種算法各項(xiàng)指標(biāo)對(duì)比如表3所示。 圖4 算法改進(jìn)前規(guī)劃路徑 從圖4、圖5及表4可以看出,相比于基本FA算法,多角度改進(jìn)的FA算法規(guī)劃路線的飛行距離更短,轉(zhuǎn)向次數(shù)更少且可以更快尋得最佳飛行路線。具體表現(xiàn)在路徑長(zhǎng)度減少7.47%,節(jié)點(diǎn)減少31.57%,收斂時(shí)間減少18.54%。另外飛行軌跡中沒有尖銳的急轉(zhuǎn)向角度,整個(gè)航線平滑度得以提升,滿足無人機(jī)在真實(shí)環(huán)境下的飛行約束。因此在對(duì)無人機(jī)飛行路線進(jìn)行規(guī)劃時(shí),本文算法對(duì)無人機(jī)真實(shí)作業(yè)場(chǎng)景具有更強(qiáng)的適應(yīng)力,能夠幫助無人機(jī)安全高效的完成飛行作業(yè)。而基本螢火蟲算法規(guī)劃的飛行路線中存在一些無用路徑,且存在尖銳的轉(zhuǎn)角,這可能導(dǎo)致無人機(jī)硬件損耗增加,無法很好適應(yīng)復(fù)雜環(huán)境。 表4 指標(biāo)對(duì)比 圖5 算法改進(jìn)后規(guī)劃路徑 為進(jìn)一步驗(yàn)證改進(jìn)算法的性能,將改進(jìn)算法與其他規(guī)劃算法進(jìn)行對(duì)比,仿真環(huán)境與圖2保持一致,各算法結(jié)果指標(biāo)對(duì)比如表5所示。 表5 指標(biāo)對(duì)比 由表5可知,本文改進(jìn)算法相較其他對(duì)比算法,在路徑長(zhǎng)度、節(jié)點(diǎn)數(shù)、收斂時(shí)間等指標(biāo)上,都有不同程度的提升,具體表現(xiàn)為路徑長(zhǎng)度縮短約為1.14%~7.89%,節(jié)點(diǎn)數(shù)減少約7.14%~38.10%,收斂時(shí)間減少約1.09%~20.53%。因此,驗(yàn)證了本文算法的優(yōu)良性能。 為檢驗(yàn)本文提出的改進(jìn)策略之間的獨(dú)立性及必要性,對(duì)本文算法進(jìn)行消融實(shí)驗(yàn)?;谙嗤h(huán)境,對(duì)僅使用Chebyshev映射改進(jìn)的算法(FA-C)、僅使用logistic映射改進(jìn)的算法(FA-l)、僅使用Levy飛行策略改進(jìn)的FA算法(FA-L)與本文改進(jìn)FA進(jìn)行比較,結(jié)果如表6所示。 表6 消融實(shí)驗(yàn)結(jié)果 從表6可看出,相較于基本FA算法,單一的改進(jìn)策略在路徑長(zhǎng)度及收斂時(shí)間上均有不同提升,引入Chebyshev映射可以是擴(kuò)展尋優(yōu)空間,logistic映射則可以提升算法局部搜索性能及尋優(yōu)效率,Levy飛行策略能夠擴(kuò)大搜索范圍,使得結(jié)果更加精確。結(jié)果表明,同時(shí)引入3種策略可有效提高算法性能及效率。 本文針對(duì)無人機(jī)的最優(yōu)路徑規(guī)劃問題,提出一種多角度改進(jìn)的螢火蟲算法。首先利用Chebyshev混沌特性初始化種群,改善了初始種群不易產(chǎn)生的問題。針對(duì)步長(zhǎng)因子過于固定的問題,引入Levy飛行算法,利用萊維分布得到新的位置更新公式和新的步長(zhǎng)更新公式,提高了種群的搜索范圍和有效性。最后針對(duì)搜索過程中避免陷入局部極值的問題,引入logistic混沌變異改進(jìn)吸引度系數(shù),使算法更容易跳出當(dāng)前狀態(tài)而逃出局部最優(yōu)區(qū)域,增強(qiáng)了算法局部搜索的能力,保證了算法后期的收斂速度。在模擬高空山地環(huán)境仿真后對(duì)比數(shù)據(jù)得出結(jié)論,相較改進(jìn)前螢火蟲算法,本文算法路徑長(zhǎng)度減少7.47%,節(jié)點(diǎn)減少31.57%,平順度優(yōu)于改進(jìn)前,收斂速度更快,收斂時(shí)間減少18.54%,相較其他對(duì)比算法路徑長(zhǎng)度縮短約為1.14%~7.89%,節(jié)點(diǎn)數(shù)減少約7.14%~38.10%,收斂時(shí)間減少約1.09%~20.53%,因此本文具有良好的規(guī)劃性能。2.5 算法時(shí)間復(fù)雜度分析
3 無人機(jī)飛行環(huán)境建模及優(yōu)化
3.1 飛行空間
3.2 約束條件
3.3 平滑操作
4 仿真及分析
4.1 算法性能實(shí)驗(yàn)
4.2 環(huán)境建立
4.3 參數(shù)設(shè)置
4.4 實(shí)例仿真分析
4.5 算法消融實(shí)驗(yàn)
5 結(jié)束語(yǔ)