方 偉,江金光,謝東鵬
(武漢大學 衛星導航定位技術研究中心,湖北 武漢 430079)
基于GPS/INS的組合導航方法是為移動載體提供高精度導航和定位信息的主要導航方式[1,2]。GPS/INS組合導航系統利用GPS的速度、位置信息對慣性導航系統的解算誤差進行修正,從而提供連續可靠的導航定位結果[3]。但由于隧道、高架等遮擋地帶的影響,致使GPS信號丟失或質量變差,無法為卡爾曼濾波提供有效觀測信息[4]。此時,組合導航退化為純慣性導航推算,導航誤差隨著時間推移開始發散[5]。
為解決上述問題,文獻[6]提出利用多層感知機(MLP)神經網絡來對GPS和INS的位置誤差進行建模;文獻[7]在此基礎上增加了輸入特征的緯度,采用時刻、速度、航向角作為模型輸入來對GPS與INS之間的位置誤差和速度誤差進行建模,取得了更加穩定和準確的結果;文獻[8]提出利用之前多個時刻的位置誤差作為輸入,當前時刻的位置誤差作為輸出對小波神經網絡進行訓練;文獻[9-11]在網絡輸入中進一步增加MEMS(microelectromechanical systems)傳感器測量值,并以卡爾曼濾波的狀態估計作為輸出訓練網絡。上述方法主要針對輸入特征的不同進行一些改善,但未對網絡的輸出端準確性進行分析和優化。為提高網絡輸出值準確性,本文采用GPS位置增量作為輸出值。在GPS有效時,利用MEMS傳感器測量值、慣性導航系統單獨解算出的速度、姿態等信息作為輸入,GPS位置增量作為輸出值來訓練網絡;在GPS失效時,利用訓練好的網絡估計GPS位置,以此作為新的觀測量來校正INS。
本文采用常用的MEMS+GPS松組合導航系統。松組合模式利用GPS和INS的速度和位置誤差建立如式(1)和式(2)所示的15維狀態向量和狀態方程,根據Kalman濾波的方法得到狀態變量的最優估計

(1)

(2)

式(2)中F為15×15的狀態轉移矩陣,可以根據慣性導航系統的速度、位置、姿態誤差方程計算得出[12]。G,W為系統噪聲矩陣和系統噪聲向量。Kalman濾波對應的觀測方程如式(3)所示
(3)
式(3)中PGPS和VGPS為GPS的位置、速度觀測量;PINS和VINS為INS的位置、速度觀測量。V為系統噪聲矩陣,H為對應的觀測矩陣如式(4)所示,03代表3×3的0矩陣,I3代表3×3的單位矩陣。
(4)
至此已經建立好了完整的Kalman濾波狀態模型。當GPS信號有效時利用GPS觀測量修正慣性解算結果。當GPS失鎖后,卡爾曼濾波因失去觀測量而無法工作,松組合系統退化為純慣性解算導航系統,導航誤差開始隨時間發散。
文獻[9-11]均采用RBF神經網絡作為輔助組合導航的算法。RBF神經網絡是一種以徑向基函數作為隱含層神經元激活函數的單隱層前饋神經網絡[13]。由于單隱含層的神經網絡的泛化能力有限,本文采用MLPNN作為輔助組合導航的模型,通過增加隱含層的數量來提高網絡對非線性系統的建模能力。
MLPNN模型如圖1所示。ωhj表示第j層隱含層中的第h個隱單元的權重,bh表示第h個隱單元的偏置項。中間隱含層神經元的激活函數采用ReLU非線性激活函數,在隱含層使用ReLU激活函數可以避免在誤差反向傳播過程中導致的梯度消失和梯度爆炸[14]。

圖1 多層感知器前饋神經網絡架構
網絡利用誤差反向傳播算法(backup propagation)更新每個神經元的權重和偏置,訓練過程可以表示為式(5)~式(9)所示
(5)
(6)
(7)
ωhj=ωhj+Δωhj
(8)
bh=bh+Δbh
(9)

傳統模型中,以INS和GPS位置誤差作為真值來訓練神經網絡存在一定的缺陷。由于INS的誤差會隨著時間發散不能隨時保證精度,混合GPS和INS的數據作為真值會引入額外的INS帶來的誤差,降低網絡的預測精度。為了得到更為準確的標簽值來訓練網絡,本文采用GPS的位置增量ΔPn作為真值。根據INS的差分方程可知,載體位置增量可由時間的二次積分得出,如式(10)~式(13)所示
(10)
(11)
(12)
(13)



圖2 神經網絡輔助組合導航架構
為驗證上述算法,將實驗系統和參考系統固定在同一個平臺上進行跑車實驗。實驗系統采用IMU200A作為慣性傳感器,Ublox-M8P作為GPS接收模塊;參考系統選擇Novatel公司的SPAN-CPT,內含高精度光纖陀螺儀及MEMS加速度計。實驗系統的設備信息見表1。跑車地點選擇武漢市武昌區,跑車的部分軌跡記錄如圖3所示。在GPS/INS松組合模式下行駛1690 s后,拔掉GPS天線以此來模擬GPS信號失鎖的情況。在GPS信號失鎖前,系統工作在松組合模式,神經網絡處于訓練模式;GPS信號失鎖后,系統通過MLPNN輔助慣性導航以提升導航性能。圖3中實線部分為參考系統記錄的真實軌跡,虛線為GPS失鎖后實驗系統在僅由INS解算時記錄的軌跡。

圖3 跑車平面軌跡

表1 傳感器誤差參數
實驗中選擇的MLP分為輸入層、中間層和輸出層。輸出層固定為兩個神經元表示東向、北向的位置增量。在表2中展示了不同的網絡層數量、隱含層神經元數量對訓練精度

表2 不同網絡結構的均方根(RMSE)誤差對比
和訓練時間的影響。結果表明,輸入層采用4個神經元,中間層采用32個神經元的網絡結構可以取得最好的預測精度以及相對較少的訓練時間。訓練中其它的參數設置見表3。

表3 神經網絡參數
圖4表示實驗系統跑車過程中GPS信號失鎖后無MLP神經網絡和有MLP神經網絡輔助時,相對于參考系統的東向、北向位置誤差情況。由圖4可以看出,從1690 s開始系統GPS失鎖時間累積約360 s,純INS推算得出的位置誤差的發散速度明顯快于有神經網絡輔助的情況。無MLP神經網絡輔助的東向、北向位置最大漂移分別達到 52.98 m 和34.54 m;有MLP神經網絡輔助的東、北向位置最大漂移分別為33.72 m和19.31 m,相對沒有神經網絡時降低約35%和57.5%。

圖4 實驗系統相對參考系統位置誤差
圖5表示實驗系統跑車過程中,GPS信號失鎖后無MLP神經網絡輔助和有MLP神經網絡輔助時,相對于參考系統的東速、北速漂移情況。可以看出在GPS失鎖后,無MLP神經網絡輔助時東速、北速的最大速度漂移分別為7 m/s、5.3 m/s;有MLP神經網絡輔助時東速、北速的最大速度漂移分別為4 m/s、1.7 m/s。相對沒有神經網絡時東、北向最大速度誤差降低約42.8%和32.1%。

圖5 實驗系統相對參考系統速度對比
實驗結果見表4。失鎖時間360 s左右時,有神經網絡時東、北向平均位置誤差相對無神經網絡降低41.4%和39.4%;東、北向平均速度誤差相對無神經網絡時降低46.9%和48.4%。有神經網絡輔助的算法在GPS失鎖的情況下表現明顯優于沒有神經網絡輔助的算法,對于抑制INS誤差的快速發散具有明顯效果。

表4 實驗誤差對比
針對GPS/INS組合導航系統中GPS信號失鎖后導航結果誤差增大甚至發散的問題,本文提出采用MLPNN對載體的姿態、速度、MEMS傳感器的測量值與載體位置增量之間的關系進行建模以輔助組合導航的算法。該算法在GPS失鎖后通過神經網絡預測載體的位置增量,為卡爾曼濾波提供足夠的觀測信息,進而有效抑制誤差的快速發散。跑車實驗結果表明,MLPNN模擬的GPS位置信息可以為卡爾曼濾波的量測方程提供足夠的量測信息,在GPS失鎖后抑制了慣性導航誤差的快速發散,有效改善了組合導航的導航精度。