馬梓元,龔華軍,王新華
(南京航空航天大學(xué) 自動(dòng)化學(xué)院,南京211100)
隨著科學(xué)技術(shù)的進(jìn)步及其在航空領(lǐng)域的應(yīng)用,無(wú)人化、智能化已經(jīng)成為航空裝備的發(fā)展趨勢(shì)。無(wú)人直升機(jī)(Unmanned Helicopter,UH)作為先進(jìn)航空裝備的代表,具備多環(huán)境、多領(lǐng)域下的執(zhí)行任務(wù)能力。而航跡規(guī)劃作為無(wú)人直升機(jī)編隊(duì)執(zhí)行任務(wù)的關(guān)鍵環(huán)節(jié),是指在初始狀態(tài)、任務(wù)目標(biāo)、威脅區(qū)和一些已知或者未知環(huán)境信息的情況下獲得性能最優(yōu)的規(guī)劃問(wèn)題,其是任務(wù)規(guī)劃系統(tǒng)的關(guān)鍵技術(shù)之一,具有規(guī)劃范圍大、約束條件多及動(dòng)態(tài)性高等特點(diǎn)[1-4]。因此,對(duì)航跡規(guī)劃的研究也是業(yè)內(nèi)關(guān)注的重點(diǎn)。
在當(dāng)前的研究成果中,文獻(xiàn)[1]在考慮偵察任務(wù)重疊和多機(jī)協(xié)同偵察的同時(shí),以最小化偵察路徑長(zhǎng)度為性能指標(biāo),相鄰偵察點(diǎn)間采用Dubins曲線進(jìn)行航跡規(guī)劃,利用引入精英機(jī)制的混合粒子群優(yōu)化(PSO)算法實(shí)現(xiàn)偵察任務(wù)序列優(yōu)化,實(shí)現(xiàn)具有持續(xù)偵察時(shí)間約束的協(xié)同航跡規(guī)劃,提高了算法的有效性。文獻(xiàn)[2]在三維復(fù)雜地形下,建立了滿足無(wú)人機(jī)機(jī)動(dòng)約束條件的航跡規(guī)劃模型。文獻(xiàn)[3]針對(duì)復(fù)雜環(huán)境中多無(wú)人機(jī)編隊(duì)突發(fā)威脅規(guī)避問(wèn)題,提出了一種基于凸優(yōu)化算法的實(shí)時(shí)路徑規(guī)劃方法。文獻(xiàn)[4]比較分析了人工勢(shì)場(chǎng)法、模糊邏輯算法對(duì)無(wú)人機(jī)碰撞規(guī)避路徑規(guī)劃的性能,并針對(duì)人工勢(shì)場(chǎng)法易陷入局部極小值的缺陷提出了通過(guò)增加垂直引導(dǎo)斥力來(lái)使無(wú)人機(jī)逃離局部極小值的改進(jìn)措施。文獻(xiàn)[5]采用了協(xié)同非支配排序進(jìn)化算法,根據(jù)多架無(wú)人機(jī)的航行距離、安全性、時(shí)間及空間的協(xié)同性進(jìn)行航跡上的規(guī)劃。文獻(xiàn)[6]針對(duì)無(wú)人機(jī)集群在未知環(huán)境中無(wú)先驗(yàn)信息條件下的搜索問(wèn)題,提出了一種以信息素為決策機(jī)制的無(wú)人機(jī)集群搜索算法,提高了搜索效率。文獻(xiàn)[7]針對(duì)無(wú)人機(jī)航跡規(guī)劃問(wèn)題,在遺傳算法的基礎(chǔ)思路上引入差分進(jìn)化變異策略,并與模擬退火算法結(jié)合起來(lái),增加了算法變異的多樣性。文獻(xiàn)[8]針對(duì)規(guī)劃環(huán)境中存在相交威脅的特點(diǎn),采用路標(biāo)導(dǎo)引法解決了雙機(jī)協(xié)同規(guī)劃中的陷阱問(wèn)題,同時(shí)利用探測(cè)步長(zhǎng)限制2個(gè)相鄰航跡節(jié)點(diǎn)間的速度方向變化范圍。文獻(xiàn)[9]針對(duì)多無(wú)人機(jī)的航跡規(guī)劃問(wèn)題,采用了一種混合粒子群優(yōu)化算法進(jìn)行規(guī)劃,使得各個(gè)無(wú)人機(jī)所經(jīng)路徑的代價(jià)函數(shù)總和最小。文獻(xiàn)[10]針對(duì)無(wú)人機(jī)在復(fù)雜戰(zhàn)場(chǎng)環(huán)境下的航跡規(guī)劃問(wèn)題,提出了一種基于傳統(tǒng)蟻獅算法中螞蟻隨機(jī)游走的行為和混沌算子相結(jié)合的混沌蟻獅(CALO)算法的航跡規(guī)劃算法,提高了算法尋找全局最優(yōu)值的能力。文獻(xiàn)[11]針對(duì)快速擴(kuò)展隨機(jī)樹(RRT)算法進(jìn)行改進(jìn),通過(guò)引入動(dòng)態(tài)步長(zhǎng)和自適應(yīng)目標(biāo)引力策略,在二維規(guī)劃空間為無(wú)人機(jī)有效、快速地規(guī)劃出一條滿足實(shí)際飛行性能的較優(yōu)航線。文獻(xiàn)[12]將動(dòng)態(tài)域快速隨機(jī)搜索樹與線性二次高斯運(yùn)動(dòng)規(guī)劃相結(jié)合,在威脅環(huán)境不確定的條件下,實(shí)現(xiàn)了具有良好安全性能的單機(jī)航線在線規(guī)劃。文獻(xiàn)[13]運(yùn)用數(shù)學(xué)方法偽譜法應(yīng)用于多無(wú)人飛行器,實(shí)現(xiàn)了滿足多約束的多無(wú)人機(jī)航跡規(guī)劃。文獻(xiàn)[14]將無(wú)人機(jī)雷達(dá)散射截面(RCS)考慮進(jìn)去,利用遺傳算法進(jìn)行了在動(dòng)態(tài)RCS基礎(chǔ)上的航跡實(shí)時(shí)規(guī)劃,實(shí)現(xiàn)了飛行過(guò)程中對(duì)威脅的合理規(guī)避。
以上成果顯著提高了無(wú)人直升機(jī)航跡規(guī)劃能力和水平,但是搜索效率低及求解精度差等問(wèn)題仍然存在。針對(duì)以上兩方面問(wèn)題,本文提出了一種基于改進(jìn)人工魚群算法(Improved Artificial Fish Swarm Algorithm,IAFSA)的無(wú)人直升機(jī)編隊(duì)航跡規(guī)劃算法。
人工魚群算法(Artificial Fish Swarm Algorithm,AFSA)是李曉磊博士在對(duì)生物魚類群體的社會(huì)行為特性進(jìn)行觀察和總結(jié)的基礎(chǔ)上于2002年首次提出的[15],是一種模仿魚群行為的尋優(yōu)算法,其具有并行性、簡(jiǎn)單性、尋優(yōu)速度快等優(yōu)點(diǎn),同時(shí)也存在著尋優(yōu)精度不高、后期收斂速度變慢等缺點(diǎn)。
當(dāng)前業(yè)界對(duì)于智能算法的改進(jìn),通常從算法參量和算法機(jī)理兩方面開展。針對(duì)人工魚群算法的固有缺點(diǎn),本文同樣從以上兩方面入手,分別對(duì)人工魚的視野和人工魚群進(jìn)化策略進(jìn)行改進(jìn)。
人工魚的視野決定了算法整體的收斂速度和收斂精度,因此學(xué)術(shù)界對(duì)其的研究也較為深入,文獻(xiàn)[16-17]分別提出了不同的改進(jìn)自適應(yīng)視野模型。在以上成果的基礎(chǔ)上,本文從鄰域?qū)W習(xí)和算法特性2個(gè)角度出發(fā),提出了一種人工魚自適應(yīng)視野模型,如下:
式(1)給出的模型實(shí)現(xiàn)了人工魚的視野依據(jù)魚群尋優(yōu)情況進(jìn)行動(dòng)態(tài)調(diào)整。在genuc內(nèi)人工魚的適應(yīng)度值保持變化的情況下,視野動(dòng)態(tài)調(diào)整,以此保證人工魚向最優(yōu)解靠攏,進(jìn)行精細(xì)搜索。而作為相反的情況,若人工魚的適應(yīng)度值在其中未發(fā)生變化,說(shuō)明人工魚可能陷入了局部收斂區(qū)域,此時(shí)需要重新全局大范圍搜索,genuc因此將人工魚的視野重置為初始值。
自然界中的生物通過(guò)繁殖來(lái)完成物種的進(jìn)化,繁殖分有性繁殖和無(wú)性繁殖2種方式。有性繁殖是一對(duì)父代個(gè)體產(chǎn)生一個(gè)子代個(gè)體,優(yōu)點(diǎn)是拓展了種群多樣性,缺點(diǎn)是無(wú)法保證子代個(gè)體的質(zhì)量。無(wú)性繁殖是一個(gè)父代個(gè)體產(chǎn)生一個(gè)子代個(gè)體,優(yōu)點(diǎn)是種群特性穩(wěn)定,進(jìn)化速度快,缺點(diǎn)是對(duì)父代個(gè)體質(zhì)量的依賴性強(qiáng)。
考慮到無(wú)人直升機(jī)編隊(duì)航跡規(guī)劃問(wèn)題的復(fù)雜程度和求解計(jì)算量,本文采用無(wú)性繁殖的方式作為人工魚群的進(jìn)化策略,但是為了保證其種群的整體質(zhì)量,必須對(duì)其進(jìn)行改進(jìn),具體如圖1所示。圖中:δ為擁擠度因子,nf為視野內(nèi)魚的數(shù)目,Yi、Yc、Ym分別為當(dāng)前i、c、m位置的人工魚的食物濃度。
從圖1中可以看出,針對(duì)無(wú)性繁殖的特點(diǎn),在進(jìn)化策略上對(duì)其的改進(jìn)思路是:根據(jù)每一代進(jìn)化后的人工魚適應(yīng)度值進(jìn)行排序,從而篩選出較差的人工魚個(gè)體并加以淘汰,同時(shí)用適應(yīng)度值較高的人工魚進(jìn)行對(duì)應(yīng)的補(bǔ)充。具體人工魚淘汰補(bǔ)充過(guò)程以偽代碼的形式表示如下:
圖1 人工魚群進(jìn)化策略改進(jìn)示意圖Fig.1 Schematic diagram of improvement of evolution strategy of artificial fish swarm algorithm
For i=1 to m
X=[x1,x2,…,xm];//人工魚群X
yj=Sort〈f(xi)〉,i,j=1,2,…,m;//按照人工魚xi的適應(yīng)度值從小到大進(jìn)行排列
Choose〈{ym-n+1,…,ym}〉;//篩選n條淘汰的人工魚個(gè)體
Substitude〈ym-i+1〉for〈yi〉,i=1,2,…,n;//對(duì)人工魚個(gè)體進(jìn)行替換
End
通過(guò)在每一代進(jìn)化中淘汰較差個(gè)體,改進(jìn)后的人工魚群進(jìn)化策略從原理上克服了無(wú)性繁殖中較差個(gè)體的產(chǎn)生,確保了人工魚群整體搜索精度和效率的提升。
本文采用柵格法劃分規(guī)劃空間,航跡由相鄰網(wǎng)格節(jié)點(diǎn)連接而成,每個(gè)網(wǎng)格節(jié)點(diǎn)包含著規(guī)劃環(huán)境中的地形狀況威脅、障礙、天氣等因素,如圖2所示。
圖2 航跡連接示意圖Fig.2 Schematic diagram of trajectory connection
圖2描述了航跡點(diǎn)Pi→Pi+1的連接,即每個(gè)節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)只能出現(xiàn)于相鄰的8個(gè)節(jié)點(diǎn)中。由此,航跡規(guī)劃可描述為
式中:S(xs,ys)為起始點(diǎn);G(xg,yg)為目標(biāo)點(diǎn);P1(x1,y1)…Pn-1(xn-1,yn-1)為 中 間 航 跡 節(jié) 點(diǎn);Γ(q)表示約束條件,q為航跡約束參數(shù)。
以航跡代價(jià)最小作為算法的尋優(yōu)目標(biāo),代價(jià)函數(shù)的設(shè)計(jì)影響著尋優(yōu)算法的航跡生成質(zhì)量,同時(shí)代價(jià)函數(shù)也是規(guī)劃模型構(gòu)建的基礎(chǔ),本文將從航程、威脅、時(shí)間等方面構(gòu)建代價(jià)函數(shù)模型。
2.2.1 航程代價(jià)
無(wú)人直升機(jī)體積和起飛重量有限,故能量也有限,在規(guī)劃航跡時(shí)應(yīng)盡量實(shí)現(xiàn)和保證其飛行距離最短,本文將航程代價(jià)定義為所有航路段的長(zhǎng)度之和:
式中:li為航跡段i的長(zhǎng)度。
2.2.2 威脅代價(jià)
雷達(dá)、地形等外部干擾是無(wú)人直升機(jī)航跡規(guī)劃中需要規(guī)避的威脅,航跡規(guī)劃的目的是規(guī)避威脅且實(shí)現(xiàn)自身約束條件下的可飛路徑,不同種類的威脅影響的范圍不同,對(duì)無(wú)人直升機(jī)的威脅程度也不同。為了簡(jiǎn)化研究,本文將單機(jī)航跡的威脅代價(jià)JT定義為
式中:JT-i為航跡段i中無(wú)人直升機(jī)所受到的威脅代價(jià),其模型為
本文考慮的威脅源包括雷達(dá)威脅、地空導(dǎo)彈威脅、地形威脅及氣象威脅等,現(xiàn)給出其具體模型。
1)雷達(dá)威脅
針對(duì)雷達(dá)作戰(zhàn)特性,將雷達(dá)威脅模型定義為式中:PR為雷達(dá)發(fā)現(xiàn)目標(biāo)的概率;KR為表征雷達(dá)性能的參數(shù);d為無(wú)人直升機(jī)到雷達(dá)的距離;Rmax為雷達(dá)最大作用距離。
2)地空導(dǎo)彈威脅
構(gòu)建地空導(dǎo)彈威脅模型為
式中:Pm為地空導(dǎo)彈威脅概率;dsj為殺傷區(qū)近界水平距離;dsy為殺傷區(qū)遠(yuǎn)界水平距離;ds為無(wú)人直升機(jī)到地空導(dǎo)彈的水平距離。
3)地形威脅
基于編隊(duì)飛行安全的考慮,構(gòu)建地形威脅模型為
式中:PT為無(wú)人直升機(jī)所在高度;dT為無(wú)人直升機(jī)到地形障礙中心軸線的距離;HT為地形障礙高度;RT為高度h上地形障礙表面距離中心軸線的距離。
4)氣象威脅
氣象威脅Pw如下:
式中:dw為無(wú)人直升機(jī)距離氣象威脅中心的距離;dwmax為氣象威脅區(qū)域最大半徑;dwmin為無(wú)人直升機(jī)因氣象威脅出故障而不能完成任務(wù)的區(qū)域。
2.2.3 時(shí)間代價(jià)
時(shí)間代價(jià)體現(xiàn)為各個(gè)無(wú)人直升機(jī)到達(dá)目標(biāo)終點(diǎn)的時(shí)間范圍與指令時(shí)間的差別,因此其模型為
式中:t為無(wú)人直升機(jī)達(dá)到目標(biāo)終點(diǎn)的實(shí)際時(shí)間;tc為無(wú)人直升機(jī)到達(dá)目標(biāo)終點(diǎn)的指令時(shí)間;tmin和tmax分別為設(shè)置的允許時(shí)間下限和上限。
在文獻(xiàn)[19-20]的基礎(chǔ)上,給出以下約束條件。
1)航跡總長(zhǎng)度
由于各類資源的限制,所規(guī)劃出的航跡總長(zhǎng)度要滿足一定要求,由此給出最大航跡總長(zhǎng)度約束:
式中:Lmax為最大航跡總長(zhǎng)度。
2)航跡段長(zhǎng)度
同樣從資源的角度考慮,對(duì)航跡段的最小長(zhǎng)度進(jìn)行約束,具體描述為
式中:lmin為航跡段最小長(zhǎng)度。
3)飛行高度
基于安全性考慮,給出航跡規(guī)劃的飛行高度約束:
式中:Hj為第j架無(wú)人直升機(jī)的飛行高度;Hmax、Hmin分別為航跡規(guī)劃的最大、最小飛行高度。
4)飛行速度
為了保證無(wú)人直升機(jī)編隊(duì)協(xié)同完成任務(wù),必須對(duì)其速度進(jìn)行約束,具體如下:
式中:vj為第j架無(wú)人直升機(jī)的飛行速度;vmin、vmax分別為航跡規(guī)劃出的最大、最小飛行速度。
5)俯仰角
從無(wú)人直升機(jī)飛行安全的角度出發(fā),給出俯仰角約束:
6)轉(zhuǎn)彎角
為了確保規(guī)劃航跡的可行性,對(duì)其轉(zhuǎn)彎角進(jìn)行限制,如下:
7)安全距離
為了避免無(wú)人直升機(jī)編隊(duì)在協(xié)同執(zhí)行任務(wù)期間發(fā)生碰撞問(wèn)題,建立如下安全距離模型:
編隊(duì)航跡規(guī)劃模型即為人工魚群算法求解的目標(biāo)函數(shù)?;?.1節(jié)所建立的模型,構(gòu)建編隊(duì)航跡規(guī)劃模型,如下:
為了兼顧算法搜索的效率和精度,本文基于變長(zhǎng)度的實(shí)值形式對(duì)人工魚個(gè)體進(jìn)行編碼,個(gè)體xi(i=1,2,…,m)的編碼如下:
式中:n為航跡點(diǎn)的個(gè)數(shù)。
在協(xié)同航跡規(guī)劃中,對(duì)無(wú)人直升機(jī)的初始航跡種群進(jìn)行聚類。本文的聚類策略是指對(duì)指標(biāo)優(yōu)先級(jí)進(jìn)行排序,按照優(yōu)先級(jí)逐個(gè)計(jì)算出各指標(biāo)對(duì)應(yīng)的一定數(shù)量的較優(yōu)秀個(gè)體作為子種群,剩下的個(gè)體作為最優(yōu)個(gè)體存儲(chǔ)種群,用來(lái)存儲(chǔ)各個(gè)子種群好的個(gè)體。
本文算法的具體流程如圖3所示。
圖3 基于改進(jìn)人工魚群算法的航跡規(guī)劃算法流程Fig.3 Flowchart of trajectory planning algorithm based on improved AFSA
表1 無(wú)人直升機(jī)與目標(biāo)信息Table 1 UH and target information
表2 威脅參數(shù)設(shè)置Table 2 Threat parameter setting
圖4 水平面規(guī)劃航跡Fig.4 Horizontal trajectory planning
圖5 三維空間規(guī)劃航跡Fig.5 3D space trajectory planning
仿真環(huán)境想定為3架無(wú)人直升機(jī)執(zhí)行對(duì)3個(gè)目標(biāo)的打擊任務(wù),需要對(duì)航跡進(jìn)行規(guī)劃。具體模型參數(shù)參考文獻(xiàn)[21],具體無(wú)人直升機(jī)與目標(biāo)信息及威脅參數(shù)如表1和表2所示。根據(jù)以上參數(shù),得到仿真結(jié)果如圖4、圖5及表3所示。
從圖4和圖5可以看出,本文算法實(shí)現(xiàn)了對(duì)3架無(wú)人直升機(jī)所構(gòu)成的編隊(duì)的航跡規(guī)劃。首先,3架無(wú)人直升機(jī)組成的編隊(duì)都是按照所規(guī)劃的軌跡到達(dá)了目標(biāo)點(diǎn);其次,規(guī)劃航跡成功規(guī)避掉了作戰(zhàn)區(qū)域內(nèi)的地形及各類威脅,同時(shí)算法規(guī)劃出的航跡滿足了本文所設(shè)立的約束條件。從表3可以看出,規(guī)劃出的3架無(wú)人直升機(jī)實(shí)際到達(dá)時(shí)間與指令最初時(shí)間最多相差30 s左右。那么根據(jù)無(wú)人直升機(jī)本身具有懸停等待功能及在低烈度戰(zhàn)爭(zhēng)的前提條件下,該誤差時(shí)間是可以容忍的,并且能夠滿足相應(yīng)的要求,進(jìn)而驗(yàn)證了本文算法的可行性。
為了與其他求解算法作更好的對(duì)比,本文選取了人工魚群算法、進(jìn)化算法(EA)、粒子群優(yōu)化算法3種算法和改進(jìn)后的人工魚群算法進(jìn)行無(wú)人直升機(jī)航跡規(guī)劃問(wèn)題的求解和對(duì)比,結(jié)果如圖6所示。
從圖6可以看出,在4種算法中,進(jìn)化算法出現(xiàn)了早熟的情況,并且陷入了局部最優(yōu)無(wú)法滿足搜索要求,而粒子群優(yōu)化算法雖然在初期收斂速度較快,但是后期同樣陷入了局部最優(yōu),人工魚群算法雖然在速度上有了較大的提高,但從精度上來(lái)看有提高卻依然不夠理想,而且同樣未搜索到最優(yōu)解,本文提出的改進(jìn)人工魚群算法相比于其他3種算法,收斂速度較快,且通過(guò)對(duì)視野模型和進(jìn)化策略的改進(jìn),在收斂精度上存在著明顯的優(yōu)勢(shì)。
表3 無(wú)人直升機(jī)實(shí)際到達(dá)時(shí)間Table 3 Actual arrival time of UH
圖6 搜索算法性能對(duì)比Fig.6 Performance comparison of search algorithms
本文提出了一種基于改進(jìn)人工魚群算法的航跡規(guī)劃算法。通過(guò)對(duì)人工魚群算法的改進(jìn)、航跡規(guī)劃模型的建立等措施實(shí)現(xiàn)了對(duì)編隊(duì)航跡規(guī)劃問(wèn)題的求解。仿真結(jié)果驗(yàn)證了所提算法的有效性。但是本文還存在著如下3點(diǎn)不足和需改進(jìn)的地方:①在代價(jià)函數(shù)上考慮的還不夠充分,可能還存在其他的威脅未考慮進(jìn)去;②在參數(shù)設(shè)置上較為理想化,可能還存在較大的改進(jìn)空間;③由于本文是根據(jù)無(wú)人直升機(jī)的終點(diǎn)懸停等待的特性采用的同步方式,導(dǎo)致在到達(dá)目的地的時(shí)間上會(huì)有所誤差。后續(xù)工作將圍繞以上3個(gè)方面問(wèn)題進(jìn)行更深入的研究,以期得到的規(guī)劃算法能夠更加貼近實(shí)戰(zhàn)環(huán)境。