李利亮,牛 睿,邵志杰,沈 毅
(1. 哈爾濱工業(yè)大學航天學院,哈爾濱 150001;2. 上海航天控制技術研究所,上海 201109;3.上海市空間智能控制技術重點實驗室,上海 201109)
為了提高衛(wèi)星的可靠性與安全性,星上的部件通常是冗余配置的。雖然星上的元器件都有較高的設計可靠性,但是由于其長期運行在惡劣的空間環(huán)境中,難免會發(fā)生故障[1]。文獻[2]中分析了從1980年到2005年間的156次航天器故障,發(fā)現(xiàn)航天器姿態(tài)控制與確定分系統(tǒng)的故障占故障總數(shù)的32%。姿態(tài)確定系統(tǒng)作為姿態(tài)控制系統(tǒng)的核心,其故障可能會引起衛(wèi)星姿態(tài)控制性能下降,甚至可能影響衛(wèi)星的正常運行。因此,對于航天器姿態(tài)確定系統(tǒng)進行故障診斷以便及時采取有效的處理措施對于航天器的安全穩(wěn)定運行具有重要意義。
故障診斷技術可大致分為基于模型的方法、數(shù)據(jù)驅(qū)動的方法和基于知識的方法[3],其中基于模型的故障診斷技術方面的研究最為廣泛和深入[4-6]。近年來,基于模型的故障診斷技術研究在航空航天領域逐漸引起了國內(nèi)外學者們的重視[7-9]。文獻[10]針對衛(wèi)星姿態(tài)控制系統(tǒng)的線性模型研究了基于觀測器的故障診斷方法。文獻[11]利用狀態(tài)增廣觀測器研究了衛(wèi)星姿態(tài)控制系統(tǒng)的執(zhí)行器故障估計與容錯控制方法。文獻[12-13]研究了衛(wèi)星姿態(tài)控制系統(tǒng)的故障估計與容錯控制的聯(lián)合設計方法。文獻[14]研究了基于比例微分型學習觀測器的姿態(tài)控制系統(tǒng)執(zhí)行器故障估計,并將其擴展用于衛(wèi)星姿態(tài)敏感器的故障估計。文獻[15]中提出了一種基于偏差分離原理和二階卡爾曼濾波的衛(wèi)星執(zhí)行機構(gòu)故障診斷方法,并利用半實物仿真平臺進行了驗證。需要說明的是,目前文獻中的大部分航天器故障診斷方法是針對執(zhí)行器故障的,在敏感器故障診斷方面的研究相對較少。對于敏感器故障診斷,目前比較常用的方法是基于硬件冗余的傳感器校驗法。這種方法簡單有效,但是要想實現(xiàn)故障分離,需要的硬件冗余較多。例如,若想實現(xiàn)單一陀螺故障的分離,則需要至少5個不同方向上的陀螺敏感器。因此,如何有效結(jié)合硬件冗余和解析冗余關系,提高對姿態(tài)敏感器故障的診斷能力,是值得研究的重要問題。針對衛(wèi)星姿態(tài)敏感器的故障診斷問題,文獻[16]提出了一種基于卡爾曼濾波器的方法。但是該方法需要假設衛(wèi)星的軌跡是已知的,在一定程度上限制了其實用性。在文獻[17]和文獻[18]中,先構(gòu)造廣義系統(tǒng)再設計觀測器的方法被用于衛(wèi)星姿態(tài)敏感器的故障診斷,但是文獻[17]和文獻[18]中都是基于線性模型的方法,需要對衛(wèi)星姿控系統(tǒng)的非線性動態(tài)進行線性化之后才能使用。另外,文獻[17]和文獻[18]中的方法只是針對某種特定的敏感器故障的診斷方法,沒有實現(xiàn)對整個姿態(tài)確定系統(tǒng)故障的全面覆蓋,例如文獻[17]中只考慮了姿態(tài)角敏感器的故障診斷,其使用前提是陀螺不發(fā)生故障。這一前提在工程應用中是很難滿足的。文獻[19]中提出了一種利用四元數(shù)估計角速率的陀螺故障定位方法,但是需要利用姿態(tài)動力學方程進行濾波。在實際運行過程中,由于燃料消耗、附件展開等影響,姿態(tài)動力學方程中的慣量參數(shù)往往是不準確的[20]。如果不能實時、準確地確定衛(wèi)星的慣量參數(shù),利用姿態(tài)動力學方程的故障診斷方法的實際故障診斷性能難以保證。針對已有文獻中的上述問題,文獻[21]將著名的專用觀測器思想(Dedicated observer scheme,DOS)與卡爾曼濾波器相結(jié)合,提出了基于卡爾曼濾波器組的衛(wèi)星姿態(tài)敏感器故障檢測與分離方法。該方法簡單有效,只利用姿態(tài)運動學方程即可進行故障診斷,不受衛(wèi)星慣量參數(shù)的影響,在實際應用中的可靠性高。但是,該方法需要一組卡爾曼濾波器同時在軌運行,相對目前的星上計算機的運算能力,該算法的計算量偏大,這一點在一定程度上降低了算法的工程實用價值。針對文獻[21]中方法計算量相對較大的問題,本文提出了一種基于簡化濾波器思想的衛(wèi)星姿態(tài)敏感器故障診斷方法,只利用一個卡爾曼濾波器即可實現(xiàn)對陀螺和星敏故障的檢測與分離,進一步提高了文獻[21]中方法的實用價值。
本文考慮由三正交一斜裝陀螺組件和一個星敏感器構(gòu)成的衛(wèi)星姿態(tài)姿態(tài)確定系統(tǒng)。將衛(wèi)星的姿態(tài)角速度記為
(1)
采用三正交一斜裝構(gòu)型的陀螺組件的測量方程為
ωg=Hω+b+vg+fg
(2)
其中,ωg∈R4,b∈R4,vg∈R4和fg∈R4分別是陀螺組件的測量值、常漂、測量噪聲和故障,H是與陀螺安裝矩陣相關的測量矩陣,具有如下形式:
(3)
本文采用四元數(shù)表示衛(wèi)星的姿態(tài)。四元數(shù)q是滿足歸一化條件qTq=1的一個4×1維向量,其形式如下
(4)
在本文中,令q4為四元數(shù)的標量部分,q1,q2和q3構(gòu)成了四元數(shù)的矢量部分。
四元數(shù)形式的衛(wèi)星姿態(tài)運動學方程具有如下形式:
(5)
(6)
根據(jù)姿態(tài)運動學方程的雙線性性質(zhì),式(5)還可以寫成如下形式:
(7)
其中Ω(ω)為
(8)
式(7)中的姿態(tài)運動學方程可被離散化為如下形式:
(9)
其中,Δt為離散時間間隔。
注1. 接下來,為了簡潔,在有些不影響理解的地方我們會將時間索引k省略。
(10)
式中:n, cω和sω具有如下形式:
(11)
將式(10)代入姿態(tài)運動學方程(9)可得
q(k+1)=[cωI4+sωΩ(n)]q(k)
(12)
為了表述方便,將k時刻的陀螺測量值分成兩部分:
(13)
(14)
(15)
在本文的研究中,假設b(k)為未知的常值偏差,測量噪聲vg(k)是互不相關但協(xié)方差為Q∈R4×4的高斯白噪聲。按照式(14)中的劃分方式,可以將Q寫成如下形式:
(16)
此外,本文中采用的星敏感器的測量模型為
qs(k)=q(k)?qf?qv(k)+fq(k)
(17)
其中,qs(k)表示四元數(shù)測量值,qv(k)表示測量噪聲的四元數(shù),qf和fq(k)用于表征星敏感器故障造成的影響。
本文的目的是針對陀螺和星敏感器都有可能發(fā)生故障的衛(wèi)星姿態(tài)確定系統(tǒng),利用解析冗余設計故障診斷算法,對單點故障進行檢測與分離。需要說明的是,由于衛(wèi)星上的部件具有很高的可靠性,所以出現(xiàn)并發(fā)故障的概率較小,所以單一故障的假設是合理的。
本文通過設計一個卡爾曼濾波生成殘差進行故障診斷。為此提出一種新的卡爾曼濾波器設計方法。
為了便于卡爾曼濾波器設計,需要先將姿態(tài)運動學模型進行一定的變換。在無故障時,由式(14)可得
(18)
將式(18)代入(9)可得
(19)
Ω(x)q=Ξ(q)x
(20)
其中
(21)
利用式(20)可以將式(19)轉(zhuǎn)化為如下形式:
(22)
(23)
另一方面,希望將星敏的測量方程轉(zhuǎn)化為加性噪聲的形式,即
qs(k)=q(k)+vq(k)
(24)
將式(24)代入式(17)可得
(25)
其中
(26)
設Δq(k)的協(xié)方差矩陣為R0,根據(jù)式(25)可以得到vq(k)的協(xié)方差矩陣為R=(qs(k)?)R0(qs(k)?)T。由于大部分情況下姿態(tài)四元數(shù)的標部都比矢部大很多,所以在使用中,不妨設R=R0。
為了設計卡爾曼濾波器,需要將姿態(tài)運動系統(tǒng)寫成狀態(tài)空間方程的形式。令
(27)
可以得到如下的動態(tài)方程
(28)
其中,
(29)
基于式(28)中的狀態(tài)空間系統(tǒng),提出如下的擴展卡爾曼濾波器設計算法。
預測:
(30)
(31)
校正:
K(k)=P(k|k-1)CT(CP(k|k-1)CT+R)-1
(32)
(33)
P(k)=(I7-K(k)C)P(k|k-1)
(34)
利用上述卡爾曼濾波器即可得到姿態(tài)四元數(shù)和三正交軸陀螺常漂的估計值,作為故障診斷的基礎。
在文獻[21]中,陀螺敏感器被分為4組,然后利用著名的專用觀測器思想進行故障檢測與分離,其基本原理如圖1所示。該方法通過4個卡爾曼濾波器生成一組結(jié)構(gòu)化殘差進行故障檢測與分離。但是,該方法要求4個卡曼濾波器同時運行,由于目前的星上計算機性能有限,該算法給星上計算機帶來了較大的運算負擔。
為了進一步提高文獻[21]中方法的工程實用性,本文借鑒簡化觀測器思想(Simplified observer scheme,SOS),提出一種采用簡化濾波器思想的敏感器故障檢測與分離方法,只利用一個卡爾曼濾波器即可實現(xiàn)對衛(wèi)星姿態(tài)確定系統(tǒng)中敏感器故障的檢測與分離,以克服文獻[21]中方法計算量較大的問題。
本文提出的故障診斷方法的基本思想如圖2所示。其中,利用卡爾曼濾波器生成的三個正交陀螺的漂移估計的絕對值,可作為表征三正交陀螺故障和星敏故障的殘差信號,即
(35)
(36)
來構(gòu)造另一個殘差信號:
(37)
表1 故障-殘差影響關系Table 1 Fault-residual effect relations
表2 故障診斷律Table 2 Fault diagnosis strategy
注3. 雖然文獻[21]中采用了4個濾波器進行故障診斷,但是其故障診斷方法也是建立在單點故障假設的基礎上的。換言之,文獻[21]中方法的可診斷集和本文所提方法的可診斷集是一樣的,都是只能診斷出單個陀螺的故障,但是本文中的方法只需要用到1個濾波器,而在生成殘差信號r4(k)時只需要進行3次標量乘法、4次標量加法和1次求絕對值的運算,增加的計算量基本可以忽略。因此,式[21]中方法的計算量是本文中方法計算量的4倍。如果采用相同的處理器和運算資源,則本文所提出的方法的處理時間將會是文獻[21]中方法的1/4左右。
本節(jié)采用數(shù)值仿真校驗所提出方法的有效性。仿真中設定的陀螺的常漂為b1=50 (°)/h,b2=40 (°)/h,b3=-50 (°)/h,b4=45 (°)/h,陀螺噪聲和星敏噪聲的標準差大小分別為0.05 (°)/h和0.00333°。接下來,采用兩類比較常見的故障形式對所提出的方法進行仿真驗證。
首先,考慮x軸陀螺發(fā)生如下形式的突變故障:
(38)
這種故障情況下,利用所提出的故障診斷方法可以得到如圖3所示的故障診斷結(jié)果。從圖3可以看出,殘差r1和r4很快超出了閾值,其他殘差則沒有超過閾值。根據(jù)故障診斷律,可以判斷出是x軸上的陀螺發(fā)生了故障。注意到在仿真的起始階段部分殘差超過閾值。這是由于陀螺的常值漂移是未知的,卡爾曼濾波器的估計值可能會出現(xiàn)一定的超調(diào),但是很快就會收斂到真實值附近,所以只是非常短的一段起始階段內(nèi)會出現(xiàn)無故障時殘差超過閾值的現(xiàn)象。
接下來,考慮斜裝軸陀螺發(fā)生如下形式的緩變故障:
(39)
這種故障情況下,所提出的故障診斷方法可以得到如圖4所示的故障診斷結(jié)果??梢钥闯?,殘差r4在故障發(fā)生2.5 s后超過閾值,而其他故障未超過閾值。根據(jù)故障診斷律可以判斷出是斜裝陀螺發(fā)生了故障。由于緩變故障一開始的影響很小,所以需要一段時間后才能被檢測并分離出來。
最后,考慮星敏感器發(fā)生如下形式的故障:
(40)
上述仿真結(jié)果說明,本文所提出的方法能夠檢測并分離出正交陀螺組件、斜裝陀螺組件和星敏感器的故障,可以實現(xiàn)對衛(wèi)星姿態(tài)確定系統(tǒng)敏感器(單點)故障的全覆蓋。這一特點是已有文獻中的方法所不具有的。
為了說明故障診斷算法對于故障全覆蓋的重要性,將文獻[22]中的方法應用于星敏感器發(fā)生(40)中故障的情況。文獻[22]中的故障診斷思想主要是對星敏感器的測量值進行數(shù)值求導,然后利用四元數(shù)導數(shù)和姿態(tài)角速度的關系估計姿態(tài)角速度,得到姿態(tài)角速度的估計值之后,即可與陀螺測量值做差從而得到故障估計值。由于篇幅有限,本文只給出利用四元數(shù)微分法對三正交陀螺的故障估計,如圖6所示。由于文獻[22]中的方法沒有覆蓋星敏感器故障,所以在星敏感器發(fā)生故障時,其仍然認為是陀螺組件發(fā)生了故障,導致得到了錯誤的故障診斷結(jié)果。故障診斷可以被粗略地分為故障建模、故障檢測、故障分離和故障估計(亦稱故障辨識)4個步驟,但是大部分研究忽略了故障建模這一步驟,假設故障的作用模型是固定并且已知的,然后以此為基礎研究故障診斷方法。這樣的處理降低了故障診斷的研究難度,但很有可能無法全面覆蓋實際系統(tǒng)中的故障類型,在實際應用時可能會導致錯誤的故障定位。
對于陀螺和星敏都有可能發(fā)生故障的衛(wèi)星姿態(tài)確定系統(tǒng),本文利用卡爾曼濾波器結(jié)合簡化觀測器思想給出了一種姿態(tài)敏感器故障檢測與分離方法。所提出的方法不僅可以診斷陀螺故障,而且對星敏感器的故障也有診斷能力。文中給出的仿真實例說明了該方法的有效性。