黃 鶴, 高永博, 茹 鋒, 楊 瀾, 王會峰
(長安大學 a. 電子與控制工程學院; b. 西安市智慧高速公路信息融合與控制重點實驗室;c. 信息工程學院,西安 710064)
無人機具有生存能力強和機動性能優(yōu)越的特點,被應用于民生和國防等諸多領域[1-2].設計高效合理的無人機路徑規(guī)劃方案,可以保證無人機在執(zhí)行任務時有效躲避各種威脅區(qū)域,順利到達目的地.近年來許多國內(nèi)外學者對無人機的路徑規(guī)劃方法進行了大量的研究,對此提出了一些路徑規(guī)劃算法,主要可以分為兩大類:① 傳統(tǒng)算法,如人工勢場法[3]和A*算法[4]等;② 智能算法,如粒子群算法[5]、灰狼算法[6]和蝠鲼覓食算法[7]等.采用群體智能優(yōu)化算法解決無人機路徑規(guī)劃的問題是目前的研究熱點,相比于傳統(tǒng)算法,智能算法具有尋優(yōu)速度快、穩(wěn)定性強的優(yōu)點.在此基礎上,王翼虎等[8]利用改進粒子群優(yōu)化算法解決無人機路徑規(guī)劃的問題,生成一條航程較短的飛行路徑,收斂速度更快,但收斂精確度不高.黃書召等[9]為無人機成功通過威脅區(qū)域提出了一種改進遺傳算法的無人機三維路徑規(guī)劃,提升了搜索性能,但威脅區(qū)域考慮得比較單一,實際應用效果并不理想.吳坤等[10]利用貪婪優(yōu)化策略改進鯨魚算法,通過擴大搜索路徑提升全局尋優(yōu)能力,收斂速度較慢.上述研究算法雖然實現(xiàn)了無人機的路徑規(guī)劃,但算法的收斂速度和尋優(yōu)精度有限.2020年,Li等[11]根據(jù)黏菌在覓食過程探索路徑的行為提出了黏菌算法(Slime Mould Algorithm,SMA),特點是尋優(yōu)速度快、算法簡單、模型易修改,適合應用在無人機路徑規(guī)劃中,但SMA自身存在尋優(yōu)精度不高和容易陷入局部最優(yōu)的缺點,仍需進一步改進.因此,本文提出了一種基于改進的自適應黏菌算法(GSMA),保證了尋優(yōu)速度和尋優(yōu)精度,又避免陷入局部最優(yōu),應用在無人機中能夠提高其路徑搜索能力.
在無人機三維路徑規(guī)劃的過程中,根據(jù)任務、威脅源情況和地形等實際因素,構建了三維地形和威脅源約束.將這些威脅源結合自身約束條件建模,等效出三維環(huán)境下總的地形約束.
地形環(huán)境是無人機路徑規(guī)劃首先要考慮的問題,不同的地貌環(huán)境對無人機的威脅不同.三維地形可大致分為山地、丘陵和平原,其中山地條件中的山峰對無人機的正常飛行影響最大,當然也不能忽略海拔的影響.山峰建模坐標Z(x,y)如下所示:
(1)
式中:坐標(x,y)和(x0,y0)分別表示三維地形下山峰在地平面上和中心點的位置;h表示山峰的高度;λ1、λ2表示山峰的傾斜度.無人機路徑規(guī)劃過程中的地形威脅代價函數(shù)表示如下:
(2)
fHj=hj
(3)
要充分保證無人機的飛行安全,在路徑規(guī)劃中除了要考慮地形約束的影響,還需要考慮飛行的邊界和最高距離.實驗中,假設無人機的飛行范圍表示為(Xmin,Ymin)=(0, 0) km和(Xmax,Ymax)=(100, 100) km,探索路徑過程中的最高飛行高度為Zmax=5 km.
無人機在飛行過程中的威脅主要來自雷達、電磁威脅和導彈截擊等,建模如下.
(1) 雷達威脅.
雷達主要通過電磁波探測飛行物的距離和速度信息,對無人機的安全通過威脅很大.雷達偵測飛行物的方程可以簡化為圓錐形探測模型,描述如下:
P0=(XM-X0)2+(YM-Y0)2=
(4)
式中:(X0,Y0,Z0)表示雷達中心地面坐標;(XM,YM,ZM)表示雷達威脅區(qū)最大位置坐標;h0代表雷達威脅源的高度;r0為圓錐模型底面半徑.
(2) 電磁威脅.
電磁威脅是無人機路徑規(guī)劃的又一主要威脅.一般情況下,可以用半球形等價電磁威脅區(qū)域.電磁威脅函數(shù)模型PC可表示為
(5)
式中:X、Y、Z分別指三維平面的X軸、Y軸和Z軸;R代表電磁威脅半球形的區(qū)域半徑;α和β分別為三維平面上Z軸正向與電磁威脅半徑的夾角以及威脅半徑在水平面上與X軸正向夾角.
(3) 導彈威脅.
敵方導彈威脅到無人機的正常工作,飛行過程中必須躲避.導彈威脅區(qū)域Pd1、攻擊距離Pd2和威脅總代價PD模型表示如下:
(6)
(7)
PD=Pd1+Pd2
(8)
式中:kd和kg分別表示導彈擊中無人機的概率和導彈的加速度參數(shù);rd代表航跡點到導彈威脅中心的距離;rc表示導彈影響范圍半徑;rg表示無人機和目標之間的直線距離.
(4) 禁飛區(qū)威脅.
無人機在飛行過程中還會受到惡劣天氣和復雜環(huán)境的影響,被稱為禁飛區(qū).禁飛區(qū)的代價表示為
PF=KF
(9)
式中:KF為禁飛區(qū)的威脅代價.
將威脅源等效為地形模型,假設距離威脅源中心越近,威脅代價越大,地形越高,反之則越低.因此,可以將威脅源等效為
Qjp=
(10)
式中:Kthr為威脅源修正系數(shù);Rmax,p表示第p個威脅源的最大半徑;第p個威脅源中心的水平坐標為(xp,yp).禁飛區(qū)的威脅區(qū)域的代價fjp表示如下:
(11)
式中:rj,p為航跡點j到威脅源中心p的距離.
無人機在進行執(zhí)行任務的同時與地形威脅山源保持安全距離,避免產(chǎn)生碰撞,同時規(guī)避雷達、電磁和導彈威脅,保障無人機飛行安全.
無人機抽象為一個質(zhì)點模型,無需考慮自身的質(zhì)量和形狀.在路徑規(guī)劃的過程中,無人機不僅受到外部條件威脅,也受限于自身約束條件,如自身轉彎角度α0、向上爬升角度β0和燃油消耗(用飛行航程表示).設最大轉彎角度αmax、向上最大爬升角度βmax,這些自身物理約束條件可以表示為
(12)
(13)
(14)
式中:Qh和Qv分別為無人機的轉彎角和爬升角系數(shù);Jh和Jv分別為轉彎角度和向上爬升角度的代價函數(shù);JLj為航跡點j對應的航程;lj為無人機的飛行航程.綜合上述所有的代價函數(shù),無人機航跡點總約束代價表示為
fJj=Jh+Jv+JLj
(15)
將上述地形約束、高程代價、威脅模型約束及無人機自身物理約束的代價加權綜合起來,得到無人機總的代價函數(shù),用F(Rj)表示為
F(Rj)=
(16)
式中:d為航跡點數(shù)目;σ威脅源總數(shù);ω1、ω2、ω3、ω4為各約束代價的權重.
黏菌是一種真核生物,SMA模擬了黏菌在捕食過程中的行為變化,利用黏菌的覓食過程進行路徑規(guī)劃.
2.1.1黏菌覓食位置的更新 黏菌在覓食過程中,空氣中食物的濃度越大,黏菌自身細胞質(zhì)流動越快,進而覓食成功.黏菌覓食的過程可用函數(shù)表達式表示,位置更新公式如下:
Xnew=r(BU-BL)+BL,r (17) Xnew= (18) (19) p=tanh(S(i)-DF) (20) 式(17)和(18)表示黏菌覓食的過程,BU和BL規(guī)定了黏菌搜索食物范圍的上下邊界;c為常量,文中取0.03;r的取值范圍是在0至1區(qū)間內(nèi)的隨機值;Vb參數(shù)在-a到a區(qū)間內(nèi)取值;Vc參數(shù)在覓食過程中線性減少至0;t表示黏菌的迭代次數(shù);Xb代表食物濃度最高的位置;X為黏菌的位置;XA和XB代表黏菌的兩個任意位置;W為黏菌自身的質(zhì)量;Tmax表示最大迭代次數(shù).黏菌位置X可以隨著其獲得的最優(yōu)位置的變化而更新,同時黏菌位置也可以根據(jù)Vb、Vc和W參數(shù)的微調(diào)而更新[12].式(20)中的S(i)為黏菌的適應度,i表示種群的位置,而DF為黏菌的最佳適應度.此外,黏菌質(zhì)量參數(shù)W在不同食物濃度的函數(shù)表達式表示如下: (21) Sr=sort(S) (22) 式中:N/2表示前一半黏菌的數(shù)量;bF和wF分別為在迭代過程中的最優(yōu)適應度和最差適應度;sort表示對種群的適應度進行升序排列;Sr表示呈遞增型的適應度序列. 2.1.2算法流程 SMA流程如下. 步驟1初始化種群,設定參數(shù). 步驟2計算種群適應度值并排序. 步驟3利用式(17)和(18)更新黏菌種群位置. 步驟4計算種群適應度值,并更新最優(yōu)位置,計算當前最優(yōu)位置. 步驟5判斷是否滿足最優(yōu)條件,若滿足則輸出最優(yōu)結果,否則執(zhí)行步驟2~5直至滿足最優(yōu). 2.2.1航跡編碼 無人機飛行過程中的任一條路徑被隨機的一只黏菌所定義,而飛行路徑由許多個航跡點連接而成的線組成,并且每個航跡點均具有三維空間屬性(x,y,z).路徑規(guī)劃過程中,要確定航跡點數(shù),然后將z方向的坐標固定不變,即將三維等效為二維問題解決,則只需要對x和y方向坐標進行尋優(yōu). 2.2.2改進的Logistic映射 由于SMA存在過度依賴種群初始位置的問題,以隨機方式初始種群易使得種群分布不均勻,影響算法的求解精度.混沌運動具有遍歷性和不重復性等特點,適合用來生成種群的初始位置[12].大多群體智能優(yōu)化算法初始種群映射方式使用的是Tent映射和Logistic映射,Tent映射在0~2的取值范圍內(nèi)存在著小周期現(xiàn)象、容易陷入不動點的問題,而傳統(tǒng)Logistic映射對初始值條件要求嚴格,使得初始化黏菌種群的分布不均且多樣性不足.據(jù)此,設計一種改進的Logistic混沌映射,以增加種群的多樣性和均勻分布.具體表達如下: xtemp=mod(a/xn+λxn(1-xn),b) (23) (24) 式中:mod為取模函數(shù);xtemp為中間變量;mod(a/xn,b)的取值范圍為[0, 1);λ為常數(shù),文中取0.3;b為(0, 1)中的隨機數(shù),文中設定b=0.7;最后輸出序列xn的范圍是(0, 1].式(23)將不會出現(xiàn)不定值,且在a不同取值下仍具有較好的隨機均勻性. 2.2.3非線性自適應權重因子 權重因子是SMA的核心參數(shù),設計自適應權重因子可以用于改善算法的搜索能力[13]. SMA中參數(shù)是線性變化的,搜索能力較差且搜素范圍局受到限制,尋優(yōu)能力較弱.為解決這個問題,設計了一種非線性自適應權重因子w,黏菌位置更新公式如下: Xnew= (25) (26) 式中:wmax和wmin分別為慣性權重因子的最大值和最小值,本文經(jīng)過大量實驗取值為wmax=0.82,wmin=0.01.自適應權重因子w系數(shù)變化如圖1所示. 圖1 w系數(shù)變化圖 在迭代前期的權重因子w快速增大,擴大種群的搜索范圍,w在迭代后期增速放緩,有利于黏菌覓食過程中跳出局部最優(yōu),提高了算法的精度,有益于尋找到更合適的位置[14].自適應權重變化是指黏菌覓食過程中,黏菌位置會根據(jù)黏菌的迭代次數(shù)的變化而更新.GSMA設計的非線性自適應慣性權重因子,增強了搜索能力,同時避免了陷入局部最優(yōu). 2.2.4自適應柯西變異策略 由于地形情況較為復雜,在黏菌覓食過程中,對最優(yōu)位置進行柯西變異[15],可以提高迭代后期的搜素能力.柯西分布的特點是中間的峰值比較小而兩邊范圍比較廣,這樣可以使黏菌在當前范圍產(chǎn)生更大的擾動.針對路徑規(guī)劃過程中出現(xiàn)陷入局部最優(yōu)和搜索能力較弱的情況,標準柯西變異處理后優(yōu)化效果有限,因此提出了一種自適應柯西變異策略,公式如下: (27) (28) 式中:θ為常數(shù),在文中取10;rmax為黏菌個體之間的最大距離;F(γ;t)為柯西變異累計分布函數(shù).自適應柯西變異在黏菌群體迭代過程中可以獲得較多的最優(yōu)值,保證平滑收斂至最優(yōu),增強GSMA的全局搜素能力,減少了黏菌最優(yōu)值的動蕩并提高了其尋優(yōu)速度.自適應柯西變異下的黏菌位置更新如下所示: Xbnew=Xnew+F(γ;t) (29) 式中:Xnew為上一代的黏菌最優(yōu)位置;Xbnew為經(jīng)過自適應柯西變異更新后黏菌新的位置. 圖2 GSMA收斂過程 當解位于Dmax區(qū)域時,算法的解個體會向著最優(yōu)值xmax靠近,即方程的解x(t;x0,t0) 就會向著xmax靠近,此時解的過程表達式為 δ≤min{f(xmax)-f(x1), f(xmax)-f(x2)}≤ε (30) (31) 因此,圓S(δ)的半徑δ與初始狀態(tài)t0無關,所以GSMA的平衡狀態(tài)xmax是一致穩(wěn)定的,即 (32) 綜上所述,GSMA可以收斂到全局最優(yōu)值. 2.2.6GSMA流程 GSMA流程如圖3所示,具體流程如下. 圖3 算法流程圖 步驟1設置種群數(shù)量、最大迭代次數(shù)和相關參數(shù). 步驟2利用改進Logistic混沌映射初始化種群,計算種群的最優(yōu)和最差適應度并排序. 步驟3判斷隨機數(shù)r 步驟4計算適應度值,更新最優(yōu)位置. 步驟5根據(jù)每次適應度的不同進行排序. 步驟6對當前位置進行自適應柯西變異,計算適應度值,更新最優(yōu)位置. 步驟7是否到達最大迭代數(shù),滿足則輸出最優(yōu)值,不滿足則重復上述步驟直至滿足條件. 利用不同的測試函數(shù)對算法性能優(yōu)劣進行比較,在不同復雜度的情況下驗證GSMA尋優(yōu)能力的強弱.測試函數(shù)具體描述如下所示. (1) Rosenbrock函數(shù). (33) 式中:Rosenbrock函數(shù)搜索范圍為[-30, 30],維度為30,全局最優(yōu)值為0. (2) Schwefel函數(shù). (34) 式中:Schwefel函數(shù)搜索范圍為[-500, 500],維度為30,全局最優(yōu)值為 12 569.5. (3) Foxholes函數(shù). (35) 式中:Foxholes函數(shù)搜索范圍為[-65.536, 65.536],維度為2,全局最優(yōu)值為0.998. (4) Kowalik函數(shù). (36) 式中:Kowalik函數(shù)搜索范圍為[-5, 5],維度為4,全局最優(yōu)值為0.000 3. (5) Hartman 6函數(shù). (37) 式中:Hartman 6函數(shù)搜索范圍為[0, 1],維度為6,全局最優(yōu)值為 -3.332. (6) Shekel 10函數(shù). (38) 式中:Shekel 10函數(shù)搜索范圍為[-5, 5],維度為4,全局最優(yōu)值為 -10.536 3. 利用Rosenbrock、Schwefel、Foxholes、Kowalik、Hartman 6和Shekel 10共6種測試函數(shù)評估SMA、灰狼優(yōu)化(Grey Wolf Optimizer, GWO)算法[16]、海鷗算法[17](Seagull Optimization Algorithm, SOA)以及GSMA的性能.經(jīng)過30次測試后,適應度F隨著迭代次數(shù)t變化如圖4所示.適應度的最優(yōu)值Fbest及均值Favg如表1所示. 表1 4種算法在測試函數(shù)上的實驗對比 圖4 各測試函數(shù)上的適應度變化曲線 由圖4和表1可知,針對Rosenbrock函數(shù),SMA收斂速度弱于GWO、SOA和GSMA,迭代80次時收斂并陷入局部最優(yōu);而另外3種算法均尋得最優(yōu),其中GSMA的收斂速度和尋優(yōu)精度均最優(yōu).針對Schwefel函數(shù),SMA和GWO過早收斂,SOA的尋優(yōu)速度不如GSMA.經(jīng)過改進后的GSMA尋優(yōu)能力更好,優(yōu)于GWO和SMA.針對Foxholes函數(shù),GSMA迭代不足10次已經(jīng)收斂,而GWO和SOA則陷入了局部最優(yōu).針對Kowalik函數(shù),GWO和SOA迭代10次已收斂并陷入局部最優(yōu),SMA迭代90次時陷入局部最優(yōu),而GSMA迭代60次尋得最優(yōu),且收斂速度和尋優(yōu)精度均為最優(yōu).針對Hartman 6函數(shù),GWO、SOA和SMA分別迭代60、60和80次尋得最優(yōu),SMA的尋優(yōu)精度更高,GSMA收斂速度則更快且尋得最優(yōu).針對Shekel 10函數(shù),SOA過早陷入局部最優(yōu),SMA尋優(yōu)精度和速度較低,而GSMA和GWO尋優(yōu)精度大致相同,但收斂速度明顯高于GWO和SMA.綜上所述,SMA改進后提升了尋優(yōu)速度和精度,更易跳出局部最優(yōu). 實驗平臺為Window10系統(tǒng)的計算機,CPU為AMD R5-5600H,頻率為3.30 GHz、內(nèi)存為16 GB,軟件采用MATLAB 2021a.測試區(qū)域為100 km×100 km,高度為5 km,采用兩種不同的仿真地形.在地形1中,無人機的起始與終止坐標分別為(1, 93, 0.2) km、(98, 8, 0.5) km,3座不同類型的雷達位置坐標分別為(32, 40, 0) km、(70, 58, 0) km、(40, 12, 0) km,偵測半徑設定為9、11、14 km,電磁和導彈威脅半徑分別為12、18 km.地形2的區(qū)域大小也為100 km×100 km,無人機的起始點和終點為(2, 3, 0.2) km、(99, 87, 0.5) km,3座不同類型的雷達位置坐標分別為(30, 40, 0) km、(69, 70, 0) km、(40, 11, 0) km,偵測半徑設定為6、9、10 km,電磁和導彈威脅半徑分別為10、16 km,飛行過程中的最大轉彎角為60°.為提高無人機的生存和路徑規(guī)劃能力,兩種地形山峰位置有所不同.仿真種群數(shù)量均為100,最大迭代次數(shù)也是100.建模的主要參數(shù)如表2所示,表中:v為飛行速度.兩種地形中,無人機的三維路徑的仿真結果如圖5和圖6所示,各算法仿真結果如表3和表4所示. 表2 主要建模參數(shù) 表3 地形1仿真結果統(tǒng)計 圖6 地形2仿真結果圖 地形中黃色波為不同類型的雷達探測區(qū)域,藍色波表示電磁和導彈威脅區(qū)域.為對于仿真地形1,由圖5(a)和5(b)可以看出,在SOA結果中,無人機 成功穿過了第1座山峰,但在第2座山峰處撞山且被敵方雷達偵測到,不能成功到達目的地;而GWO和SMA結果中,無人機雖然成功規(guī)避了山峰和雷達偵察,但沒有繞開電磁威脅區(qū)域和導彈攻擊區(qū)域,且路線過長,導致撞擊山脈的概率增加,影響實用價值;相比之下,GSMA不僅成功規(guī)避了山脈和雷達偵測,而且選擇了最優(yōu)路線以更小的代價穿過地形.從表3可以看出,SMA、GWO、SOA以及GSMA的航程分別為166.23、159.38、162.17、133.54 km,最優(yōu)適應度分別為30.86、34.09、36.72、29.43,GSMA的規(guī)劃路徑最短,轉彎及爬升角代價最低,整體保持低空平穩(wěn)飛行,航跡代價最低,優(yōu)勢明顯.圖5(c)的仿真結果表明,SOA和GWO在迭代次數(shù)為80時仍未尋得最優(yōu)而陷入了局部最優(yōu),尋優(yōu)性能相比于SMA較差,并不適合無人機的徑規(guī)劃;SMA的精度相對較低,迭代至90次陷入局部最優(yōu),且路徑規(guī)劃距離過長. 相比于地形1,圖6中地形2的山峰更為密集,導彈和電磁覆蓋威脅范圍更廣.從圖6(a)和6(b)可以看出, SOA、GWO和SMA都規(guī)避了密集連片山脈,但經(jīng)過了導彈威脅區(qū)域,降低了飛機的安全性且規(guī)劃的路線過于漫長,實用性不高.GWO與山峰發(fā)生碰撞,未能安全到達目的地.而GSMA規(guī)避了雷達的偵測,選擇最佳路線快速穿過地形2.相比之下,GSMA尋優(yōu)精度和尋優(yōu)速度都優(yōu)于GWO及SMA,在迭代至80次時已經(jīng)尋得最優(yōu).而此時GWO及SMA仍未收斂,SOA則迭代20次即陷入了局部最優(yōu).綜上,GSMA能夠更為有效地避開各種威脅地形,路徑規(guī)劃中的總代價也最小. 提出了一種基于改進SMA的算法來解決無人機三維路徑規(guī)劃的問題.首先,建立相關的地形模型、各種威脅源和無人機約束模型,并建立代價函數(shù).其次,采用混沌映射對種群初始化,用以增加種群的多樣性和隨機分布,擴大了其搜索范圍更易獲得最優(yōu);在SMA中引入了非線性自適應權重因子,加快算法的收斂速度,很好地彌補了SMA自身存在的缺陷;加入柯西變異,使得種群在前期跳出局部最優(yōu),提高收斂速度.實驗結果表明,GSMA在無人機探索路徑規(guī)劃過程中,能夠在最短航程的條件下快速穿過危險區(qū)域和規(guī)避障礙物,應用價值明顯.2.2 基于改進的SMA的無人機三維路徑規(guī)劃
3 GSMA對比實驗
3.1 測試函數(shù)
3.2 實驗驗證
4 無人機突防仿真測試及分析
5 結語