盧 航,郝順義,彭志穎,黃國(guó)榮
空軍工程大學(xué) 航空工程學(xué)院,西安710038
捷聯(lián)慣導(dǎo)系統(tǒng)(SINS)通過(guò)慣性測(cè)量元件(IMU)測(cè)量運(yùn)載體相對(duì)于慣性系的運(yùn)動(dòng)信息,經(jīng)過(guò)導(dǎo)航計(jì)算機(jī)解算得到運(yùn)載體的姿態(tài)、速度、位置等導(dǎo)航信息,是一種具有較強(qiáng)自主性的導(dǎo)航系統(tǒng),其具有短時(shí)導(dǎo)航精度高,但是長(zhǎng)時(shí)間導(dǎo)航精度低的特點(diǎn)。全球定位系統(tǒng)(GPS)是一種衛(wèi)星導(dǎo)航系統(tǒng),它可以精確的提供運(yùn)載體的速度、位置等導(dǎo)航信息,其長(zhǎng)時(shí)間導(dǎo)航精度高,但是戰(zhàn)時(shí)自主性較差。SINS/GPS組合導(dǎo)航是一種結(jié)合兩種導(dǎo)航系統(tǒng)優(yōu)點(diǎn)的導(dǎo)航方式,可以提高導(dǎo)航系統(tǒng)的整體性能[1]。
在組合導(dǎo)航系統(tǒng)定位中,高精度的濾波算法對(duì)導(dǎo)航定位的解算精度有重要影響[2]??柭鼮V波(KF)是最小均方差條件下的線(xiàn)性最優(yōu)濾波器,其可以較好地處理高斯噪聲條件下線(xiàn)性模型的狀態(tài)估計(jì)問(wèn)題。然而,非線(xiàn)性問(wèn)題在實(shí)際中更為普遍,組合導(dǎo)航系統(tǒng)是典型的強(qiáng)非線(xiàn)性系統(tǒng),此時(shí)非線(xiàn)性濾波算法成為提高組合導(dǎo)航精度的關(guān)鍵。擴(kuò)展卡爾曼濾波器(EKF)采用對(duì)非線(xiàn)性函數(shù)進(jìn)行一階泰勒展開(kāi)的原理,對(duì)非線(xiàn)性函數(shù)進(jìn)行近似,顯然其會(huì)引入線(xiàn)性化截?cái)嗾`差,濾波精度只能達(dá)到一階,同時(shí)求取繁瑣的雅各比矩陣會(huì)造成較大的計(jì)算量和較低的數(shù)值穩(wěn)定性[3]。粒子濾波(PF)是一種無(wú)需對(duì)狀態(tài)方程近似、也無(wú)需對(duì)噪聲統(tǒng)計(jì)特性進(jìn)行假設(shè)的的濾波算法,但是通常需要巨大的粒子數(shù)以犧牲計(jì)算量換取滿(mǎn)意的濾波精度,同時(shí)重要性概率密度的選擇也是一個(gè)難題。目前,較為常用的非線(xiàn)性濾波算法為高斯近似求和濾波,不同于EKF對(duì)狀態(tài)方程近似的思想,其認(rèn)為近似后驗(yàn)概率密度比近似非線(xiàn)性函數(shù)更容易,通過(guò)一定的規(guī)則精心選取采樣點(diǎn)和權(quán)值達(dá)到狀態(tài)估計(jì)的目的,其中以無(wú)跡卡爾曼濾波(UKF)和容積卡爾曼濾波(CKF)為代表,兩者無(wú)需計(jì)算雅各比矩陣且精度高于EKF[3-4]。文獻(xiàn)[4]研究對(duì)比了UKF和CKF的濾波精度和數(shù)值穩(wěn)定性問(wèn)題,指出CKF的濾波精度可以精確到三階,同時(shí)UKF的數(shù)值穩(wěn)定性要低于CKF。文獻(xiàn)[5]在傳統(tǒng)CKF 的基礎(chǔ)上,提出了利用高容積規(guī)則計(jì)算高斯求和積分的HCKF算法,其濾波精度可以達(dá)到五階。
在實(shí)際物理系統(tǒng)中,量測(cè)信息通常會(huì)受到外部環(huán)境、儀器故障等因素的干擾,此時(shí)量測(cè)噪聲不再滿(mǎn)足高斯分布的前提假設(shè)[7-8],所以基于噪聲服從高斯分布假設(shè)法是解決這一問(wèn)題的有效方法[18],文獻(xiàn)[19]將MCC 和KF 結(jié)合提出了一種基于MCC 的魯棒KF 算法,并且通過(guò)目標(biāo)跟蹤仿真實(shí)驗(yàn)驗(yàn)證了其可以較好的應(yīng)對(duì)高斯分布附近存在對(duì)稱(chēng)干擾問(wèn)題。為了改善組合導(dǎo)航算法的濾波精度和魯棒性,本文將MCC 方法應(yīng)用于HCKF 算法,利用MCC對(duì)量測(cè)信息進(jìn)行重新構(gòu)建,提出一種基于MCC的魯棒HCKF濾波算法。當(dāng)量測(cè)噪聲表現(xiàn)為高斯混合分布時(shí),該算法在魯棒性、濾波精度等方面優(yōu)于傳統(tǒng)CKF,通過(guò)SINS/GPS 組合導(dǎo)航系統(tǒng)驗(yàn)證了所提算法的優(yōu)越性。
記慣性坐標(biāo)系為i 系,地球坐標(biāo)系為e 系,載體坐標(biāo)系為b 系,選取當(dāng)?shù)氐乩碜鴺?biāo)系即“東、北、天”坐標(biāo)系為導(dǎo)航坐標(biāo)系n 系,SINS 計(jì)算所得的導(dǎo)航坐標(biāo)系為p系。由于SINS 受各種誤差源的影響,導(dǎo)致導(dǎo)航計(jì)算機(jī)所計(jì)算出來(lái)的p 系與n 系之間存在著失準(zhǔn)角誤差?=[?x?y?z]T,它表示n 系轉(zhuǎn)至p 系的一組歐拉角,轉(zhuǎn)動(dòng)順序定義為?z、?x、?y。那么從n 系至p 系的坐標(biāo)變換矩陣為:
用GPS/SINS松組合導(dǎo)航系統(tǒng)為濾波模型,以SINS的姿態(tài)、速度、位置、陀螺零偏和加速度計(jì)零偏的誤差方程作為非線(xiàn)性濾波模型的狀態(tài)方程,以SINS 和GPS 輸出的速度、位置誤差作為量測(cè)值。SINS 的姿態(tài)、速度、位置非線(xiàn)性誤差方程為[21]:
的濾波算法不能表現(xiàn)出良好的濾波性能。針對(duì)高斯分布附近存在對(duì)稱(chēng)干擾問(wèn)題,Huber提出了M估計(jì)同時(shí)針對(duì)非高斯噪聲的問(wèn)題給出了Huber 方法[9-10],Huber 用一種基于范數(shù)的混合代價(jià)函數(shù)取代基于l2范數(shù)的代價(jià)函數(shù)來(lái)處理干擾干高斯分布的問(wèn)題,其魯棒性要優(yōu)于基于l2范數(shù)的估計(jì)方法[11],文獻(xiàn)[12-16]提出了基于Huber的魯棒濾波算法并在目標(biāo)跟蹤和無(wú)人機(jī)相對(duì)導(dǎo)航中取得了成功應(yīng)用,但是Huber 在面對(duì)非高斯噪聲時(shí),其量測(cè)更新過(guò)程仍然會(huì)受到較大的影響,最終導(dǎo)致濾波精度下降[17]。除此之外,近幾年提出的基于最大相關(guān)熵MCC(Maximum Correntropy Criterion)的魯棒濾波算
定義15 維狀態(tài)向量X=[?x?y?zδvxδvyδvzδLδλδh εbxεbyεbz?bx?by?bz]T,可由式(2)構(gòu)成SINS/GPS 組合導(dǎo)航系統(tǒng)的狀態(tài)方程:
式中f()· 為非線(xiàn)性函數(shù),w 為系統(tǒng)噪聲。
取SINS 和GPS 輸出的速度、位置信息之差作為濾波器的量測(cè)值,即
那么組合導(dǎo)航系統(tǒng)的量測(cè)方程為:
假設(shè)兩個(gè)隨機(jī)變量x,y ∈R,二者聯(lián)合概率密度函數(shù)為pxy(x,y),定義相關(guān)熵為:
式中,E 表示期望,κ( x,y )表示高斯核函數(shù),具體表達(dá)式為:
其中e=x-y,σ 為核寬且σ >0,在實(shí)際應(yīng)用中,通常只能獲得有限的數(shù)據(jù)并且聯(lián)合概率密度是未知的,可以用一系列的采樣點(diǎn)得到V( x,y )的近似解[17],此時(shí)式(8)可以寫(xiě)為:
圖1為σ=1 時(shí)的相關(guān)熵示意圖,可以發(fā)現(xiàn)相關(guān)熵衡量?jī)蓚€(gè)隨機(jī)變量之間的廣義相似程度,誤差e 的貢獻(xiàn)會(huì)隨著核寬σ 的變化出現(xiàn)不同程度的指數(shù)形式的衰減,當(dāng)e=0 時(shí)κ( x,y )=1 取最大值。定義基于MCC 準(zhǔn)則的代價(jià)函數(shù)為:
圖1 相關(guān)熵κ( x,y )示意圖
(1)濾波器初始化
(2)時(shí)間更新過(guò)程
①計(jì)算容積點(diǎn)Xi,k-1|k-1( i=0,1,…,2n2):采用具有更高數(shù)值穩(wěn)定性的奇異值分解(SVD)代替了傳統(tǒng)的Cholesky 分解,該分解方法可以更好地解決協(xié)方差矩陣病態(tài)條件的問(wèn)題,使得整個(gè)算法具有更高的數(shù)值穩(wěn)定性和濾波精度,對(duì)協(xié)方差矩陣Pk-1/k-1使用SVD 分解,即
式中,n 為系統(tǒng)的狀態(tài)維數(shù),ei`表示n 維單位向量,第i個(gè)元素為1,的具體表達(dá)式為:
式中,ωi為容積點(diǎn)的權(quán)值,如下式所示:
④計(jì)算k 時(shí)刻的預(yù)測(cè)誤差協(xié)方差陣Pk/k-1:
(3)量測(cè)更新過(guò)程
①計(jì)算更新后的狀態(tài)容積點(diǎn)Xi,k|k-1:
其中,Pk/k-1=Sk|k-1(Sk|k-1)T。
②計(jì)算經(jīng)過(guò)量測(cè)方程傳遞的容積點(diǎn)Zi,k|k-1:
③計(jì)算k 時(shí)刻的測(cè)量預(yù)測(cè)值z(mì)?k|k-1:
④計(jì)算k 時(shí)刻的量測(cè)誤差協(xié)方差陣Pzz,k|k-1和預(yù)測(cè)互相關(guān)協(xié)方差陣Pxz,k|k-1:
(4)濾波更新過(guò)程
計(jì)算k 時(shí)刻的濾波增益矩陣Kk、濾波狀態(tài)值x?k|k和協(xié)方差陣Pk|k:
MCC方法的核心是使得定義的代價(jià)函數(shù)取得最大值。將MCC應(yīng)用于HCKF,改變量測(cè)更新的方式,得到一種基于MCC 的魯棒HCKF 算法。首先,定義k 時(shí)刻的狀態(tài)預(yù)測(cè)誤差為:
式中xk為k 時(shí)刻的狀態(tài)真值,為k 時(shí)刻的一步預(yù)測(cè)值。根據(jù)式(6)可知組合導(dǎo)航系統(tǒng)的量測(cè)方程為線(xiàn)性,由文獻(xiàn)[21],此時(shí)式(22)~(24)可以表示為:
由以上三式,可以構(gòu)造線(xiàn)性回歸方程:
定義:
那么式(32)可以改寫(xiě)為:
定義代價(jià)函數(shù):
式(38)可以等價(jià)表示為式(10)所示的MCC形式:
其中,N=n+m,ei,k為殘差向量ei,k=yi,k-Bkxi,k的第i個(gè)分量。
通過(guò)對(duì)代價(jià)函數(shù)求取偏導(dǎo)數(shù)得到其最大值,對(duì)其求偏導(dǎo)得到:
記φk( ei)=ei,k?Gσ( ei,k),上式可以改寫(xiě)為:
定義權(quán)函數(shù)Ck=φk(ei/ei),式(41)可以進(jìn)一步寫(xiě)為:
上式可以寫(xiě)成關(guān)于狀態(tài)變量xk的迭代方程:
相較于梯度下降法,不動(dòng)點(diǎn)迭代法無(wú)需選取迭代步長(zhǎng)并且可以快速收斂到最優(yōu)解附近,對(duì)上式采用不動(dòng)點(diǎn)迭代算法進(jìn)行求解得到:
迭代結(jié)束后求得的方差為:
式(43)可以進(jìn)一步表示為:
其中:
將上述的MMC 方法和高階容積卡爾曼濾波相結(jié)合,使得HCKF中的量測(cè)更新過(guò)程轉(zhuǎn)化為求解線(xiàn)性回歸方程的問(wèn)題,得到新的魯棒濾波算法,算法具體流程總結(jié)如下。
(1)初始化
(2)時(shí)間更新
MCC-HCKF的時(shí)間更新過(guò)程與3.2節(jié)中傳統(tǒng)HCKF的時(shí)間更新過(guò)程一致,利用式(11)~(19)和容積點(diǎn)及其權(quán)重(14)、(18)得到k 時(shí)刻的一步狀態(tài)預(yù)測(cè)xk|k-1和協(xié)方差Pk|k-1,然后采用Cholesky分解得到矩陣Sk。
(3)量測(cè)更新
①根據(jù)式(29)計(jì)算k 時(shí)刻的量測(cè)預(yù)測(cè)值z(mì)?k|k-1,通過(guò)式(32)構(gòu)造線(xiàn)性回歸方程。
②將線(xiàn)性回歸方程改寫(xiě)為式(37)的形式,令迭代次數(shù)t=1,同時(shí)設(shè)置初始迭代值為:
③代價(jià)函數(shù)取得最大值時(shí),根據(jù)式(46)、(47)、(50)~(52)得到k 時(shí)刻的第t 次迭代狀態(tài)為:
⑤最后,根據(jù)式(48)求得k 時(shí)刻的狀態(tài)誤差協(xié)方差陣Pk|k。
由上述算法流程可以看到,基于MCC 的魯棒HCKF 的時(shí)間更新過(guò)程仍然采用了濾波精度高達(dá)五階的高階容積準(zhǔn)則,這延續(xù)了HCKF 高精度的優(yōu)點(diǎn)。MCC-HCKF和傳統(tǒng)HCKF的區(qū)別在于前者建立了統(tǒng)計(jì)線(xiàn)性回歸模型對(duì)傳統(tǒng)量測(cè)更新過(guò)程進(jìn)行了重構(gòu),并通過(guò)MCC 準(zhǔn)則計(jì)算得到當(dāng)前狀態(tài)的估計(jì)值,相比于傳統(tǒng)HCKF 更好地克服了非高斯噪聲的影響,所以MCCHCKF 是一種兼具HCKF 高精度特點(diǎn)和MCC 方法魯棒性的濾波算法。值得說(shuō)明的是,當(dāng)核寬σ →∞時(shí),此時(shí)MCC-HCKF變?yōu)閭鹘y(tǒng)的HCKF,具體證明如下。
將上式代入式(45)可得:
顯然此時(shí)MCC-HCKF和HCKF是等價(jià)的。
文獻(xiàn)[7-9]給出了基于Huber 魯棒濾波算法的代價(jià)函數(shù)J( e )和權(quán)函數(shù)ψ( e ),由式(39)、(41)可知基于MCC的代價(jià)函數(shù)J( e )和權(quán)函數(shù)ψ( e ),具體表達(dá)式如表1和圖2所示。
表1 代價(jià)函數(shù)與權(quán)函數(shù)
圖2 權(quán)函數(shù)示意圖
由圖2 可以看到,傳統(tǒng)濾波算法的權(quán)函數(shù)ψMSE( e)為常值,基于Huber 的權(quán)函數(shù)ψHuber( e )是由二段權(quán)函數(shù)構(gòu)成,基于MCC 的權(quán)函數(shù)ψMCC( e )是由指數(shù)函數(shù)構(gòu)成。由于ψMSE( e )=1,當(dāng)出現(xiàn)量測(cè)異常時(shí),傳統(tǒng)算法無(wú)法減弱異常干擾,所以會(huì)影響算法的濾波精度和魯棒性。當(dāng)|e |>α 時(shí),ψHuber( e )會(huì)隨著e 的增加逐漸減小以達(dá)到減小量測(cè)異常干擾的目的,然而ψMCC( e )會(huì)隨著e 的增加呈現(xiàn)指數(shù)形式的衰減,相比于ψHuber( e )可以迅速減小到0附近,具有更快的衰減過(guò)程,所以可以有效抑制量測(cè)異常的影響,因此算法具有更強(qiáng)的魯棒性。
設(shè)置飛行器的初始位置為東經(jīng)108°,北緯34°,高度300 m,載體初始速度大小為10 m/s,方向正北,載體經(jīng)過(guò)加速、勻速、橫滾、右盤(pán)旋、左盤(pán)旋、爬升、下降、減速等機(jī)動(dòng)組成,具體機(jī)動(dòng)如表2 所示;飛行軌跡如圖3 所示,紅色箭頭表示飛機(jī)的起始位置。
SINS 的初始位置誤差為10 m,初始速度誤差為0.5 m/s,東向、北向初始失準(zhǔn)角為1°,天向失準(zhǔn)角為1°。GPS的水平位置誤差均方根為10 m,高度誤差均方根為3 m,速度誤差均方根為0.1 m/s。SINS 的解算周期為0.01 s,GPS信號(hào)采樣周期為0.1 s,飛行時(shí)間600 s。初始方差陣P(0)、系統(tǒng)噪聲陣Qk設(shè)置為:
為了驗(yàn)證本文提出的魯棒濾波算法的有效性,設(shè)置兩種情況對(duì)提出的算法進(jìn)行實(shí)驗(yàn),結(jié)果及分析如下。
表2 飛行器軌跡仿真
圖3 飛行軌跡圖
定義k 時(shí)刻的位置RMSE為:
定義k 時(shí)刻的位置ARMSE為:
實(shí)驗(yàn)1 量測(cè)信息為高斯分布。
在飛行過(guò)程中,假設(shè)GPS 的量測(cè)信息正常,此時(shí)量測(cè)噪聲滿(mǎn)足如下形式的高斯分布:
圖4 高斯噪聲條件下的位置RMSE
表3 高斯噪聲條件下的位置ARMSE m
結(jié)合圖4和表3的實(shí)驗(yàn)結(jié)果可以看出,100 s后組合導(dǎo)航系統(tǒng)濾波器收斂,此時(shí)HCKF 的定位誤差小于CKF,由此可知采用高階容積規(guī)則的HCKF表現(xiàn)優(yōu)于采用三階容積規(guī)則的CKF。MCC-HCKF表現(xiàn)和HCKF大致相同,但是定位精度略低于HCKF這是因?yàn)樵诟咚乖肼暛h(huán)境下,HCKF 是基于最小均方差的濾波器,當(dāng)噪聲服從高斯分布時(shí)其表現(xiàn)自然最優(yōu),此時(shí)MCC-HCKF 的魯棒性是以犧牲一定的濾波精度來(lái)?yè)Q取的。
實(shí)驗(yàn)2 量測(cè)信息為受污染的高斯混合分布。
在飛行過(guò)程中,假設(shè)GPS的量測(cè)信息為受污染的高斯白噪聲,此時(shí)量測(cè)信息服從高斯混合分布,而且方差是原高斯分布的10倍。式(61)給出了受污染的高斯白噪聲的概率分布表達(dá)式,式中ε 為混合百分比,其取值范圍為0~1,顯然當(dāng)ε=0 時(shí),噪聲服從理想的高斯分布,本文取ε=0.2,同時(shí)增加文獻(xiàn)[14]中的H-HCKF作為對(duì)比算法,參數(shù)α=1.345。
從圖5 可以看出,當(dāng)量測(cè)噪聲不再滿(mǎn)足高斯分布時(shí),傳統(tǒng)的HCKF 的濾波精度均下降,說(shuō)明算法無(wú)法有效抑制非高斯噪聲對(duì)系統(tǒng)的影響,而MCC-HCKF 濾波此時(shí)表現(xiàn)出了良好的濾波性能,精度高于HCKF。這是因?yàn)镸CC-HCKF濾波算法在進(jìn)行與HCKF相同的時(shí)間更新后,在量測(cè)更新過(guò)程中通過(guò)數(shù)值迭代求解的方法,進(jìn)行了一次基于MCC 的線(xiàn)性回歸估計(jì),這一過(guò)程可以減弱觀測(cè)噪聲與假設(shè)分布之間的偏差對(duì)濾波器的影響,但同時(shí)也會(huì)增加一定的計(jì)算量。隨著核寬σ 的減小,濾波器的魯棒性增強(qiáng),精度也隨之提高。隨著核寬σ 增大,魯棒性下降,濾波器的表現(xiàn)越接近HCKF,這與上文的理論證明是一致的。對(duì)比圖中H-HCKF和MCC-HCKF的估計(jì)曲線(xiàn),可以發(fā)現(xiàn)H-HCKF 也具有較高的濾波精度,高于MCC-HCKF(σ=4),低于MCC-HCKF(σ=3),說(shuō)明此時(shí)MCC-HCKF(σ=3)表現(xiàn)略?xún)?yōu)于H-HCKF。
圖5 非高斯噪聲條件下的位置RMSE
為了比較上述五種算法的計(jì)算時(shí)間,仿真軟件采用Matlab2014a,仿真處理器為Intel Inside Core i5處理器,將HCKF、H-HCKF、MCC-HCKF(σ=6)、MCC-HCKF(σ=4)、MCC-HCKF(σ=3)五種算法的單次蒙特卡洛仿真實(shí)驗(yàn)所消耗的運(yùn)行時(shí)間進(jìn)行統(tǒng)計(jì),結(jié)果如表4所示。
表4 五種濾波算法蒙特卡洛實(shí)驗(yàn)時(shí)間統(tǒng)計(jì)
為了進(jìn)一步分析核寬σ 對(duì)組合導(dǎo)航定位精度的影響,圖6為不同σ 條件下的位置ARMSE。由圖可知,在σ=2.5 附近經(jīng)度、緯度和高度的ARMSE達(dá)到最小,大于或者小于這個(gè)值都會(huì)增大定位誤差,需要指出當(dāng)σ →0此時(shí)濾波器將會(huì)出現(xiàn)數(shù)值穩(wěn)定性問(wèn)題,濾波精度急劇下降,說(shuō)明選取合適的σ 對(duì)組合導(dǎo)航的定位精度有著較大的影響,σ=2.5 時(shí)系統(tǒng)受到非高斯噪聲的影響更小。需要說(shuō)明的是,當(dāng)組合導(dǎo)航系統(tǒng)工作環(huán)境惡劣或者儀器發(fā)生故障時(shí),量測(cè)噪聲的分布與高斯分布會(huì)存在較大的偏差,根據(jù)3.4節(jié)中的證明過(guò)程,當(dāng)σ →∞,MCC-HCKF是和傳統(tǒng)HCKF等價(jià)的,所以此時(shí)應(yīng)需要盡可能選取較小的核寬σ 來(lái)抑制非高斯噪聲的影響。值得說(shuō)明的是,通過(guò)上述實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn)非高斯噪聲主要通過(guò)量測(cè)值來(lái)影響組合導(dǎo)航系統(tǒng)的工作性能,所以下一步可以研究核寬σ 與殘差間的關(guān)系,進(jìn)而達(dá)到自適應(yīng)調(diào)整核寬的目的,使得算法具有更強(qiáng)的自適應(yīng)性和實(shí)用性。
圖6 不同σ 下的位置ARMSE
本文以SINS/GPS 組合導(dǎo)航為研究背景,給出了組合導(dǎo)航系統(tǒng)的非線(xiàn)性誤差模型以及濾波器的狀態(tài)方程和量測(cè)方程,針對(duì)組合導(dǎo)航量測(cè)噪聲不服從高斯分布的問(wèn)題,將高階容積準(zhǔn)則和統(tǒng)計(jì)線(xiàn)性回歸模型結(jié)合,提出了一種新的基于MCC方法的魯棒高階容積卡爾曼濾波算法,并進(jìn)行了仿真實(shí)驗(yàn)。仿真結(jié)果表明,在選取適當(dāng)核寬的條件下,該方法可以有效解決系統(tǒng)非線(xiàn)性和量測(cè)噪聲非高斯的問(wèn)題,能夠提高組合導(dǎo)航的定位精度。