張 琨,程 玉,吳有龍,陳 帥,白鉦皓
(南京理工大學(xué)自動(dòng)化學(xué)院,南京 210094)
基于微機(jī)電系統(tǒng)(micro-electro-mechanical system, MEMS)的捷聯(lián)慣性導(dǎo)航(strap-down inertial navigation system, SINS)/全球定位(global navigation satellite system, GNSS)組合導(dǎo)航系統(tǒng)具有高可靠性、低功耗、小尺寸等特點(diǎn),可為小型無(wú)人機(jī)、制導(dǎo)炸彈與車輛等提供低成本的導(dǎo)航方案[1]。然而GNSS接收機(jī)易受地形地物遮擋而無(wú)法正常工作[2]。組合導(dǎo)航系統(tǒng)進(jìn)入純慣導(dǎo)模式,由于MEMS慣性器件測(cè)量精度低,解算誤差隨時(shí)間積分累積,定位精度迅速下降。
在不增加其他導(dǎo)航傳感器的前提下,為解決微慣性測(cè)量單元(miniature inertial measurement unit, MIMU)漂移導(dǎo)致的導(dǎo)航精度發(fā)散問(wèn)題,文獻(xiàn)[3]采用BP(back propagation)神經(jīng)網(wǎng)絡(luò)模擬GNSS的信息,進(jìn)行信息融合。文獻(xiàn)[4]采用徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)(radial basis function neural network, RBFNN),以IMU信息作為網(wǎng)絡(luò)輸入,Kalman濾波的誤差估計(jì)作為網(wǎng)絡(luò)輸出。文獻(xiàn)[5]采用RBFNN結(jié)合自適應(yīng)卡爾曼濾波提高系統(tǒng)魯棒性。文獻(xiàn)[6]利用自適應(yīng)神經(jīng)模糊推理系統(tǒng)(adaptive network fuzzy inference system, ANFIS)對(duì)SINS誤差特性進(jìn)行建模。
然而上述網(wǎng)絡(luò)均輸入前饋式網(wǎng)絡(luò),網(wǎng)絡(luò)輸出僅由當(dāng)前輸入和權(quán)重決定,而與網(wǎng)絡(luò)先前的輸出結(jié)果無(wú)關(guān),丟失了時(shí)間信息。文獻(xiàn)[7]將MIMU當(dāng)前時(shí)刻與前一時(shí)刻的信息作為網(wǎng)絡(luò)輸入,GNSS相鄰時(shí)刻的增量作為網(wǎng)絡(luò)輸出,構(gòu)建BP網(wǎng)絡(luò)。文獻(xiàn)[8]使用循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN),構(gòu)建SINS速度位置信息的時(shí)間序列樣本,引入時(shí)間維度有效提高了SINS的精度。但RNN容易導(dǎo)致“梯度消失”和“梯度爆炸”現(xiàn)象。文獻(xiàn)[9]結(jié)合了卷積神經(jīng)網(wǎng)絡(luò)和門控循環(huán)單元神經(jīng)網(wǎng)絡(luò),從MIMU信號(hào)中提取空間特征并跟蹤其時(shí)間特征。對(duì)姿態(tài)、比力、角速率和GNSS位置增量之間的關(guān)系進(jìn)行建模。但網(wǎng)絡(luò)層數(shù)復(fù)雜。
綜上,文中提出一種基于Elman神經(jīng)網(wǎng)絡(luò)和自適應(yīng)卡爾曼濾波的SINS/GNSS偽松組合導(dǎo)航方法,以MIMU輸出的角速度、比力,慣性解算的姿態(tài)、速度信息作為網(wǎng)絡(luò)輸入,以GNSS在相鄰時(shí)間段內(nèi)的位置增量作為輸出。利用Elman神經(jīng)網(wǎng)絡(luò)內(nèi)部的一步延遲算子存儲(chǔ)內(nèi)部網(wǎng)絡(luò)隱藏層狀態(tài),并反饋給網(wǎng)絡(luò)輸入,以達(dá)到記憶的目的。引入改進(jìn)的自適應(yīng)卡爾曼濾波(adaptive Kalman filter, AKF)減小濾波器估計(jì)不準(zhǔn)確導(dǎo)致的累積誤差以增強(qiáng)信息融合的魯棒性。
SINS/GNSS松組合導(dǎo)航誤差狀態(tài)量共15個(gè),定義為:
(1)
系統(tǒng)的狀態(tài)方程[10]為:
(2)
式中:Maa,Mav,Map,Mvv,Mvp,Mpv,Mpp參數(shù)參考文獻(xiàn)[10];O3表示3×3的0矩陣。
GNSS信號(hào)有效時(shí),利用GNSS的信息對(duì)SINS解算的速度、位置信息進(jìn)行補(bǔ)償,量測(cè)向量Z定義為[11]:
(3)
式中:VSINS,PSINS分別為SINS解算的速度、位置;VGNSS,PGNSS分別為GNSS的速度、位置。
Elman神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)共4層:輸入層、隱藏層(中間層)、承接層和輸出層(見圖1)[12]。
圖1 Elman神經(jīng)網(wǎng)絡(luò)模型
傳統(tǒng)的Elman網(wǎng)絡(luò)中,承接層僅用來(lái)記憶隱藏層單元上一刻的輸出值。當(dāng)網(wǎng)絡(luò)中存在異常離群輸入時(shí),此時(shí)承接層記錄了錯(cuò)誤的隱藏狀態(tài)值,從而引入了部分預(yù)測(cè)誤差。為提高網(wǎng)絡(luò)的可靠性,改進(jìn)的Elman結(jié)構(gòu)中引入自反饋因子α,即當(dāng)前承接層所含的信息不僅包含上一時(shí)刻隱藏層的信息,還包含上一時(shí)刻承接層的信息,增強(qiáng)了承接層的慣性與抗干擾能力,提高網(wǎng)絡(luò)的魯棒性。
改進(jìn)的Elman網(wǎng)絡(luò)承接層的數(shù)學(xué)模型為:
xc(k)=αxc(k-1)+(1-α)x(k-1)
(4)
式中:k代表時(shí)刻;xc(k)表示承接層k時(shí)刻的狀態(tài);x(k)表示隱藏層k時(shí)刻的狀態(tài);α為自反饋因子,取值范圍為[0,1]。
Elman的隱藏層的激活函數(shù)選用sigmoid函數(shù),輸出層激活函數(shù)選用線性傳輸函數(shù)。
傳統(tǒng)OSINS-δPSINS模型中,由于MIMU本身存在測(cè)量誤差,導(dǎo)致SINS解算誤差發(fā)散,以SINS和GNSS位置誤差作為真值來(lái)訓(xùn)練,網(wǎng)絡(luò)真值標(biāo)簽引入SINS誤差項(xiàng),存在一定缺陷。為此選用改進(jìn)的OSINS-ΔPGNSS預(yù)測(cè)模型,以GNSS相鄰時(shí)間段內(nèi)的位置增量為訓(xùn)練目標(biāo),不僅提高了訓(xùn)練標(biāo)簽的質(zhì)量,也方便了后續(xù)數(shù)據(jù)的歸一化處理。
根據(jù)比力方程[10]得知,在時(shí)間間隔t范圍內(nèi),慣性解算的位置增量ΔPSINS為:
(5)
圖2 改進(jìn)的Elman輔助組合導(dǎo)航系統(tǒng)框圖
如圖2中向下的黑色虛線所示,GNSS失鎖時(shí),Elman預(yù)測(cè)得到當(dāng)前時(shí)刻的位置增量,通過(guò)積分操作,累計(jì)得到預(yù)測(cè)位置信息,繼續(xù)提供修正量保證組合導(dǎo)航不間斷進(jìn)行,抑制純慣性導(dǎo)航的發(fā)散。
Elman網(wǎng)絡(luò)的預(yù)測(cè)精度直接影響后續(xù)的濾波估計(jì),且GNSS偽位置的協(xié)方差不可知,采用傳統(tǒng)的卡爾曼濾波算法可能會(huì)導(dǎo)致濾波發(fā)散[14]。Sage-Husa自適應(yīng)濾波對(duì)過(guò)程噪聲Q和量測(cè)噪聲R的遞推更新中,難以保證Q,R的半正定性和正定性[15]。
為此構(gòu)建一種基于新息序列的自適應(yīng)因子,通過(guò)適當(dāng)提高系統(tǒng)先驗(yàn)預(yù)測(cè)協(xié)方差,在觀測(cè)噪聲變化的情況下,保證濾波增益的穩(wěn)定性,提高濾波器的跟蹤能力,當(dāng)網(wǎng)絡(luò)出現(xiàn)異常預(yù)測(cè)時(shí),降低此次估計(jì)誤差的影響,提高系統(tǒng)魯棒性。
設(shè)系統(tǒng)的狀態(tài)空間模型為[10]:
(6)
系統(tǒng)新息的估計(jì)誤差及其理論值分別為[16]:
(7)
定義系統(tǒng)預(yù)測(cè)誤差指標(biāo)為:
(8)
分析可知,系統(tǒng)正常工作時(shí),估計(jì)誤差與理論值接近,Δuk≈1,當(dāng)系統(tǒng)存在離群觀測(cè)值時(shí),此時(shí)系統(tǒng)新息序列的估計(jì)誤差rk較大,Δuk較大,可能導(dǎo)致濾波器的發(fā)散。通過(guò)構(gòu)造自適應(yīng)因子,提高系統(tǒng)估計(jì)協(xié)方差矩陣P,加強(qiáng)濾波器的跟蹤能力。
構(gòu)造的自適應(yīng)因子為:
在不考慮阻尼的情況下,在式(58)中令右邊項(xiàng)為零,同時(shí)令那么可以得到一個(gè)以ω為特征值為特征向量的特征值問(wèn)題,即
(9)
式中,c為常量,取值范圍為1~1.5。
選取arccsc函數(shù),該函數(shù)正區(qū)間值域?yàn)閇0,π/2],呈單調(diào)遞減趨勢(shì),當(dāng)c位于1.5時(shí),λk≈1正好與其邊界值對(duì)應(yīng)。
基于自適應(yīng)因子改進(jìn)的濾波預(yù)測(cè)過(guò)程為:
(10)
與KF相比,AKF在實(shí)際復(fù)雜環(huán)境中具有對(duì)系統(tǒng)初始信息較低的靈敏度、對(duì)實(shí)際狀態(tài)具有較強(qiáng)的魯棒性等優(yōu)點(diǎn),使其既能抑制線性誤差,又能有效抑制隨機(jī)誤差。
通過(guò)車載實(shí)驗(yàn)對(duì)提出的算法進(jìn)行驗(yàn)證,實(shí)驗(yàn)平臺(tái)如圖3所示,實(shí)驗(yàn)MIMU選取MSI3200G,其更新率為200 Hz,主要性能指標(biāo)如表1所示。參考系統(tǒng)選擇Novatel公司的SPAN-KVH1750,其水平速度、位置精度分別為0.02 m/s和1 m;垂直速度、位置精度分別為0.01 m/s和0.6 m;利用參考系統(tǒng)1 Hz的位置信息作為GNSS訓(xùn)練值。
圖3 實(shí)驗(yàn)設(shè)備圖
表1 實(shí)驗(yàn)系統(tǒng)性能指標(biāo)
跑車地點(diǎn)選擇南京市玄武區(qū),沿繞城高速行駛1 500 s左右,跑車實(shí)際運(yùn)動(dòng)軌跡如圖4所示。系統(tǒng)開始工作在SINS/GNSS松組合模式,800 s處斷開GNSS信息。利用斷開前500 s的數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò);GNSS失鎖后,系統(tǒng)通過(guò)Elman輔助慣性導(dǎo)航提升導(dǎo)航性能。
圖4 跑車運(yùn)動(dòng)軌跡
為提高網(wǎng)絡(luò)的預(yù)測(cè)精度,避免訓(xùn)練過(guò)程的參數(shù)的交叉耦合,采用雙網(wǎng)絡(luò)并行結(jié)構(gòu),分別對(duì)緯度、經(jīng)度進(jìn)行預(yù)測(cè)。
考慮到兩傳感器數(shù)據(jù)異步問(wèn)題:MIMU數(shù)據(jù)、速度、姿態(tài)角等SINS信息為200 Hz,GNSS增量信息為1 Hz,1 s內(nèi)對(duì)應(yīng)的慣性數(shù)據(jù)量十分龐大,且信息冗余度高,訓(xùn)練時(shí)將1 s內(nèi)慣性數(shù)據(jù)按每10組間隔選取,構(gòu)建訓(xùn)練樣本。輸入層的特征維度很大,隱藏層的神經(jīng)元個(gè)數(shù)選擇60,訓(xùn)練方式采用trainscg。
為驗(yàn)證所提算法的可行之處,以參考系統(tǒng)的組合數(shù)據(jù)為基準(zhǔn),對(duì)比SINS,BP+KF,Elman+AKF在GNSS信號(hào)失鎖時(shí)間內(nèi)的定位精度。
圖5~圖8為GNSS失鎖期間的速度、位置誤差,從圖中可知,Elman+AKF輔助的組合導(dǎo)航系統(tǒng)在GNSS信號(hào)失鎖時(shí)間段內(nèi),誤差優(yōu)于SINS和BP+KF。在對(duì)慣性傳感器誤差補(bǔ)償后,衛(wèi)星導(dǎo)航信號(hào)失鎖180 s內(nèi),SINS解算誤差迅速發(fā)散,東向的速度、位置最大誤差分別為0.48 m/s和70 m;北向的速度、位置最大誤差分別為0.85 m/s和75 m。
圖5 東向速度誤差
圖6 北向速度誤差
圖7 東向位置誤差
圖8 北向位置誤差
BP+KF在東向的抑制效果相對(duì)北向效果較好,整體對(duì)純慣導(dǎo)的解算誤差有一定的抑制效果,Elman+AKF的收斂效果更為顯著,其東向的速度、位置最大誤差分別為0.28 m/s和23 m;北向的速度、位置最大誤差分別為0.41 m/s和30 m。主要是Elman預(yù)測(cè)值還引入上一時(shí)刻的隱藏狀態(tài),同時(shí),AKF根據(jù)系統(tǒng)新息的比重變化動(dòng)態(tài)調(diào)整系統(tǒng)噪聲,進(jìn)而調(diào)整濾波增益,在網(wǎng)絡(luò)預(yù)測(cè)誤差累計(jì)較大時(shí),降低該觀測(cè)的比重,提高濾波的穩(wěn)定性,抑制導(dǎo)航誤差快速發(fā)散。
表2更直觀地表明,BP+KF以及Elman+AKF輔助的組合導(dǎo)航系統(tǒng)在衛(wèi)導(dǎo)信號(hào)中斷的情況下與純慣導(dǎo)系統(tǒng)相比較,在導(dǎo)航性能方面均有提高,通過(guò)實(shí)驗(yàn)數(shù)據(jù)進(jìn)一步驗(yàn)證,Elman+AKF的預(yù)測(cè)效果更優(yōu),北向速度、位置相較于純慣導(dǎo)精度分別提高了34%和46%,東向速度、位置精度分別提高了46%和53%。
表2 位置和速度誤差的統(tǒng)計(jì)特性對(duì)比
提出一種基于改進(jìn)Elman神經(jīng)網(wǎng)絡(luò)和自適應(yīng)卡爾曼濾波的SINS/GNSS偽松組合導(dǎo)航方法,利用Elman內(nèi)部的一步延遲算子存儲(chǔ)隱藏層狀態(tài),并反饋給網(wǎng)絡(luò)輸入,以達(dá)到記憶的目的。根據(jù)系統(tǒng)預(yù)測(cè)殘差,構(gòu)造自適應(yīng)因子實(shí)時(shí)調(diào)整先驗(yàn)預(yù)測(cè)協(xié)方差。在GNSS失鎖后抑制了慣性導(dǎo)航誤差的快速發(fā)散,有效提高了純慣導(dǎo)的定位精度。