何益康, 張文瀚, 王振華,*, 何 聞
(1. 浙江大學浙江省先進制造技術(shù)重點實驗室, 浙江 杭州 310027;2. 上海航天控制技術(shù)研究所, 上海 201109;3. 哈爾濱工業(yè)大學航天學院,黑龍江 哈爾濱 150001)
衛(wèi)星電源系統(tǒng)為衛(wèi)星平臺及載荷設(shè)備提供能源,是衛(wèi)星不可或缺的重要組成部分[1]。星上的供電方式主要分為蓄電池供電和太陽電池陣供電兩種[1]。衛(wèi)星在發(fā)射段、星箭分離、太陽電池陣展開、陰影區(qū)運行等過程中只能依靠蓄電池供電,但是蓄電池供電不能長時間維持,因此,在衛(wèi)星的長期在軌運行過程中,太陽電池陣是衛(wèi)星的主要電力來源[2-3]。
衛(wèi)星的太陽電池陣可以大致分為體裝式和展開式兩種[2-3]。體裝式太陽電池陣布置在航天器表面,有球形體裝式和柱形體裝式等構(gòu)型。體裝式太陽電池陣受航天器表面積的限制,發(fā)電功率十分有限,因此主要在早期的衛(wèi)星和一些微小衛(wèi)星中使用。展開式太陽電池陣的一端安裝在星體上,可以在衛(wèi)星發(fā)射段收攏、在入軌后展開。展開式太陽電池陣是目前衛(wèi)星采用的主流配置[4-9]。很多展開式太陽電池陣配備了太陽電池陣驅(qū)動組件,可以驅(qū)動太陽電池陣的法線方向跟蹤太陽矢量,盡量獲得最佳的太陽入射條件,從而提高電能獲取效率[10-13]。
太陽電池陣作為衛(wèi)星電源系統(tǒng)的關(guān)鍵設(shè)備,是衛(wèi)星生存及可靠運行的基本保障[4,14-15]。一旦衛(wèi)星出現(xiàn)異常,首要任務(wù)是控制衛(wèi)星的姿態(tài),使得太陽電池陣持續(xù)對日,從而確保衛(wèi)星的能源,為后續(xù)故障處理、地面干預(yù)爭取時間[16-19]。在對衛(wèi)星實施對日指向控制前,需要先確定衛(wèi)星的運動狀態(tài)[20],尤其是太陽電池陣相對于太陽和星體的方位,否則可能會出現(xiàn)衛(wèi)星的姿態(tài)調(diào)整使得太陽電池陣的法線方向偏離太陽入射矢量的問題,影響太陽電池陣光照條件。若蓄電池不可用,則會導致衛(wèi)星異常狀態(tài)進一步擴散。雖然具備驅(qū)動組件的展開式太陽電池陣與體裝式電池陣相比,具有光照利用率高、供電功率大等優(yōu)點,但是在衛(wèi)星發(fā)生在軌異常的情況下,太陽電池陣驅(qū)動組件的轉(zhuǎn)動會增加衛(wèi)星應(yīng)急恢復(fù)的復(fù)雜性。一種比較嚴重的在軌異常情況是衛(wèi)星蓄電池供電環(huán)節(jié)在太陽電池陣供電環(huán)境沒有建立的條件下出現(xiàn)異常,衛(wèi)星會瞬間掉電并失去聯(lián)系[21]。在這種情況下,只有等到太陽光照到太陽電池陣時,衛(wèi)星才會重新上電,地面才會再次收到遙測信號。目前,太陽電池陣常采用步進電機驅(qū)動[11],轉(zhuǎn)動角度采用步記法,在衛(wèi)星掉電后無法確定太陽電池陣相對于衛(wèi)星本體的轉(zhuǎn)動角度。針對這一問題,最簡單的方案是利用星敏感器給出衛(wèi)星本體的姿態(tài),然后再結(jié)合太陽電池陣上的太陽敏感器的輸出確定太陽電池陣相對于星體的方位,但在衛(wèi)星異常狀態(tài)下,衛(wèi)星處于非正常姿態(tài),星敏感器很可能難以提供可靠的測量信號[22]。
針對上述問題,本文提出了一種利用星載陀螺和太陽電池陣上的太陽敏感器的測量值確定太陽電池陣相對于星體方位的方法。本文所提出方法的主要創(chuàng)新性可總結(jié)如下:
首先,據(jù)了解,目前尚沒有在太陽電池陣轉(zhuǎn)角零位失效的情況下可進行太陽電池陣轉(zhuǎn)角估計的有效方法,本文利用星載陀螺和太陽敏感器的測量數(shù)據(jù)給出了太陽電池陣轉(zhuǎn)角估計的一種解析形式。
其次,考慮到太陽敏感器的測量精度不高,在轉(zhuǎn)角解析估計值的基礎(chǔ)上,本文提出了一種基于卡爾曼濾波的提高轉(zhuǎn)角估計精度的算法。該算法能夠有效提升太陽電池陣轉(zhuǎn)動角度估計的準確性,為后續(xù)對日定向控制提供必要的信息基礎(chǔ)。
最后,本文所提出的太陽電池陣轉(zhuǎn)角估計方法只需要使用星載陀螺、太陽敏感器部件,以及簡單的數(shù)學運算和卡爾曼濾波算法,硬件需求量小,算法復(fù)雜度低,易于工程應(yīng)用。
在太陽電池陣轉(zhuǎn)角估計中,主要涉及到兩個坐標系:衛(wèi)星本體坐標系和太陽電池陣坐標系。這兩個坐標系的示意圖如圖1所示。
圖1 衛(wèi)星本體和太陽電池陣坐標系Fig.1 Coordinate frames of satellite body and solar cell array
衛(wèi)星本體坐標系和太陽電池陣坐標系的具體定義如下:
(1) 衛(wèi)星本體坐標系ObXbYbZb:該坐標系與衛(wèi)星本體固連,原點Ob位于衛(wèi)星質(zhì)心處,ObXb軸指向衛(wèi)星的飛行方向,ObZb軸垂直指向地心,ObYb軸與ObXb軸和ObZb軸構(gòu)成右手坐標系。
(2) 太陽電池陣坐標系OsXsYsZs:該坐標系與太陽電池陣固連,原點Os位于太陽電池陣和衛(wèi)星的連接點處,OsZs軸指向太陽電池陣貼片面法線方向,OsYs軸為太陽電池陣驅(qū)動軸,OsXs軸與OsYs軸和OsZs軸構(gòu)成右手坐標系。
在衛(wèi)星運行過程中,太陽電池陣會繞其驅(qū)動軸轉(zhuǎn)動。在本文中,為了符號顯示簡單,假設(shè)太陽電池陣的驅(qū)動軸與衛(wèi)星本體坐標系的Y軸重合(對于太陽電池陣的驅(qū)動軸與衛(wèi)星本體坐標系的Y軸不重合的情況,由于太陽電池陣的安裝方式是已知的,可以通過一個坐標變換得到本文所考慮的情況)。因此,太陽電池陣繞衛(wèi)星本體坐標系的Y軸轉(zhuǎn)動,如圖2所示,轉(zhuǎn)動角度記為α。
圖2 太陽電池陣轉(zhuǎn)動角度示意圖Fig.2 Illustration diagram of solar cell array rotation angle
在衛(wèi)星應(yīng)急恢復(fù)過程中,需要知道太陽電池陣的轉(zhuǎn)動角α,以便控制太陽電池陣的對日方位。假設(shè)在衛(wèi)星應(yīng)急恢復(fù)過程中,太陽電池陣的轉(zhuǎn)角不變,即α是常值。安裝在太陽電池陣上的太陽敏感器可以測量出太陽矢量在太陽電池陣坐標系下的位置S(t)(為了符號簡單,本文假設(shè)太陽敏感器與太陽電池陣的坐標系一致),星上的陀螺可以測量出衛(wèi)星本體坐標系的角速度ω(t)。本文的目的是利用太陽敏感器和陀螺的測量值估計出太陽電池陣相對于衛(wèi)星本體坐標系的轉(zhuǎn)角α。
考慮到太陽電池陣繞著本體坐標系Y軸轉(zhuǎn)動α角度,故衛(wèi)星本體坐標系和太陽電池陣坐標系下的太陽矢量之間會存在對應(yīng)的轉(zhuǎn)換關(guān)系。同時,不同時刻的太陽電池陣坐標系下的太陽矢量也會隨著衛(wèi)星本體姿態(tài)的相對運動存在轉(zhuǎn)換關(guān)系,且這種轉(zhuǎn)換關(guān)系可以通過衛(wèi)星的姿態(tài)角速度反映出來。考慮太陽電池陣坐標系下的太陽矢量和衛(wèi)星姿態(tài)角速度可測的情況,通過結(jié)合這兩種轉(zhuǎn)換關(guān)系,便可以實現(xiàn)對太陽電池陣轉(zhuǎn)角的估計,這就是太陽電池陣轉(zhuǎn)角估計的基本原理。本節(jié)將對該基本原理進行具體介紹。
衛(wèi)星本體坐標系下的太陽矢量記為Sb(t),太陽電池陣坐標系下的太陽矢量記為Ss(t),由于太陽電池陣相對衛(wèi)星本體坐標系的Y軸轉(zhuǎn)動,轉(zhuǎn)動角度為α,所以Sb(t)和Ss(t)滿足如下關(guān)系
Ss(t)=RαSb(t)
(1)
式中:Rα是從衛(wèi)星本體坐標系到太陽電池陣坐標系的旋轉(zhuǎn)矩陣。
(2)
(3)
考慮到衛(wèi)星的姿態(tài)運動,衛(wèi)星本體坐標系下的太陽矢量Sb(t)滿足如下關(guān)系:
Sb(t2)=AΔSb(t1)
(4)
式中:AΔ是描述Δt=t2-t1時間段內(nèi)衛(wèi)星姿態(tài)運動的方向余弦矩陣。
根據(jù)式(3)可得
(5)
將式(5)代入式(4)可得
(6)
再將式(6)代入式(1),可得t1時刻和t2時刻的太陽矢量Ss(t1)和Ss(t2)具有如下關(guān)系:
(7)
采用四元數(shù)描述衛(wèi)星的姿態(tài)運動[23],可以將AΔ寫成如下形式:
(8)
考慮到AΔ描述的是Δt=t2-t1內(nèi)衛(wèi)星的相對姿態(tài)運動[23],故q(Δt)滿足如下的運動學方程:
(9)
(10)
由于式(9)描述的是相對姿態(tài),所以其在Δt=0時有:
(11)
衛(wèi)星本體的姿態(tài)角速度ω(t)可以由陀螺測得,因此對于給定的t1和t2時刻,可以利用式(9)~式(11)計算出相對姿態(tài)運動矩陣A(q(Δt))。在計算出AΔ后,式(7)就只剩太陽電池陣轉(zhuǎn)角α一個未知量,故可以根據(jù)式(7)求解太陽電池陣轉(zhuǎn)角α,這就是本文實現(xiàn)太陽電池陣轉(zhuǎn)角估計的基本原理。
第2節(jié)介紹了太陽電池陣轉(zhuǎn)角估計的基本原理,即:基于衛(wèi)星本體坐標系和太陽電池陣坐標系的關(guān)系、衛(wèi)星的姿態(tài)運動學方程、衛(wèi)星姿態(tài)角速度數(shù)據(jù)和太陽矢量數(shù)據(jù)構(gòu)建出了式(7)中的等式關(guān)系,并利用該等式關(guān)系確定出太陽電池陣轉(zhuǎn)角的解析解。但是,針對在實際工程應(yīng)用中如何依據(jù)式(7)中的等式關(guān)系以及衛(wèi)星姿態(tài)角速度數(shù)據(jù)和太陽矢量數(shù)據(jù)來估計太陽電池陣轉(zhuǎn)角,并沒有做出詳細介紹。因此,本節(jié)主要介紹基本原理的具體應(yīng)用過程,即太陽電池陣轉(zhuǎn)角估計方法。
考慮到在實際工程中,算法均為離散化實現(xiàn),為了得到式(7)的離散時間形式,需要先將式(9)中的衛(wèi)星姿態(tài)運動學方程離散化為如下形式[24]:
(12)
式中:Ts為采樣時間間隔。為了表達簡便,略去kTs中的Ts,將式(12)寫成如下形式:
(13)
另外,根據(jù)歐拉公式[24]可得
(14)
將式(14)代入式(13)可得
(15)
即為衛(wèi)星姿態(tài)運動學方程的離散傳播形式。
令
(16)
則式(7)成為如下的離散化形式:
(17)
式中:
(18)
(19)
為了根據(jù)式(17)求解太陽電池陣轉(zhuǎn)角α,將Ss(k)和Ss(k-N)寫成如下形式:
(20)
將式(18)和式(20)代入式(17),可以得到下列等式:
Ssx(k)=s11Ssx(k-N)+
s12Ssy(k-N)+s13Ssz(k-N)
(21)
Ssy(k)=s21Ssx(k-N)+
s22Ssy(k-N)+s23Ssz(k-N)
(22)
Ssz(k)=s31Ssx(k-N)+
s32Ssy(k-N)+s33Ssz(k-N)
(23)
式中:
將式(21)的兩邊同時乘以cosα,式(23)的兩邊同時乘以sinα,兩者相加后整理可得
cosαSsx(k)+sinαSsz(k)=(A11cosα-A13sinα)·
Ssx(k-N)+A12Ssy(k-N)+
(A11sinα+A13cosα)Ssz(k-N)
(24)
將式(24)兩邊同時除以cosα,可得
Ssx(k)+tanαSsz(k)=(A11-A13tanα)·
Ssx(k-N)+A12Ssy(k-N)secα+
(A11tanα+A13)Ssz(k-N)
(25)
另外,將式(22)的兩邊同時除以cosα,可得
Ssy(k)secα=(A21-A23tanα)Ssx(k-N)+
(A21tanα+A23)Ssz(k-N)+
A22Ssy(k-N)secα
(26)
令
(27)
由式(25)和式(26),可以得到如下的二元一次方程組
(28)
式中:
(29)
求解式(28)中的二元一次方程組,可得
(30)
由此,可得α的解析解為
(31)
考慮到太陽電池陣的轉(zhuǎn)角在衛(wèi)星應(yīng)急恢復(fù)過程中基本保持不變,可以采用如下模型描述太陽電池陣轉(zhuǎn)角:
α(k+1)=α(k)+w(k)
(32)
(33)
式中:v(k)為轉(zhuǎn)角估計誤差,假設(shè)其為均值為零、協(xié)方差為R的高斯白噪聲。聯(lián)立式(32)和式(33),可以得到如下的動態(tài)系統(tǒng):
(34)
基于式(34)中的動態(tài)系統(tǒng)模型,可采用卡爾曼濾波算法得到太陽電池陣轉(zhuǎn)角α(k)的估計,主要分為預(yù)測和校正兩個步驟,具體過程如下:
預(yù)測:
(35)
P(k|k-1)=P(k-1)+Q
(36)
校正:
(37)
K(k)=P(k|k-1)[P(k|k-1)+R]-1
(38)
P(k)=[1-K(k)]P(k|k-1)
(39)
本節(jié)首先通過數(shù)值仿真從理論上驗證了本文所提出方法的有效性,然后利用某在軌衛(wèi)星的遙測數(shù)據(jù)對所提方法進行了實際試驗,進一步驗證了方法的實用性。
為了對所提方法進行仿真驗證,需要生成衛(wèi)星的姿態(tài)角速度,并根據(jù)仿真得到的衛(wèi)星的姿態(tài)和設(shè)置的真實太陽電池陣轉(zhuǎn)角生成太陽電池陣坐標系下的太陽矢量,從而得到陀螺和太陽敏感器測量輸出的仿真值。然后,基于仿真得到的陀螺和太陽敏感器測量值,利用所提出的方法估計太陽電池陣的轉(zhuǎn)角。最后,將太陽電池陣轉(zhuǎn)角的估計值與生成仿真數(shù)據(jù)所用的真實值進行對比,即可驗證所提方法的有效性。
仿真中衛(wèi)星本體的姿態(tài)角速度[23]由以下的姿態(tài)動力學方程得到
(40)
式中:J為衛(wèi)星轉(zhuǎn)動慣量矩陣,單位為kg·m2;T是衛(wèi)星受到的外部作用力矩;ω×是如下形式的叉乘矩陣:
(41)
式(40)中的轉(zhuǎn)動慣量矩陣J采用如下參數(shù):
(42)
另外,由于考慮的是失控衛(wèi)星緊急恢復(fù)的情況,所以在仿真中,衛(wèi)星受到的外部力矩只有重力梯度力矩,具有如下形式:
(43)
(44)
仿真中衛(wèi)星的位置矢量和速度矢量采用二體運動方程計算:
(45)
(46)
仿真中,ω的初值設(shè)置為
(47)
根據(jù)式(40)生成衛(wèi)星的姿態(tài)角速度后,可用如下公式仿真陀螺的測量輸出:
ωg=ω+bg+vg
(48)
式中:bg和vg分別表示衛(wèi)星的常漂和測量噪聲,單位均為(°)/h。仿真中陀螺的常漂取為
(49)
陀螺的測量噪聲vg設(shè)置為均值為零、標準差為0.5(°)/h的高斯白噪聲。太陽電池陣轉(zhuǎn)角的真實值設(shè)置為α=30°,太陽電池陣坐標系下的太陽矢量由式(7)得到,其初值設(shè)置為
(50)
太陽敏感器的測量模型[25]可采用如下方程進行仿真:
(51)
式中:Δθ是由測量噪聲引起的測量偏差矩陣。Δθ具有如下形式:
Δθ=Rx(θ3)Ry(θ2)Rz(θ1)
式中:
(52)
式中:θ1,θ2,θ3都是零均值、3倍標準差為1°(3σ=1°)的高斯白噪聲信號。
在上述仿真設(shè)置下,可以得到如圖3和圖4所示的陀螺測量輸出和太陽敏感器測量輸出,其中的數(shù)據(jù)采樣時間間隔為Ts=0.5 s。
圖3 仿真得到的陀螺測量值Fig.3 Simulated measurements of the gyroscopes
圖4 仿真得到的太陽敏感器輸出Fig.4 Simulated measurements of the sun sensor output
圖5 太陽電池陣轉(zhuǎn)角估計結(jié)果Fig.5 Estimation results of the solar cell array rotation angle
本節(jié)通過某在軌衛(wèi)星的實際數(shù)據(jù)驗證本文所提方法的實用性。需要說明的是,由于衛(wèi)星應(yīng)急恢復(fù)狀態(tài)下的太陽電池陣轉(zhuǎn)角是不可測的,無法采用步計法測得太陽電池陣轉(zhuǎn)角,所以缺乏對轉(zhuǎn)角估計結(jié)果的驗證參考。為了測試所提算法的實際性能,本文將所提方法應(yīng)用于某衛(wèi)星的遙測數(shù)據(jù)進行方法驗證,根據(jù)安裝在星體上和太陽電池陣上的兩個太陽敏感器的測量值,可以得到太陽電池陣轉(zhuǎn)角的一個估計值,作為驗證本文所提出的太陽電池陣轉(zhuǎn)角估計算法的一個參考。
圖6給出了某衛(wèi)星星載陀螺測量輸出的一組遙測數(shù)據(jù),圖7給出了根據(jù)太陽敏感器測量輸出遙測數(shù)據(jù)得到的太陽矢量在太陽電池陣坐標系下的數(shù)值。需要注意的是,兩個太陽敏感器的遙測周期不同:陀螺測量遙測值的采樣時間間隔為0.5 s,太陽敏感器測量遙測值的采樣時間間隔為8 s。為了提高估計的準確性,在利用陀螺測量值計算相對姿態(tài)矩陣的過程中(式(12)~式(14)中的Ts),所用的Ts應(yīng)為0.5 s;在利用太陽敏感器的測量值計算太陽電池陣轉(zhuǎn)角的過程中(式(16)中的Ts),所用的Ts應(yīng)為8 s。
在太陽電池陣轉(zhuǎn)角估計方法中,選取N=10,即t2-t1=10×8 s=80 s。因此,算法從80 s后開始給出估計結(jié)果。采用所提出的方法估計出的太陽電池陣轉(zhuǎn)角估計值如圖8所示。
圖6 某在軌衛(wèi)星的陀螺遙測數(shù)據(jù)Fig.6 Telemetry data of the gyroscopes of an on-orbit satellite
圖7 根據(jù)某在軌衛(wèi)星的太陽敏感器遙測數(shù)據(jù)得到的太陽矢量Fig.7 The sun vector based on the telemetry data of the sun sensor of an on-orbit satellite
圖8 利用遙測數(shù)據(jù)得到的太陽電池陣轉(zhuǎn)角估計Fig.8 Solar cell array rotation angle estimation obtained by the telemetry data
本文針對衛(wèi)星應(yīng)急恢復(fù)過程中確定太陽電池陣相對于星體方位的問題,設(shè)計了一種簡便易行的太陽電池陣轉(zhuǎn)角估計方法,結(jié)論總結(jié)如下:
(1) 基于衛(wèi)星本體系和太陽電池陣坐標系的轉(zhuǎn)換關(guān)系以及衛(wèi)星的姿態(tài)運動學方程,求出了太陽電池陣轉(zhuǎn)角估計的解析形式。
(2) 考慮到太陽敏感器測量精度較低的問題,在太陽電池陣轉(zhuǎn)角解析解的基礎(chǔ)上,提出了一種基于卡爾曼濾波的估計方法,這種方法可以抑制測量噪聲的影響,提高轉(zhuǎn)角估計的準確性。
(3) 通過數(shù)值仿真和實際衛(wèi)星的遙測數(shù)據(jù)對本文所提出的方法進行了驗證,結(jié)果表明了該方法的有效性和實用性。另外,本文所設(shè)計的太陽電池陣轉(zhuǎn)角估計算法易于實現(xiàn)、計算量小,具有很好的工程應(yīng)用價值。