閆浩泉,楊柳慶,張 勇
(1.南京航空航天大學 自動化學院,南京 211106;2.南京航空航天大學 無人機研究院,南京 211106;3.南京航空航天大學 中小型無人機先進技術(shù)工業(yè)和信息化部重點實驗室,南京 211106)
無人機技術(shù)的高速發(fā)展使其在石油、軍事、農(nóng)業(yè)、氣象、地理測繪等領(lǐng)域展現(xiàn)廣泛的應用潛力。不同于四旋翼無人機,軍用固定翼無人機的發(fā)展越來越重視對控制系統(tǒng)的實時性設(shè)計。無論是無人機蜂群技術(shù)的小型化發(fā)展趨勢[1],還是高超聲速無人機的超高速發(fā)展趨勢[2],短距離與長續(xù)航均對航跡規(guī)劃的求解提出了快速性要求。
無人機航跡規(guī)劃是典型的多目標優(yōu)化問題。旨在綜合考慮環(huán)境威脅、戰(zhàn)場威脅、飛行時間、油耗等多約束條件下,尋找一條從起始點到目標點的最優(yōu)或可行的飛行軌跡。目前的優(yōu)化求解算法可大致分為兩類,傳統(tǒng)優(yōu)化算法與智能優(yōu)化算法?;趫D論的Voronoi圖法[3]、基于隨機抽樣的隨機搜索樹算法RRT[4],動態(tài)規(guī)劃等均屬于傳統(tǒng)優(yōu)化算法。此類算法提出時間早,理論成熟,但在解決凸優(yōu)化等日益復雜的優(yōu)化問題表現(xiàn)乏力。新型智能優(yōu)化算法包括不限于各類群智能優(yōu)化算法:蟻群算法(ACO,ant colony optimization)[5]、粒子群算法(PSO,particle swarm optimization)[6]、灰狼算法(GWO,grey wolf optimizer)[7]、鯨魚優(yōu)化算法(WOA,whale optimization algorithm)[8]等。各類機器學習算法:Q學習算法[9]、深度確定性策略梯度算法(DDPG,deep deterministic policy gradient)[10]等。多數(shù)群智能算法是通過觀察自然界中的生物群體并分析對應的群體智能性發(fā)展而來的仿生算法。個體的數(shù)量決定并行運算的規(guī)模,個體之間的信息交流決定并行運算的效率。算法具備收斂性前提下,二者合力影響求解的效率。鯨魚優(yōu)化算法相比ACO算法與PSO算法,參數(shù)少,信息交流機制豐富,具有、易于實現(xiàn)、高效、普適性等特點。即便對比于新興的機器學習算法,也具有無訓練時間成本、應用成熟的優(yōu)勢。
WOA算法[11]的生物模擬對象是捕食過程中的座頭鯨群。已有眾多學者通過對算法的自身改進以及算法的融合改進完成性能優(yōu)化。算法的初始化方式以及隨機機制是改進的常選對象,張永、王堅浩分別采用不同的混沌映射改善初始化方式、Zhang、liu等通過變異算子[12]以及萊維飛行擾動改進隨機機制[13],提高算法的探索能力。通過對自身種群進行分組還可以實現(xiàn)結(jié)構(gòu)層面的改進。文獻[14]將種群分成搜索組與獵物組,利用搜索組的最優(yōu)個體引導獵物組。Kaveh提出的與碰撞優(yōu)化算法混合的改進方法具有相似的機制[15]。劉小龍[16]將種群劃分為多個相互獨立的子群,使用橫向和縱向兩種對比方式影響個體。
融合改進則是融合其他群智能優(yōu)化算法原理進行結(jié)構(gòu)、隨機機制優(yōu)化的方法。Korashy將GWO的領(lǐng)導層結(jié)構(gòu)引入WOA中,實現(xiàn)結(jié)構(gòu)分級的優(yōu)化[17],Strumberger等人則將人工蜂群算法的搜索結(jié)構(gòu)代替原有搜索機制[18],提高種群豐富度。
針對WOA算法高維優(yōu)化問題收斂速度慢,多極值問題易于早熟、陷入局部極值的問題,且為滿足航跡規(guī)劃的實時性要求,本文提出基于預警機制的鯨魚優(yōu)化算法(APWOA,adaptive probabilistic whale optimization algorithm)用于優(yōu)化求解。同時將算法解算時間計入航跡代價的優(yōu)化模型,提高實時性的優(yōu)先級。APWOA算法引入與個體適應度相關(guān)的自適應概率控制3種更新機制的選取,對適應度低的個體發(fā)出預警,提高其進行隨機更新的概率。從整體層面提高算法個體的差異性。同時自適應概率還參與WOA特有的螺旋式更新機制的自適應權(quán)重定義,控制收縮范圍實現(xiàn)機制層面的探索與開發(fā)的平衡。為驗證算法的收斂能力,使用優(yōu)化算法的基準測試函數(shù)作為工具,與多種算法進行對比分析。針對航跡規(guī)劃問題,在聯(lián)合坐標等分法基礎(chǔ)上,通過控制步長實現(xiàn)變維度的航跡序列生成,完成不同規(guī)劃維度方面的仿真對比。
1.1.1 地形威脅
根據(jù)飛行環(huán)境和任務要求建立適當?shù)囊?guī)劃空間是解決路徑規(guī)劃的前提。數(shù)字高程地圖(DEM,digital elevation map)為指定投影平面上的空間水平間隔的高程值矩陣,本質(zhì)是關(guān)于高程平面坐標(x,y)的連續(xù)函數(shù),實際使用時作為一個有限的離散集。采用文獻[19]提及的地形模型函數(shù)采集DEM所需高程數(shù)據(jù),具體為:
(1)
其中:(x,y)為水平面的點坐標,z為坐標(x,y)相對應的高度。a,b,c,d,e,f為相關(guān)系數(shù),改變相關(guān)系數(shù)以獲得不同地形數(shù)據(jù)。
第k山峰對無人機造成的山峰威脅表示為:
(2)
其中:d為無人機至山峰k對稱軸的距離;dmin為地形最小作用距離。H(k)為山峰k的高度Rt為山峰的最大延伸半徑;Rt(h)的計算公式為:
Rt(h)=(H(k)-h)/tanθ
(3)
其中:θ為該山峰地形的坡度。
式(2)、式(3)中各變量間的關(guān)系如圖1所示。
圖1 地形威脅示意圖
1.1.2 雷達威脅
雷達通過發(fā)射電磁波搜尋并分析空間內(nèi)物體,獲知物體的方向、高度和速度信息,進而達到偵查目的。雷達的威脅程度與其信號強度成正比,后者滿足信噪比公式:
(4)
S/N表示雷達接收器的信噪比,Pt為雷達發(fā)射器功率,Gr為接收天線增益,Gt為發(fā)射天線增益,σ表示被探測目標的有效雷達散射面積。λ為工作波長,Ks表示波茲曼常數(shù),Lm為損耗因子,Bn為濾波器帶寬,Ts為工作時絕對溫度,最后的dR表示無人機與雷達的距離,若僅考慮dR為變量,其余參數(shù)視為常數(shù),則信噪比公式可簡化為:
(5)
不難看出,雷達威脅關(guān)于距離的四次方成反比。
WOA算法將種群個體的位置信息作為特征信息進行交互。澳大利亞研究學者Seyedali Mirjalili將座頭鯨群捕食過程劃分為3個階段:包圍獵物階段、氣泡網(wǎng)攻擊階段、以及搜尋獵物階段。并提出三類更新機制:收縮環(huán)繞包圍機制、螺旋更新機制、以及隨機游走機制。采用何種機制由系數(shù)a及對應的|A|控制。系數(shù)生成方式為:
A=2·a·r-a
C=2·r
a=2(1-t/Max_iter)
(6)
(7)
螺旋式更新機制數(shù)學模型表示為:
(8)
式中,d表示當前鯨魚與獵物—最優(yōu)解之間的距離。b為對數(shù)螺旋的形狀參數(shù),一般設(shè)置為1,l為[-1,1]內(nèi)的隨機系數(shù)。
WOA算法采用隨機游走機制模擬鯨魚群的搜索獵物階段。此階段鯨魚相互選擇進行位置的隨機更新。更新法則為:
(9)
三類更新機制關(guān)于系數(shù)|A|與隨機概率p的關(guān)系可歸納為:
(10)
WOA依靠隨機游走機制進行全局搜索,依靠收縮包圍機制與螺旋式更新機制進行局部開發(fā)。
2.1.1 混沌理論的初始化
目前幾乎所有的群智能優(yōu)化算法都屬于隨機性質(zhì)的優(yōu)化算法。鯨魚群的初始化方式對算法的后續(xù)走向有著重要影響。使用傳統(tǒng)的隨機函數(shù)容易引入計算機的偽隨機性。混沌映射可以用于替代偽隨機數(shù)生成器,其生成的序列在解空間內(nèi)分布較為均勻,因此能提高初始種群的遍歷性。采用混論理論中的Logistic映射完成對算法隨機初始化的改進,計算式表示為:
x(n+1)=μx(n)(1-x(n))
(11)
μ為可調(diào)參數(shù),且μ∈[0,4]。除去Logistic映射,Tent映射也被廣泛使用。式(9)定義的游走機制通過隨機選取種群個體進行更新的方式,擴大了算法的搜索范圍,一定程度提供了算法跳出局部最優(yōu)的能力,但較優(yōu)個體不可避免地會出現(xiàn)跟隨較差個體隨機游走地狀況,出現(xiàn)個體搜索倒退、收斂緩慢的情況。為避免過度盲目性,以最優(yōu)位置為導向,添加萊維飛行擾動保證一定程度的隨機性。計算方法表示為:
(12)
式中,α⊕Levi(β)為萊維飛行添加項。其中⊕表示元素相乘,α為比例系數(shù),β為參數(shù),通常取1.5,μ與ν均為服從標準正態(tài)分布的隨機參數(shù)。
2.1.2 預警機制的自適應概率選取
式(10)表明WOA執(zhí)行螺旋式更新或其他兩種機制取決于p,各自發(fā)生率為50%。概率p實質(zhì)控制種群處于局部開發(fā)與全局搜索的何種階段。本文依據(jù)個體適應度對種群個體的p數(shù)值進行自適應選取。對排名靠后的個體發(fā)出預警,適應度越差,在|A|>1時,其游走機率越大。在保持個體差異化的同時,優(yōu)化收斂能力。個體概率pi表示為:
(13)
第i個體游走的概率與自身適應度排名有關(guān),N為個體總數(shù),rank(fitnessi)為個體適應度排名。游走概率pi限定在范圍rank(fitnessi)。
2.1.3 自適應權(quán)重系數(shù)
收縮包圍與游走機制處于|A|>1范圍內(nèi),|A|<1范圍內(nèi)仍需進行探索能力與開發(fā)能力的平衡。在|A|<1內(nèi)的螺旋更新機制內(nèi),添加權(quán)重因子w控制螺旋更新的范圍,更新機制表示為:
(14)
其中:w參數(shù)的大小依據(jù)式(13)預警機制的概率pi決定,表達式為:
wi=0.75+pi
(15)
式(15)表明個體i的權(quán)重因子wi限定范圍[0.75,1.25]。當wi<1時,收緊位置更新,當wi>1時,放寬位置更新,擴大更新范圍。由wi所處范圍不難看出收緊與放寬概率各占50%。
綜上,APWOA算法的基本步驟如下:
APWOA的Python偽代碼
Setting: lb, ub, N, D, ObjFun, and T
Logistic映射隨機初始化種群位置;初始化種群最優(yōu)解,式(11);
while (t<=T):
邊界檢測與處理;
根據(jù)航機代價定義公式計算種群個體適應度;
更新最優(yōu)解best_fitness,best_position
for i inrange(1, N) do
根據(jù)適應度的排序計算各個體的預警概率p,式(13);
根據(jù)預警概率p計算出自適應權(quán)重w,
式(15);
Ifp< 0.5:
If |A|<1:
依據(jù)添加萊維飛行的游走機制更新位置信息,式(12);
else:
包圍獵物,依據(jù)收縮包圍機制更新位置信息,式(7);
else:
依據(jù)自適應權(quán)重的螺旋機制進行位置更新,式(14);
更新最優(yōu)解best_fitness,best_position
t=t+1
end while
returnbest_fitness,best_position
常規(guī)航跡規(guī)劃指標考慮無人機自身性能約束條件、以及地形威脅、雷達威脅等威脅條件。自身性能約束可分為角度代價、航程代價、高度代價。
航程代價指標是航跡代價函數(shù)的重要組成部分,航跡規(guī)劃在多數(shù)情況下以尋求最短的安全可飛行航程為主要目標。算法規(guī)劃得出的節(jié)點序列,將航路劃分為對應的航跡分段,則總航程代價為各分段之和,表示為:
(16)
i為當前航跡節(jié)點,path為第(i,i+1)段航程,通過計算節(jié)點之間距離獲得。
考慮爬升角/下滑角為主要角度代價指標。航跡序列中的每一個航跡段均需滿足爬升角度與下滑角度的約束條件。超出最大角度約束則認為該航跡不可飛行,優(yōu)化失敗。
角度代價指標Jangle表示為:
(17)
若存在任意航跡段的爬升角/下滑角θi大于最大角度,則給予較大的懲罰值Ca,約束條件內(nèi),總的角度代價Jθ為各代價指標總和。Jθ越小,表明角度變化越小,則規(guī)劃出的軌跡越平滑,這是角度納入航跡代價的重要原因之一。
戰(zhàn)場存在雷達威脅的條件下,還應考慮飛行高度代價指標。較高的飛行高度會加大被雷達發(fā)現(xiàn)的概率,而過低的飛行高度則難以應對起伏的地形。定義安全高度Hsafe為當前飛行高度與地面的最小安全距離。高度代價指標Jheight表示為:
(18)
威脅Jthreat主要考慮地形威脅與雷達威脅兩種。式(2)為山峰地形威脅的計算方式。為保證存在雷達威脅情況下的無人機安全性,定義雷達絕對威脅領(lǐng)域,該領(lǐng)域內(nèi)無人機毀傷概率為100%,則雷達威脅指標表示為:
(19)
dr為無人機與雷達j之間的距離,Rj為雷達j的領(lǐng)域半徑,Cr為無人機落在領(lǐng)域內(nèi)的懲罰值。由此可得總威脅代價Jthreat為:
Jthreat=Tterrain+Jradar
(20)
綜上所述,本文定義常規(guī)航跡代價Jcost為:
Jcost=w1Jpath+w2Jangle+
w3Jheight+w4Jthreat
(21)
式中,Jpath為航程代價,Jangle為爬升角代價,Jheight為高度代價,存在雷達威脅的戰(zhàn)場環(huán)境下,應控制無人機的飛行高度,Jthreat為威脅代價,包括第二章節(jié)提及的地形山峰威脅以及雷達威脅。w1,w2,w3,w4為各航跡代價的權(quán)重系數(shù)。
為完成實時航跡規(guī)劃的實時性要求,本文將優(yōu)化算法的求解時間內(nèi)引入航跡代價函數(shù)。時間代價Jtime與航程代價Jpath具有相同的表達式,即為:
(22)
time為算法的實際運行時間,Tmax為預定的規(guī)劃時間上限,應與威脅數(shù)量、規(guī)劃距離成正相關(guān)。C為施加的懲罰值,懲罰值數(shù)值根據(jù)實際情況自定義選取,實時性要求極高的環(huán)境下,C可設(shè)置為無窮大,保證實時性的最高優(yōu)先級。
綜合常規(guī)航跡代價以及時間代價,總航跡代價Jtotal表示為:
Jtotal=α1Jcost+β1Jtime
(23)
α1與β1為常規(guī)航跡代價Jcost、運行時間代價Jtime相對應的權(quán)重系數(shù)。在實際使用時依據(jù)需求自適應選取,面臨威脅環(huán)境復雜、遠距離航跡情況,優(yōu)先保證無人機安全抵達,應著重考量威脅代價以及航跡代價,可適當提高α1權(quán)重。反之,短距離、實時性要求高的情況,提高β1權(quán)重以增加機動性。
WOA算法中,每個個體對應一條候選航跡規(guī)劃,航跡的生成方法定義個體信息的表達方式。節(jié)點數(shù)量決定算法優(yōu)化問題的維度。針對三維航跡規(guī)劃,本文采用坐標等分法將其簡化為二維航跡規(guī)劃,以此,算法的優(yōu)化維度簡化為水平面內(nèi)的(x,y)兩個維度。x軸坐標等分法示意圖如圖2所示,僅為作圖方便,山峰威脅與雷達威脅投影視為圓形。
圖2 x軸坐標等分法示意圖
單獨使用x坐標等分法或y坐標等分法會造成算法模型失效的風險。如只采用x坐標等分法,模型會在無人機起始點與目標點x軸坐標相等情況時失效,且當x坐標變化遠小于y坐標變化時,計算的規(guī)劃航跡點過少,導致航跡不具有飛行價值。為防止上述問題,本文采用聯(lián)合坐標等分法。選取x坐標等分法與y軸坐標等分法的結(jié)果最大值確定航跡待規(guī)劃節(jié)點數(shù)量。避免單一坐標等分法失效的同時,規(guī)劃較多數(shù)量的節(jié)點保證航跡的可行性。節(jié)點數(shù)量pointn表示為:
(24)
step為規(guī)劃步長,固定起始點與目標點情況下控制節(jié)點數(shù)量,改變step即實現(xiàn)航跡規(guī)劃問題的維度。航跡規(guī)劃節(jié)點之間,常使用采樣的方法進行碰撞點檢測,起到降低規(guī)劃維度的同時還可以對軌跡完成優(yōu)化。雖然改變起始點與坐標點的方法可以實現(xiàn)對不同維度的算法仿真,但會引入不同雷達威脅與山峰威脅,變量過多導致對比困難。本節(jié)設(shè)計步長step控制的可變維度航跡生成方法則更方便仿真數(shù)據(jù)對比。
基準測試函數(shù)是進行算法性能測試的基本工具,為分析本文改進WOA算法的優(yōu)化性能,采用文獻提及的18個廣泛使用的基準測試函數(shù)進行性能測試。選取群智能優(yōu)化算法中典型的PSO算法、原WOA算法[11]、使用萊維飛行該進的灰狼算法LGWO[20],以及文獻最新改進的基于萊維飛行的WOA算法LWOA[21]進行測試比較。測試函數(shù)的基本信息參考文獻[22]。仿真實驗的硬件平臺為聯(lián)想筆記本AIR14計算機,運行內(nèi)存為16 g,CPU為AMD Ryzen 4800U,集成顯卡為AMD 512mb。軟件平臺為:MATLAB R2016b,以及Pycharm 2021。
設(shè)置種群數(shù)目為30,迭代次數(shù)500次。除此之外,上文提及的對比算法的必要參數(shù)設(shè)置如表1。關(guān)于基準測試函數(shù),f1~f5為高維基準函數(shù),選定維度為30。f14~f18為多峰值基準函數(shù),維度以及搜索范圍遵循自定義。為降低實驗偶然性,每類算法獨立運行30次取平均值。測試結(jié)果(最小值、平均值、方差)匯總至表2。
表1 各算法參數(shù)設(shè)置
表2 基準函數(shù)測試結(jié)果
f1~f5的高維函數(shù)測試中,WOA算法相比PSO算法,本身就具有較高的收斂能力。但本文改進的APWOA算法比只添加萊維飛行擾動的LWOA算法具備更高的收斂精度與收斂穩(wěn)定性。APWOA在f1~f3的測試中表現(xiàn)出優(yōu)異特性,但APWOA與LWOA算法在f4~f5表現(xiàn)落后于LGWO算法。關(guān)于多峰函數(shù)f15~f18測試,APWOA能夠搜索出f16~f18的理論最優(yōu)解,并在f15上搜索出相比于其他算法的較小值。綜合而言,基準函數(shù)的測試仿真表明,在保證低維函數(shù)的局部尋優(yōu)能力的同時,APWOA在高維函數(shù)的收斂速度與精度得到明顯改善。
為驗證改進的APWOA算法對于時間約束的航跡規(guī)劃的有效性,基于Pycharm開發(fā)平臺和python開發(fā)語言進行仿真驗證,并使用Matlab2016b進行數(shù)據(jù)處理與圖像繪制。
3.2.1 變維度的航跡求解精度測試
仿真場景數(shù)據(jù)由式(1)計算得出,DEM的范圍為100 km×100 km×500 m。式(1)地形函數(shù)設(shè)置為a=0.1、b=0.01、c=1、d=0.1、e=0.2、f=0.4、g=0.02。除去基礎(chǔ)地形外,添加雷達作為戰(zhàn)場威脅的代表。初始兩個雷達的水平面坐標為(65,10)、(12,85)。雷達不可飛行的區(qū)域半徑為10 km,設(shè)定該領(lǐng)域內(nèi)無人機毀傷概率為100%,領(lǐng)域外雷達威脅遵從式(5)計算。航跡代價求解的維度為待規(guī)劃的節(jié)點數(shù)目,本文使用改變步長的方法實現(xiàn)節(jié)點數(shù)目、以及維度的變化。航跡步長分別選取8 km、5 km以及3 km。為進行維度變化的測試,選定起始點為(3,3,60),目標點為(92,58,60),并固定每個航跡分段的碰撞點檢測數(shù)目,以控制計算量的數(shù)據(jù)誤差。比較上文基準函數(shù)對比試驗參與的PSO算法、WOA算法與本文的APWOA算法的航跡解。為同時獲取算法收斂精度與收斂速度信息,迭代次數(shù)選取200次。每類算法的每個步長維度運行10次取平均值,匯總結(jié)果(平均航跡代價、單次迭代運行時間、運行方差)至表3。
表3 不同維度的航跡規(guī)劃測試結(jié)果
從表3看出,APWOA算法以及WOA算法相較于PSO算法,面對高維航跡規(guī)劃仍然可以得出較優(yōu)解,且規(guī)劃解優(yōu)勢明顯。而相較于WOA算法,APWOA算法在運行時間基本持平的情況下,可獲得代價更小的規(guī)劃解。10維度規(guī)劃中相較WOA算法提升8.0%,32維度規(guī)劃中相較WOA算法提升5.5%。這表明APWOA算法具備更高的收斂精度。實際航跡規(guī)劃采用的步長應根據(jù)目標點起始點距離、地形復雜度、威脅數(shù)目綜合考量,部分文獻甚至設(shè)有最小規(guī)劃步長。表中選取20,30高維度情況多作為極限測試以及數(shù)據(jù)分析使用。根據(jù)表3,實驗選取3種算法的航跡均值作為典型代表,關(guān)于8 km步長10維度的航跡規(guī)劃路線如圖3所示。關(guān)于3 km步長32維度的航跡規(guī)劃路線如圖4所示。
圖3 8 km步長的航跡規(guī)劃結(jié)果對比
圖4 3 km步長的航跡規(guī)劃結(jié)果對比
圖3中,在8 km步長,維度較低的測試中,3種算法均可以搜索到可飛行的航跡路線。其中APWOA算法規(guī)劃出的路線最短,表明其優(yōu)化能力相對較強,PSO算法相對于其他算法,相同迭代次數(shù)花費較少的運行時間,所以3種算法求解出的時間約束的航跡代價差距較小。在圖4的3 km步長的高維度測試下,APWOA算法解算出的航跡代價則遠優(yōu)于PSO算法,相較于原WOA算法也具有明顯提升。
3.2.2 航跡求解實時性測試
使用上節(jié)的測試數(shù)據(jù),取3 km步長與8 km步長規(guī)劃中接近航跡代價平均值的測試路線,繪制3種算法關(guān)于迭代次數(shù)的收斂曲線,如圖5所示。
圖5 不同步長各算法的收斂曲線
圖5(a)中,APWOA早69次迭代獲得WOA算法可獲得的最優(yōu)解,依據(jù)表3中WOA的單次迭代運行時間,則APWOA算法在3 km步長32維度的極限測試下可節(jié)省時間成本6.7 s左右,占WOA算法總用時的58.5%。在正常維度的(b)圖中,基于APWOA算法的航跡規(guī)劃實時性依舊具有不俗提升,APWOA算法20次迭代內(nèi)即可獲取優(yōu)于WOA算法的航跡代價,總耗時1.2 s。
本文針對無人機三維航跡規(guī)劃問題,主要進行兩方面的改進研究。針對航跡優(yōu)化模型,將算法運行時間計入航跡代價,建立起規(guī)劃航跡與運行時間的互反饋通道。針對優(yōu)化求解算法,本文提出基于預警機制的鯨魚優(yōu)化算法。對3種機制的選取概率實現(xiàn)自適應,并依次概率實現(xiàn)對螺旋更新機制的收縮控制,實現(xiàn)全局探索與局部優(yōu)化的平衡。關(guān)于算法驗證,使用可變維度的航跡生成方法,驗證了算法的有效性與優(yōu)越性。