楊任農,岳龍飛,宋敏,曹曉劍,王新
(1.空軍工程大學 空管領航學院,西安 710051)
(2.中國人民解放軍94563部隊,威海 264411)
無人機軌跡預測是無人機自主防撞決策中的關鍵問題。隨著無人機的迅速發(fā)展,其在軍事領域和民用領域所承擔的任務日益增加,自主防撞問題也日益凸顯[1-2]。如何通過已知信息,動態(tài)、準確地預測入侵者無人機在下一個時刻的位置,從而實現(xiàn)自主避讓,減少非戰(zhàn)斗損失,是自主防撞軌跡預測研究的重點。
軌跡預測的本質就是對時間序列數(shù)據(jù)的預測,具有高度非線性和時變性[3]。針對軌跡預測問題,目前主要有兩種方法:模型化方法和數(shù)據(jù)化方法。在模型化方法中,T.Baklacioglu等[4]提出了基于遺傳算法的運輸機爬升和下降軌跡預測模型;湯新民等[5]基于航空器動力學模型,建立了時變混雜系統(tǒng)模型來預測航空器軌跡,可以準確快速地實現(xiàn)航跡推測;喬少杰等[6]提出基于卡爾曼濾波的動態(tài)軌跡預測算法,預測精度較高。這種方法對模型準確度要求較高,在飛行軌跡相對簡單穩(wěn)定時有較高的預測精度,但是對于復雜模型的預測精度相對較低。在數(shù)據(jù)化方法中,楊任農等[7]建立基于NARX反饋神經網(wǎng)絡的飛機飛行性能模型,預測結果和收斂速度較好;譚偉等[8]運用遺傳算法優(yōu)化神經網(wǎng)絡權重和結構參數(shù),建立BP神經網(wǎng)絡機動目標預測模型,預測精度較高;王儉臣等[9]通過改進粒子群算法和梯度法優(yōu)化Elman網(wǎng)絡權重,對無人機降落軌跡進行預測,模型收斂性能較好。這種方法的優(yōu)點是不用建立飛機運動模型,不考慮運動細節(jié),單純從數(shù)據(jù)角度出發(fā),運用機器學習算法去挖掘數(shù)據(jù)背后的飛機運動規(guī)律。但模型輸入簡單,“學到的規(guī)律”不深,不能進行長期穩(wěn)定的預測。
考慮到無人機在飛行中重量、推力、阻力等時變參數(shù)的不穩(wěn)定性,難以建立精確的運動模型進行軌跡預測。同時,傳統(tǒng)數(shù)據(jù)化方法在軌跡預測時,用到數(shù)據(jù)量較少,并未考慮到我方位置、姿態(tài)對入侵者無人機軌跡的影響,難以準確學習受多種因素影響的無人機運動規(guī)律,導致軌跡預測精度不高。雙向長短期記憶(Bidirectional Long Short Term Memory,簡稱Bi-LSTM)[10]神經網(wǎng)絡是近年來應用比較多的一種深度神經網(wǎng)絡,由于神經網(wǎng)絡強大的非線性逼近能力,再結合其特殊的雙向循環(huán)結構能夠更好地學習前向和后向數(shù)據(jù)中所包含的信息,因此非常適合處理時間序列問題。
因此,本文采用數(shù)據(jù)化的思路,將軌跡預測問題看作時間序列數(shù)據(jù)的預測問題,建立基于Bi-LSTM的軌跡預測模型,并將入侵者無人機位置、姿態(tài)和兩機的相對信息同時輸入,對入侵者下一時刻的位置進行預測。
在實際飛行中,無人機的軌跡受自身、戰(zhàn)場環(huán)境、敵方機動等多種因素影響。根據(jù)專家經驗,歸納得到無人機軌跡具有連續(xù)性、時序性、交互性三個特點[11]。
①連續(xù)性是指無人機軌跡是連續(xù)變化的,而不是間斷的。
②時序性是指軌跡數(shù)據(jù)是帶有時間性質的,且后一個時刻的位置與前一個時刻的位置是有關的,所以軌跡數(shù)據(jù)本質上是一個時間序列數(shù)據(jù)。
③交互性是指自主避障時,多機之間是動態(tài)變化的復雜過程,一架無人機的機動會影響另一架無人機的機動,一架無人機的位置也會影響另一架無人機的位置。
因此,在進行軌跡預測時,除了考慮入侵者的位置(x,y,z)、姿態(tài)(航向角φ,俯仰角θ,滾轉角γ)、速度v外,由于交互性,還要考慮兩機相對距離d、相對高度Δh、速度矢量夾角α[12]。
無人機自主防撞示意圖如圖1所示,可以看出:在xyz坐標系中,當入侵者向另一架無人機俯沖過來時,該無人機做回轉避讓。無人機知道入侵者t1~tn時刻的位置、姿態(tài)、速度和相對信息,就可以對入侵者tn+1時刻的位置進行預測,從而幫助無人機進行避讓防撞。因此,軌跡預測問題可以描述為
xtn+1=f(xt1,xt2,…,xtn)
(1)
式中:xti為(xt1,yt1,zt1,φ,θ,γ,v,d,Δh,α),i∈[1,n],即無人機ti時刻在x、y、z方向上的坐標值、航向角、俯仰角、滾轉角、速度、兩機相對距離、相對高度和速度矢量夾角;xtn+1為tn+1時刻無人機的位置;f為映射關系。
圖1 無人機自主防撞示意圖
LSTM[13]是一種循環(huán)神經網(wǎng)絡(Recurrent Neural Network,簡稱RNN)的變體。神經網(wǎng)絡本質上是一種非線性函數(shù)逼近器,RNN[14-16]是一種帶反饋連接的神經網(wǎng)絡,由于其隱含層加入反饋結構,即本時刻的輸出不僅與本時刻的輸入有關,還與上一時刻的輸出有關,相當于在時間序列上展開的深度神經網(wǎng)絡,使其比較適合處理時間序列數(shù)據(jù)。因此,RNN常被用于處理上下文包含時序信息的自然語言處理問題。RNN結構如圖2所示。
圖2 RNN結構示意圖
假設輸入為xt,隱含層狀態(tài)為ht,Wx為輸入層到隱含層的權重,Wh為隱含層自遞歸權重,φ為激活函數(shù),則t時刻有
ht=φ(Whht-1+Wxxt)
(2)
ht包含時序變化的信息,即t時刻的輸出由t時刻的輸入和t-1時刻的輸出共同決定。
但RNN存在梯度消失和梯度爆炸的缺點,不能學習長期依賴信息,于是LSTM應運而生。LSTM借鑒人類神經記憶的長短時與遺忘特性,在網(wǎng)絡中加入三個控制器,即輸入門、輸出門、遺忘門,可以學習長期依賴信息,使RNN的性能大幅提升。LSTM常被用于軌跡預測[17]、動作分類[18]和語義分類[19],其結構如圖3所示,xt為輸入序列;it為輸入門;ft為遺忘門;Ot為輸出門;ht為隱含層輸出;σ為sigmoid激活函數(shù);tanh為tanh激活函數(shù);W為權重矩陣;·為點對乘積。
圖3 LSTM結構
根據(jù)LSTM結構,得到:
ft=σ(Wxfxt+Whfht-1+bf)
(3)
it=σ(Wxixt+Whiht-1+bi)
(4)
Ot=σ(Wxoxt+Whoht-1+bo)
(5)
(6)
ct=ft·ct-1+it·tanh(Wxcxt+Whcht-1+bc)
(7)
ht=Ot·tanh(ct)
(8)
從式(3)~式(8)可以看出:輸入門控制何時讓激活狀態(tài)傳入存入單元,即時序數(shù)據(jù)的寫入;輸出門控制何時讓激活狀態(tài)傳出,即時序數(shù)據(jù)的輸出;忘記門控制全部或部分遺忘,三個門共同完成對數(shù)據(jù)中規(guī)律的學習。
LSTM的優(yōu)點是使當前單元得到本單元之前所有單元的信息,缺點是無法獲得本單元之后的單元的信息[18]。考慮到一組時序數(shù)據(jù)中,信息不僅包含在過去的數(shù)據(jù)中,也包含在將來的數(shù)據(jù)中。如果網(wǎng)絡能同時學習前向和后向數(shù)據(jù)中的規(guī)律,就可以進一步提高網(wǎng)絡的性能。于是,Bi-LSTM應運而生。
Bi-LSTM是對LSTM改進形成的一種雙向RNN模型。其中,一個Bi-LSTM單元由兩個LSTM單元組合而成,一個負責前向信息傳遞,一個負責后向信息傳遞,這兩部信息組合成最終的輸出。Bi-LSTM常被用于文本分類[20]和自然語言處理中,取得了良好的效果。
(9)
(10)
(11)
圖4 Bi-LSTM神經元結構
Bi-LSTM網(wǎng)絡訓練時學習算法采用Adam優(yōu)化算法[21]。Adam優(yōu)化算法是深度學習訓練中性能最好的算法之一,通過自適應調整學習步長,使得模型收斂速度更快,需要資源更少,學習性能更好,權值更新公式為
(12)
式中:momentum為動量項;v為速度項;E為每次訓練后得到的誤差和;β1,β2為超參數(shù),一般設置β1=0.9,β2=0.999。
考慮到無人機軌跡的連續(xù)性、時序性、交互性特點,結合式(1)可知,可以通過前n個時刻無人機的位置(x,y,z)、航向角φ、俯仰角θ、滾轉角γ、速度v、敵我相對距離d、相對高度Δh、速度矢量夾角α共10個量來預測第n+1時刻的軌跡(xtn+1,ytn+1,ztn+1),模型輸入輸出如圖5所示。
圖5 Bi-LSTM軌跡預測圖
為了提高計算穩(wěn)定性,將數(shù)據(jù)歸一化處理,輸入數(shù)據(jù)的取值范圍納入[0,1]區(qū)間,公式為
(13)
式中:X為某變量的實際值;Xmax為最大值;Xmin為最小值;Y為歸一化后的值。
使用訓練好的預測模型對預測結果進行反歸一化,從而與實際值進行誤差比較分析,公式為
X=(Xmax-Xmin)Y+Xmin
(14)
軌跡預測樣本數(shù)據(jù)構建完成后,就可以按照如下步驟建立Bi-LSTM模型進行訓練和預測。
Step1從飛機空中訓練數(shù)據(jù)中選擇一段飛行軌跡,根據(jù)上文構造訓練樣本和預測樣本。
Step2數(shù)據(jù)預處理,對訓練樣本和預測樣本按照式(13)進行歸一化。
Step3把訓練樣本輸入到Bi-LSTM中,改變Bi-LSTM的隱含層節(jié)點數(shù),通過最小化輸出結果與真實軌跡的誤差,確定網(wǎng)絡結構。
Step4把預測樣本輸入到訓練好的網(wǎng)絡中,得到軌跡預測結果,并進行反歸一化。
Step5與其他算法進行對比,分析預測效果。
因此,基于Bi-LSTM的軌跡預測模型算法流程圖如圖6所示。
圖6 算法流程圖
本文采用離線訓練、在線預測的方式,先用大量軌跡數(shù)據(jù)訓練Bi-LSTM神經網(wǎng)絡,再用訓練后的模型進行軌跡預測,這樣輸入一組數(shù)據(jù)的預測時間短,可一定程度上保證模型的實時性。仿真環(huán)境為:Intel(R) Core(TM) i5-4590 3.3 GHz處理器,4 GB內存,Windows7 64位操作系統(tǒng),運行平臺為MATLAB 2010a 和JetBrains Pycharm Community Edition 2017.3.3 x64。其中,在Pycharm中搭建基于TensorFlow(深度學習框架)的深度學習環(huán)境完成Bi-LSTM仿真。參數(shù)設置如表1所示。
表1 參數(shù)設置
權重初始化采用截斷隨機正態(tài)分布,將初始化的值控制在兩倍的標準差之內,有助于提高計算穩(wěn)定性。偏差采用均值為0、標準差為1的隨機正態(tài)分布。學習算法采用Adam優(yōu)化算法,可以讓收斂速度更快,并提高準確率,損失函數(shù)采用均方誤差函數(shù),公式為
(15)
本文選取了一段500 s的無人機軌跡數(shù)據(jù),共2 000個位置點,并轉換到慣性坐標系,如圖7所示,前1 800個點作為訓練樣本,用來訓練模型,后200個點作為預測樣本,用來進行軌跡預測。為了使實驗結果更具說服力,各仿真結果均取30次運行結果的平均值。
圖7 飛行軌跡樣本圖
根據(jù)2.3節(jié)樣本數(shù)據(jù)構造方法,本文用前8個點預測下1個點,即每次輸入1×80的向量,輸出1×3的值。這樣形成了1 792×80的輸入訓練樣本、1 792×3的輸出訓練樣本、192×80的輸入預測樣本和192×3的輸出訓練樣本,并按照式(13)、式(14)相應地進行歸一化和反歸一化。
由于神經網(wǎng)絡隱含層節(jié)點數(shù)的確定沒有固定的方法,因此采用通試法,從4~15改變隱含層節(jié)點數(shù),分析樣本均方誤差變化來確定,如圖8所示。
圖8 不同隱含層節(jié)點數(shù)訓練結果
從圖8可以看出:在隱含層節(jié)點數(shù)為12時,樣本均方誤差最小,故隱含層節(jié)點數(shù)設為12。
按照上述參數(shù)設置和確定的網(wǎng)絡結構,建立Bi-LSTM模型,并建立Elman神經網(wǎng)絡模型(設置2個隱含層,隱含層節(jié)點數(shù)為12,激活函數(shù)為Sigmoid)作為對比,分別用訓練樣本進行網(wǎng)絡訓練,然后輸入預測樣本對接下來的200個點進行預測。分別繪制了x、y、z三個方向預測結果及絕對誤差(因為基數(shù)太大,相對誤差都接近0)和三維預測結果,如圖9~圖10所示。
(a)x方向預測結果 (b)x方向預測絕對誤差
(c)y方向預測結果 (d)y方向預測絕對誤差
(e)z方向預測結果 (f)z方向預測絕對誤差
圖9 不同方向軌跡預測結果
Fig.9 Trajectory prediction results of different directions
圖10 預測結果三維圖
從圖9可以看出:三個方向上,Bi-LSTM模型預測絕對誤差比Elman模型預測誤差小,預測結果更穩(wěn)定。
從圖10可以看出:Bi-LSTM模型預測200個點的軌跡與實際軌跡基本重合,誤差較小,而Elman模型預測的軌跡誤差越來越大。
為作進一步對比分析,對Bi-LSTM和Elman模型預測的200個點的x、y、z三個方向的平均絕對誤差進行比較,如表2所示,可以看出:Bi-LSTM模型在三個方向的預測平均絕對誤差明顯小于Elman模型的預測誤差。
表2 Bi-LSTM和Elman模型預測平均絕對誤差對比
綜上所述,與Elman神經網(wǎng)絡預測模型相比,基于Bi-LSTM的軌跡預測模型預測誤差更小,精度更高。
(1) 建立了基于Bi-LSTM的軌跡預測模型,通過輸入無人機的位置、姿態(tài)和兩機相對信息離線訓練好Bi-LSTM模型,在x、y、z三個方向預測200個點的平均絕對誤差不超過4 m。
(2) 與Elman神經網(wǎng)絡相比,Bi-LSTM神經網(wǎng)絡因其特殊的雙向循環(huán)結構,可以同時學習過去和未來時刻軌跡數(shù)據(jù)中的信息,因此具有更高的軌跡預測精度。