張 琨,程 玉,吳有龍,陳 帥,白鉦皓
(南京理工大學自動化學院,南京 210094)
基于微機電系統(micro-electro-mechanical system, MEMS)的捷聯慣性導航(strap-down inertial navigation system, SINS)/全球定位(global navigation satellite system, GNSS)組合導航系統具有高可靠性、低功耗、小尺寸等特點,可為小型無人機、制導炸彈與車輛等提供低成本的導航方案[1]。然而GNSS接收機易受地形地物遮擋而無法正常工作[2]。組合導航系統進入純慣導模式,由于MEMS慣性器件測量精度低,解算誤差隨時間積分累積,定位精度迅速下降。
在不增加其他導航傳感器的前提下,為解決微慣性測量單元(miniature inertial measurement unit, MIMU)漂移導致的導航精度發散問題,文獻[3]采用BP(back propagation)神經網絡模擬GNSS的信息,進行信息融合。文獻[4]采用徑向基函數神經網絡(radial basis function neural network, RBFNN),以IMU信息作為網絡輸入,Kalman濾波的誤差估計作為網絡輸出。文獻[5]采用RBFNN結合自適應卡爾曼濾波提高系統魯棒性。文獻[6]利用自適應神經模糊推理系統(adaptive network fuzzy inference system, ANFIS)對SINS誤差特性進行建模。
然而上述網絡均輸入前饋式網絡,網絡輸出僅由當前輸入和權重決定,而與網絡先前的輸出結果無關,丟失了時間信息。文獻[7]將MIMU當前時刻與前一時刻的信息作為網絡輸入,GNSS相鄰時刻的增量作為網絡輸出,構建BP網絡。文獻[8]使用循環神經網絡(recurrent neural network, RNN),構建SINS速度位置信息的時間序列樣本,引入時間維度有效提高了SINS的精度。但RNN容易導致“梯度消失”和“梯度爆炸”現象。文獻[9]結合了卷積神經網絡和門控循環單元神經網絡,從MIMU信號中提取空間特征并跟蹤其時間特征。對姿態、比力、角速率和GNSS位置增量之間的關系進行建模。但網絡層數復雜。
綜上,文中提出一種基于Elman神經網絡和自適應卡爾曼濾波的SINS/GNSS偽松組合導航方法,以MIMU輸出的角速度、比力,慣性解算的姿態、速度信息作為網絡輸入,以GNSS在相鄰時間段內的位置增量作為輸出。利用Elman神經網絡內部的一步延遲算子存儲內部網絡隱藏層狀態,并反饋給網絡輸入,以達到記憶的目的。引入改進的自適應卡爾曼濾波(adaptive Kalman filter, AKF)減小濾波器估計不準確導致的累積誤差以增強信息融合的魯棒性。
SINS/GNSS松組合導航誤差狀態量共15個,定義為:
(1)

系統的狀態方程[10]為:
(2)
式中:Maa,Mav,Map,Mvv,Mvp,Mpv,Mpp參數參考文獻[10];O3表示3×3的0矩陣。
GNSS信號有效時,利用GNSS的信息對SINS解算的速度、位置信息進行補償,量測向量Z定義為[11]:
(3)
式中:VSINS,PSINS分別為SINS解算的速度、位置;VGNSS,PGNSS分別為GNSS的速度、位置。
Elman神經網絡結構共4層:輸入層、隱藏層(中間層)、承接層和輸出層(見圖1)[12]。

圖1 Elman神經網絡模型
傳統的Elman網絡中,承接層僅用來記憶隱藏層單元上一刻的輸出值。當網絡中存在異常離群輸入時,此時承接層記錄了錯誤的隱藏狀態值,從而引入了部分預測誤差。為提高網絡的可靠性,改進的Elman結構中引入自反饋因子α,即當前承接層所含的信息不僅包含上一時刻隱藏層的信息,還包含上一時刻承接層的信息,增強了承接層的慣性與抗干擾能力,提高網絡的魯棒性。
改進的Elman網絡承接層的數學模型為:
xc(k)=αxc(k-1)+(1-α)x(k-1)
(4)
式中:k代表時刻;xc(k)表示承接層k時刻的狀態;x(k)表示隱藏層k時刻的狀態;α為自反饋因子,取值范圍為[0,1]。
Elman的隱藏層的激活函數選用sigmoid函數,輸出層激活函數選用線性傳輸函數。
傳統OSINS-δPSINS模型中,由于MIMU本身存在測量誤差,導致SINS解算誤差發散,以SINS和GNSS位置誤差作為真值來訓練,網絡真值標簽引入SINS誤差項,存在一定缺陷。為此選用改進的OSINS-ΔPGNSS預測模型,以GNSS相鄰時間段內的位置增量為訓練目標,不僅提高了訓練標簽的質量,也方便了后續數據的歸一化處理。
根據比力方程[10]得知,在時間間隔t范圍內,慣性解算的位置增量ΔPSINS為:

(5)



圖2 改進的Elman輔助組合導航系統框圖
如圖2中向下的黑色虛線所示,GNSS失鎖時,Elman預測得到當前時刻的位置增量,通過積分操作,累計得到預測位置信息,繼續提供修正量保證組合導航不間斷進行,抑制純慣性導航的發散。
Elman網絡的預測精度直接影響后續的濾波估計,且GNSS偽位置的協方差不可知,采用傳統的卡爾曼濾波算法可能會導致濾波發散[14]。Sage-Husa自適應濾波對過程噪聲Q和量測噪聲R的遞推更新中,難以保證Q,R的半正定性和正定性[15]。
為此構建一種基于新息序列的自適應因子,通過適當提高系統先驗預測協方差,在觀測噪聲變化的情況下,保證濾波增益的穩定性,提高濾波器的跟蹤能力,當網絡出現異常預測時,降低此次估計誤差的影響,提高系統魯棒性。
設系統的狀態空間模型為[10]:
(6)
系統新息的估計誤差及其理論值分別為[16]:
(7)
定義系統預測誤差指標為:
(8)
分析可知,系統正常工作時,估計誤差與理論值接近,Δuk≈1,當系統存在離群觀測值時,此時系統新息序列的估計誤差rk較大,Δuk較大,可能導致濾波器的發散。通過構造自適應因子,提高系統估計協方差矩陣P,加強濾波器的跟蹤能力。
構造的自適應因子為:
在不考慮阻尼的情況下,在式(58)中令右邊項為零,同時令那么可以得到一個以ω為特征值為特征向量的特征值問題,即
(9)
式中,c為常量,取值范圍為1~1.5。
選取arccsc函數,該函數正區間值域為[0,π/2],呈單調遞減趨勢,當c位于1.5時,λk≈1正好與其邊界值對應。
基于自適應因子改進的濾波預測過程為:
(10)
與KF相比,AKF在實際復雜環境中具有對系統初始信息較低的靈敏度、對實際狀態具有較強的魯棒性等優點,使其既能抑制線性誤差,又能有效抑制隨機誤差。
通過車載實驗對提出的算法進行驗證,實驗平臺如圖3所示,實驗MIMU選取MSI3200G,其更新率為200 Hz,主要性能指標如表1所示。參考系統選擇Novatel公司的SPAN-KVH1750,其水平速度、位置精度分別為0.02 m/s和1 m;垂直速度、位置精度分別為0.01 m/s和0.6 m;利用參考系統1 Hz的位置信息作為GNSS訓練值。

圖3 實驗設備圖

表1 實驗系統性能指標
跑車地點選擇南京市玄武區,沿繞城高速行駛1 500 s左右,跑車實際運動軌跡如圖4所示。系統開始工作在SINS/GNSS松組合模式,800 s處斷開GNSS信息。利用斷開前500 s的數據訓練神經網絡;GNSS失鎖后,系統通過Elman輔助慣性導航提升導航性能。

圖4 跑車運動軌跡
為提高網絡的預測精度,避免訓練過程的參數的交叉耦合,采用雙網絡并行結構,分別對緯度、經度進行預測。
考慮到兩傳感器數據異步問題:MIMU數據、速度、姿態角等SINS信息為200 Hz,GNSS增量信息為1 Hz,1 s內對應的慣性數據量十分龐大,且信息冗余度高,訓練時將1 s內慣性數據按每10組間隔選取,構建訓練樣本。輸入層的特征維度很大,隱藏層的神經元個數選擇60,訓練方式采用trainscg。
為驗證所提算法的可行之處,以參考系統的組合數據為基準,對比SINS,BP+KF,Elman+AKF在GNSS信號失鎖時間內的定位精度。
圖5~圖8為GNSS失鎖期間的速度、位置誤差,從圖中可知,Elman+AKF輔助的組合導航系統在GNSS信號失鎖時間段內,誤差優于SINS和BP+KF。在對慣性傳感器誤差補償后,衛星導航信號失鎖180 s內,SINS解算誤差迅速發散,東向的速度、位置最大誤差分別為0.48 m/s和70 m;北向的速度、位置最大誤差分別為0.85 m/s和75 m。

圖5 東向速度誤差

圖6 北向速度誤差

圖7 東向位置誤差

圖8 北向位置誤差
BP+KF在東向的抑制效果相對北向效果較好,整體對純慣導的解算誤差有一定的抑制效果,Elman+AKF的收斂效果更為顯著,其東向的速度、位置最大誤差分別為0.28 m/s和23 m;北向的速度、位置最大誤差分別為0.41 m/s和30 m。主要是Elman預測值還引入上一時刻的隱藏狀態,同時,AKF根據系統新息的比重變化動態調整系統噪聲,進而調整濾波增益,在網絡預測誤差累計較大時,降低該觀測的比重,提高濾波的穩定性,抑制導航誤差快速發散。
表2更直觀地表明,BP+KF以及Elman+AKF輔助的組合導航系統在衛導信號中斷的情況下與純慣導系統相比較,在導航性能方面均有提高,通過實驗數據進一步驗證,Elman+AKF的預測效果更優,北向速度、位置相較于純慣導精度分別提高了34%和46%,東向速度、位置精度分別提高了46%和53%。

表2 位置和速度誤差的統計特性對比
提出一種基于改進Elman神經網絡和自適應卡爾曼濾波的SINS/GNSS偽松組合導航方法,利用Elman內部的一步延遲算子存儲隱藏層狀態,并反饋給網絡輸入,以達到記憶的目的。根據系統預測殘差,構造自適應因子實時調整先驗預測協方差。在GNSS失鎖后抑制了慣性導航誤差的快速發散,有效提高了純慣導的定位精度。