盧丹,高鵬樺
( 中國民航大學 電子信息與自動化學院, 天津 300300 )
捷聯(lián)慣性導航系統(tǒng)(strapdown inertial navigation system, SINS)[1]與GNSS[2]是最常見的兩種定位系統(tǒng). 而GNSS/INS組合導航系統(tǒng)[3]也是目前應(yīng)用最廣泛、性能最優(yōu)越的組合導航系統(tǒng),在航空、航海、車輛等領(lǐng)域發(fā)揮著不可或缺的作用,通常利用卡爾曼濾波(Kalman filter, KF)將GNSS和INS的數(shù)據(jù)進行融合. 但是當載體處于城市高樓密集區(qū)、山區(qū)、隧道等惡劣環(huán)境中時,衛(wèi)星信號會失鎖或者完全丟失[4],不能獲得量測矩陣,因此無法進行KF這一過程,GNSS/INS組合導航系統(tǒng)僅依靠INS單獨工作,導航定位結(jié)果會迅速發(fā)散[5],導航性能嚴重惡化,這也是目前組合導航系統(tǒng)應(yīng)用中亟須解決的問題.
近年來,越來越多的學者利用人工神經(jīng)網(wǎng)絡(luò)(artificial neural network, ANN)[6-7]輔助組合導航進行信息融合. 應(yīng)用最簡單的是利用反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)輔助組合導航系統(tǒng)[8],當衛(wèi)星信號中斷時,通過網(wǎng)絡(luò)輸出校正INS位置. 此外還有多層感知器神經(jīng)網(wǎng)絡(luò)[9]、徑向基神經(jīng)網(wǎng)絡(luò)[10](radial basis function neural network, RBFNN)、Elman神經(jīng)網(wǎng)絡(luò)[11-12]等. 這些算法主要以KF的估計值作為網(wǎng)絡(luò)的訓練目標,并利用神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果直接取代KF,這就放棄了由INS原理推導的系統(tǒng)顯式誤差模型;或者利用神經(jīng)網(wǎng)絡(luò)預(yù)測GNSS信號中斷時丟失的量測參數(shù),以便KF繼續(xù)進行,但是也無法模擬在衛(wèi)星信號丟失過程中INS的位置與速度誤差趨勢,因此在GNSS中斷較長時間情況下,得不到較為可靠的導航定位信息. 考慮到組合導航系統(tǒng)是一個連續(xù)的時間序列,將當前時刻的網(wǎng)絡(luò)輸出與載體過去時刻的位置信息結(jié)合起來,利用自適應(yīng)神經(jīng)模糊推理系統(tǒng)[13-14](adaptive neuro-fuzzy inference system,ANFIS)、循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN)[15]等具有記憶功能的動態(tài)網(wǎng)絡(luò)來輔助組合導航系統(tǒng),在衛(wèi)星信號中斷時獲得較好的定位結(jié)果. 由于算法自身性能較好,但本質(zhì)上與BP類輔助算法類似,直接取代KF或間接輔助KF,并沒有緊密結(jié)合KF來分析神經(jīng)網(wǎng)絡(luò)的訓練誤差對組合導航算法的影響. 并且這些算法在參數(shù)優(yōu)化方面存在不足,導致訓練次數(shù)過多、訓練時間長,不適合實時應(yīng)用.
上述方法結(jié)果證明了在衛(wèi)星信號中斷期間,神經(jīng)網(wǎng)絡(luò)可以通過學習慣性傳感器的輸出與真實位置之間的關(guān)系來進行預(yù)測,從而提高定位精度. 由于INS系統(tǒng)本身特性使上一時間預(yù)先訓練的網(wǎng)絡(luò)模型存在誤差,中斷時刻INS誤差仍不斷累積,因此,本文利用BP神經(jīng)網(wǎng)絡(luò)輔助組合導航,當衛(wèi)星信號失鎖時,分析訓練誤差對組合導航算法的影響,通過對角加載重構(gòu)GNSS/INS組合導航中量測噪聲協(xié)方差矩陣進行KF更新,使得GNSS信號在長時間中斷期間,導航系統(tǒng)仍擁有較為可靠的導航性能.
以SINS的姿態(tài)誤差、速度誤差、位置誤差、角速度誤差、比力誤差15×1的列向量作為松耦合導航系統(tǒng)的狀態(tài)變量,即
狀態(tài)方程可表示為
其中:F為15×15的SINS誤差狀態(tài)量系數(shù)矩陣,根據(jù)INS的位置、速度與姿態(tài)誤差方程計算得到[16];G為15×6的SINS噪聲分配矩陣;w為6×1的系統(tǒng)噪聲矩陣. 系統(tǒng)噪聲分配矩陣G的表達式為
在GNSS/INS松組合導航系統(tǒng)中,采用SINS解算的位置和速度與GNSS測量到的位置和速度之差作為量測信息[17]. 得到松組合導航系統(tǒng)的量測方程為
式中: δPK與 δVK為東、北、天坐標系下INS的位置與速度誤差;為GNSS的定位誤差,分布規(guī)律為0均值,協(xié)方差矩陣為的高斯白噪聲,即:.
INS在東、北、天坐標系下的位置誤差 δPK與緯度、經(jīng)度、高度下的位置誤差 δPLLH,存在轉(zhuǎn)換關(guān)系如下:
其中, ψ 的表達式為
式中:L為經(jīng)緯高坐標系下的緯度;RM與RN分別為子午圈半徑、卯酉圈半徑.
Hk是6×15的觀測矩陣,具體表達式為
至此建立了KF的狀態(tài)模型和量測模型,當衛(wèi)星信號正常時,利用GNSS觀測量不斷修正慣導解算結(jié)果.
基于KF的GNSS/INS組合導航系統(tǒng)利用了GNSS和INS各自優(yōu)點可為移動載體提供連續(xù)可靠的導航定位信息. 但由于外部干擾或當載體處于惡劣環(huán)境時,衛(wèi)星信號質(zhì)量下降甚至直接丟失,系統(tǒng)因無法得到量測矩陣Zk,導航性能迅速下降. 因此利用BP神經(jīng)網(wǎng)絡(luò)輔助組合導航系統(tǒng),達到衛(wèi)星信號中斷期間內(nèi)仍可獲得較為可靠的導航性能的目的. 傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)輔助組合導航系統(tǒng)分為訓練模式與預(yù)測模式兩個階段,如圖1所示.
圖1 傳統(tǒng)神經(jīng)網(wǎng)絡(luò)輔助組合導航原理框圖
當衛(wèi)星信號可用時,選擇加速度計fb和陀螺儀的輸出作為BP神經(jīng)網(wǎng)絡(luò)的輸入,將濾波時的量測值Zk作為網(wǎng)絡(luò)的訓練目標,系統(tǒng)進入訓練模式,并不斷優(yōu)化網(wǎng)絡(luò)參數(shù);當信號中斷時,可利用訓練好的網(wǎng)絡(luò)得到,作為KF器的量測矩陣來校正INS輸出.因此神經(jīng)網(wǎng)絡(luò)的輸入輸出關(guān)系可表示為
然而,由于BP神經(jīng)網(wǎng)絡(luò)模型與INS誤差模型的特性,利用人工神經(jīng)網(wǎng)絡(luò)只能部分補償INS帶來的誤差. 在衛(wèi)星信號失鎖期間,INS誤差仍不斷累積,導致中斷后經(jīng)網(wǎng)絡(luò)預(yù)測得到的量測值與參考值存在一定的誤差,這也是目前神經(jīng)網(wǎng)絡(luò)在衛(wèi)星信號中斷時輔助組合導航系統(tǒng)定位效果并不理想的主要原因.
在衛(wèi)星信號失鎖期間,中斷后由于INS的累計誤差導致經(jīng)網(wǎng)絡(luò)預(yù)測得到的量測值小于參考值. 設(shè)定誤差值為Ek,且為負值,所以網(wǎng)絡(luò)預(yù)測過程中,量測值如式(9)所示:
將式(4)代入式(9)可得
因此GNSS中斷時,由傳統(tǒng)神經(jīng)網(wǎng)絡(luò)輔助KF時,原量測噪聲協(xié)方差矩陣存在誤差. 由式(11)可知,更新后的協(xié)方差矩陣相當于矩陣的對角加載得到. 并且由于誤差Ek是由中斷后INS累計誤差造成,所以 λ 的取值可為:
其中:w1為加速度計常值漂移;w2為陀螺儀常值漂移;T為信號中斷時長. 并將上述構(gòu)建的噪聲協(xié)方差矩陣代入濾波過程.
GNSS中斷時,基于對角加載來重構(gòu)噪聲協(xié)方差矩陣(reconstruct the covariance matrix,RCM)為中斷時刻的濾波量測矩陣,新的對角加載KF迭代方程如下:
預(yù)測方程:
狀態(tài)更新方程:
本文結(jié)合BP神經(jīng)網(wǎng)絡(luò),通過矩陣對角加載的方法,重構(gòu)量測噪聲協(xié)方差矩陣,并更新中斷時刻的KF算法定義為BP-RCMKF,其工作流程分為兩部分:第一部分為GNSS信號可用時,網(wǎng)絡(luò)在線學習的訓練模式;第二部分是當GNSS信號中斷時,網(wǎng)絡(luò)根據(jù)上一時刻的訓練結(jié)果重構(gòu)量測噪聲協(xié)方差矩陣,更新KF方程. 具體工作原理如圖2、圖3所示.
圖2 神經(jīng)網(wǎng)絡(luò)輔助組合導航訓練模式框圖
圖3 神經(jīng)網(wǎng)絡(luò)輔助組合導航預(yù)測模式框圖
當GNSS衛(wèi)星信號可用時,GNSS數(shù)據(jù)可通過與INS位置/速度信息做差值來提供測量值Zk,神經(jīng)網(wǎng)絡(luò)輔助組合導航系統(tǒng)以訓練更新模式工作,如圖2所示,將獲得的Zk作為網(wǎng)絡(luò)目標,并選擇加速度計和陀螺儀的輸出作為網(wǎng)絡(luò)輸入. 在GNSS工作良好的情況下,利用目標數(shù)據(jù)在線更新神經(jīng)網(wǎng)絡(luò)參數(shù). 當GNSS信號發(fā)生中斷時,神經(jīng)網(wǎng)絡(luò)輔助組合導航系統(tǒng)切換到預(yù)測模式. 如圖3所示,中斷時的陀螺儀和加速度計的量測值作為神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù),來預(yù)測中斷時的量測,同時由于BP網(wǎng)絡(luò)預(yù)測值與真實值的誤差關(guān)系,加入量測誤差模型Ek,并重構(gòu)量測噪聲協(xié)方差矩陣,進行對角加載KF.
模擬一段時間為1200 s的飛行軌跡,飛行的起始位置為(116°E,40°N),高度為1000 m,通過GNSS模擬器生成GNSS衛(wèi)星信號,并由軟件接收機得到GNSS的位置信息,飛行軌跡如圖4所示. 人為設(shè)置GNSS信號在600~800 s中斷,來驗證新方法的有效性.
圖4 飛行軌跡圖
設(shè)置INS誤差參數(shù)如表1所示. 選擇用BP神經(jīng)網(wǎng)絡(luò)來輔助衛(wèi)星信號中斷時的組合導航系統(tǒng),BP神經(jīng)網(wǎng)絡(luò)的參數(shù)如表2所示,其中網(wǎng)絡(luò)的輸入樣本為陀螺儀和加速度計的輸出,網(wǎng)絡(luò)的輸出目標為KF量測值Zk,隱藏層神經(jīng)元的個數(shù)根據(jù)經(jīng)驗公式選擇為13并進行網(wǎng)絡(luò)訓練.
表1 INS誤差參數(shù)
表2 BP神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置
通過傳統(tǒng)神經(jīng)網(wǎng)絡(luò)預(yù)測來輔助組合導航系統(tǒng),BP神經(jīng)網(wǎng)絡(luò)輔助KF校正INS誤差,在600~800 s的GNSS衛(wèi)星信號中斷期間,由網(wǎng)絡(luò)預(yù)測得到的量測值與假設(shè)未中斷時參考值存在誤差,如圖5所示,圖中展示了這兩個量測值在位置分量上的誤差.
圖5 網(wǎng)絡(luò)預(yù)測的量測值與參考值對比
仿真進行了500次蒙特卡洛實驗,得到了經(jīng)過不同方法BP神經(jīng)網(wǎng)絡(luò)輔助組合導航系統(tǒng)在遭遇GNSS衛(wèi)星信號失鎖及其恢復情況下的定位誤差,如圖6所示. 在600~800 s衛(wèi)星信號中斷200 s期間,在傳統(tǒng)方法由純INS工作方式下,導航誤差迅速增大,經(jīng)過BP網(wǎng)絡(luò)輔助組合導航系統(tǒng)后定位誤差均得到改善,驗證神經(jīng)網(wǎng)絡(luò)輔助算法的有效性. 由于神經(jīng)網(wǎng)絡(luò)的訓練目標為INS的位置、速度誤差,代替KF器直接對INS進行校正,BP代替KF算法導航結(jié)果并不理想;采用BP-KF算法并不能很好的處理中斷時INS的累計誤差;通過重構(gòu)量測噪聲協(xié)方差矩陣,更新KF流程,提出的BP-RCMKF重構(gòu)量測噪聲協(xié)方差矩陣輔助算法的導航定位效果更好,并且在801 s GNSS中斷恢復后,定位誤差可以在較短的時間內(nèi)恢復到正常情況.
圖6 不同預(yù)測方法下導航定位誤差對比
在200 s中斷時長內(nèi),通過BP-RCMKF神經(jīng)網(wǎng)絡(luò)預(yù)測輔助組合導航系統(tǒng)的定位效果有明顯改善. 如表3所示,列出了在不同輔助方法下位置誤差的均值與均方根的值. 其中,東向位置誤差降低了93.11%,北向位置誤差降低了92.27%,天向位置誤差降低92.13%;本文提出的BP-RCMKF算法在東向、北向與天向定位誤差最大值分別為8.47 m、16.74 m、13.17 m,東向、北向與天向定位誤差的均方根值分別為3.33 m、7.43 m、7.89 m,與BP-KF相比東向位置誤差降低了59.98%,北向位置誤差降低了37.35%,天向位置誤差降低了67.82%.
表3 不同輔助方法下位置誤差統(tǒng)計特性m
進一步對比不同輔助方法,進行了500次的蒙特卡洛實驗,對GNSS衛(wèi)星信號從短時間中斷到長時間中斷情況下的定位誤差進行統(tǒng)計,如圖7所示. 如圖7(b)中,中斷40 s時,由于中斷時間較短造成經(jīng)BP網(wǎng)絡(luò)預(yù)測的量測值誤差較小,導致重構(gòu)量測噪聲協(xié)方差矩陣方法效果不明顯,但在衛(wèi)星信號失鎖較長時間時,重構(gòu)量測噪聲協(xié)方差矩陣的輔助算法在實驗中東、北、天向均方根誤差更小,驗證了BP-RCMKF算法的有效性.
圖7 不同中斷時間下各種輔助方法的定位誤差對比
基于INS的誤差模型與神經(jīng)網(wǎng)絡(luò)的預(yù)測模型分析,本文提出了一種基于BP神經(jīng)網(wǎng)絡(luò)輔助組合導航系統(tǒng)的BP-RCMKF改進算法來彌補GNSS衛(wèi)星信號中斷期間迅速增大的定位誤差. 經(jīng)過仿真實驗分析可得,提出的重構(gòu)量測噪聲協(xié)方差陣更新KF的方法能夠彌補GNSS失鎖時由INS單獨工作帶來的累計誤差,有效降低衛(wèi)星信號中斷期間的導航定位誤差,達到較好的導航定位性能.