龍弟之,聞 新,2,王 戩,戰(zhàn)泓廷
(1.南京航空航天大學 航天學院,南京 210016; 2.廣東省“天臨空地海”復雜環(huán)境智能探測重點實驗室(北京理工大學), 廣東 珠海 519088)
姿態(tài)敏感器是航天器獲取自身姿態(tài)信息的重要測量部件,長期在軌運行它的內(nèi)部元件會發(fā)生老化和漂移,導致測量信息不可信,若不能及時診斷并進行補償,輕則航天器姿態(tài)控制性能下降,重則丟失姿態(tài)。因此,開展航天器姿態(tài)敏感器故障診斷研究對提升航天器在軌安全性意義重大[1-2]。
對于姿態(tài)敏感器故障,通常基于姿態(tài)運動學模型開展故障診斷設(shè)計,相比動力學模型可認為其模型是精確已知的,不存在模型不確定性的問題[3]。但敏感器測量噪聲和空間擾動是客觀存在的,會對診斷結(jié)果產(chǎn)生較大影響。常用的解決方案是提高診斷算法的魯棒性。文獻[4]設(shè)計自適應(yīng)觀測器用于敏感器故障診斷,并采用非線性幾何方法解耦外部干擾對觀測器輸出的影響。文獻[5]在傳統(tǒng)卡爾曼濾波器基礎(chǔ)上提出了一種自適應(yīng)擴展卡爾曼濾波器(extend Kalman filter,EKF),利用新息序列建立卡方檢驗實現(xiàn)敏感器故障診斷。文獻[6-7]將神經(jīng)網(wǎng)絡(luò)用于在線學習狀態(tài)方程未知函數(shù)信息,通過補償觀測器從而提高對敏感器的診斷性能。但是,當敏感器發(fā)生微小故障時,僅提高魯棒性難以達到檢測目的,如何計算合理的檢測閾值也是影響故障診斷性能的關(guān)鍵[8]。因此,在增強魯棒性的同時設(shè)置更嚴格的閾值是解決敏感器微小故障診斷的有效途徑之一。
考慮多重故障的隔離問題,文獻[9-10]分別實現(xiàn)了對不同軸向陀螺故障的隔離以及執(zhí)行器與敏感器故障之間的隔離。而航天器姿態(tài)控制系統(tǒng)包括方位敏感器和慣性敏感器,且均有可能發(fā)生故障。文獻[11]研究了紅外地球敏感器和陀螺故障的隔離問題,指出利用姿態(tài)運動學方程的解析冗余關(guān)系可以對故障進行檢測,但不能定位故障出自二者中哪一個敏感器,需要額外的冗余關(guān)系輔之進行判斷。在工程應(yīng)用中航天器在軌資源有限,如何在現(xiàn)有硬件基礎(chǔ)上設(shè)計高效診斷系統(tǒng),以增強對姿態(tài)敏感器的故障檢測與隔離能力還有待研究。
針對上述問題,本文提出了基于SORNN干擾觀測器的姿態(tài)敏感器故障診斷方法,在干擾和測量噪聲存在的情況下實現(xiàn)兩類敏感器微小故障的檢測與隔離。首先設(shè)計了具備自適應(yīng)調(diào)節(jié)功能的SORNN模型解決網(wǎng)絡(luò)結(jié)構(gòu)確定問題;然后給出了SORNN干擾觀測器設(shè)計方法并結(jié)合低通濾波器推導更嚴格的殘差和檢測閾值;最后利用姿態(tài)動力學和運動學冗余關(guān)系設(shè)計了故障隔離觀測器實現(xiàn)對星敏感器和陀螺故障的隔離。
如圖1所示,SORNN利用循環(huán)結(jié)構(gòu)將上一時刻的輸出反饋至隱藏層神經(jīng)元作為下一時刻的輸入。相比傳統(tǒng)RNN,SORNN不僅能夠根據(jù)系統(tǒng)輸入輸出自適應(yīng)地調(diào)節(jié)隱藏層神經(jīng)元數(shù)量m,還可以調(diào)節(jié)循環(huán)記憶深度n,將之前n個時刻記憶的輸出反饋至隱藏層作為輸入,強化時序數(shù)據(jù)之間的聯(lián)系。

圖1 自組織循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意Fig.1 Structure of self-organized recurrent neural network
在文獻[12-13]的基礎(chǔ)上,設(shè)計了一種適用性更廣的網(wǎng)絡(luò)結(jié)構(gòu)自組織算法,使得SORNN具備自適應(yīng)調(diào)節(jié)功能,能夠更好地應(yīng)用于復雜非線性函數(shù)的擬合。
SORNN結(jié)構(gòu)自組織算法流程如圖2所示,詳細步驟為:

圖2 自組織循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)自組織算法流程Fig.2 Self-organizing algorithm flow chart of self-organizing recurrent neural network
Step1選取一個簡單的3層RNN結(jié)構(gòu)。其中,隱藏層初始僅有一個神經(jīng)元,輸入層和輸出層中的神經(jīng)元個數(shù)q和p與擬合任務(wù)需要的輸入輸出變量維數(shù)相關(guān)。初始化SORNN連接權(quán)值,并設(shè)置批量學習大小為b,即在線學習b組采樣數(shù)據(jù)為一個學習批次。
Step2利用權(quán)值更新算法對SORNN權(quán)值進行訓練,計算第ι個學習批次的訓練誤差E(ι)。需要注意,只訓練與隱藏層新添加神經(jīng)元相關(guān)的權(quán)值,已完成訓練的權(quán)值保持不變。
其中,E(ι)的計算公式為
(1)
式中:p為輸出層神經(jīng)元個數(shù),Yi,j、Zi,j分別為輸出層在一個學習批次中,第j組數(shù)據(jù)對應(yīng)的第i個神經(jīng)元期望與實際輸出。
Step3根據(jù)訓練誤差對SORNN學習進程進行終止條件判定,若滿足條件則SORNN結(jié)構(gòu)完成搭建,轉(zhuǎn)到Step6;否則繼續(xù)下一步。
Step4計算前、后兩個批次學習誤差的減少量,若小于等于預定值εc1,則繼續(xù)下一步;否則轉(zhuǎn)到Step2。
Step5判斷隱藏層第m個神經(jīng)元與相鄰神經(jīng)元是否冗余,若是則在輸出層反饋至隱藏層第m個神經(jīng)元的回路中增加一層記憶深度;否則在隱藏層添加一個神經(jīng)元,并固定已有連接權(quán)值,將新添加的神經(jīng)元對應(yīng)的連接權(quán)值初始化為0,轉(zhuǎn)到Step2。
Step6輸出SORNN結(jié)構(gòu)特征與權(quán)值參數(shù)。
在SORNN訓練過程中,利用訓練誤差和驗證誤差來設(shè)定終止條件。首先給定一個訓練窗口K,通過計算DK(ι)描述SORNN在K個學習批次的平均訓練誤差大于最小訓練誤差的程度,然后利用當前學習批次的訓練誤差E(ι)和驗證誤差Ev(ι)計算泛化損失GL(ι)。當GL(ι)>DK(ι)時,停止訓練。其中,DK(ι)和GL(ι)計算公式分別為:
(2)
(3)
式中Eo(ι)為最小驗證誤差。
當繼續(xù)訓練無法提高SORNN性能,即原有網(wǎng)絡(luò)結(jié)構(gòu)達到性能飽和時,為防止過擬合,可添加隱藏層神經(jīng)元或反饋記憶深度來優(yōu)化網(wǎng)絡(luò)。
通常利用前、后兩批次訓練誤差的減少量來判斷是否添加新的神經(jīng)元,數(shù)學描述為
E(ι-1)-E(ι)≤εc1
(4)
式中:E(ι-1)為前一個學習批次的誤差,εc1為預設(shè)的閾值。當添加過多的神經(jīng)元,由于功能的相似會變得冗余,對神經(jīng)網(wǎng)絡(luò)性能提升并無作用。為解決該情況,引入如下條件定量地判斷一個學習批次內(nèi)兩個神經(jīng)元是否表現(xiàn)出相似的功能:
(5)
式中:hm(i)、hm-1(i)分別為隱藏層第m個神經(jīng)元和相鄰神經(jīng)元對應(yīng)第i組訓練數(shù)據(jù)的輸出,εc2為預設(shè)的閾值。
綜上所述,當只滿足條件式(4)時,則在隱藏層添加新的神經(jīng)元;而當同時滿足條件式(4)、(5)時,則通過加深反饋記憶深度,使得第m個神經(jīng)元接收更多來自先前的信號來擴展搜索空間,提升網(wǎng)絡(luò)的擬合性能。
星敏感器和陀螺微小故障一般發(fā)生在故障初期,具有幅值小、不易發(fā)覺以及故障信息容易被干擾和噪聲掩蓋的特點,加之閉環(huán)控制系統(tǒng)本身的特性,使得微小故障在初期對航天器姿態(tài)影響并不明顯。為及時發(fā)現(xiàn)微小故障,需要增強故障檢測觀測器的魯棒性,并且計算更嚴格殘差和閾值。
考慮陀螺和星敏感器的測量噪聲以及二者故障情況,采用四元數(shù)法描述姿態(tài)運動學狀態(tài)空間方程為[14]
(6)

不失一般性,可作以下合理假設(shè)[15]。
假設(shè)1航天器工作在小角度姿態(tài)機動狀態(tài)下,φ(x1,u1)滿足Lipschitz條件,即
(7)

假設(shè)2陀螺和星敏感器不會同時發(fā)生故障。
假設(shè)3敏感器故障和測量噪聲均有界,且故障的變化速率有界。
在無故障情況下,采用SORNN對陀螺測量誤差進行估計,得到基于SORNN的干擾觀測器為
(8)

(9)


(10)
為了快速逼近b(t),將EKF自適應(yīng)更新算法用于SORNN權(quán)值更新[16]。針對式(10)建立的SORNN輸入輸出映射模型,權(quán)值參數(shù)可描述為
(11)
式中,k=t/τ表示第k個采樣時刻。
當隱藏層添加新神經(jīng)元后,不再對已訓練好的權(quán)值進行更新。因此每個采樣時刻只需對θi(k)的最后一列,即第m列參數(shù)進行更新。基于EKF的權(quán)值更新算法為
(12)

(13)
(14)


(15)

(16)

(17)
定理1如果由式(12)、(13)和式(16)描述的EKF權(quán)值更新算法的訓練參數(shù)滿足式(18),那么SORNN權(quán)值更新過程將是收斂的。
(18)
式中λmax(·)為矩陣最大特征值。

(19)

(20)

(21)


(22)
根據(jù)式(17)、(18)可得
(23)
因此,
(24)
將式(12)中Gm代入式(24)可得
(25)


星敏感器測量噪聲一般由高頻部分構(gòu)成,因此可引入低通濾波器對殘差信號進行處理從而抑制噪聲。假設(shè)濾波器階數(shù)為po,傳遞函數(shù)H(s)=sHpo(s),其中
(26)
不失一般性,可用相同的H(s)對觀測器每一個輸出濾波。用于故障檢測的殘差信號r1(k)表達式為
r1(t)=H(s)[ey1(t)]
(27)


(28)

(29)

(30)
根據(jù)假設(shè)1,利用φ(x1,u1)的Lipschitz特性,計算出一個合適的上界,即
(31)


(32)

(33)
利用三角不等式,式(29)滿足:
(34)
已知漸近穩(wěn)定的傳遞函數(shù)Hpo(s)的脈沖響應(yīng)hpo(t)呈指數(shù)衰減,即t>0時,對于特定的υ>0,ζ>0,滿足|hpo(t)|≤υe-ζt。根據(jù)上述推導的邊界值,得到最終的故障檢測閾值為
(35)

航天器姿態(tài)控制方程由運動學子系統(tǒng)和動力學子系統(tǒng)組成。以陀螺和星敏感器為例,運動學方程能夠表述星敏感器輸出角度和陀螺輸出角速度之間的關(guān)系,動力學方程能夠表述陀螺輸出角速度和執(zhí)行器輸出力矩之間的關(guān)系。因此,利用兩個系統(tǒng)之間的冗余關(guān)系可以實現(xiàn)對星敏感器故障和陀螺故障的隔離。故障診斷系統(tǒng)框架如圖3所示,首先針對運動學子系統(tǒng)設(shè)計基于SORNN的干擾觀測器,然后針對動力學子系統(tǒng)設(shè)計故障隔離觀測器。前者用于判斷是否發(fā)生故障,后者用于判斷是否為陀螺故障,實現(xiàn)姿態(tài)敏感器故障隔離。

圖3 航天器姿態(tài)敏感器故障檢測與隔離框架Fig.3 Spacecraft attitude sensor fault diagnosis framework
帶外部擾動和陀螺故障的姿態(tài)動力學子系統(tǒng)狀態(tài)方程表示為[14]
(36)

(37)

(38)
式中γΦ為Lipschitz常數(shù)。
針對狀態(tài)方程(36)設(shè)計未知輸入觀測器[17]:
(39)
式中:z(t)為觀測器狀態(tài)變量,矩陣F,T,N,L滿足:
(40)

Fex2(t)+TΔΦ(t)+TEd(t)-
(41)

(42)
另外,rank(CE)=rank(C)=q,根據(jù)TE=E-NCE=0可解得矩陣N=E[(CE)T(CE)]-1(CE)T。當確定了矩陣L,利用式(40)容易得到其他矩陣。為此,給出如下定理求解矩陣L。

(43)
那么所設(shè)計觀測器是魯棒穩(wěn)定的,其中U=P2L。

(44)

(45)
定義指標函數(shù):
(46)

將式(45)代入J可得

(47)
其中:
式中,Ξ11=FTP2+P2F+γΦP2TTTP2+I+CTC。
當Ξ<0時,在零初始條件下:

(48)

當發(fā)生陀螺微小故障時,誤差動態(tài)方程(42)改寫為
(49)


根據(jù)式(8)設(shè)計SORNN干擾觀測器。[q1,q2,q3]T對應(yīng)的3個SORNN學習參數(shù)初始值和網(wǎng)絡(luò)結(jié)構(gòu)調(diào)整預設(shè)閾值見表1。

表1 自組織循環(huán)神經(jīng)網(wǎng)絡(luò)仿真實驗參數(shù)Tab.1 Simulation experimental parameters of SORNN

圖4 自組織循環(huán)神經(jīng)網(wǎng)絡(luò)隱藏層神經(jīng)元和記憶深度調(diào)整過程Fig.4 Hidden layer neurons and memory depth adjustment process of SORNN

圖5 x軸陀螺測量誤差估計Fig.5 x-axis gyro measurement error estimation

圖6 y軸陀螺測量誤差估計Fig.6 y-axis gyro measurement error estimation

圖7 z軸陀螺測量誤差估計Fig.7 z-axis gyro measurement error estimation

1)陀螺故障。假設(shè)航天器x軸陀螺在t=150 s時發(fā)生時變故障,故障表示為
(50)
2)星敏感器故障。假設(shè)航天器星敏感器y軸測量輸出在t=150 s時發(fā)生突變故障,故障表示為
(51)
為驗證檢測方法的性能,將所提方法與基于改進EKF的故障檢測方法[10]進行對比。采用3-σ法對基于改進EKF的檢測方法設(shè)置閾值,陀螺故障檢測結(jié)果如圖8、9所示。

圖8 基于改進EKF故障檢測方法陀螺故障檢測結(jié)果Fig.8 Fault detection results of gyro based on improved EKF fault detection method
星敏感器故障檢測結(jié)果如圖10、11所示。從圖8和圖10的結(jié)果可以看出,基于改進EKF的故障檢測方法雖然對陀螺測量誤差進行了魯棒抗干擾處理,但由于噪聲的存在,對微小故障響應(yīng)不明顯,并且沒有適配更嚴格的檢測閾值,導致對陀螺和星敏感器微小故障的檢測均出現(xiàn)了漏報情況。而對比圖9和圖11的結(jié)果,在陀螺測量誤差補償以及濾波處理后,很大程度上消除了陀螺測量誤差和星敏感器噪聲的影響,然后利用式(35)計算出的檢測閾值,能夠?qū)崿F(xiàn)對陀螺和星敏感器微小故障的準確檢測,從而驗證了所提微小故障檢測方法的有效性。

圖10 基于改進EKF故障檢測方法星敏感器故障檢測結(jié)果Fig.10 Fault detection results of star sensor based on improved EKF fault detection method

圖11 所提方法星敏感器故障檢測結(jié)果Fig.11 Fault detection results of star sensor based on the proposed detection method
在檢測出故障發(fā)生后,根據(jù)式(38)設(shè)計故障隔離觀測器并利用殘差來判斷是否為陀螺故障,從而實現(xiàn)陀螺故障和星敏感器故障的二分問題。給定常數(shù)γΦ=0.5,δ=0.8,求解LMI(43),得到觀測器增益矩陣為
(52)
為評估故障隔離觀測器的檢測性能,在動力學模型存在不確定性情況下,分別對式(51)、(52)所描述的陀螺故障和星敏感器故障開展故障隔離實驗。將10-7[2sin(0.3t) 3cos(0.1t) 1cos(0.2t)]T疊加高斯白噪聲加入至動力學狀態(tài)方程中作為模型不確定性,設(shè)置檢測閾值分別為1.250 4×10-6、7.057 0×10-7、1.465 5×10-6,仿真結(jié)果如圖12、13所示(其中殘差初始部分為動態(tài)調(diào)整過程,在此不作討論)。仿真結(jié)果可以看出故障隔離觀測器對模型不確性具有一定魯棒性,并且殘差只對陀螺故障敏感,當陀螺發(fā)生故障時,殘差迅速越過閾值,而當星敏感器發(fā)生故障時殘差并不會出現(xiàn)明顯的響應(yīng),驗證了該方法對姿控系統(tǒng)陀螺故障和星敏感器故障的隔離功能。

圖12 陀螺故障情況下故障隔離結(jié)果Fig.12 Fault isolation results in case of gyro fault

圖13 星敏感器故障情況下故障隔離結(jié)果Fig.13 Fault isolation results in case of star sensor fault
1)在傳統(tǒng)RNN結(jié)構(gòu)基礎(chǔ)上設(shè)計了具備自適應(yīng)調(diào)節(jié)功能的SORNN和對應(yīng)的EKF自適應(yīng)權(quán)值更新算法,并應(yīng)用于干擾觀測器中,通過估計陀螺測量誤差消除其對狀態(tài)估計的影響。
2)結(jié)合低通濾波器抑制測量噪聲對系統(tǒng)輸出估計誤差的影響,推導出了更嚴格的殘差和檢測閾值的計算方法,從而提高了對微小故障的檢測能力。
3)利用航天器姿態(tài)運動學和動力學冗余關(guān)系設(shè)計未知輸入觀測器實現(xiàn)對星敏感器和陀螺故障的隔離。最終通過仿真結(jié)果驗證了所提出故障檢測與隔離方法的可行性。