張宏鵬,黃長強,軒永波,唐上欽
(1.空軍工程大學 航空工程學院,陜西 西安 710038; 2.空軍研究院 航空兵研究所,北京 100085)
機動決策是指戰(zhàn)斗機根據(jù)空戰(zhàn)過程中迅速變化的態(tài)勢信息做出相應的機動動作。機動決策以獲得有利的攻擊位置或逃離敵機攻擊范圍為目的,是無人作戰(zhàn)飛機(UCAV)進行自主空戰(zhàn)所必須具備的關鍵技術(shù)。
國內(nèi)外學者為解決戰(zhàn)斗機自主決策問題提出了多種自主決策方法。文獻[1]提出利用博弈論的方法,用矩陣的形式評估敵我雙方可能選擇的機動,從而選取對我方最有利的機動動作;文獻[2]提出基于多級影響圖的機動決策方法;文獻[3]提出了一種結(jié)合人工勢場[4]、滾動時域控制[5]和粒子群算法[6]的戰(zhàn)斗機空戰(zhàn)機動決策方法;文獻[7]構(gòu)造了基于滾動時域的無人機空戰(zhàn)決策專家系統(tǒng);文獻[8]提出了結(jié)合貝葉斯推理與滾動時域優(yōu)化的自主決策方案;文獻[9]針對空戰(zhàn)雙方毀傷概率的不確定性,將魯棒優(yōu)化[10]思想引入無人機空戰(zhàn)博弈模型中;文獻[11]提出了基于統(tǒng)計學原理[12]的魯棒機動決策方法;文獻[13]提出了一種基于連續(xù)動作集強化學習的無人機機動決策方法;文獻[14]提出了一種將多目標優(yōu)化思想[15]與強化學習[16]相結(jié)合的機動決策模型;文獻[17]將博弈論和直覺模糊集結(jié)合,解決了不確定環(huán)境下無人機空戰(zhàn)的機動決策問題。上述方法中,矩陣博弈方法不適于大動作空間的機動決策,多級影響圖法不滿足實時性要求,滾動時域法和基于統(tǒng)計學原理的方法選擇機動動作時優(yōu)化區(qū)間有限,強化學習法采集到有效樣本的難度極大且訓練時間很長。同時,現(xiàn)有決策方法所使用的機動動作較少,飛機機動方式不夠靈活。
為解決上述問題,本文提出了一種基于深度神經(jīng)網(wǎng)絡(DNN)的機動決策模型及方法。首先構(gòu)建了新的機動動作庫,共36種機動,增強了飛行的靈活性。其次,利用深度學習技術(shù)[18]和272 160種飛行樣本,以當前態(tài)勢及飛行控制量為輸入,以一段較長時域后的態(tài)勢為輸出,構(gòu)造了具有一定態(tài)勢預測能力的DNN. 空戰(zhàn)仿真時,利用該網(wǎng)絡根據(jù)當前信息從機動動作庫中選取輸出態(tài)勢最優(yōu)的機動動作,從而增強決策智能化程度,避免強化學習法的低效率采樣、滾動時域法優(yōu)化區(qū)間有限的缺點,并滿足較高的實時性要求。最后通過有效性仿真、與文獻[11]方法的對抗性仿真和對空戰(zhàn)過程的態(tài)勢評估,檢驗了本文方法有效性及優(yōu)越性。
在研究UCAV機動決策的過程中,采用以法向過載、切向過載和滾轉(zhuǎn)角為飛行操控量的UCAV運動動力學模型。為簡化問題的復雜度,不考慮飛行過程中的迎角和側(cè)滑角,將地面坐標系視為慣性系,同時忽略地球自轉(zhuǎn)及公轉(zhuǎn)的影響,并且不考慮地球曲率變化。具體公式[19]如下:
(1)
美國國家航空航天局學者設計了7種基本機動動作[20]:1)保持原有狀態(tài)飛行;2)最大加速直飛;3)最大過載左轉(zhuǎn);4)最大過載右轉(zhuǎn);5)最大過載爬升;6)最大過載俯沖;7)最大減速飛行。在此基礎上對機動動作進行擴展,具體方式為在(-180°, 180°)范圍內(nèi)每隔10°選擇一個滾轉(zhuǎn)角,同時使UCAV縱向過載和側(cè)向過載最大。由此構(gòu)成36種機動動作,軌跡如圖1所示。由于考慮了滾轉(zhuǎn)角速度,給定滾轉(zhuǎn)角后,飛機需要從初始滾轉(zhuǎn)角開始滾轉(zhuǎn),故圖中軌跡組成的圖形有開口,且滾轉(zhuǎn)角速度越大、開口越小。
圖1 動作庫Fig.1 Maneuver library
深度學習崛起于21世紀初,是機器學習的一個分支領域。它是從數(shù)據(jù)中學習表示的一種數(shù)學框架,強調(diào)從連續(xù)的層中進行學習[21]。深度學習中的“深度”指的并不是利用這種方法所獲取的更深層次的理解,而是指一系列連續(xù)的表示層[22]。在深度學習中,這些表示層是通過叫作神經(jīng)網(wǎng)絡的模型來學習得到的。DNN的結(jié)構(gòu)如圖2所示。
圖2 深度神經(jīng)網(wǎng)絡Fig.2 Deep neural network
2.2.1 空戰(zhàn)態(tài)勢信息
機動決策的過程是根據(jù)態(tài)勢信息選擇最有利于己方機動動作的過程。我機與敵機的態(tài)勢信息,直接或者間接影響雙方武器作戰(zhàn)效能的發(fā)揮[23],從而影響空戰(zhàn)的最終結(jié)果。態(tài)勢信息主要有以下3種:
1)距離態(tài)勢:敵我距離、絕對高度和相對高度。
2)速度態(tài)勢:敵我絕對速度和相對接近速度。
3)角度態(tài)勢:我機機頭指向相對于視線矢量的傾角和偏角,敵機機頭指向相對于視線矢量的傾角和偏角,視線轉(zhuǎn)動角速度。
2.2.2 DNN決策模型
本文提出一種基于DNN的決策模型,包括兩個部分:DNN訓練和DNN決策。具體如下:
DNN訓練過程如圖3所示。以UCAV機頭指向在水平面的投影為x軸方向,z軸與水平面垂直,y軸方向按右手定則選取,此坐標系為采樣坐標系。UCAV初始時刻位于坐標原點,以初始航跡傾角γ0、初始滾轉(zhuǎn)角μ0、初始速度v0和UCAV將要采用的動作庫中某一目標滾轉(zhuǎn)角μt作為DNN輸入,令UCAV在當前γ0、μ0、v0下采用μt飛行一段固定時間T,記錄此時UCAV的航跡傾角γt和航跡偏角ψt,并將其作為DNN輸出。
圖3 DNN訓練Fig.3 DNN training
通過對4種輸入均勻采樣并進行飛行仿真,得到對應的輸出,由此獲得大量飛行樣本。再利用樣本訓練DNN,使其獲得根據(jù)當前狀態(tài)和動作預測未來狀態(tài)的能力。采樣范圍及間隔如表1所示。
表1 采樣范圍及間隔Tab.1 Sampling range and interval
2.2.3 決策目標函數(shù)
本文方法用于解決近距空戰(zhàn)的機動決策問題,目標是使己方快速達成導彈發(fā)射條件,不考慮使用航炮的攻擊方式。因此,結(jié)合DNN的輸出量,設計決策目標函數(shù)如下:
Tar=α1|γp-γLOS|+α2|ψp+ψt-ψLOS|,
(2)
式中:γp和ψp分別為經(jīng)過DNN預測后得到的我機在2.2.2節(jié)中采樣坐標系下的航跡傾角和航跡偏角;α1和α2為決策目標函數(shù)中的權(quán)重,由于滿足導彈發(fā)射條件既要考慮傾角也要考慮偏角,因此進攻時取兩個權(quán)重均為0.5;γLOS和ψLOS分別為視線矢量RLOS在當前坐標系下的傾角和偏角。DNN決策的目的是從動作庫中選出使T時間后的目標函數(shù)值Tar最小的動作,由此使得UCAV快速達到導彈發(fā)射條件。
為客觀描述空戰(zhàn)過程,設計空戰(zhàn)態(tài)勢評估函數(shù)?,F(xiàn)有決策方法的目的是找到使態(tài)勢函數(shù)最大的動作,而本文方法中態(tài)勢函數(shù)僅用于評估我機在空戰(zhàn)中的優(yōu)劣勢情況,不參與機動決策。而敵機仍采用現(xiàn)有方法,即采用使態(tài)勢函數(shù)值最大的機動動作。
3.1.1 角度態(tài)勢
在空戰(zhàn)中最重要的事情就是射擊,其次是戰(zhàn)斗中的各種戰(zhàn)術(shù)動作,最后才是飛行能力[24]。而不論是使用航炮還是導彈進行射擊,首先要滿足角度要求,因此,角度是空戰(zhàn)過程中最重要的因素。角度態(tài)勢函數(shù)如下:
(3)
(4)
式中:Qγ為傾角態(tài)勢函數(shù);Qψ為偏角態(tài)勢函數(shù);γr和ψr分別為機頭相對于視線的傾角和偏角;(xa,ya,za)和(xb,yb,zb)分別為我方和敵方的三維坐標,我方計算角度態(tài)勢值時視線矢量RLOS=(xb-xa,yb-ya,zb-za),敵方計算角度態(tài)勢值時視線矢量RLOS=(xa-xb,ya-yb,za-zb)。
3.1.2 距離態(tài)勢
影響距離態(tài)勢的主要因素是導彈的射程,因此設計距離態(tài)勢函數(shù)為
(5)
式中:QR為距離態(tài)勢函數(shù);Rm為導彈射程;σ為其標準偏差;R為兩機直線距離。當敵機位于導彈射程之內(nèi)時,距離態(tài)勢值恒為1;當敵機位于射程之外時,距離越大,態(tài)勢值越小。
空戰(zhàn)過程中飛機的實時飛行高度也十分重要,高度太低容易出現(xiàn)墜機事故,太高不利于飛機性能發(fā)揮。因此設計高度態(tài)勢函數(shù):
(6)
式中:QH為高度態(tài)勢函數(shù);H為飛行高度;Hl為飛行高度下限;Hu為飛行高度上限。
綜合考慮角度、距離和高度因素,用加權(quán)求和的方式計算空戰(zhàn)態(tài)勢函數(shù)值,公式如下:
(7)
為驗證本文方法的優(yōu)越性,敵機采用文獻[11]中的自主決策算法。敵機空戰(zhàn)機動動作庫與我機相同,如1.2節(jié)所示??諔?zhàn)勝利首先必須滿足導彈發(fā)射條件,如(8)式所示。
(8)
圖4 勝負判定Fig.4 Judgement of victory or defeat
采樣范圍及間隔如表1所示,使用(1)式的UCAV運動動力學方程進行仿真實驗,共得到272 160組樣本。由于樣本數(shù)量較多,因此采用DNN構(gòu)建從當前飛行狀態(tài)和控制量到未來飛行狀態(tài)的映射,提高網(wǎng)絡預測的準確性、減少網(wǎng)絡訓練時間。同時為降低過擬合風險,加入丟棄層[16]。訓練算法為RMSProp,損失函數(shù)設為樣本的均方誤差,學習率取0.001. 網(wǎng)絡結(jié)構(gòu)如表2所示。
表2 網(wǎng)絡結(jié)構(gòu)Tab.2 Structure of network
圖5所示為DNN訓練過程中的訓練集和驗證集的預測準確率變化曲線,其中訓練次數(shù)為50. 從圖5中可以看出,由于訓練樣本采樣均勻且網(wǎng)絡有一定深度,因此網(wǎng)絡預測準確率較高。
圖5 預測準確率Fig.5 Accuracy of prediction
仿真實驗共分為兩個部分:第1部分為一種初始態(tài)勢,第2部分為3種初始態(tài)勢。首先,為驗證本文方法的有效性,在一種初始態(tài)勢下,敵機采用直線飛行策略;其次,為驗證本文方法的對抗性,敵機采用3.2節(jié)所示的自主決策算法,在3種不同的初始態(tài)勢下進行仿真實驗。
通用參數(shù)設置如下:初始飛行速度為250 m/s,最大飛行速度為400 m/s,最小飛行速度為90 m/s;Rf為4 000 m,Rm為5 000 m,σ為100 m;Hl為500 m,Hu為12 000 m,初始飛行高度為5 000 m;最大飛行時間為100 s;決策周期為1 s;初始滾轉(zhuǎn)角始終為0°. 勝負判定方法如圖4所示。
敵機初始位置為(0 m,5 000 m,5 000 m),航跡傾角為0°,航跡偏角為0°;UCAV初始位置為(0 m,0 m,5 000 m),航跡傾角為0°,航跡偏角為0°. 空戰(zhàn)仿真軌跡、態(tài)勢函數(shù)值變化情況以及滾轉(zhuǎn)角變化情況如圖6所示。其中,UCAV軌跡及相應參數(shù)變化用實線表示,敵機軌跡及相應參數(shù)變化用虛線表示。在決策過程中,采用最大過載機動,并以最大滾轉(zhuǎn)角速度改變滾轉(zhuǎn)角。3個控制量均沒有突變,因此可以保證軌跡的平滑性。
圖6 敵機勻速直線運動Fig.6 Uniform straight line motion of enemy aircraft
圖6(c)反映了決策過程中機動動作的變化情況,飛機在每一個整數(shù)秒時刻進行決策,之后根據(jù)決策結(jié)果以最大速度改變滾轉(zhuǎn)角。若飛機在下一個決策時刻之前已經(jīng)完成要做的機動,則保持此時的滾轉(zhuǎn)角不變;若在下一個決策時仍未完成上一個動作,則不再繼續(xù)該動作,轉(zhuǎn)而做出新的機動。從圖6(c)中可以看出:敵機滾轉(zhuǎn)角始終為0°,處于勻速直線運動狀態(tài);UCAV在第1.0 s時采用180°的滾轉(zhuǎn)角機動,完成動作后角度保持不變;在第2.0 s時減小滾轉(zhuǎn)角度,采用120°滾轉(zhuǎn)機動;在第3.0 s時采用60°滾轉(zhuǎn)角機動;在第4.0 s時根據(jù)網(wǎng)絡計算結(jié)果,又采用120°滾轉(zhuǎn)機動;在第5.0 s時UCAV減小滾轉(zhuǎn)角至20°;第6.0 s時又將滾轉(zhuǎn)角增大至150°;最終在第7.0 s時達到勝利條件。
態(tài)勢1:敵機初始位置為(0 m,6 000 m,5 000 m),航跡傾角為0°,航跡偏角為0°;UCAV初始位置為(0 m,0 m,5 000 m),航跡傾角為0°,航跡偏角為0°. 空戰(zhàn)對抗結(jié)果如圖7所示。
圖7 敵機自主機動態(tài)勢1Fig.7 Autonomous maneuver of enemy aircraft at Situation 1
從圖7中可以看出,空戰(zhàn)雙方初始時刻處于均勢狀態(tài),雙方態(tài)勢函數(shù)值相同。由滾轉(zhuǎn)角變化情況可知,與敵機采用勻速直線運動時的決策結(jié)果不同,態(tài)勢1下UCAV在每個決策時刻計算出的最優(yōu)動作均為90°滾轉(zhuǎn)機動,因此UCAV在完成該機動后控制量不再改變。而敵機除第3.0 s外其他每個決策時刻都選擇了新的動作。最后,由于UCAV率先達成導彈發(fā)射條件且態(tài)勢函數(shù)值大于敵機,因此獲得勝利。同時,UCAV只用了一個機動動作,而敵機多次改變動作,表明本文方法決策效率較高。
同時,從敵機4次小角度的動作調(diào)整可以看出,所設計的動作庫能滿足機動決策需要,傳統(tǒng)的動作庫中不同動作的滾轉(zhuǎn)角通常相差45°或90°,使得飛行不夠靈活。
態(tài)勢2:敵機初始位置為(5 000 m,5 000 m,5 000 m),航跡傾角為0°,航跡偏角為-135°;UCAV初始位置為(0 m,0 m,5 000 m),航跡傾角為0°,航跡偏角為45°. 空戰(zhàn)對抗結(jié)果如圖8所示。
圖8 敵機自主機動態(tài)勢2Fig.8 Autonomous maneuver of enemy aircraft at Situation 2
從圖8中可以看出,初始時刻空戰(zhàn)雙方相向而行。UCAV在第1.0 s時選擇滾轉(zhuǎn)角為170°的左轉(zhuǎn)機動,而敵機選擇滾轉(zhuǎn)角為110°的左轉(zhuǎn)機動。由于UCAV滾轉(zhuǎn)角選擇較大,因此其態(tài)勢函數(shù)值經(jīng)過短暫上升后迅速下降。由于轉(zhuǎn)彎較大,因此敵機在第2.0 s時便選擇向右滾轉(zhuǎn),而UCAV則在第3.0 s時才選擇向右滾轉(zhuǎn)。最終在第5.6 s時,雙方均達成導彈發(fā)射條件,但由于此時UCAV的態(tài)勢函數(shù)值小于敵機,被判為失敗。
態(tài)勢3:敵機初始位置為(5 000 m,5 000 m,5 000 m),航跡傾角為0°,航跡偏角為-135°;UCAV初始位置為(0 m,0 m,5 000 m),航跡傾角為0°,航跡偏角為0°. 空戰(zhàn)對抗結(jié)果如圖9所示。
圖9 敵機自主機動態(tài)勢3Fig.9 Autonomous maneuver of enemy aircraft at Situation 3
根據(jù)態(tài)勢3可知,空戰(zhàn)開始時敵機機頭直接指向UCAV,而UCAV機頭相對于視線的偏角為45°,敵機處于有利位置。由圖9可知,UCAV在第1.0 s和第4.0 s時經(jīng)過兩次機動,最終轉(zhuǎn)劣勢為優(yōu)勢,在第6.0 s時達成勝利條件,且態(tài)勢函數(shù)值高于敵機,因此獲得空戰(zhàn)勝利。
空戰(zhàn)機動可分為進攻和逃逸兩種,因此,可通過修改決策目標函數(shù)中的權(quán)重,選擇使機頭指向與視線矢量的夾角最大機動,以達到逃逸的目的。另外,空戰(zhàn)態(tài)勢可簡單分為有利和不利兩種,但選擇進攻還是逃逸不應根據(jù)態(tài)勢。例如,態(tài)勢3中UCAV初始時處于不利狀態(tài),但若選擇逃逸則空戰(zhàn)結(jié)果為敵機獲勝。因此設計逃逸機動判斷條件,若滿足條件,則選擇逃逸,否則選擇進攻。逃逸條件如下:
(9)
設置滿足上述條件的初始態(tài)勢:敵機初始位置為(6 000 m,3 000 m,8 000 m),航跡傾角為0°,航跡偏角為180°;UCAV初始位置為(0 m,0 m,8 000 m),航跡傾角為0°,航跡偏角為180°. 此時UCAV處于被尾追狀態(tài)。圖10為UCAV僅采用攻擊的仿真結(jié)果。
圖10 攻擊機動Fig.10 Attacking maneuver
從圖10(b)可以看出,初始時刻雙方態(tài)勢函數(shù)值差距較大,空戰(zhàn)過程中,UCAV態(tài)勢函數(shù)值有所上升,但始終低于敵機。圖10(c)顯示了UCAV的機動情況。UCAV首先進行-80°的滾轉(zhuǎn)機動,第3.0 s時又將滾轉(zhuǎn)角調(diào)整為-90°. 由圖10(c)可以看出由于僅采用攻擊,UCAV始終朝著減小與視線夾角的方向進行機動,但初始時刻的劣勢使其無法僅通過攻擊的方式獲得勝利,最終在第9.8 s時敵機獲勝。圖11為UCAV采用混合方式的空戰(zhàn)仿真結(jié)果,即雙方態(tài)勢滿足 (9) 式時,UCAV采用逃逸機動,不滿足時則采用攻擊機動。其中,逃逸機動時α1=-0.6,α2=0.4,進攻時α1=α2=0.5,讓決策目標函數(shù)值最小,可以達到使UCAV指向與視線矢量的夾角減小的目的,從而快速滿足導彈發(fā)射條件。逃逸時α2=0.4,此時讓決策目標函數(shù)值最小,可以使ψLOS減小,從而為進攻做準備;若α2取負,則ψLOS增大,導致我方在水平方向上始終處于不利地位,而α1=-0.6,此時讓決策目標函數(shù)值最小,可以使γLOS增大,有助于在豎直方向上逃出敵方攻擊范圍。
圖11 混合機動Fig.11 Hybrid maneuver
此次仿真時長為56.8 s,說明采用逃逸機動可以提高UCAV生存時間??諔?zhàn)過程中UCAV首先進行逃逸,采用-140°的滾轉(zhuǎn)機動向斜下方飛行,因為向下方飛行可以獲得重力幫助使UCAV在豎直方向上更快逃出對方攻擊范圍,同時也能保證在水平方向逃出對方攻擊范圍。從圖11(a)中可看出UCAV有明顯的高度下降,而由于敵機高度下降太晚,因此UCAV在第14.0 s時逃出對方攻擊范圍并轉(zhuǎn)入進攻狀態(tài)。第14.0 s以前的動作均為逃逸機動,以后的動作均為進攻機動。進攻時,UCAV不再下降高度,而是水平盤旋以占據(jù)有利位置。最終在第56.8 s時雙方均滿足導彈發(fā)射條件,但由于UCAV態(tài)勢函數(shù)值較低,因此失敗。
用兩種方法分別進行1 000次決策再計算其平均決策時間,結(jié)果如圖12所示。
圖12 決策用時Fig.12 Time cost of decision-making
由圖12可知,本文方法平均決策時間為0.063 s,對比方法為0.072 s. 對于速度為400 m/s的飛機來說,0.063 s內(nèi)大約飛過了25 m,相對于空戰(zhàn)雙方的距離來說可以忽略不計,可認為決策過程中雙方態(tài)勢基本不變,因此本文方法滿足實時性要求。
本文針對自主空戰(zhàn)機動決策問題,提出了基于DNN的機動決策方法。通過分析網(wǎng)絡訓練結(jié)果、仿真實驗結(jié)果和決策用時,可以得到主要結(jié)論如下:
1)網(wǎng)絡訓練結(jié)果表明,本文采樣方法合理,網(wǎng)絡參數(shù)設置合理,網(wǎng)絡對未來態(tài)勢的預測準確性較高,避免了強化學習的低效率采樣。
2)所設計的動作庫能滿足決策要求;由相應的態(tài)勢函數(shù)值變化情況和滾轉(zhuǎn)角變化情況可知,在敵機采取簡單直線機動時,本文方法能取得勝利,驗證了該方法的有效性。
3)在敵機采取自主機動的情況下,本文決策方法在均等態(tài)勢下能達成導彈發(fā)射條件,在劣勢情況下能通過多次機動轉(zhuǎn)為優(yōu)勢態(tài)勢并獲得勝利,驗證了該方法的優(yōu)越性;同時決策用時較對比方法縮短了約9 ms.
為使本文提出的決策方法能應對更多不利態(tài)勢,仍需要進一步擴展機動動作并優(yōu)化網(wǎng)絡結(jié)構(gòu)。