宋宏川,詹浩,夏露,李向陽,劉艷
(1.西北工業大學 航空學院,西安710072)
(2.西安地平線電子科技有限公司,西安710072)
現代空戰根據雷達探測范圍和使用武器類型可分為超視距空戰和近距空戰。隨著機載雷達和空空導彈性能的提升,空戰在超視距階段結束戰斗的比例已從20世紀80年代的不足30%上升到21世紀初的超過50%[1]。因此,如何在有限的機動能力下,使用高效的逃逸機動策略提高戰斗機對中距空空導彈的規避、逃逸能力,對于提高其空戰生存力至關重要[2]。
飛機規避導彈問題是追逃對策的一種,導彈是追擊者,根據導引律策略追擊飛機;飛機是逃逸者,決策最優控制策略逃脫導彈的追擊。傳統的飛機規避導彈通常采用專家系統法[3-7]、微分對策法[8-10]、最優控制法[11-13]以及模型預測法[14-15]求解最優或次優逃逸機動。專家系統法極其依賴人類專家的先驗知識,當導彈或飛機子系統變化時,人類專家需要分析新的子系統并再次給出新逃逸機動策略。微分對策、最優控制以及模型預測方法都依賴于明確完備的數學模型,需要對復雜的微分方程求解析或數值解。飛機規避導彈問題包括眾多復雜非線性系統,各個子系統建模不免存在誤差,這無疑加大了以上方法求解飛機規避導彈策略的難度。
近年來隨著人工智能的發展,強化學習和深度神經網絡相結合衍生出了一系列無需建模,只通過端到端學習,便能夠實現從原始輸入到輸出的直接控制算法[16]。深度確定性策略梯度算法(Deep Deterministic Policy Gradient,簡稱DDPG)是其中一種可應用于連續動作空間的免模型算法[17]。國內外已經將該算法應用于不同的領域。WANG M等[18]利用DDPG算法研究了平面小車的追逃問題;S.YOU等[19]和R.Cimurs等[20]利用該算法研究了智能體在避開動態和靜止障礙物的同時,追擊目標的導航問題。上述研究中動態障礙物的動力學和運動學模型相對簡單,相比于逃逸者,追擊者并沒有速度和機動性的絕對優勢且追擊者并未采用有效的追擊策略。范鑫磊等[21]將DDPG算法應用于導彈規避決策訓練,仿真驗證了四種典型初始態勢下逃逸策略的有效性,但在其研究中,空空導彈和規避飛機均采用簡化模型,未考慮導彈導引律、飛機導彈氣動模型以及飛機導彈相對運動模型,且其初始態勢的范圍相對較少,未與典型的逃逸策略進行對比,未能對DDPG算法學習到的逃逸策略有效性作出更精確的評價。
針對以上問題,本文基于DDPG算法,構建一套導彈規避訓練系統。首先建立導彈飛機追逃模型,包括飛機導彈質點模型(考慮氣動特性和推力特性)、空空導彈的導引律和殺傷率模型以及飛機導彈相對運動模型;再介紹DDPG算法并設計基于DDPG算法的導彈追逃問題獎勵;然后將導彈追逃問題建模為基于DDPG算法的強化學習問題,構建基于DDPG算法的導彈規避訓練系統;最后將基于DDPG算法的導彈規避訓練系統自主學習到的逃逸機動策略與四種基于專家先驗知識的經典逃逸機動進行對比,以驗證基于DDPG算法的逃逸機動策略的有效性。
本文使用的導彈飛機追逃模型包括:飛機和導彈的質點模型、導彈的制導律模型、殺傷率模型以及導彈飛機相對運動模型等。
飛機規避導彈追逃模型的假設條件包括:(1)飛機和導彈都使用質點模型,考慮飛機和導彈的升阻特性和推力特性;(2)導彈采用比例導引制導律;(3)不考慮風的影響;(4)忽略側滑角[9,22]。
飛機和導彈的質點運動學模型為

式中:x,y,z分別為地軸系的三軸坐標,x軸指向正北,y軸指向正東,z軸豎直向下;V為飛行器飛行速度;˙為V在地軸系三個軸上的分量;γ為爬升角,表示速度和水平面夾角;χ為航跡方位角,表示飛行器飛行速度V在水平面的投影與x軸的夾角。
飛行器的質點動力學模型表示為[22]

式中:˙分別為飛行器速度變化率、爬升角變化率以及航跡方位角變化率;nt,nn,μ為飛行器的控制量,其中nt為沿速度方向的切向過載,控制飛行器的加減速;nn為沿飛行器升力方向的法向過載,控制升力方向上的運動;μ為航跡傾斜角;g為重力加速度。

式中:L,分別為升力和阻力;T為發動機推力;m為飛機質量;α為飛行器迎角。
在導彈飛機追逃模型中,受飛機升力、阻力和推力的限制,飛機切向過載ntt∈[-2,1],法向過載nnt∈[-4,8],航跡傾斜角μt∈[-π,π]。(下標t,m分別表示飛機(目標)和導彈。)
導彈飛機相對運動示意圖如圖1所示,[xm,ym,zm]T,[xt,yt,zt]T分別表示導彈和飛機在地軸系的位置矢量,D表示導彈相對飛機的位移,也稱為瞄準線。

圖1 導彈飛機相對運動模型Fig.1 Missile-aircraft engagement geometry model

導彈與飛機的距離:

Vm,Vt分別為導彈和飛機速度矢量,導彈相對飛機速度:

瞄準線變化率(導彈和飛機遠離為正)為

瞄準線角速度矢量:

瞄準線角速度大小:


圖2 飛機前置角和導彈進入角Fig.2 The aircraft bearing angle and the missile aspect angle
瞄準線方位角可表示為

水平面內飛機前置角(飛機速度與瞄準線之間的夾角):

式中:χt為飛機航跡方位角。
水平面內導彈進入角(導彈速度方向與瞄準線之間的夾角):

式中:χm為導彈航跡方位角。
空空導彈采用比例導引律,比例系數為

式中:Vm為導彈飛行速度大小;C為常數。
當瞄準線距離小于導彈殺傷半徑或小于1.5倍距離變化率與時間步長的乘積時,判定導彈命中飛機。

式中:kr為導彈殺傷半徑;Δt為仿真時間步長;∨為數學符號“或”。
本文忽略導彈和飛機的探測傳感器以及電子對抗模型,只從運動學和動力學的角度考慮導彈失效條件,當且僅當導彈遠離目標(D˙>0)時,導彈失效。
強化學習是智能體通過試錯的機制和環境交互,目標是找到一個最優策略使得從環境中得到最大化的總獎勵。強化學習可以被建模成一個馬爾科夫過程(S,A,P,R),其中S表示狀態集合,A表示動作集合,P表示狀態遷移模型,R表示獎勵函數。在時間步長t內,智能體處于st∈S狀態,根據策略π采取動作at∈A,收到獎勵rt。環境響應動作at,并向智能體呈現新的狀態st+1∈S。時間步 長t的 總 獎 勵 為其 中γ∈[0,1]為折扣率。智能體的目的是學習到一個能最大化期望獎勵的策略[23]。
策略π下狀態st采取動作at的期望動作值函數:

利用貝爾曼方程遞歸迭代更新估計動作值函數Q,直到找到最優策略。動作值函數使用貝爾曼方程估計[23]:

DDPG算法是一種不依賴模型的基于actorcritic架構的深度強化學習算法,由策略網絡和動作值網絡構成。其中,確定性策略μ(st|θμ)由參數為θμ的神經網絡表示,動作值函數Q(st,at|θQ)由參數為θQ的神經網絡表示[17,24]。
critic網絡的輸出標簽由貝爾曼方程估計得到,用yt表示:

critic網絡的損失:

critic網絡根據式(18)使用反向傳播方法,對參數θQ進行優化。
actor網絡使用策略梯度優化,策略梯度指預期收益函數J對策略函數參數θμ的梯度[17]

式中:ρμ為確定性策略的狀態分布。
D.Silver等[25]證 明 了 若 ?θμμ(st|θμ)和?a Q(st,at|θQ)存在,則確定性策略梯度?θμJ存在。
DDPG借鑒深度Q網絡(Deep Q Network)的經驗池技術,把每一步的經驗e=(st,at,rt,st+1)存儲在經驗池D={e1,e2,...em}中。由于在計算critic網絡的損失函數時,yt依賴于Q網絡,而Q網絡同時也在訓練,會造成訓練過程不穩定。因此,在actor和critic中分別建立目標網絡對當前動作進行估計。目標網絡延遲更新,訓練更穩定,收斂性更好。
不同于監督學習可以使用標簽,強化學習必須通過嘗試去發現采取何種策略才能獲取最大的獎勵,因此稀疏獎勵問題是深度強化學習應用于實際的核心問題。稀疏獎勵在強化學習任務中廣泛存在。智能體只有在完成任務時,才能獲得獎勵,中間過程無法獲得獎勵[26]。
本文增加人為設計的“密集”獎勵,也被稱為成型獎勵。在智能體完成任務的過程中,通過成型獎勵引導飛機成功規避導彈。
在智能體未得到最終結果之前,成型獎勵可以評價智能體的策略。因此成型獎勵的設計要準確,否則將導致策略函數收斂到局部最優。越復雜的強化學習問題,影響獎勵的因素越多,成型獎勵設計的難度越大。
本文利用導彈飛機相對態勢參數設計成型獎勵(式(20)),引導飛機規避導彈,加快算法的收斂速度。

式中:D0為導彈與飛機初始距離;為瞄準線變化 率 絕 對 值 的 最 大 值;Ci,i=1,2,…,6分 別 為 各 分 項 獎勵在總獎勵中的權重系數;r d為導彈與飛機距離獎勵,為導彈與飛機距離變化率獎勵,(r d和描述了飛機導彈的距離態勢);rλ為飛機前置角獎勵,r q為導彈進入角獎勵,(rλ和r q描述了飛機導彈的角度態勢);r Ma為飛機飛行馬赫數獎勵,其目的是防止飛機失速;r h為飛機飛行高度獎勵,其目的是防止飛機撞地。
本文方法對局部成組偏好的處理方式是剛性的,若采用柔性方式處理,則有2種可能的方案:①在DSM和耦合矩陣中的特定構件對之間分別增加權重值和相似度值,其缺點是容易導致算法的病態收斂問題[8];②將特定的模塊化驅動因素、構件及其之間的映射關系從DPM/MIM中抽取出來單獨放入新矩陣,并將新矩陣的聚類準則作為多目標優化算法的額外優化目標。該方案使得多目標優化問題變為高維多目標優化問題,其缺點是大大增加了算法計算負擔,且優化質量下降。
稀疏獎勵存在于絕大部分強化學習問題中,即任務完成后的獎勵。飛機規避導彈問題的稀疏獎勵是導彈飛機的交戰結果,表示為

式中:γt∈[0,1]為折扣系數;tm為交戰結果產生的時刻,即終局時刻;t∈[0,tm]為當前時刻;missed表示飛機規避成功;hit則表示導彈成功命中飛機;C7為成功規避獎勵的權重系數。
結合式(20)~式(21),可得到總獎勵表達式:

式(20)和(21)中各獎勵權重系數Ci,i=1,2,…,7需要結合獎勵參數的取值范圍確定。
首先選取的是C7的值,因為根據式(21),規避成功獎勵為C7·1,被擊中或墜毀的獎勵為0。本文選取C7=40,即成功逃逸后的獎勵為40。根據C7=40綜合考慮式(20)各個獎勵的取值范圍,Ci,i=1,2,…,6的值如表1所示。

表1 獎勵系數值Table 1 The values of reward coefficients
把飛機規避導彈問題建模為一個強化學習問題,飛機與導彈在時刻t的運動參數和相對態勢為強化學習的狀態st,飛機t時刻的控制指令為強化學習的動作at,導彈飛機的追逃模型是強化學習的環境。
基于DDPG強化學習方法、導彈飛機追逃模型及飛機規避導彈的獎勵設計,可建立飛機規避導彈訓練系統,如圖3所示。

圖3 基于DDPG的飛機規避導彈訓練系統Fig.3 The missile evasion training system based on the DDPG
基于DDPG的飛機規避導彈訓練系統的狀態st共8個,如表2所示。動作at共3個,如表3所示。
表2和表3中的狀態st和動作at分別為actor網絡的輸入和輸出。輸入和輸出的量都在-1到1之間,輸入輸出根據各自取值范圍進行歸一化和反歸一化。

表2 飛機規避導彈訓練系統的狀態Table 2 T he states of the missile evasion training system

表3 飛機規避導彈訓練系統的動作Table 3 The actions of the missile evasion training system
基于DDPG的智能體只依賴飛機規避導彈環境產生并存儲在經驗池中的經驗數據和式(22)的獎勵設計,在沒有其他先驗知識的情況下,通過訓練找到行之有效的逃逸機動策略。
空空導彈攻擊區是指空空導彈發射時刻能夠命中目標的空間區域。導彈攻擊區與許多因素有關,包括導彈和飛機的初始速度和高度、導彈離軸發射角、目標進入角、導彈制導律和目標機動方式等。它不僅是衡量空空導彈攻擊能力的指標,也是衡量目標飛機逃逸機動策略有效性的指標。在其他影響因素相同的前提下,飛機逃逸機動對應的導彈攻擊區越小表明飛機逃逸機動越有效。
考慮到超視距空戰場景中,導彈迎面發射對目標飛機的威脅最大,因此本文將攻擊區的范圍限制在飛機前置角-30°~30°的范圍內,本文使用如圖4所示的攻擊區作為逃逸機動策略的評價標準。

圖4 飛機前置角-30°~30°攻擊區Fig.4 The attack zone of aircraft bearing angle ranging from-30°to 30°
智能體訓練的初始場景配置如下:飛機位置不變,始終在原點,航向正北。導彈初始位置在以飛機為圓心,半徑20~40 km,飛機前置角-30°~30°的閉合范圍內(圖4閉合線部分),導彈的航向始終指向飛機。考慮導彈從載機發射,導彈初始高度和馬赫數取決于載機的高度和馬赫數。因此本文設置飛機導彈的初始高度都為8 000 m,初始馬赫數都為0.9。導彈發射后會急劇加速,導彈馬赫數隨飛行時間變化如圖5所示,最大馬赫數大于5.0。

圖5 導彈飛行馬赫數隨時間變化Fig.5 The missile Mach number changes with time
總共訓練約70萬次,仿真共生成2.3億組經驗(e=(st,at,rt,st+1))數據。
訓練過程與結果如圖6所示,x形符號表示飛機以非正常飛行狀態(失速或撞地)結束仿真,圓形符號表示飛機被導彈擊中,三角符號表示飛機成功規避導彈。

圖6 訓練過程與結果Fig.6 Training process and results
從圖6(a)可以看出:在前1 000代訓練中,飛機失速或撞地占52.6%,被導彈擊中占47.3%,飛機只成功規避一次導彈。此時智能體尚未學會控制飛機正常飛行,更無法規避導彈。
第2 000代~3 000代的訓練結果如圖6(b)所示,可以看出:飛機失速或撞地占15.5%,被導彈擊中次數占70.9%,飛機成功規避導彈占13.6%。此時智能體已能逐漸控制飛機飛行,然而還未能有效規避導彈。
最后1 000代的訓練結果如圖6(c)所示,可以看出:飛機失速或撞地只占總數的2.7%,被導彈擊中占37.0%,飛機成功規避導彈占總數的60.3%。此時智能體已自主學習到一種飛機規避導彈策略,能在約25 km外規避導彈。
智能體學習到的逃逸機動策略如圖7所示,實線為飛機,虛線為導彈。圖7(a)是逃逸機動的三維軌跡圖,圖7(b)和圖7(c)是以地軸系x坐標為橫坐標,地軸系y坐標和高度h分別為縱坐標的飛機導彈飛行軌跡圖。三角形表示起點,實心圓表示終點。圖7(b)中y軸正方向向下。

圖7 基于DDPG算法的逃逸機動策略Fig.7 The evasive maneuver strategy based on the DDPG algorithm
從圖7可以看出:智能體實現的逃逸機動策略為導彈發射后,飛機急劇轉彎,盡快把導彈置于尾后,轉彎的同時降低高度直至5 000 m左右,最后拉起飛機成功規避導彈。
參考文獻[4-5,7,27]對飛機規避導彈問題的研究,總結出四種典型的依賴導彈規避先驗知識的逃逸機動策略。
(1)定直平飛:逃逸飛機保持初始高度、速度和航向飛行。
(2)蛇形機動:逃逸飛機航跡方位角χ在一定幅值范圍內連續周期性變化。
(3)水平置尾機動:逃逸飛機以最大穩定盤旋角速度轉彎至置尾(飛機與導彈航向偏差小于5°),然后以加力狀態平飛逃逸。
(4)置尾下降機動:逃逸飛機以大于90°滾轉角邊轉彎邊下降直至飛機與導彈航向偏差小于5°,后改出下降在低空以加力狀態平飛逃逸。
典型逃逸機動策略如圖8所示。

圖8 典型逃逸機動策略Fig.8 The classic evasive maneuver strategies
與智能體訓練導彈規避的初始條件相同,各個典型逃逸機動的攻擊區,如圖9所示。

圖9 典型機動策略下的攻擊區Fig.9 The attack zones of classic maneuver strategies
結合圖6(c)和圖9得到典型機動策略和智能體自主學習的逃逸機動策略的攻擊區對比圖,如圖10所示。

圖10 所有逃逸機動策略攻擊區對比圖Fig.10 The attack zones of all evasive maneuver strategies
從圖10可以看出:所有逃逸機動策略的攻擊區從大到小依次為:平飛機動>蛇形機動>水平置尾機動≈智能體實現的逃逸機動>置尾下降機動。
綜上所述,利用深度確定性策略算法實現的逃逸機動,在沒有任何飛機規避導彈先驗知識的情況下,攻擊區優于蛇形機動,與水平置尾機動持平,稍劣于置尾下降機動。
(1)本文所構建的基于DDPG算法的導彈規避訓練系統表明,智能體在不依賴導彈規避先驗知識、僅憑借仿真數據和獎勵的情況下,最終能夠自主學習到一種有效的逃逸機動策略。
(2)通過與四種典型逃逸機動策略的攻擊區相比,智能體逃逸機動攻擊區僅次于置尾下降攻擊區,但智能體實現的逃逸機動策略對導彈規避的先驗知識需求最少。