陳中原, 韋文書, 陳萬春
(1.北京航空航天大學 宇航學院, 北京 100191; 2.中國運載火箭技術研究院, 北京 100076)
近年來,為提升打擊效能,協同制導技術得到越來越多的關注[1-5]。協同制導的多發導彈可以看作是僅基于簡單控制律即可相互協作以實現任務目標的多智能體系統[6]。多發導彈協同作戰在效能上要優于單個高技術和高成本的飛行器。此外,多發導彈構成的多智能體系統也會比單個飛行器具有更強的作戰能力[7]。其中,多發處于不同初始條件的導彈實現對目標的同時打擊是一個極具挑戰的問題[8-9]。
目前,多彈同時攻擊協同制導律可以分為兩類:
1) 第1類是為協同制導系統指定期望的攻擊時間。Cho等[10]提出了一種非奇異滑模制導律使導彈在指定的時間打擊目標;Liu等[11]基于自適應滑模設計了一種指定攻擊時間和攻擊角度的制導律。然而,為處于不同初始條件下的多發導彈指定同一個攻擊時間顯然是有困難的。此外,各發導彈間沒有交互,降低了多彈協同制導系統對環境的感知能力。
2) 另一類是由系統中的各發導彈相互協調,對齊攻擊時間。Jeon等[7]對比例導引制導律(簡稱PN制導律)進行拓展,設計了多彈協同攻擊制導律。然而,該制導律要求每發導彈都要有整個系統的全局信息,為集中式控制,通訊負擔較重。此后,Zhou等[12]基于李雅普諾夫理論設計了有限時間收斂的分布式協同攻擊制導律。Sinha等[13]設計了一種超螺旋滑模制導律,使制導指令更加平滑。李文等[14]基于一致性理論,選取飛行器與目標的相對距離和接近速度為協調變量,設計了無動力飛行器在速度時變情況下的分布式時間協同三維制導方法。

在導彈制導方面,Cottrell等[17]設計了神經網絡最優攔截制導律,減小了燃料消耗,有利于實現攔截器的小型化。然而,基于神經網絡或深度學習網絡[18]的制導律需要最優化樣本進行訓練,樣本數量一定程度上決定了智能制導律可應用的交戰環境,即某些不在樣本中的交戰環境可能使制導律失效。
為了簡化制導律設計,提高制導律魯棒性,Gaudet等[19]基于元強化學習設計了攔截器末制導律。南英等[20]對傳統深度Q網絡(DQN)的記憶池生成方法進行改進,提出了一種基于Markov決策過程的彈道導彈中段突防控制模型。強化學習技術不需要深度學習所需要的樣本,也無需設計控制器的結構,可自主探索實現獎勵值最大的動作。然而,上述智能制導律僅針對單個彈,而不是“彈群”。胡仕友等[21]總結了導彈武器智能精確制導技術的發展現狀并對發展趨勢做了分析,指出開展多彈間信息交互與協同處理技術研究,實現群體的分布式智能化協作,是未來導彈武器智能精確制導技術發展的重要方向。
基于深度確定性策略梯度(DDPG)的強化學習算法,引入Actor和Critic神經網絡用于動作的選取和獎勵值的逼近,用于解決復雜連續的控制問題[22-23]。本文基于DDPG設計了多彈同時攻擊協同制導律。為了降低協同制導系統的通訊負擔,利用多智能體思想,使協同制導系統中的每發導彈只需與自己的鄰居進行通訊,實現了分布式協同制導。此外,本文方法不再假設初始航向角誤差為小角度[7,10],因而具有更廣的應用范圍。
考慮如圖1所示的n發導彈和一個靜止目標間的平面交戰幾何關系,圖1中:vmi為第i發導彈的速度;θi為彈道傾角;ri為第i為導彈和目標的相對距離;λi為彈目視線角;σi為第i發導彈的航向角誤差;ami為導彈指令加速度。系統的非線性交戰動力學方程為

圖1 多彈協同制導平面交戰幾何關系Fig.1 Planar engagement geometry
(1)
需要說明的是,這里假設各發導彈的速度大小為常值,導彈加速度的方向垂直于導彈速度。
由于本文所研究的是氣動控制的導彈,也就是只有速度方向可被氣動力控制,而導彈的軸向速度是不可控的。因此,制導指令垂直于速度方向。另外,導彈末制導階段飛行距離和制導時間較短,目標為靜止目標,可忽略導彈速度大小變化,因此導彈速度假設為常值。

(2)

(3)
式中:Ni為比例導引常數。然而小角度假設不能夠接近實際,因此本文中考慮初始航向角誤差較大時,剩余飛行時間由(4)式估計,即
(4)
隨著協同制導系統中導彈數量的增加,圖論成為描述導彈間信息交互關系的有力工具。考慮一個有n發導彈的協同制導系統,系統拓撲可以表達為Gs=(Vs,Es,As),其中:Vs={1,2,…,n}為拓撲圖形中頂點的集合,代表每發導彈的位置;Es?Vs×Vs拓撲圖形中邊的集合;As=[aij]是拓撲圖形Gs的鄰接矩陣[24]。頂點i和頂點j的邊由(j,i)∈Es來表達,代表第i發導彈可以獲取第j發導彈的信息。鄰接矩陣As定義為:當且僅當(j,i)∈Es時,aij=1,如果(j,i)?Es則aij=0.此外,鄰居的集合定義為Ni={j∶(j,i)∈Es}.第i個頂點的自由度由di來表示,di為第i發導彈鄰居的個數。拓撲圖形Gs的自由度矩陣可以表達為Δ=diag{di},i∈[1,2,…,n].拓撲圖形Gs的拉普拉斯矩陣La定義為
La=Δ-As,
(5)
La代表了多彈協同制導系統中導彈間的信息交互關系。
根據文獻[25-27]:若多導彈協同制導拓撲的基礎圖是固定且無向的,當且僅當拓撲圖連通時,多發導彈可實現到達時間的一致;若拓撲的基礎圖為有向圖,當且僅當拓撲圖含有一個生成樹時,利用強化學習算法,多發導彈可實現到達時間的一致。
針對多導彈協同制導系統, 需設計一個分布式協同制導方案,使多發導彈在不同初始條件下實現同時打擊目標。根據(2)式,若各發導彈的剩余飛行時間達到一致,那么多發導彈即可實現對目標的同時打擊。定義剩余飛行時間估計的一致性誤差為
(6)
即第i發導彈與其鄰居間估計剩余飛行時間的誤差。
因此,需要設計一個協同制導律來實現下面3個目標:
1) 所有導彈都要擊中目標,即脫靶量為0 m;
2) 所有導彈剩余飛行時間估計的一致性誤差要變為0 s,實現同時攻擊;
3) 當剩余飛行時間估計的一致性誤差為0 s時,各發導彈可利用簡單的制導律繼續飛行,當有剩余飛行時間誤差時,繼續進行調整。
由于傳統方法在設計制導律時需要仔細調整制導律中的各個參數,來實現期望的性能。本文將嘗試應用強化學習技術來設計制導律,無需關心制導律結構及參數設計,實現智能協同制導。
受文獻[25]的啟發,協同制導律的結構設計為
(7)

(8)
如1.1節所述,剩余飛行時間的估計表達式為
(9)
其對時間的1階導數為
(10)
那么多彈協同制導系統剩余飛行時間一致性誤差對時間的導數可等效為如(11)式所示的非線性系統:

(11)


(12)
式中:q(x(t))為脫靶量和一致性誤差的函數。
本文目標就是尋找一個狀態反饋控制器u*=Φ(x),使得非線性系統式的性能指標式達到最小化。求解該問題的一種常用方法就是將該最優控制問題轉化為Hamilton-Jacobi-Bellman方程,即

(13)
式中:J*(x)為一個值函數,其表達式為
(14)
若求解出Hamilton-Jacobi-Bellman方程,則最優控制量的表達式為
(15)
然而,對于非線性系統,得到Hamilton-Jacobi-Bellman方程的解析解是極其困難的,尤其是問題的維度比較高時[28-29]。隨著人工智能技術的發展,上述問題的性能指標函數可采用策略梯度法進行優化[30]。

本文采用的是基于策略梯度下降的深度神經網絡DDPG強化學習算法,該算法是一個不基于模型、在線、異步策略的強化學習方法。DDPG算法利用Actor-Critic神經網絡來生成使長期回報最大化的最優動作。Actor網絡基于當前的觀測給出最佳動作,Critic網絡基于當前的觀測和動作給出獎勵值估計。DDPG的觀測量可以為連續或離散的,而動作空間是連續的。Critic網絡并不需要評價所有動作來選出最佳動作,只關注當前Actor網絡生成的動作。


圖2 DDPG算法的結構Fig.2 Structure of DDPG algorithm
2.2.1 狀態空間設計
為實現多發導彈的協同打擊,各發導彈的脫靶量要盡量小,且每發導彈的攻擊時間要一致。因此,強化學習算法的狀態空間設計為
S=[r1…ri…rnξ1…ξi…ξn]T.
(16)
2.2.2 動作空間設計
動作空間定義為制導律(7)式中的協同控制項,即
(17)

2.2.3 獎勵函數設計
如1.3節所述,需要讓脫靶量和剩余飛行時間的誤差盡量小。當脫靶量小于1 m時,獎勵值加10;且當剩余飛行時間誤差小于0.02 s時,獎勵值加10.因此,獎勵函數設計為
(18)
2.2.4 行為策略設計
如圖2所示,DDPG算法中包含了4個函數估計器,即:
1) Actor網絡μ(S):輸入為觀測S,輸出為使長期回報最大化的動作。
2) 目標Actor網絡μ′(S′):為了提高優化的穩定性,算法基于最新的Actor網絡參數值周期性地更新目標Actor網絡。
3) Critic網絡Q(S,A):輸入為觀測S和動作A,輸出相應的長期回報的期望。
4) 目標Critic網絡Q′(S′,A′):為了提高優化的穩定性,算法基于最新的Critic網絡參數值周期性地更新目標Critic網絡。
需要指出的是,μ(S)和μ′(S′)有相同的結構和參數,Q(S,A)和Q′(S,A)有相同的結構和參數。當訓練結束時,訓練好的最優策略存儲于Actor網絡μ(S)中。
DDPG算法的訓練過程中會在每個步長都更新Actor網絡和Critic網絡,具體算法如下:
1) 用隨機參數θQ初始化Critic網絡Q(S,A),并用同樣的參數初始化目標Critic網絡Q′(S′,A′), 即θQ=θQ′.
2) 用隨機參數θμ初始化Actor網絡μ(S),并用同樣的參數初始化目標Actor網絡μ′(S′),即θμ=θμ′.
3) 對于訓練中的每個步長:
(1) 對于當前的觀測S,選擇動作A=μ(S)+w,其中w為噪聲模型中的隨機噪聲。
(2) 執行動作A.觀測獎勵R及后續的觀測S′.
(3) 在經驗池中存儲經驗(S,A,R,S′)。
(4) 從經驗池中隨機取出一小批M個經驗(Sk,Ak,Rk,S′k),k=1,2,3,…,M.
(5) 如果S′k是最終狀態,則設置值函數目標yi=Ri.否則,
yi=Ri+γQ′(S′k,μ′(S′k|θμ)|θQ′)。
(19)
值函數目標是經驗獎勵Rk和折扣未來回報的和。為了計算累計獎勵,DDPG算法首先將后續的觀測S′k從經驗池中傳到目標Actor網絡來生成下一步的動作。然后算法將下一步的動作傳到目標Critic網絡得出累計獎勵。
(6) 通過使經驗值損失L最小化更新Critic網絡參數:
(20)
(7) 利用下面的采樣策略梯度使期望的折扣獎勵最大化來更新Actor網絡參數:
(21)
(22)
(23)
式中:Gai為Critic網絡相對于Actor網絡輸出動作的梯度;Gμi為Actor網絡輸出動作相對于Actor網絡參數的梯度。本文中,采用隨機梯度下降法進行梯度更新。
(8) 基于如下目標網絡參數更新方法來更新Actor和Critic網絡參數:
① 平滑:每個時間步長利用平滑因子τ來更新目標網絡參數,即:
目標Critic網絡參數更新
θQ′=τθQ+(1-τ)θQ′;
(24)
目標Actor網絡參數更新
θμ′=τθμ+(1-τ)θμ′.
(25)
② 周期性更新:不進行平滑處理時周期性地更新目標參數,即平滑因子τ=1.
③ 周期性平滑:周期性地更新目標參數,并進行平滑處理。
Actor網絡和Critic網絡在完成訓練后,實際在線使用時,輸入為彈目相對距離和剩余飛行時間估計的一致性誤差,輸出為2.1節(7)式中所涉及的協同控制項,從而實現多發導彈的協同制導。
考慮交戰場景中有2發不同初始條件的導彈和一個靜止目標,決策優化過程中,交戰場景的初始條件設置如表1所示。
如表1所示,導彈1和導彈2的初始位置和速度均不相同,目標垂直位置坐標隨機從1 000 m、1 500 m、2 000 m中隨機選取,這樣導彈初始的航向角誤差也會隨著變化,使DDPG算法不會僅僅學習一條彈道,能夠適應更廣范圍的交戰初始條件。

表1 決策優化的初始條件Tab.1 Initial conditions for policy optimation
DDPG算法訓練過程中的Actor網絡和Critic網絡學習率分別設置為α1=0.000 1和α2=0.001,折算因子設置為γ=0.99.訓練停止條件設置為訓練次數達到915次。
訓練過程中每次仿真的獎勵值及最近5次仿真獎勵值的平均值如圖3所示。從圖3中可以看到,隨著訓練的進行,獎勵值波動上升,訓練500次后,獎勵值穩定在500左右,勵值期望也在逐漸收斂。

圖3 DDPG算法策略優化訓練過程Fig.3 Training progress of policy optimation of DDPG algorithm
算法測試過程中目標初始垂直坐標取為1 000~1 500 m,以0.5 m為間隔,進行1 000次仿真,統計每次交戰的脫靶量及攻擊時間誤差,評價強化學習協同制導律的制導效果。
以目標垂直坐標為1 500 m為例,比例導引系數N=4,PN制導律、傳統協同比例(CPN)制導律[7]、強化學習協同比例導引(RL-CPN)制導律的彈道如圖4所示。由圖4可見:PN制導律的彈道比較平滑,但是2發導彈的攻擊時間分別為5.26 s和5.36 s,有0.1 s的差別,即未實現同時攻擊;CPN制導律實現了2發導彈的同時攻擊,攻擊時間均為5.35 s,但彈道轉彎次數較多,說明導彈在交戰過程中不斷調整制導指令來對齊剩余飛行時間;RL-CPN制導律為了實現同時打擊,相應的彈道在制導初期開始進行必要的機動來對齊剩余飛行時間,轉彎機動次數較少,最終2發導彈均在5.35 s實現了對目標的同時攻擊。RL-CPN和CPN制導律的指令加速度如圖 5所示,可見在交戰結束時,制導指令并沒有飽和,因此導彈有能力精確命中目標。但本文中獎勵函數未考慮燃料消耗,因此RL-CPN制導律的制導指令幅值較大,在后續工作中需要進一步探索燃料最優的RL-CPN制導律。

圖4 二維協同打擊的彈道對比Fig.4 Comparative trajectories of 2-D engagement

圖5 RL-CPN和CPN制導律的導彈指令加速度Fig.5 Commands acceleration of CPN and RL-CPN
1 000次仿真的統計結果如表2所示。從表2中可以看出:RL-CPN制導律的攻擊時間誤差平均值為0.001 s,而PN制導律的攻擊時間誤差為0.101 219 8 s,二者相差了兩個數量級;與CPN制導律相比,RL-CPN制導律的脫靶量和攻擊時間誤差也相對較小,也就是說,RL-CPN制導律的制導精度更高。

表2 制導律性能的對比Tab.2 Comparation of guidance laws
為了進一步驗證RL-CPN制導律的有效性,本文一些未在訓練中使用的數據將用來進行測試。設置目標垂直位置2 000~2 500 m,以0.5 m為間隔,進行1 000次仿真,統計每次交戰的脫靶量及攻擊時間誤差,評價RL-CPN制導律的制導效果。
仿真結果如表3所示,從中可見RL-CPN制導律的脫靶量依然小于PN制導律和CPN制導律的脫靶量。此外,RL-CPN制導律的脫靶量標準差也比PN制導律和CPN制導律的小,說明RL-CPN制導律的性能更加穩定。RL-CPN制導律的攻擊時間誤差為0.006 239 s,依然較PN制導律的小一個量級。盡管RL-CPN制導律的攻擊時間誤差在本仿真場景中略大于CPN制導律,但是其脫靶量僅為CPN制導律的約1/3,對于同時打擊而言更具有實戰意義。

表3 拓展交戰場景進行制導律性能的對比Tab.3 Comparation of guidance laws in extended engagement scenarios
圖6、圖7、圖8分別為對RL-CPN制導律、CPN制導律和PN制導律的脫靶量進行了直方圖統計。由圖6、圖7、圖8可以看出:RL-CPN制導律脫靶量集中在0~1 m;而PN制導律的分布則比較均勻,出現較大脫靶量的次數更多;CPN制導律的脫靶量在3.5~4.0 m區間出現的頻次則更多,這也說明了RL-CPN制導律的制導精度更高。這是因為本文所考慮的是非線性交戰動力學模型,剩余飛行時間的估計和制導律的設計不再基于文獻[7]所考慮小角度假設下的線性動力學模型。強化學習算法中的神經網絡理論上可以擬合任何非線性函數,因此本文制導律可獲得較高的制導精度。

圖6 RL-CPN制導律的統計直方圖Fig.6 Miss distance histogram of RL-CPN

圖7 CPN制導律的統計直方圖Fig.7 Miss distance histogram of CPN

圖8 PN制導律的統計直方圖Fig.8 Miss distance histogram of PN
另外,考慮目標運動狀態的不確定性也是一項值得研究的工作。若考慮目標機動的不確定性,強化學習算法在訓練時就要給定一些目標機動的場景,如目標做常值機動、Bang-Bang機動、正弦機動等,隨機選取機動幅值的大小和頻率來構造訓練環境,算法收斂后,令目標執行一些訓練未遇到的機動幅度大小和頻率,對算法進行測試。最后,結合仿真結果來評價考慮目標機動的不確定性時強化學習協同制導律的效果。
本文設計了一種基于強化學習算法的協同制導律,可以實現多發導彈對目標的同時打擊。通過仿真實驗,得出主要結論如下:
1) RL-CPN制導律實現了分布式協同,不再需要提前指定某攻擊時刻,而是各發導彈根據剩余飛行時間誤差這一協調變量生成制導指令,進而實現剩余飛行時間的一致性,達到同時打擊的目的。利用圖論理論,各發導彈不需要“彈群”的全局信息,只需與其鄰居進行通訊,降低了通訊負擔。
2) RL-CPN制導律脫靶量較小,各發導彈之間的剩余飛行時間誤差較小,制導精度高,能夠適應線下學習未訓練的交戰場景。
3) 基于強化學習算法設計制導律,極大簡化了制導律設計過程,無需考慮控制器的結構,也免去了控制器的調參過程,縮短了制導律的設計周期。
4) 由于未考慮導彈的燃料消耗因素,RL-CPN制導律燃料消耗較大,在后續工作中可以進一步優化。
本文后續工作可進一步拓展智能協同制導的應用場景,考慮導彈速度是時變的以及導彈軸向速度可控的情況,以提高多彈同時攻擊的制導精度。此外,可將本文方法擴展為三維協同制導,除考慮燃料消耗最優需求外,也可考慮攻擊角度約束及避障、避撞等約束,實現多發導彈在多約束條件下的智能協同制導。