殷德全,熊 智,楊菁華,閔艷玲
(南京航空航天大學自動化學院,南京211106)
近年來,我國北斗導航系統發展迅速并日趨完善,由于慣性導航系統與北斗導航系統的互補性,慣性/北斗緊組合導航系統得到廣泛應用。但北斗導航系統目前布星較少,且易受建筑物遮擋、電磁干擾等,所引起的軟硬故障容易對整個導航系統造成污染,極易導致整個導航系統崩潰,因此對慣性/北斗緊組合導航系統的故障檢測算法研究有著重要意義。
目前,在工程上的故障檢測算法應用最為廣泛的是χ2檢測,χ2故障檢測方法分為狀態故障檢測和殘差故障檢測算法。其中狀態χ2檢測方法靈敏度高,漏檢率小,但告警開始和告警結束延遲較大,而且隨著時間的增加,其靈敏度有所下降。殘差故障檢測方法延遲小,故障發生時可以立即發出警告,但漏檢率較大[1-2]。傳統的卡方檢測算法在緊組合導航系統總的優勢并不明顯,因為卡方故障檢測算法僅能檢測出系統故障,卻無法具體檢測出故障星,只能將所有的可見星全部隔離,不能進行緊組合濾波。因此,本文研究了一種新型的故障檢測算法,將狀態χ2檢測與殘差故障檢測方法結合起來,在此基礎上利用新息動態變化[3-5]的特性檢測出故障星并將其隔離,從而保證了健康星可以繼續進行組合濾波,大大提高了整個導航系統的穩定性和可靠性。
為驗證算法的有效性,本次研究還基于PC104嵌入式平臺,利用Qt軟件開發了慣性/北斗緊組合導航系統。該組合導航系統采用多線程并發的模式,大大提高了組合導航系統的工作效率和可裁減性。利用該組合導航系統對所研究算法進行了可靠驗證,實驗結果表明,該組合導航系統能夠持續穩定工作,可及時識別故障星并進行隔離,大大提高了系統的穩定性和精度。
慣性/北斗緊組合導航系統以慣性導航系統為主,通過北斗接收機提供的偽距、偽距率信息對慣性導航系統進行濾波修正,從而使系統獲得更好的導航性能[6-7]。在緊組合導航下系統中,需要對狀態方程進行擴維,即將鐘差和頻差納入狀態向量中。慣性/北斗緊組合系統量測方程分為偽距量測部分和偽距率量測部分,其中偽距量測為利用慣導提供的位置信息計算出的偽距信息與北斗接收機提供的偽距信息之差;偽距率量測信息是通過慣導提供的速度信息、衛星Doppler頻移信息以及衛星的速度信息計算出來的。
慣性/北斗緊組合導航系統狀態方程如下:
其中,狀態變量X=[φEφNφUδvEδvNδvUδLδλδhεbxεbyεbzεrxεryεrz▽x▽y▽zδtuδtru]T20×1;φE、φN、φU表示捷聯慣性導航在地理坐標系下東、北、天方向平臺誤差角,δvE、δvN、δvU表示慣性導航系統在地理坐標系下東、北、天方向的速度誤差;δL、δλ、δh表示慣性導航系統在地理坐標系下緯度、經度、高度的誤差;εbx、εby、εbz表示陀螺隨機常數誤差;εrx、εry、εrz表示陀螺1階Markov過程隨機誤差;▽x、▽y、▽z表示加速度計的1階Markov過程隨機誤差;δtu、δtru表示北斗接收機和衛星之間的鐘差和頻差,分別以距離和速度體現。A(t)20×20為系統的狀態轉移矩陣,G(t)20×11為噪聲系數矩陣,W(t)11×1為系統的白噪聲矢量。
設接收機某時刻觀測到n顆可用衛星,則偽距量測方程為:
式(4)中,ei1、ei2、ei3為第i顆衛星與載體之間的方向余弦,vρ(t)為偽距量測噪聲,RN為地球參考橢球卯酉圈曲率半徑。
偽距率量測方程為:
為提高慣性/北斗緊組合導航系統的容錯能力,確保組合導航程序的穩定性和可靠性,本文提出了基于慣性/北斗緊組合導航系統的故障檢測算法。該故障檢測算法整體框架如圖1所示。
1)量測計算模塊:偽距量測為利用慣導提供的位置信息計算出的偽距信息與北斗接收機提供的偽距信息之差,偽距率量測信息通過慣導提供的速度信息、衛星Doppler頻移信息以及衛星的速度信息計算。
2)Kalman濾波模塊:首先根據卡方檢測判斷系統是否有故障。如果有故障,則剔除新息動態變化值最大的那顆可見星,繼續利用卡方檢測系統是否有故障,直至系統無故障,則濾波輸出對慣性導航系統和北斗接收機進行修正。
我國北斗導航系統目前布星較少,且衛星信號容易受到建筑物遮擋、多路徑效應以及電磁干擾等影響,在實際應用中易出現軟硬故障。在慣性/北斗緊組合導航系統中,若無有效的故障檢測方案,則北斗導航系統極易污染整個組合導航系統,導致系統崩潰而失去作用。因此,本文研究了一種新型的故障檢測算法,基于傳統卡方檢測算法的基礎上,利用新息的正交性來剔除故障星。本文所研究的故障檢測算法嵌入在Kalman濾波部分,Kalman濾波流程如下:
2.2.1 狀態卡方故障檢測方法
狀態卡方檢測方法利用兩個狀態的估計:1,k是由量測值Zk經Kalman濾波得到的對狀態Xk的最優估計;2,k是由先驗信息遞推得到。前者和量測信息有關,因而會受到軟硬故障的影響,后者和量測信息無關,因而不受量測故障的影響[8-9]。利用二者之間的這種差異,便可以對整個系統進行故障檢測。^X2,k的計算公式為:
初始條件為:
兩種估計誤差為:
并定義:
當系統無故障時,β(k)服從Gauss分布,根據數理統計中假設檢驗的理論,用β(k)構造統計量:
系統正常情況下,λ(k)服從自由度為n的χ2分布,由此可得如下判決準則[10]:
1)當λ(k)<時,認為系統工作正常;
2)當λ(k)>時,認為系統出現故障。
λ(k)為檢測函數,為檢測門限,α為誤警率。
2.2.2 殘差卡方故障檢測方法
若系統正常工作時,則量測真實值Zk與量測預測值^Zk,k-1的差值k應服從0均值Gauss白噪聲分布:
其方差為:
構造統計量λz(k):
系統正常情況下,λz(k)服從自由度為m的χ2分布,由此可得如下判決準則:
1)當λz(k)<時,認為系統工作正常;
2)當λz(k)>時,認為系統出現故障。
λz(k)成為檢測函數,為檢測門限,α為誤警率。
2.2.3 基于新息正交方差的故障星剔除方法
當系統正常工作時,新息方差的理論值為式(20)中的Sk,實際的誤差方差為E[k],其對角線元素實時動態反應量測信息的變化,因此可以通過實際誤差方差矩陣與理論誤差方差矩陣對角線元素的比值反應量測信息的可信度,比值越大,則可信度越低,具體公式如下:
Fki表示第i顆衛星實際誤差方差與理論誤差方差的比值,TD為Fk中的最大值,i為相對應的衛星通道編號?;诖?,得到以下故障星剔除方法。
首先通過狀態χ2和殘差χ2檢驗法檢測系統是否出現故障。
1)若沒有故障,則跳過故障星剔除步驟,直接輸出Kalman濾波估計信息,對慣性導航系統和北斗接收機進行反饋修正。
2)若出現故障,則剔除Fki中最大值所對應的衛星通道,并重新計算量測信息,再次進入χ2檢測系統。重復以上步驟,直到沒有故障或沒有可用星為止。
為驗證本文所研究算法的可靠性與合理性,開發了慣性/北斗緊組合導航系統物理實驗平臺,該導航系統分為軟件部分和硬件部分。軟件部分即導航程序,整個導航程序通過跨平臺的Qt Creator進行開發,可移植性強,采用多線程并發的模式。導航程序由捷聯慣導解算線程、SINS/BD緊組合濾波線程、數據通信解碼線程、上位機顯示及模塊配置線程組成,以保證導航處理裝置的可配置性、可裁減性、解算實時性等。整個導航處理裝置的模塊構成如圖2所示。
硬件部分由導航計算機、北斗軟件接收機、IMU慣性元件、上位機等組成,其中導航計算機可由PC機、工作站、基于Linux系統或Windows系統的嵌入式模塊承當,本次研究中的導航計算機采用的是PC104嵌入式系統。硬件組成模塊如圖3所示。
在本次實驗中,捷聯慣導解算周期設為20ms,濾波周期為1s,導航時間為1200s。為有效驗證算法的合理性,分別在以下3種模式下進行實驗:
1)導航系統在一定時間內注入故障,但沒有故障檢測模塊;
2)導航系統在一定時間內注入故障,采用常規χ2故障檢測方案;
3)導航系統在一定時間內注入故障,采用本文所研究的新型故障檢測方案。
故障具體情況如表1所示。

表1 故障注入情況Table 1 Fault injection
在導航時間200s~250s期間內,1號通道衛星偽距注入1000m的硬故障;在導航時間800s~850s期間內,1號和2號通道衛星偽距注入300+10×(t-800)的軟故障。
由圖4可以看出,若沒有故障檢測模塊,注入故障之后導航系統的位置、速度誤差瞬間增大,整個導航系統無法正常工作;當加入常規χ2故障檢測模塊時,檢測出故障之后將所有通道的量測信息全部丟掉,不進行Kalman濾波,但由于慣性導航系統精度隨著時間逐漸下降,因此在200s~250s、800s~850s期間導航誤差緩慢增大,雖然導航系統精度下降,但仍然處于可用的工作狀態。
圖5是常規χ2故障檢測模塊與本文研究的新型故障檢測方案的誤差曲線對比圖。從對比圖中可以看出,在200s~250s、800s~850s期間,由于慣性導航系統的自身特性,采用傳統χ2故障檢測方案的導航系統精度有明顯下降。在此期間,若采用新型故障檢測方案可保證整個導航系統依然具有很高的導航精度,滿足了飛行器對導航系統的穩定性和可靠性的需求,從而驗證所研究故障檢測方案的有效性和合理性。
北斗導航系統是我國自主研發的衛星導航系統,雖然近年來北斗導航系統發展迅速,但是北斗導航系統的可見星相對較少,且衛星信號容易受建筑物遮擋、多路徑效應、電磁干擾等影響,在實際使用中易出現故障。因此本文在慣性/北斗緊組合導航系統基礎上,研究了一種新型的故障檢測方案。
常規的χ2故障檢測方案可以敏感地檢測出系統故障,可以及時將有故障的衛星導航系統隔離,從而避免故障信息對整個導航系統造成污染。但是常規的χ2故障檢測方案無法判斷故障信息的準確來源,只能將故障量測量和健康量測量全部隔離。本文所研究的故障檢測方案不僅可以判斷系統是否有故障,而且還能準確剔除故障信息,健康的量測信息依然可以輔助慣導進行高精度導航。本文所研究的故障檢測方法在檢測故障星時,不需要為式(22)中的Fki設定故障星剔除的閾值,若有故障則將最大比值所對應的通道剔除即可,這種剔除方法具有一定的智能性。唯一的缺點是當故障星較多時,會有較大的計算量,但近年來計算機處理器發展迅速,在工程上使用的處理器完全能滿足本文故障檢測方案的計算需求。最后,為驗證算法的有效性,搭建了硬件物理實驗平臺,對所研究的故障檢測算法進行了可靠的驗證。
實驗表明,所研究的故障檢測方案能及時檢測出系統故障并及時隔離故障星,從而保證了導航系統的穩定可靠工作。