陳霖周廷,劉占超
(1.貴州理工學(xué)院 航空航天工程學(xué)院,貴陽 550001;2.北京航空航天大學(xué) 儀器科學(xué)與光電工程學(xué)院,北京 100191)
位置姿態(tài)測量系統(tǒng)(POS)主要由捷聯(lián)慣性導(dǎo)航系統(tǒng)(SINS)和全球?qū)Ш叫l(wèi)星系統(tǒng)(GNSS)組成,集合了慣性導(dǎo)航數(shù)據(jù)短期精度高、不受外部環(huán)境干擾和衛(wèi)星導(dǎo)航數(shù)據(jù)長期穩(wěn)定性好、誤差不隨時間漂移的優(yōu)點(diǎn)于一體,可為運(yùn)動載體提供高精度的導(dǎo)航定位信息[1]。當(dāng)運(yùn)動載體駛?cè)胨淼阑蜻M(jìn)入強(qiáng)電磁干擾區(qū)域時,衛(wèi)星信號受到遮擋和干擾,容易發(fā)生GNSS 失鎖現(xiàn)象,此時SINS 誤差由于無法得到有效的量測信息修正并隨時間不斷累積,這將導(dǎo)致POS 導(dǎo)航定位精度隨GNSS 失鎖時間增長而迅速降低。
近年來,國內(nèi)外對于GNSS 信號失鎖情況下POS導(dǎo)航誤差處理方面做了大量研究工作。文獻(xiàn)[2][3]采用多層感知(MLP)神經(jīng)網(wǎng)絡(luò)訓(xùn)練GNSS 位置增量的預(yù)測模型,在衛(wèi)星信號失鎖期間估計(jì)GNSS 的位置信息,以此作為量測信息來校正SINS 誤差;但是訓(xùn)練完成后的MLP 神經(jīng)網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)(隱藏層的數(shù)目、每層神經(jīng)元的數(shù)目等)固定不變,動態(tài)環(huán)境下難以達(dá)到預(yù)測系統(tǒng)的最佳性能狀態(tài)。文獻(xiàn)[4][5]采用基于徑向函數(shù)(RBF)神經(jīng)網(wǎng)絡(luò)預(yù)測GNSS 失鎖時SINS 的位置誤差,RBF 神經(jīng)網(wǎng)絡(luò)可以動態(tài)地生成隱含層的神經(jīng)元數(shù)目以達(dá)到預(yù)測系統(tǒng)的最佳性能,還具有訓(xùn)練速度快和精度高的優(yōu)勢;但是RBF 神經(jīng)網(wǎng)絡(luò)基于經(jīng)驗(yàn)風(fēng)險最小化原則,可能會出現(xiàn)過學(xué)習(xí)問題,泛化能力不理想。文獻(xiàn)[6][7]采用支持向量機(jī)(SVM)對SINS 位置誤差進(jìn)行預(yù)測建模,能夠較好地反映非線性數(shù)據(jù)變化趨勢,具有泛化能力好、預(yù)測精度高的優(yōu)點(diǎn);但是SVM 需要計(jì)算和存儲核函數(shù)矩陣,模型參數(shù)計(jì)算復(fù)雜度較高,不能達(dá)到實(shí)時預(yù)測的需求。本文構(gòu)建了一種基于多元線性回歸和徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的混合預(yù)測模型,在GNSS 失鎖期間既考慮了POS 導(dǎo)航誤差積累發(fā)散趨勢性的影響,也考慮到波動性隨機(jī)誤差因素,能夠充分表征出POS 導(dǎo)航誤差的線性與非線性數(shù)據(jù)特征,從而更有效地對POS 導(dǎo)航誤差進(jìn)行預(yù)測和校正,使得POS導(dǎo)航精度在GNSS 失鎖期間得到較大的提升。
通過捷聯(lián)慣性導(dǎo)航系統(tǒng)的誤差分析[8-10],可得系統(tǒng)誤差方程如下:
式中:δL、δλ和δh分別為緯度、經(jīng)度和高度誤差;為速度誤差向量;為姿態(tài)失準(zhǔn)角向量;Rn和Rm為卯酉圈和子午圈的主曲率半徑;和為地球自轉(zhuǎn)角速度和位移角速度;fn為加速度計(jì)輸出向量;?=?[x,?y,?z]T為加速度計(jì)隨機(jī)常值偏置向量;ε=[εx,εy,εz]T為陀螺隨機(jī)常值漂移向量;Cbn為姿態(tài)轉(zhuǎn)換矩陣。
根據(jù)式(1)建立POS 組合導(dǎo)航系統(tǒng)的連續(xù)狀態(tài)空間方程和量測方程如下:
根據(jù)式(2)中的系統(tǒng)狀態(tài)與量測模型,POS 組合導(dǎo)航系統(tǒng)采用卡爾曼(Kalman)濾波器對系統(tǒng)誤差進(jìn)行最優(yōu)估計(jì)。式(3)表達(dá)了Kalman 濾波算法的核心思想[12],如下所示:
當(dāng)t時刻發(fā)生GNSS 失鎖,即無法獲得該時刻的量測信息Z(t),Kalman 濾波器對(t) 的估計(jì)僅取決于t時刻之前的量測信息和系統(tǒng)狀態(tài)轉(zhuǎn)移矩陣,其估計(jì)值等同于(t|t-1),估計(jì)精度受到影響。因此,在GNSS 失鎖期間,SINS 誤差缺乏有效的量測修正,導(dǎo)致POS 導(dǎo)航誤差隨時間積累發(fā)散。
針對GNSS 失鎖問題,本文的解決思路是:在GNSS 信號正常時,對Kalman 濾波器估計(jì)出的SINS誤差進(jìn)行預(yù)測建模;在GNSS 失鎖時,根據(jù)之前建立的預(yù)測模型輸出SINS 誤差的預(yù)測值,進(jìn)而修正POS的導(dǎo)航誤差。但是,由于各時刻的SINS 誤差可視為高噪聲、非平穩(wěn)的時間序列數(shù)據(jù),包含了線性和非線性的特性,單一預(yù)測模型難以完全描述SINS 誤差時間序列的數(shù)據(jù)特征。因此本文首先通過Hodrick-Prescott(HP)濾波[13,14]將SINS 誤差時間序列數(shù)據(jù)進(jìn)行分解,提取出趨勢成分和波動成分;隨即采用多元線性回歸(MLR)和徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)(RBFNN)對趨勢性序列和波動性序列分別建立預(yù)測模型,弱化數(shù)據(jù)序列變化趨勢之間的相互影響,提升預(yù)測精度。
本文針對POS 系統(tǒng)狀態(tài)向量X(t)中的位置誤差和速度誤差共計(jì)6 個SINS 誤差分量開展研究分析,設(shè)其中某一分量估計(jì)值的時間序列為E=[E1,E2,…,En],具體形式如下:
HP 濾波將趨勢性成分序列ET從原始數(shù)據(jù)序列E中分離出來,遵循下面損失函數(shù)最小化的原則:
式(5)中,第一部分反映了波動性成分的變化程度,第二部分衡量了趨勢性成分的平滑度;λ為平滑參數(shù),起到權(quán)衡調(diào)節(jié)趨勢性成分的平滑程度和對原始數(shù)據(jù)擬合程度的作用,其數(shù)學(xué)表達(dá)如下:
對式(5)求ET各分量的偏導(dǎo)數(shù)取零,得:
寫成矩陣表達(dá)式為:
式中:P為式(7)中n×n維系數(shù)矩陣。
將式(8)帶入式(4),得:
式中:I 為n×n維單位陣。
通過式(8)(9)即可將趨勢性成分序列ET和波動性成分序列EF從原始數(shù)據(jù)序列E中分離出來。
趨勢性成分序列ET具有數(shù)據(jù)平滑、線性特征明顯的特點(diǎn),對其采用MLR 進(jìn)行預(yù)測建模具有無需參數(shù)迭代訓(xùn)練、運(yùn)算效率高的優(yōu)點(diǎn)。MLR 預(yù)測建模的矩陣表達(dá)式如下:
式中:xi1,xi2…xim為MLR 的解釋變量,在本文中m的值取7,即把失鎖時長、加速度計(jì)三個軸向的輸出和陀螺儀三個軸向的輸出作為趨勢性成分序列TE的MLR 預(yù)測模型解釋變量;β=[β0,β1…βm]T為回歸系數(shù)向量,ε=[ε0,ε1…εn]T為各分量服從同一正態(tài)分布的隨機(jī)噪聲向量。
利用最小二乘法求取回歸系數(shù)向量的估計(jì)值,具體計(jì)算公式如下:
將求得的回歸系數(shù)代入式(10),即完成對趨勢性成分序列ET的MLR 預(yù)測建模。
波動性成分序列EF具有波動變化明顯、非線性強(qiáng)的特點(diǎn),對其采用RBFNN 進(jìn)行預(yù)測建模,具有能夠描述過程高度非線性、訓(xùn)練學(xué)習(xí)速度較快、避免陷入局部最小等優(yōu)點(diǎn)。RBFNN 結(jié)構(gòu)如圖1所示,是由輸入層、隱層和輸出層構(gòu)成的三層前向網(wǎng)絡(luò)。
圖1 RBFNN 結(jié)構(gòu)框圖Fig.1 RBFNN structure diagram
隱層采用徑向基函數(shù)作為激勵函數(shù),在輸入空間和隱藏空間之間建立一個非線性的變換關(guān)系,本文選擇高斯基函數(shù)作為RBFNN 的激勵函數(shù),具體形式如下:
式中:S=[S1,S2…Sp]為輸入向量,在本文中p的值取6,即把加速度計(jì)三個軸向的輸出和陀螺儀三個軸向的輸出作為RBFNN 預(yù)測模型輸入向量;μk和dk為高斯基函數(shù)Rk(S,μk)的感知區(qū)域中心和寬度;表示輸入矢量S和感知區(qū)域中心μk之間的歐幾里得距離。
輸出層的輸入為各隱層神經(jīng)元輸出的加權(quán)求和,在隱藏空間與輸出空間之間建立了一個線性變換關(guān)系,具體數(shù)學(xué)表達(dá)如下:
式中:Oj為輸出向量O(O=[O1,O2…Oq])的分量,在本文中q的值取6,即SINS 位置誤差和速度誤差6個分量;Wij為輸出層的權(quán)重系數(shù)。
由于正交最小二乘法(OLS)具有算法簡單、易于實(shí)現(xiàn)和運(yùn)算速度快等優(yōu)點(diǎn),本文采用 OLS 對式(12)(13)中μk、dk和Wij參數(shù)進(jìn)行訓(xùn)練學(xué)習(xí),即完成對波動性成分序列EF的RBFNN 預(yù)測建模。
為了驗(yàn)證本文提出的MLR/RBFNN混合預(yù)測方法在POS 實(shí)際應(yīng)用中的有效性,在北京市北五環(huán)路段進(jìn)行了車載實(shí)驗(yàn)。實(shí)驗(yàn)采用的硬件系統(tǒng)為光纖陀螺POS,其由光纖陀螺IMU、Novatel DL-V3 GNSS 接收機(jī)和POS 計(jì)算機(jī)組成,IMU 與載車底板剛性固聯(lián),如圖2所示。光纖POS 的器件性能指標(biāo)見表1。
圖2 實(shí)驗(yàn)硬件設(shè)備配置Fig.2 Hardware device configuration of experiment
表1 光纖陀螺POS 器件性能參數(shù)Tab.1 Devices performance parameters of FOG POS
POS 系統(tǒng)電氣連接完成后,將IMU 通電預(yù)熱30分鐘,然后開啟POS 計(jì)算機(jī)進(jìn)行靜基座初始對準(zhǔn)10分鐘,隨即進(jìn)入POS 導(dǎo)航工作狀態(tài),實(shí)驗(yàn)載車沿北五環(huán)路行駛1 小時30 分鐘,運(yùn)動軌跡如圖3所示。在事后數(shù)據(jù)處理中,人為引入三段時長分別為50 s、100 s、150 s 的GNSS 失鎖(圖3中藍(lán)色虛線示意),目的在于驗(yàn)證本文提出的MLR/RBFNN 混合預(yù)測方法在GNSS 失鎖條件下的有效性。
圖3 車載實(shí)驗(yàn)運(yùn)行軌跡Fig.3 Trajectory of vehicle experiment
在實(shí)驗(yàn)數(shù)據(jù)處理分析中,首先,采用Kalman 濾波器將POS 的SINS 數(shù)據(jù)和完整的GNSS 數(shù)據(jù)進(jìn)行融合處理,將解算出的POS 導(dǎo)航結(jié)果作為基準(zhǔn)數(shù)據(jù)。對于車載實(shí)驗(yàn)中50 s、100 s、150 s 三段不同時長GNSS失鎖情況,本文選取四種不同的處理方法用于POS 導(dǎo)航解算:(1)標(biāo)準(zhǔn)Kalman 濾波方法(GNSS 失鎖期間為純慣性導(dǎo)航輸出);(2)MLR 預(yù)測方法;(3)RBFNN預(yù)測方法;(4)本文提出的MLR/RBFNN 混合預(yù)測方法,并將這四種方法的POS 導(dǎo)航解算結(jié)果與基準(zhǔn)數(shù)據(jù)進(jìn)行誤差精度分析。
圖4-6 為POS 在不同時長的GNSS 失鎖期間基于上述四種處理方法的位置誤差和速度誤差曲線,可以看出基于標(biāo)準(zhǔn)Kalman 濾波方法的POS 導(dǎo)航誤差與GNSS 失鎖時長成正比例關(guān)系,這是因?yàn)镚NSS 失鎖期間Kalman 濾波器無量測信息更新,SINS 誤差得不到有效修正并隨時間累積增長,從而嚴(yán)重影響了POS的導(dǎo)航精度。其余三種處理方法對SINS 誤差進(jìn)行了建模預(yù)測,均在不同程度上抑制了POS 導(dǎo)航誤差的發(fā)散。其中,由于MLR 是線性回歸預(yù)測方法,對于同時包含線性和非線性數(shù)據(jù)特征的SINS 誤差預(yù)測處理具有一定局限性,而使其預(yù)測精度相對較低,對POS導(dǎo)航精度提升有限;RBFNN 方法具有非線性映射能力及學(xué)習(xí)推理能力,能較好地處理SINS 誤差非線性預(yù)測問題,其對POS 導(dǎo)航誤差發(fā)散的抑制效果要優(yōu)于MLR 方法,但是RBFNN 模型中需要估計(jì)的參數(shù)較多,容易導(dǎo)致過學(xué)習(xí)和泛化差的問題,而使其預(yù)測精度不高;本文提出MLR/RBFNN 混合預(yù)測方法融合了各單一模型的優(yōu)點(diǎn),較大地改善了預(yù)測模型的性能,從而使得POS 導(dǎo)航精度得到很大提升。
圖4 50 秒GNSS 失鎖期間POS 位置誤差和速度誤差曲線Fig.4 Position and velocity error curves of POS during 50 s GNSS outages
圖5 100 秒GNSS 失鎖期間POS 位置誤差和速度誤差曲線Fig.5 Position and velocity error curves of POS during 100 s GNSS outages
圖6 150 秒GNSS 失鎖期間POS 位置誤差和速度誤差曲線Fig.6 Position and velocity error curves of POS during 150 s GNSS outages
表2為不同時長的GNSS 失鎖情況下POS 基于上述四種方法的導(dǎo)航結(jié)果均方根誤差統(tǒng)計(jì)。在時長為50 s、100 s、150 s 的三段GNSS 失鎖期間,POS 采用本文提出的MLR/RBFNN混合預(yù)測模型的位置均方根誤差分別達(dá)到0.85 m、1.08 m、1.28 m,合速度均方根誤差分別達(dá)到0.036 m/s、0.0038 m/s 和0.0047 m/s,與標(biāo)準(zhǔn) Kalman 濾波方法相比位置誤差精度提高72.9%~89.1%,速度誤差精度提高50.1%~60.8%,其位置和速度誤差統(tǒng)計(jì)結(jié)果均優(yōu)于單一的MLR 預(yù)測模型和RBFNN 預(yù)測模型。
表2 GNSS 失鎖期間POS 的位置和速度均方根誤差值Tab.2 Root mean square error of POS position and velocity during GNSS outages
為了提高GNSS 失鎖期間POS 的導(dǎo)航性能,本文提出一種基于MLR/RBFNN 的混合預(yù)測方法,利用HP 濾波將POS 導(dǎo)航誤差樣本數(shù)據(jù)分解成趨勢性成分序列與波動性成分序列,并對這二者采用MLR 和RBFNN 方法分別進(jìn)行預(yù)測建模,更好地表征POS 導(dǎo)航誤差序列的線性與非線性數(shù)據(jù)特征,提升了模型的預(yù)測性能。車載實(shí)驗(yàn)結(jié)果表明,在GNSS 失鎖期間采用本文提出的MLR/RBFNN混合預(yù)測模型的導(dǎo)航誤差精度比單一預(yù)測模型有較大提升。需要指出的是,本方法的預(yù)測精度和有效性取決于混合預(yù)測模型的訓(xùn)練效果,由于車載實(shí)驗(yàn)的動態(tài)性較低,模型訓(xùn)練及預(yù)測效果較好。受實(shí)驗(yàn)條件所限,在高動態(tài)的飛行環(huán)境下,有效的訓(xùn)練數(shù)據(jù)難以獲取,相關(guān)預(yù)測模型有效性未得到實(shí)驗(yàn)驗(yàn)證。預(yù)計(jì)高動態(tài)環(huán)境下,將導(dǎo)致預(yù)測模型精度降低,故本方法在POS 高動態(tài)運(yùn)動下將具有一定的應(yīng)用局限性。后續(xù)將針對高動態(tài)環(huán)境開展深入研究與驗(yàn)證。