孫傳波, 王 虹, 楊 然, 余國才
(南京理工大學(xué),南京 210000)
隨著科學(xué)技術(shù)的不斷發(fā)展,逐漸成熟的組合導(dǎo)航定位技術(shù)在眾多領(lǐng)域得到了廣泛的應(yīng)用。不斷提高整體導(dǎo)航系統(tǒng)的精度和性能,是組合導(dǎo)航技術(shù)發(fā)展的重要目標(biāo)。以SINS/GNSS/BA組合導(dǎo)航系統(tǒng)為例,當(dāng)GNSS系統(tǒng)受到外部干擾輸出異常數(shù)據(jù),經(jīng)過時(shí)間更新和數(shù)據(jù)融合后,整個(gè)系統(tǒng)的精度都會(huì)受到影響,因此對(duì)組合導(dǎo)航系統(tǒng)進(jìn)行故障檢測和判斷的重要性不言而喻。
目前較為主流的故障檢測方法包括基于解析模型的檢測方法、基于小波變換的檢測方法和基于神經(jīng)網(wǎng)絡(luò)的檢測方法。卡方檢測法屬于典型的基于解析模型的檢測方法,文獻(xiàn)[1]采用卡方檢測法實(shí)時(shí)判決測量值的有效性,進(jìn)行故障隔離,但是實(shí)際應(yīng)用中很難獲取準(zhǔn)確、實(shí)時(shí)的系統(tǒng)模型和量測模型;文獻(xiàn)[2]基于小波模極大值原理設(shè)計(jì)檢測算法,提高了系統(tǒng)的可靠性,但在大尺度條件下可能出現(xiàn)延遲;文獻(xiàn)[3]將BP神經(jīng)網(wǎng)絡(luò)與組合導(dǎo)航系統(tǒng)結(jié)合,提出了新型自適應(yīng)濾波算法,但是神經(jīng)網(wǎng)絡(luò)的在線訓(xùn)練會(huì)影響系統(tǒng)工作的實(shí)時(shí)性;文獻(xiàn)[4]使用主元分析法對(duì)異常點(diǎn)進(jìn)行檢測,但是對(duì)原始數(shù)據(jù)要求高并難以處理非線性問題。以上常用的故障檢測方法都有著各自的局限性[5],在捷聯(lián)慣導(dǎo)應(yīng)用背景下,本文以多源組合導(dǎo)航系統(tǒng)為平臺(tái),對(duì)導(dǎo)航容錯(cuò)算法進(jìn)行研究,采用基于單類支持向量機(jī)(One-Class Support Vector Machine,OCSVM)的容錯(cuò)算法,對(duì)系統(tǒng)故障的敏感性更高,處理非線性問題效果更好,提高了組合導(dǎo)航系統(tǒng)的穩(wěn)定性。
在組合導(dǎo)航系統(tǒng)中,濾波結(jié)構(gòu)對(duì)系統(tǒng)的輸出結(jié)果有很大影響。融合重置式聯(lián)邦濾波器不僅可以消除子濾波器的相關(guān)性,還可以提高系統(tǒng)局部和整體的精度,是如今組合導(dǎo)航的常用結(jié)構(gòu),但是在子系統(tǒng)發(fā)生故障時(shí),容易污染其他子濾波器和主濾波器,容錯(cuò)性較差,因此需要加入故障檢測模塊[6]。


圖1 多源信息容錯(cuò)組合導(dǎo)航系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure of multi-source information fault-tolerant integrated navigation system
SVM[7]是一種如今應(yīng)用較為廣泛的機(jī)器學(xué)習(xí)方法,與傳統(tǒng)的人工神經(jīng)網(wǎng)絡(luò)相比,該方法對(duì)非線性、高維數(shù)的分類問題的適用性更強(qiáng)[8]。在單類分類問題中使用支持向量機(jī)方法稱為單類支持向量機(jī)(OCSVM)[9]。
OCSVM的核心思想是通過非線性映射將原始空間內(nèi)的單類非線性樣本組投影到高維特征空間,然后利用超平面將正類樣本與原點(diǎn)(唯一負(fù)類點(diǎn))以最大距離分開。其分類原理[10]如圖2所示,其中,⊕為正類樣本,?為負(fù)類樣本,d為原點(diǎn)與超平面的最大距離。

圖2 OCSVM分類原理Fig.2 Principle of OCSVM classification
在超平面法[11]中,尋求超平面需解決下述優(yōu)化問題
(1)
s.t. 〈w,φ(xi)〉≥ρ-ξi,ξi≥0,i=1,2,…,l
式中:ρ∈R,為超平面的截距;w為平面法向量;l為訓(xùn)練集數(shù)量;v∈(0,1),為控制參數(shù);ξi為松弛因子;φ(xi)為空間映射。其對(duì)偶形式為最小化目標(biāo)函數(shù)
(2)
式中:α=[α1,α2,…,αl]T,為優(yōu)化權(quán)值向量;K為核函數(shù);eT用來求優(yōu)化權(quán)值向量的和。
假設(shè)支持向量的集合為I,對(duì)應(yīng)的xi為支持向量,g為新樣本,可得超平面的函數(shù)形式為
(3)
式中,x為高維向量。對(duì)于測試集,若f(x)≥0,則測試點(diǎn)為正常點(diǎn),反之則為異常點(diǎn)。
組合導(dǎo)航中需要對(duì)子系統(tǒng)進(jìn)行故障檢測[12],首先使用正常數(shù)據(jù)對(duì)OCSVM進(jìn)行訓(xùn)練,然后令其對(duì)異常數(shù)據(jù)實(shí)現(xiàn)檢測功能并加以隔離。此時(shí),為了提高建模效率和系統(tǒng)準(zhǔn)確性,需要對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理。
2.2.1 相空間重構(gòu)
導(dǎo)航信號(hào)為時(shí)間序列信號(hào),不符合多維特性,為使其滿足支持向量機(jī)樣本特性,需要對(duì)其進(jìn)行相位重構(gòu)[13]。
根據(jù)Takens嵌入原理,使用延遲法來重構(gòu)混沌吸引子的相空間,在一定條件下,可以任選時(shí)延τ,只要相空間維數(shù)m(通常為2k+1)足夠大,就可以刻畫出該尺度層次上的k維混沌吸引子。最后通過考察時(shí)延τ,即可得到一個(gè)新的多維坐標(biāo)[14]。假設(shè)系統(tǒng)一定時(shí)間內(nèi)測得的導(dǎo)航數(shù)據(jù)時(shí)間序列為x(t),t=1,2,…,L,L為數(shù)據(jù)長度,在時(shí)延為τ的情況下,重構(gòu)m維相空間時(shí)的相點(diǎn)為
Xi={x(ti),x(ti+τ),x(ti+2τ),…,x(ti+(m-1)τ)}
(4)
式中,i=1,…,M,M=L-(m-1)τ,為重構(gòu)相空間向量個(gè)數(shù)。
2.2.2 向量預(yù)選取
支持向量對(duì)OCSVM最終形式起著決定性作用,通過精簡訓(xùn)練樣本,提高尋找支持向量的速度,在一定程度上可以提高故障檢測的效率。
如有樣本集合D={xi∈Rl|i=1,2,…,N},那么在高維特征空間中,樣本集合的中心點(diǎn)以及高維向量x與中心點(diǎn)所形成向量c的夾角為
(5)
式中:N為樣本數(shù)量;xi為樣本點(diǎn);φ(xi)為空間映射。
由式(5)可知,其夾角越大,此向量越可能成為支持向量[15]。因此對(duì)于樣本集合D,根據(jù)
(6)
計(jì)算出每個(gè)點(diǎn)對(duì)應(yīng)的si的值,選取值較小的xi構(gòu)成新的樣本集就可以達(dá)到精簡訓(xùn)練樣本的目的。式中,k(xi,xj)為核函數(shù)矩陣,xj為樣本點(diǎn)。
2.2.3 故障檢測算法
為了提高OCSVM模型的準(zhǔn)確率,在訓(xùn)練模型之前,采用十折交叉驗(yàn)證法(10-fold-validation),將所有樣本分為10等份,其中每一等份輪流作為測試數(shù)據(jù),從而求取最優(yōu)模型參數(shù)。核函數(shù)選用徑向基核函數(shù)RBF

(7)
式中,δ為核寬度,通過十折交叉驗(yàn)證法可以選擇檢測效果最佳的核寬度和異常點(diǎn)容忍比例。
前文已構(gòu)建了聯(lián)邦濾波組合導(dǎo)航系統(tǒng),并加入了故障檢測算法,本章將對(duì)提出的算法性能進(jìn)行驗(yàn)證。
首先設(shè)定飛行軌跡,基于仿真軌跡產(chǎn)生所需的傳感數(shù)據(jù),然后將傳感數(shù)據(jù)按比例分為訓(xùn)練樣本和測試樣本,在測試樣本不同時(shí)間點(diǎn)加入突變故障和緩變故障,檢驗(yàn)算法是否可以將異常點(diǎn)與正常點(diǎn)準(zhǔn)確識(shí)別,最后將算法應(yīng)用于組合導(dǎo)航系統(tǒng)進(jìn)行仿真,通過對(duì)比來驗(yàn)證容錯(cuò)系統(tǒng)的有效性。
模擬飛行總時(shí)間1120 s,IMU數(shù)據(jù)更新頻率為100 Hz,GNSS數(shù)據(jù)更新頻率為10 Hz,以某地為起始點(diǎn),進(jìn)行多次轉(zhuǎn)向與爬升之后降落,軌跡圖見圖3。

圖3 飛行軌跡仿真圖Fig.3 Flight path simulation diagram
在得到的軌跡數(shù)據(jù)中選取部分樣本點(diǎn)進(jìn)行訓(xùn)練和測試,若測試樣本點(diǎn)中SINS子系統(tǒng)如圖4所示出現(xiàn)數(shù)據(jù)異常,仿真后將得到圖5所示的識(shí)別結(jié)果。

圖4 測試點(diǎn)數(shù)據(jù)時(shí)域圖Fig.4 Time domain diagram of test point data

圖5 測試集實(shí)際與預(yù)測標(biāo)簽分類Fig.5 Actual and predictive tag classification in test set
仿真中,利用交叉驗(yàn)證法對(duì)樣本數(shù)據(jù)進(jìn)行多次測試,求取最優(yōu)nu和gamma參數(shù),以獲得最佳的邊界,由圖5可知,本文算法可以很好地檢測出物體運(yùn)動(dòng)中的故障數(shù)據(jù)。
為了驗(yàn)證容錯(cuò)算法在實(shí)際情況下的可靠性,根據(jù)已有GNSS數(shù)據(jù),建立GNSS子系統(tǒng)故障檢測模型,假設(shè)在500 s時(shí)GNSS子系統(tǒng)高度數(shù)據(jù)出現(xiàn)異常,圖6(a)~6(c)分別展現(xiàn)了對(duì)高度數(shù)據(jù)不采用故障檢測的情況下、加入卡爾曼濾波處理的情況下和加入本容錯(cuò)算法的情況下的誤差估計(jì),其中,δL為緯度誤差,δλ為經(jīng)度誤差,δH為高度誤差,δP為組合導(dǎo)航系統(tǒng)誤差。

圖6 不同處理方法下組合導(dǎo)航系統(tǒng)誤差估計(jì)Fig.6 Error estimation of integrated navigation system under different processing methods
表1為不同處理方法下,測得的是在470~570 s時(shí)間內(nèi)的3組高度誤差的均方根值。

表1 高度誤差均方根值
從圖6和表1可以看到,在沒有隔離故障數(shù)據(jù)的情況下,不采用故障檢測或采用卡爾曼濾波方法處理數(shù)據(jù),即使經(jīng)過組合導(dǎo)航系統(tǒng)的修正,一定時(shí)間內(nèi)高度上的定位精度仍然受到了很大影響,而隔離故障數(shù)據(jù)后,高度上的定位精度有了明顯提升。因?yàn)楣收虾驼`差的特性不一樣,采用濾波算法只能降低故障值的幅度,很難達(dá)到理想效果。
3種處理方法下的組合導(dǎo)航定位效果如圖7所示。

圖7 原始軌跡與解算軌跡對(duì)比Fig.7 Comparison between the original trajectory and the computed trajectory
結(jié)合聯(lián)邦濾波組合導(dǎo)航系統(tǒng)和3組實(shí)驗(yàn)數(shù)據(jù)對(duì)圖7進(jìn)行分析可知:未加入故障檢測模塊時(shí),一旦子系統(tǒng)出現(xiàn)故障,在無法隔離故障數(shù)據(jù)的情況下,故障數(shù)據(jù)被當(dāng)作正常數(shù)據(jù)送入主濾波器進(jìn)行融合,并參與最優(yōu)估計(jì)、時(shí)間更新和數(shù)據(jù)反饋等過程,因此故障數(shù)據(jù)會(huì)污染主濾波器和其他子濾波器,一定時(shí)間內(nèi)組合導(dǎo)航系統(tǒng)的精度會(huì)變差,解算軌跡大幅度偏離實(shí)際軌跡;當(dāng)組合導(dǎo)航系統(tǒng)在加入本文所提的容錯(cuò)算法后,故障數(shù)據(jù)進(jìn)入主濾波器前,經(jīng)過訓(xùn)練后的故障檢測模塊可以快速地將故障值隔離,避免異常數(shù)據(jù)影響系統(tǒng)精度,解算軌跡與原始軌跡基本吻合,兩者位置誤差較小,組合導(dǎo)航系統(tǒng)的穩(wěn)定性和可靠性得到了提升。
本文提出了一種基于單類支持向量機(jī)(OCSVM)的組合導(dǎo)航容錯(cuò)算法,并在基于聯(lián)邦濾波結(jié)構(gòu)的多源組合導(dǎo)航系統(tǒng)上進(jìn)行仿真分析,驗(yàn)證了該算法的有效性。采用本文算法可在一定程度上提高組合導(dǎo)航系統(tǒng)的穩(wěn)定性和可靠性。