劉子超, 王 江, 何紹溟,3,*
(1. 北京理工大學(xué)宇航學(xué)院, 北京 100081; 2. 北京理工大學(xué)中國-阿聯(lián)酋智能無人系統(tǒng)“一帶一路”聯(lián)合實驗室, 北京 100081; 3. 北京理工大學(xué)長三角研究院(嘉興), 浙江 嘉興 314019)
隨著反導(dǎo)防空技術(shù)的發(fā)展,重要戰(zhàn)略目標的防御能力普遍提升,使導(dǎo)彈面臨嚴峻的攔截威脅。多彈協(xié)同攻擊能夠使反導(dǎo)系統(tǒng)在短時間內(nèi)達到飽和,是突破敵方防空反導(dǎo)系統(tǒng)的一種有效手段[1]。為了取得更佳的毀傷效果,一般還需要導(dǎo)彈以一定的角度命中目標,因此一些制導(dǎo)律在實現(xiàn)飛行時間控制的同時引入了角度約束[2]。研究飛行時間和攻擊角度控制制導(dǎo)律具有重要的現(xiàn)實意義,本文研究了一種基于深度學(xué)習(xí)的時間角度控制制導(dǎo)律(impact time and angle control guidance, ITACG)。
現(xiàn)有的ITACG大部分需要精確預(yù)測剩余飛行時間。李斌等[3]將時間誤差和角度誤差視為跟蹤誤差,然后基于最優(yōu)誤差動力學(xué)推導(dǎo)了飛行時間誤差反饋制導(dǎo)指令;Chen等[4]推導(dǎo)了最優(yōu)角度控制制導(dǎo)律的剩余飛行時間,使用閉環(huán)反饋控制的形式實現(xiàn)時間角度控制,相對于其他開環(huán)制導(dǎo)律具有更好的魯棒性;文獻[5-6]構(gòu)造了視線角多項式,生成滿足角度約束的彈道軌跡,推導(dǎo)了軌跡長度,通過軌跡跟蹤實現(xiàn)時間角度控制制導(dǎo);Wang等[7]考慮彈間存在通信鏈,基于一致性算法控制多彈的剩余飛行時間達到一致,該方法的優(yōu)勢在于不要求所有導(dǎo)彈具有相同的飛行速度。文獻[8-11]將時間角度控制制導(dǎo)律推廣至三維場景。上述制導(dǎo)律在設(shè)計階段均依賴常值速度假設(shè),應(yīng)用于實際環(huán)境時制導(dǎo)性能可能變差。Zhang等[12]考慮速度時變場景,構(gòu)建速度剖面,然后使用加權(quán)平均加速度對速度剖面近似線性化,一定程度上提高了剩余飛行時間的預(yù)測精度,但是需要一定的積分運算,計算量較大。
由于剩余飛行時間的預(yù)測精度會對制導(dǎo)性能造成一定影響,因此也有學(xué)者從其他技術(shù)途徑開展研究。Harl等[13]設(shè)計了視線角的變化規(guī)律,從而生成滿足時間角度約束的視線角速率曲線,并且使用滑模制導(dǎo)律跟蹤曲線;吳放等[14]在Harl的基礎(chǔ)上改進了視線角多項式,更易于工程實現(xiàn);Hu等[15]使用偽目標將彈道分為兩段,根據(jù)期望飛行時間確定偽目標的位置,采用滑模制導(dǎo)與比例導(dǎo)引實現(xiàn)時間角度控制;Chen等[16]將時間約束和角度約束轉(zhuǎn)化為狀態(tài)約束,使用滑模制導(dǎo)律實現(xiàn)狀態(tài)控制;Hou等[17]通過滑模制導(dǎo)律實現(xiàn)了針對常值機動目標的時間角度控制制導(dǎo);Wang等[18]通過滑模制導(dǎo)律進一步研究了目標執(zhí)行正弦機動的時間角度控制制導(dǎo);Li等[19]將滑模制導(dǎo)律推廣至三維場景;Wang等[20]通過模型預(yù)測控制實現(xiàn)時間角度控制;Zhu等[21]設(shè)計了一種確定的機動策略,根據(jù)期望飛行時間執(zhí)行額外機動;Yan等[22]基于空間幾何關(guān)系推導(dǎo)了三維時間角度制導(dǎo)律;Kim等[23]設(shè)計了一種多項式制導(dǎo)方法,在生成多項式曲線時首先引入角度約束,通過調(diào)節(jié)多項式參數(shù)調(diào)節(jié)軌跡長度,從而實現(xiàn)時間控制;Surve等[24]設(shè)計視線角多項式實現(xiàn)時間角度控制;Deng等[25]使用迭代計算求解帶有時間角度約束的最優(yōu)控制問題;楊秀霞等[26]以兩段圓弧作為飛行軌跡實現(xiàn)時間角度控制,該制導(dǎo)律工程應(yīng)用簡單,但是機動幅度較大,不適用于導(dǎo)彈平臺。
隨著深度學(xué)習(xí)技術(shù)日趨成熟,近年來學(xué)者們開始探索將深度學(xué)習(xí)技術(shù)應(yīng)用于制導(dǎo)領(lǐng)域[27]。黃等[28]提出了一種兩階段控制策略,第一階段使用反向傳播神經(jīng)網(wǎng)絡(luò)預(yù)測剩余飛行時間,當剩余飛行時間滿足期望時間時進入第二階段,使用角度控制制導(dǎo)律飛行。該方法沒有考慮速度變化;Liu等[29]基于速度時變模型實現(xiàn)了飛行時間控制,但沒有考慮角度約束。
本文基于預(yù)測校正制導(dǎo)思想,將時間角度協(xié)同制導(dǎo)律的設(shè)計轉(zhuǎn)化為對飛行時間誤差和角度誤差的控制問題。首先使用最優(yōu)角度控制制導(dǎo)律控制角度誤差,然后以最優(yōu)角度控制制導(dǎo)律為基礎(chǔ),通過深度學(xué)習(xí)計算飛行時間誤差,設(shè)計校正制導(dǎo)律,使飛行時間誤差收斂。本文的主要貢獻如下:① 使用深度學(xué)習(xí)提高了預(yù)測校正制導(dǎo)的計算效率;② 設(shè)計前饋環(huán)節(jié)融合了理論模型與深度學(xué)習(xí)方法,改善了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效果;③ 引入了導(dǎo)彈的動力學(xué)模型,更接近實際工程應(yīng)用環(huán)境,具有一定的實用價值。
針對導(dǎo)彈攻擊固定目標的時間角度控制問題,建立如圖1所示的彈目相對運動的模型。
圖1 彈目相對運動關(guān)系
圖1中,R表示彈目相對距離,λ表示彈目視線角,v表示導(dǎo)彈速度,θ表示導(dǎo)彈的彈道傾角,η表示速度方向誤差角,L表示彈道軌跡長度,FL、FD、FG分別表示升力、阻力與重力。
導(dǎo)彈的動力學(xué)方程為
(1)
式中:x表示導(dǎo)彈在平面中的橫向位置;y表示導(dǎo)彈的高度;m為導(dǎo)彈質(zhì)量;
升力、阻力與重力的計算公式為
(2)
式中:CL表示升力系數(shù);CD表示阻力系數(shù);g表示重力加速度;S表示導(dǎo)彈的參考面積;Q表示動壓,形式為
(3)
式中:ρ為大氣密度,使用北半球標準大氣模型計算。
彈目相對運動方程為
(4)
導(dǎo)彈終端約束為
(5)
式中:(xf,yf)為導(dǎo)彈的目標位置;td為期望的飛行時間;λd為期望的攻擊角度。
本文設(shè)計的ITACG的框架如圖2所示,圖中tgo表示導(dǎo)彈的剩余飛行時間。該制導(dǎo)律以預(yù)測校正制導(dǎo)框架為基礎(chǔ),在最優(yōu)角度控制制導(dǎo)律的基礎(chǔ)上增加飛行時間誤差反饋項,使用深度學(xué)習(xí)方法精確預(yù)測最優(yōu)角度控制制導(dǎo)律的剩余飛行時間,通過校正制導(dǎo)律使導(dǎo)彈的飛行時間誤差收斂至0附近,最終實現(xiàn)飛行時間和攻擊角度的共同控制。
圖2 基于深度學(xué)習(xí)的ITACG框架
預(yù)測模塊以導(dǎo)彈的飛行狀態(tài)以及期望攻擊角度為輸入,以剩余飛行時間為輸出?,F(xiàn)有的預(yù)測校正制導(dǎo)中,預(yù)測模塊普遍需要通過數(shù)值積分預(yù)測導(dǎo)彈的終端狀態(tài),計算量較大[27]?;谏疃葘W(xué)習(xí)的剩余飛行時間預(yù)測模塊從樣本數(shù)據(jù)中學(xué)習(xí)輸入輸出之間的復(fù)雜映射關(guān)系,使用少量的運算即可獲得精確的預(yù)測結(jié)果,因此能夠顯著提高算法的實時性。
校正模塊使用比例控制算法,根據(jù)剩余飛行時間誤差計算校正制導(dǎo)指令。由于預(yù)測模塊使用的樣本分布具有馬爾可夫性,并且校正模塊生成的校正指令使預(yù)測誤差逐漸收斂,因此基于深度學(xué)習(xí)的ITACG對歷史誤差不敏感,能夠更好地適應(yīng)導(dǎo)彈模型偏差與環(huán)境擾動,魯棒性和抗擾性較好。
最優(yōu)角度控制制導(dǎo)律[30]可表示為
(6)
式中:η=λ-θ;ηe=λd-λ。剩余飛行時間tgo定義[18]為
(7)
式中:彈道軌跡長度L為
(8)
若飛行速度v為常值,最優(yōu)角度控制制導(dǎo)律的剩余飛行時間tgo的理論值[3]為
(9)
常值速度假設(shè)將剩余飛行時間預(yù)測問題轉(zhuǎn)化為剩余軌跡長度預(yù)測問題,因此式(9)在常值速度模型具有較高的預(yù)測精度。但是考慮速度變化后,在某些場景預(yù)測精度可能會顯著下降。
以x=-20 km,y=20 km,v=210 m/s,θ=0°為初始條件,使用式(6)的制導(dǎo)律并且以λd=90°為終端角度約束攻擊位于原點處的固定目標,采用常值速度模型與考慮速度變化的模型分別進行仿真,并使用式(9)預(yù)測剩余飛行時間,預(yù)測結(jié)果如圖3和圖4所示。在常值速度模型下,式(9)的預(yù)測精度較高,但是在引入導(dǎo)彈的動力學(xué)模型后,該公式的預(yù)測誤差明顯增大。
圖3 基于常值速度模型的剩余飛行時間預(yù)測結(jié)果
圖4 基于速度時變模型的剩余飛行時間預(yù)測結(jié)果
在實際應(yīng)用中,式(9)的預(yù)測誤差可能導(dǎo)致制導(dǎo)性能下降,甚至任務(wù)失敗。因此,在對最優(yōu)角度控制制導(dǎo)律進行剩余飛行時間估算時,不僅要考慮過載指令對彈道曲率的影響,還應(yīng)當考慮氣動力對飛行速度的影響。然而,在引入氣動力后,導(dǎo)彈的動力學(xué)方程求解難度較大,一般無法使用解析方法求解。
由式(7)可見,tgo是飛行速度v和彈道長度L的函數(shù),彈道長度受彈道曲率θ與剩余航程x影響。按照式(6)的制導(dǎo)律攻擊目標時,彈道曲率的變化規(guī)律由v,R,θ,λ,λd確定。注意到v的動力學(xué)主要受到氣動力的影響,而氣動力中的大氣密度ρ又能夠表示為高度y的函數(shù)。由于目標靜止,彈目相對幾何關(guān)系(R,λ)與導(dǎo)彈在慣性空間的位置(x,y)等價。因此,可將tgo表示為
tgo=f(v,θ,λd,x,y)
(10)
使用深度學(xué)習(xí)方法可以擬合式(10)表示的映射關(guān)系,但是由于tgo的值域范圍較大,可能需要更多的訓(xùn)練步數(shù),預(yù)測精度也有可能降低。為了進一步提高訓(xùn)練效率與訓(xùn)練精度,將tgo表示為
(11)
對tgo的估計由兩部分組成:基于模型的理論值與基于數(shù)據(jù)的擬合值Δt。Δt是理論模型對剩余飛行時間的估計誤差,使用深度神經(jīng)網(wǎng)絡(luò)擬合Δt時,基于模型的理論值能夠使目標值域縮小,提高神經(jīng)網(wǎng)絡(luò)訓(xùn)練速度,同時改善神經(jīng)網(wǎng)絡(luò)的預(yù)測精度。剩余飛行時間預(yù)測模塊如圖5所示。
圖5 剩余飛行時間預(yù)測模塊
本文使用的深度神經(jīng)網(wǎng)絡(luò)為具有10個隱層的殘差神經(jīng)網(wǎng)絡(luò)[31],每個隱層包含100個神經(jīng)元。殘差神經(jīng)網(wǎng)絡(luò)解決了網(wǎng)絡(luò)深度的退化問題,能夠進一步提高網(wǎng)絡(luò)性能。深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)來源于蒙特卡羅仿真飛行實驗,仿真飛行使用帶有氣動力的模型。在仿真飛行的初始階段,除了隨機給定初始位置(x,y)與初始速度(v,θ),同時隨機給定期望的攻擊角度λd。當樣本采集完成后,對深度神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練。
將深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)定義為β,定義損失函數(shù)為網(wǎng)絡(luò)參數(shù)β的函數(shù)為
(12)
(13)
式中:αβ為學(xué)習(xí)率。
ITACG的制導(dǎo)指令表示為
aM=aOA+aIT
(14)
式中:aIT為飛行時間控制制導(dǎo)指令項。
定義εt為飛行時間誤差:
εt=td-tf=td-(t+tgo)
(15)
在設(shè)計校正制導(dǎo)指令時,可以假設(shè)v為常值。忽略飛行速度變化可能導(dǎo)致校正指令無法滿足最優(yōu)性,但是在引入精確的預(yù)測環(huán)節(jié)后,校正指令能夠使εt正確地收斂。引入式(9)對飛行時間tf=t+tgo求導(dǎo)
(16)
(17)
由于式(17)不顯含控制指令,使用飛行時間控制制導(dǎo)指令項簡化彈道傾角的動力學(xué)為
(18)
將式(15)、式(18)代入式(17),可得εt的導(dǎo)數(shù)為
(19)
忽略式(19)的高階項,將εt的導(dǎo)數(shù)簡化為
(20)
設(shè)計期望誤差動力學(xué)為
(21)
式中:K>0為比例系數(shù),K值越大,εt的收斂速度越快。
求解式(21)的微分方程可得εt的解為
εt=ε0e-Kt
(22)
式中:ε0為誤差的初值。
按照式(21)的期望誤差動力學(xué)可以令誤差按指數(shù)函數(shù)形式迅速收斂,將式(20)代入式(21),得到飛行時間控制制導(dǎo)指令項aIT為
(23)
將式(6)、式(23)代入式(14),可得ITACG為
(24)
當εt收斂為零后,式(24)的ITACG退化為角度控制制導(dǎo)律。
導(dǎo)彈氣動系數(shù)可近似表示為
(25)
表1 導(dǎo)彈氣動系數(shù)
導(dǎo)彈攻角在飛行過程中取平衡攻角,計算公式為
(26)
導(dǎo)彈初始飛行狀態(tài)的取值范圍如表2所示。彈體的參考面積S=0.05 m2,重力加速度g=9.81 m/s2,攻角取值范圍限制于區(qū)間[-15°,15°]內(nèi)。
表2 導(dǎo)彈初始飛行狀態(tài)
運行1 000次蒙特卡羅仿真實驗,共獲得19 407 425組樣本,將樣本的80%作為訓(xùn)練集,剩余20%作為測試集,設(shè)置學(xué)習(xí)率αβ=0.001,使用訓(xùn)練集對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練。
使用測試集測試訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),測試結(jié)果如圖6所示。由圖可見本文設(shè)計的預(yù)測模塊實現(xiàn)了較高精度的剩余飛行時間預(yù)測,預(yù)測誤差不大于1 s。
圖6 剩余飛行時間預(yù)測模塊的測試結(jié)果
本節(jié)將式(24)中的參數(shù)K設(shè)置為0.1,以x0=-10 km,y0=10 km,v0=300 m/s,θ0=0°為初始狀態(tài)開展一系列仿真實驗。圖7對比了基于精確tgo的ITACG與基于式(9)解析tgo的ITACG,由圖可見基于解析tgo的ITACG脫靶,這是因為式(9)的推導(dǎo)過程引入了常值速度假設(shè),預(yù)測誤差增大,導(dǎo)致制導(dǎo)指令不合理。
圖7 兩種不同ITACG的仿真結(jié)果對比
設(shè)定一系列的場景對本文提出的ITACG進行仿真,首先設(shè)置不同的期望飛行時間和相同的期望攻擊角度,期望飛行時間分別設(shè)置為td=60 s,80 s,100 s,期望攻擊角度設(shè)置為λd=90°,仿真結(jié)果如圖8所示。
圖8 不同期望飛行時間的制導(dǎo)性能
然后設(shè)置不同的期望攻擊角度和相同的期望飛行時間,期望攻擊角度分別設(shè)置為λd=30°,60°,90°,期望飛行時間設(shè)置為td=60 s,仿真結(jié)果如圖9所示。
圖9 不同期望攻擊角度的制導(dǎo)性能
從圖8和圖9可見,本文設(shè)計的制導(dǎo)方法能夠使導(dǎo)彈在命中目標的同時滿足飛行時間約束與攻擊角度約束,驗證了本文設(shè)計的ITACG的有效性。
為了進一步說明本文設(shè)計的ITACG相對現(xiàn)有制導(dǎo)律的優(yōu)勢,使用文獻[3-4]設(shè)計的ITACG與本文提出的ITACG進行對比。期望攻擊角度設(shè)置為λd=90°,期望飛行時間設(shè)置為td=60 s,仿真結(jié)果如圖10所示,導(dǎo)彈命中目標時的性能如表3所示。
表3 3種不同ITACG的性能
圖10 3種不同ITACG的仿真結(jié)果
從圖10和表3中可以看出,3種制導(dǎo)律都能按照期望的飛行時間命中目標,但是文獻[3-4]的攻擊角度誤差較大。導(dǎo)彈使用本文的ITACG命中目標時,相對于其他兩種ITACG具有更大的終端速度與終端動能,在實際應(yīng)用時具有更好的毀傷效果。
使用蒙特卡羅仿真實驗測試ITACG在不同狀況下的制導(dǎo)性能,飛行時間與攻擊角度分別從[60 s,100 s]、[30°,90°]中隨機選取。重復(fù)1 000次實驗,繪制各次實驗的飛行時間誤差εt與攻擊角度誤差εa如圖11所示。從圖11可見,本文的ITACG在不同初始情況與目標條件下均能以較小的誤差命中目標。
圖11 蒙特卡羅仿真實驗結(jié)果
本文針對飛行時間和攻擊角度約束,提出了一種基于深度學(xué)習(xí)的ITACG,該制導(dǎo)律引入了導(dǎo)彈的動力學(xué)模型,以預(yù)測校正制導(dǎo)框架為基礎(chǔ),應(yīng)用深度學(xué)習(xí)方法預(yù)測剩余飛行時間,實現(xiàn)時間角度控制制導(dǎo)。在預(yù)測剩余飛行時間時,設(shè)計前饋環(huán)節(jié)融合了理論模型與數(shù)值方法,改善了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效果。仿真結(jié)果表明,相對于傳統(tǒng)的飛行時間估計方法,深度學(xué)習(xí)能夠?qū)崿F(xiàn)更加精確的剩余飛行時間估計,而更精確的估計結(jié)果能夠顯著改善時間角度控制制導(dǎo)律在實際場景中的性能。下一步的研究方向包括針對機動目標的時間角度控制制導(dǎo),以及考慮能量最優(yōu)性的校正制導(dǎo)指令設(shè)計。