張宏鵬,黃長強,軒永波,唐上欽
(1.空軍工程大學 航空工程學院,陜西 西安 710038; 2.空軍研究院 航空兵研究所,北京 100085)
機動決策是指戰斗機根據空戰過程中迅速變化的態勢信息做出相應的機動動作。機動決策以獲得有利的攻擊位置或逃離敵機攻擊范圍為目的,是無人作戰飛機(UCAV)進行自主空戰所必須具備的關鍵技術。
國內外學者為解決戰斗機自主決策問題提出了多種自主決策方法。文獻[1]提出利用博弈論的方法,用矩陣的形式評估敵我雙方可能選擇的機動,從而選取對我方最有利的機動動作;文獻[2]提出基于多級影響圖的機動決策方法;文獻[3]提出了一種結合人工勢場[4]、滾動時域控制[5]和粒子群算法[6]的戰斗機空戰機動決策方法;文獻[7]構造了基于滾動時域的無人機空戰決策專家系統;文獻[8]提出了結合貝葉斯推理與滾動時域優化的自主決策方案;文獻[9]針對空戰雙方毀傷概率的不確定性,將魯棒優化[10]思想引入無人機空戰博弈模型中;文獻[11]提出了基于統計學原理[12]的魯棒機動決策方法;文獻[13]提出了一種基于連續動作集強化學習的無人機機動決策方法;文獻[14]提出了一種將多目標優化思想[15]與強化學習[16]相結合的機動決策模型;文獻[17]將博弈論和直覺模糊集結合,解決了不確定環境下無人機空戰的機動決策問題。上述方法中,矩陣博弈方法不適于大動作空間的機動決策,多級影響圖法不滿足實時性要求,滾動時域法和基于統計學原理的方法選擇機動動作時優化區間有限,強化學習法采集到有效樣本的難度極大且訓練時間很長。同時,現有決策方法所使用的機動動作較少,飛機機動方式不夠靈活。
為解決上述問題,本文提出了一種基于深度神經網絡(DNN)的機動決策模型及方法。首先構建了新的機動動作庫,共36種機動,增強了飛行的靈活性。其次,利用深度學習技術[18]和272 160種飛行樣本,以當前態勢及飛行控制量為輸入,以一段較長時域后的態勢為輸出,構造了具有一定態勢預測能力的DNN. 空戰仿真時,利用該網絡根據當前信息從機動動作庫中選取輸出態勢最優的機動動作,從而增強決策智能化程度,避免強化學習法的低效率采樣、滾動時域法優化區間有限的缺點,并滿足較高的實時性要求。最后通過有效性仿真、與文獻[11]方法的對抗性仿真和對空戰過程的態勢評估,檢驗了本文方法有效性及優越性。
在研究UCAV機動決策的過程中,采用以法向過載、切向過載和滾轉角為飛行操控量的UCAV運動動力學模型。為簡化問題的復雜度,不考慮飛行過程中的迎角和側滑角,將地面坐標系視為慣性系,同時忽略地球自轉及公轉的影響,并且不考慮地球曲率變化。具體公式[19]如下:
(1)

美國國家航空航天局學者設計了7種基本機動動作[20]:1)保持原有狀態飛行;2)最大加速直飛;3)最大過載左轉;4)最大過載右轉;5)最大過載爬升;6)最大過載俯沖;7)最大減速飛行。在此基礎上對機動動作進行擴展,具體方式為在(-180°, 180°)范圍內每隔10°選擇一個滾轉角,同時使UCAV縱向過載和側向過載最大。由此構成36種機動動作,軌跡如圖1所示。由于考慮了滾轉角速度,給定滾轉角后,飛機需要從初始滾轉角開始滾轉,故圖中軌跡組成的圖形有開口,且滾轉角速度越大、開口越小。

圖1 動作庫Fig.1 Maneuver library
深度學習崛起于21世紀初,是機器學習的一個分支領域。它是從數據中學習表示的一種數學框架,強調從連續的層中進行學習[21]。深度學習中的“深度”指的并不是利用這種方法所獲取的更深層次的理解,而是指一系列連續的表示層[22]。在深度學習中,這些表示層是通過叫作神經網絡的模型來學習得到的。DNN的結構如圖2所示。

圖2 深度神經網絡Fig.2 Deep neural network
2.2.1 空戰態勢信息
機動決策的過程是根據態勢信息選擇最有利于己方機動動作的過程。我機與敵機的態勢信息,直接或者間接影響雙方武器作戰效能的發揮[23],從而影響空戰的最終結果。態勢信息主要有以下3種:
1)距離態勢:敵我距離、絕對高度和相對高度。
2)速度態勢:敵我絕對速度和相對接近速度。
3)角度態勢:我機機頭指向相對于視線矢量的傾角和偏角,敵機機頭指向相對于視線矢量的傾角和偏角,視線轉動角速度。
2.2.2 DNN決策模型
本文提出一種基于DNN的決策模型,包括兩個部分:DNN訓練和DNN決策。具體如下:
DNN訓練過程如圖3所示。以UCAV機頭指向在水平面的投影為x軸方向,z軸與水平面垂直,y軸方向按右手定則選取,此坐標系為采樣坐標系。UCAV初始時刻位于坐標原點,以初始航跡傾角γ0、初始滾轉角μ0、初始速度v0和UCAV將要采用的動作庫中某一目標滾轉角μt作為DNN輸入,令UCAV在當前γ0、μ0、v0下采用μt飛行一段固定時間T,記錄此時UCAV的航跡傾角γt和航跡偏角ψt,并將其作為DNN輸出。

圖3 DNN訓練Fig.3 DNN training
通過對4種輸入均勻采樣并進行飛行仿真,得到對應的輸出,由此獲得大量飛行樣本。再利用樣本訓練DNN,使其獲得根據當前狀態和動作預測未來狀態的能力。采樣范圍及間隔如表1所示。

表1 采樣范圍及間隔Tab.1 Sampling range and interval

2.2.3 決策目標函數
本文方法用于解決近距空戰的機動決策問題,目標是使己方快速達成導彈發射條件,不考慮使用航炮的攻擊方式。因此,結合DNN的輸出量,設計決策目標函數如下:
Tar=α1|γp-γLOS|+α2|ψp+ψt-ψLOS|,
(2)
式中:γp和ψp分別為經過DNN預測后得到的我機在2.2.2節中采樣坐標系下的航跡傾角和航跡偏角;α1和α2為決策目標函數中的權重,由于滿足導彈發射條件既要考慮傾角也要考慮偏角,因此進攻時取兩個權重均為0.5;γLOS和ψLOS分別為視線矢量RLOS在當前坐標系下的傾角和偏角。DNN決策的目的是從動作庫中選出使T時間后的目標函數值Tar最小的動作,由此使得UCAV快速達到導彈發射條件。
為客觀描述空戰過程,設計空戰態勢評估函數。現有決策方法的目的是找到使態勢函數最大的動作,而本文方法中態勢函數僅用于評估我機在空戰中的優劣勢情況,不參與機動決策。而敵機仍采用現有方法,即采用使態勢函數值最大的機動動作。
3.1.1 角度態勢
在空戰中最重要的事情就是射擊,其次是戰斗中的各種戰術動作,最后才是飛行能力[24]。而不論是使用航炮還是導彈進行射擊,首先要滿足角度要求,因此,角度是空戰過程中最重要的因素。角度態勢函數如下:
(3)
(4)
式中:Qγ為傾角態勢函數;Qψ為偏角態勢函數;γr和ψr分別為機頭相對于視線的傾角和偏角;(xa,ya,za)和(xb,yb,zb)分別為我方和敵方的三維坐標,我方計算角度態勢值時視線矢量RLOS=(xb-xa,yb-ya,zb-za),敵方計算角度態勢值時視線矢量RLOS=(xa-xb,ya-yb,za-zb)。
3.1.2 距離態勢
影響距離態勢的主要因素是導彈的射程,因此設計距離態勢函數為
(5)
式中:QR為距離態勢函數;Rm為導彈射程;σ為其標準偏差;R為兩機直線距離。當敵機位于導彈射程之內時,距離態勢值恒為1;當敵機位于射程之外時,距離越大,態勢值越小。
空戰過程中飛機的實時飛行高度也十分重要,高度太低容易出現墜機事故,太高不利于飛機性能發揮。因此設計高度態勢函數:
(6)
式中:QH為高度態勢函數;H為飛行高度;Hl為飛行高度下限;Hu為飛行高度上限。
綜合考慮角度、距離和高度因素,用加權求和的方式計算空戰態勢函數值,公式如下:
(7)

為驗證本文方法的優越性,敵機采用文獻[11]中的自主決策算法。敵機空戰機動動作庫與我機相同,如1.2節所示。空戰勝利首先必須滿足導彈發射條件,如(8)式所示。
(8)


圖4 勝負判定Fig.4 Judgement of victory or defeat
采樣范圍及間隔如表1所示,使用(1)式的UCAV運動動力學方程進行仿真實驗,共得到272 160組樣本。由于樣本數量較多,因此采用DNN構建從當前飛行狀態和控制量到未來飛行狀態的映射,提高網絡預測的準確性、減少網絡訓練時間。同時為降低過擬合風險,加入丟棄層[16]。訓練算法為RMSProp,損失函數設為樣本的均方誤差,學習率取0.001. 網絡結構如表2所示。

表2 網絡結構Tab.2 Structure of network
圖5所示為DNN訓練過程中的訓練集和驗證集的預測準確率變化曲線,其中訓練次數為50. 從圖5中可以看出,由于訓練樣本采樣均勻且網絡有一定深度,因此網絡預測準確率較高。

圖5 預測準確率Fig.5 Accuracy of prediction
仿真實驗共分為兩個部分:第1部分為一種初始態勢,第2部分為3種初始態勢。首先,為驗證本文方法的有效性,在一種初始態勢下,敵機采用直線飛行策略;其次,為驗證本文方法的對抗性,敵機采用3.2節所示的自主決策算法,在3種不同的初始態勢下進行仿真實驗。
通用參數設置如下:初始飛行速度為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;初始滾轉角始終為0°. 勝負判定方法如圖4所示。
敵機初始位置為(0 m,5 000 m,5 000 m),航跡傾角為0°,航跡偏角為0°;UCAV初始位置為(0 m,0 m,5 000 m),航跡傾角為0°,航跡偏角為0°. 空戰仿真軌跡、態勢函數值變化情況以及滾轉角變化情況如圖6所示。其中,UCAV軌跡及相應參數變化用實線表示,敵機軌跡及相應參數變化用虛線表示。在決策過程中,采用最大過載機動,并以最大滾轉角速度改變滾轉角。3個控制量均沒有突變,因此可以保證軌跡的平滑性。

圖6 敵機勻速直線運動Fig.6 Uniform straight line motion of enemy aircraft
圖6(c)反映了決策過程中機動動作的變化情況,飛機在每一個整數秒時刻進行決策,之后根據決策結果以最大速度改變滾轉角。若飛機在下一個決策時刻之前已經完成要做的機動,則保持此時的滾轉角不變;若在下一個決策時仍未完成上一個動作,則不再繼續該動作,轉而做出新的機動。從圖6(c)中可以看出:敵機滾轉角始終為0°,處于勻速直線運動狀態;UCAV在第1.0 s時采用180°的滾轉角機動,完成動作后角度保持不變;在第2.0 s時減小滾轉角度,采用120°滾轉機動;在第3.0 s時采用60°滾轉角機動;在第4.0 s時根據網絡計算結果,又采用120°滾轉機動;在第5.0 s時UCAV減小滾轉角至20°;第6.0 s時又將滾轉角增大至150°;最終在第7.0 s時達到勝利條件。
態勢1:敵機初始位置為(0 m,6 000 m,5 000 m),航跡傾角為0°,航跡偏角為0°;UCAV初始位置為(0 m,0 m,5 000 m),航跡傾角為0°,航跡偏角為0°. 空戰對抗結果如圖7所示。

圖7 敵機自主機動態勢1Fig.7 Autonomous maneuver of enemy aircraft at Situation 1
從圖7中可以看出,空戰雙方初始時刻處于均勢狀態,雙方態勢函數值相同。由滾轉角變化情況可知,與敵機采用勻速直線運動時的決策結果不同,態勢1下UCAV在每個決策時刻計算出的最優動作均為90°滾轉機動,因此UCAV在完成該機動后控制量不再改變。而敵機除第3.0 s外其他每個決策時刻都選擇了新的動作。最后,由于UCAV率先達成導彈發射條件且態勢函數值大于敵機,因此獲得勝利。同時,UCAV只用了一個機動動作,而敵機多次改變動作,表明本文方法決策效率較高。
同時,從敵機4次小角度的動作調整可以看出,所設計的動作庫能滿足機動決策需要,傳統的動作庫中不同動作的滾轉角通常相差45°或90°,使得飛行不夠靈活。
態勢2:敵機初始位置為(5 000 m,5 000 m,5 000 m),航跡傾角為0°,航跡偏角為-135°;UCAV初始位置為(0 m,0 m,5 000 m),航跡傾角為0°,航跡偏角為45°. 空戰對抗結果如圖8所示。

圖8 敵機自主機動態勢2Fig.8 Autonomous maneuver of enemy aircraft at Situation 2
從圖8中可以看出,初始時刻空戰雙方相向而行。UCAV在第1.0 s時選擇滾轉角為170°的左轉機動,而敵機選擇滾轉角為110°的左轉機動。由于UCAV滾轉角選擇較大,因此其態勢函數值經過短暫上升后迅速下降。由于轉彎較大,因此敵機在第2.0 s時便選擇向右滾轉,而UCAV則在第3.0 s時才選擇向右滾轉。最終在第5.6 s時,雙方均達成導彈發射條件,但由于此時UCAV的態勢函數值小于敵機,被判為失敗。
態勢3:敵機初始位置為(5 000 m,5 000 m,5 000 m),航跡傾角為0°,航跡偏角為-135°;UCAV初始位置為(0 m,0 m,5 000 m),航跡傾角為0°,航跡偏角為0°. 空戰對抗結果如圖9所示。

圖9 敵機自主機動態勢3Fig.9 Autonomous maneuver of enemy aircraft at Situation 3
根據態勢3可知,空戰開始時敵機機頭直接指向UCAV,而UCAV機頭相對于視線的偏角為45°,敵機處于有利位置。由圖9可知,UCAV在第1.0 s和第4.0 s時經過兩次機動,最終轉劣勢為優勢,在第6.0 s時達成勝利條件,且態勢函數值高于敵機,因此獲得空戰勝利。
空戰機動可分為進攻和逃逸兩種,因此,可通過修改決策目標函數中的權重,選擇使機頭指向與視線矢量的夾角最大機動,以達到逃逸的目的。另外,空戰態勢可簡單分為有利和不利兩種,但選擇進攻還是逃逸不應根據態勢。例如,態勢3中UCAV初始時處于不利狀態,但若選擇逃逸則空戰結果為敵機獲勝。因此設計逃逸機動判斷條件,若滿足條件,則選擇逃逸,否則選擇進攻。逃逸條件如下:
(9)

設置滿足上述條件的初始態勢:敵機初始位置為(6 000 m,3 000 m,8 000 m),航跡傾角為0°,航跡偏角為180°;UCAV初始位置為(0 m,0 m,8 000 m),航跡傾角為0°,航跡偏角為180°. 此時UCAV處于被尾追狀態。圖10為UCAV僅采用攻擊的仿真結果。

圖10 攻擊機動Fig.10 Attacking maneuver
從圖10(b)可以看出,初始時刻雙方態勢函數值差距較大,空戰過程中,UCAV態勢函數值有所上升,但始終低于敵機。圖10(c)顯示了UCAV的機動情況。UCAV首先進行-80°的滾轉機動,第3.0 s時又將滾轉角調整為-90°. 由圖10(c)可以看出由于僅采用攻擊,UCAV始終朝著減小與視線夾角的方向進行機動,但初始時刻的劣勢使其無法僅通過攻擊的方式獲得勝利,最終在第9.8 s時敵機獲勝。圖11為UCAV采用混合方式的空戰仿真結果,即雙方態勢滿足 (9) 式時,UCAV采用逃逸機動,不滿足時則采用攻擊機動。其中,逃逸機動時α1=-0.6,α2=0.4,進攻時α1=α2=0.5,讓決策目標函數值最小,可以達到使UCAV指向與視線矢量的夾角減小的目的,從而快速滿足導彈發射條件。逃逸時α2=0.4,此時讓決策目標函數值最小,可以使ψLOS減小,從而為進攻做準備;若α2取負,則ψLOS增大,導致我方在水平方向上始終處于不利地位,而α1=-0.6,此時讓決策目標函數值最小,可以使γLOS增大,有助于在豎直方向上逃出敵方攻擊范圍。

圖11 混合機動Fig.11 Hybrid maneuver
此次仿真時長為56.8 s,說明采用逃逸機動可以提高UCAV生存時間。空戰過程中UCAV首先進行逃逸,采用-140°的滾轉機動向斜下方飛行,因為向下方飛行可以獲得重力幫助使UCAV在豎直方向上更快逃出對方攻擊范圍,同時也能保證在水平方向逃出對方攻擊范圍。從圖11(a)中可看出UCAV有明顯的高度下降,而由于敵機高度下降太晚,因此UCAV在第14.0 s時逃出對方攻擊范圍并轉入進攻狀態。第14.0 s以前的動作均為逃逸機動,以后的動作均為進攻機動。進攻時,UCAV不再下降高度,而是水平盤旋以占據有利位置。最終在第56.8 s時雙方均滿足導彈發射條件,但由于UCAV態勢函數值較低,因此失敗。
用兩種方法分別進行1 000次決策再計算其平均決策時間,結果如圖12所示。

圖12 決策用時Fig.12 Time cost of decision-making
由圖12可知,本文方法平均決策時間為0.063 s,對比方法為0.072 s. 對于速度為400 m/s的飛機來說,0.063 s內大約飛過了25 m,相對于空戰雙方的距離來說可以忽略不計,可認為決策過程中雙方態勢基本不變,因此本文方法滿足實時性要求。
本文針對自主空戰機動決策問題,提出了基于DNN的機動決策方法。通過分析網絡訓練結果、仿真實驗結果和決策用時,可以得到主要結論如下:
1)網絡訓練結果表明,本文采樣方法合理,網絡參數設置合理,網絡對未來態勢的預測準確性較高,避免了強化學習的低效率采樣。
2)所設計的動作庫能滿足決策要求;由相應的態勢函數值變化情況和滾轉角變化情況可知,在敵機采取簡單直線機動時,本文方法能取得勝利,驗證了該方法的有效性。
3)在敵機采取自主機動的情況下,本文決策方法在均等態勢下能達成導彈發射條件,在劣勢情況下能通過多次機動轉為優勢態勢并獲得勝利,驗證了該方法的優越性;同時決策用時較對比方法縮短了約9 ms.
為使本文提出的決策方法能應對更多不利態勢,仍需要進一步擴展機動動作并優化網絡結構。