何益康, 張文瀚, 王振華,*, 何 聞
(1. 浙江大學浙江省先進制造技術重點實驗室, 浙江 杭州 310027;2. 上海航天控制技術研究所, 上海 201109;3. 哈爾濱工業大學航天學院,黑龍江 哈爾濱 150001)
衛星電源系統為衛星平臺及載荷設備提供能源,是衛星不可或缺的重要組成部分[1]。星上的供電方式主要分為蓄電池供電和太陽電池陣供電兩種[1]。衛星在發射段、星箭分離、太陽電池陣展開、陰影區運行等過程中只能依靠蓄電池供電,但是蓄電池供電不能長時間維持,因此,在衛星的長期在軌運行過程中,太陽電池陣是衛星的主要電力來源[2-3]。
衛星的太陽電池陣可以大致分為體裝式和展開式兩種[2-3]。體裝式太陽電池陣布置在航天器表面,有球形體裝式和柱形體裝式等構型。體裝式太陽電池陣受航天器表面積的限制,發電功率十分有限,因此主要在早期的衛星和一些微小衛星中使用。展開式太陽電池陣的一端安裝在星體上,可以在衛星發射段收攏、在入軌后展開。展開式太陽電池陣是目前衛星采用的主流配置[4-9]。很多展開式太陽電池陣配備了太陽電池陣驅動組件,可以驅動太陽電池陣的法線方向跟蹤太陽矢量,盡量獲得最佳的太陽入射條件,從而提高電能獲取效率[10-13]。
太陽電池陣作為衛星電源系統的關鍵設備,是衛星生存及可靠運行的基本保障[4,14-15]。一旦衛星出現異常,首要任務是控制衛星的姿態,使得太陽電池陣持續對日,從而確保衛星的能源,為后續故障處理、地面干預爭取時間[16-19]。在對衛星實施對日指向控制前,需要先確定衛星的運動狀態[20],尤其是太陽電池陣相對于太陽和星體的方位,否則可能會出現衛星的姿態調整使得太陽電池陣的法線方向偏離太陽入射矢量的問題,影響太陽電池陣光照條件。若蓄電池不可用,則會導致衛星異常狀態進一步擴散。雖然具備驅動組件的展開式太陽電池陣與體裝式電池陣相比,具有光照利用率高、供電功率大等優點,但是在衛星發生在軌異常的情況下,太陽電池陣驅動組件的轉動會增加衛星應急恢復的復雜性。一種比較嚴重的在軌異常情況是衛星蓄電池供電環節在太陽電池陣供電環境沒有建立的條件下出現異常,衛星會瞬間掉電并失去聯系[21]。在這種情況下,只有等到太陽光照到太陽電池陣時,衛星才會重新上電,地面才會再次收到遙測信號。目前,太陽電池陣常采用步進電機驅動[11],轉動角度采用步記法,在衛星掉電后無法確定太陽電池陣相對于衛星本體的轉動角度。針對這一問題,最簡單的方案是利用星敏感器給出衛星本體的姿態,然后再結合太陽電池陣上的太陽敏感器的輸出確定太陽電池陣相對于星體的方位,但在衛星異常狀態下,衛星處于非正常姿態,星敏感器很可能難以提供可靠的測量信號[22]。
針對上述問題,本文提出了一種利用星載陀螺和太陽電池陣上的太陽敏感器的測量值確定太陽電池陣相對于星體方位的方法。本文所提出方法的主要創新性可總結如下:
首先,據了解,目前尚沒有在太陽電池陣轉角零位失效的情況下可進行太陽電池陣轉角估計的有效方法,本文利用星載陀螺和太陽敏感器的測量數據給出了太陽電池陣轉角估計的一種解析形式。
其次,考慮到太陽敏感器的測量精度不高,在轉角解析估計值的基礎上,本文提出了一種基于卡爾曼濾波的提高轉角估計精度的算法。該算法能夠有效提升太陽電池陣轉動角度估計的準確性,為后續對日定向控制提供必要的信息基礎。
最后,本文所提出的太陽電池陣轉角估計方法只需要使用星載陀螺、太陽敏感器部件,以及簡單的數學運算和卡爾曼濾波算法,硬件需求量小,算法復雜度低,易于工程應用。
在太陽電池陣轉角估計中,主要涉及到兩個坐標系:衛星本體坐標系和太陽電池陣坐標系。這兩個坐標系的示意圖如圖1所示。

圖1 衛星本體和太陽電池陣坐標系Fig.1 Coordinate frames of satellite body and solar cell array
衛星本體坐標系和太陽電池陣坐標系的具體定義如下:
(1) 衛星本體坐標系ObXbYbZb:該坐標系與衛星本體固連,原點Ob位于衛星質心處,ObXb軸指向衛星的飛行方向,ObZb軸垂直指向地心,ObYb軸與ObXb軸和ObZb軸構成右手坐標系。
(2) 太陽電池陣坐標系OsXsYsZs:該坐標系與太陽電池陣固連,原點Os位于太陽電池陣和衛星的連接點處,OsZs軸指向太陽電池陣貼片面法線方向,OsYs軸為太陽電池陣驅動軸,OsXs軸與OsYs軸和OsZs軸構成右手坐標系。
在衛星運行過程中,太陽電池陣會繞其驅動軸轉動。在本文中,為了符號顯示簡單,假設太陽電池陣的驅動軸與衛星本體坐標系的Y軸重合(對于太陽電池陣的驅動軸與衛星本體坐標系的Y軸不重合的情況,由于太陽電池陣的安裝方式是已知的,可以通過一個坐標變換得到本文所考慮的情況)。因此,太陽電池陣繞衛星本體坐標系的Y軸轉動,如圖2所示,轉動角度記為α。

圖2 太陽電池陣轉動角度示意圖Fig.2 Illustration diagram of solar cell array rotation angle
在衛星應急恢復過程中,需要知道太陽電池陣的轉動角α,以便控制太陽電池陣的對日方位。假設在衛星應急恢復過程中,太陽電池陣的轉角不變,即α是常值。安裝在太陽電池陣上的太陽敏感器可以測量出太陽矢量在太陽電池陣坐標系下的位置S(t)(為了符號簡單,本文假設太陽敏感器與太陽電池陣的坐標系一致),星上的陀螺可以測量出衛星本體坐標系的角速度ω(t)。本文的目的是利用太陽敏感器和陀螺的測量值估計出太陽電池陣相對于衛星本體坐標系的轉角α。
考慮到太陽電池陣繞著本體坐標系Y軸轉動α角度,故衛星本體坐標系和太陽電池陣坐標系下的太陽矢量之間會存在對應的轉換關系。同時,不同時刻的太陽電池陣坐標系下的太陽矢量也會隨著衛星本體姿態的相對運動存在轉換關系,且這種轉換關系可以通過衛星的姿態角速度反映出來。考慮太陽電池陣坐標系下的太陽矢量和衛星姿態角速度可測的情況,通過結合這兩種轉換關系,便可以實現對太陽電池陣轉角的估計,這就是太陽電池陣轉角估計的基本原理。本節將對該基本原理進行具體介紹。
衛星本體坐標系下的太陽矢量記為Sb(t),太陽電池陣坐標系下的太陽矢量記為Ss(t),由于太陽電池陣相對衛星本體坐標系的Y軸轉動,轉動角度為α,所以Sb(t)和Ss(t)滿足如下關系
Ss(t)=RαSb(t)
(1)
式中:Rα是從衛星本體坐標系到太陽電池陣坐標系的旋轉矩陣。
(2)

(3)
考慮到衛星的姿態運動,衛星本體坐標系下的太陽矢量Sb(t)滿足如下關系:
Sb(t2)=AΔSb(t1)
(4)
式中:AΔ是描述Δt=t2-t1時間段內衛星姿態運動的方向余弦矩陣。
根據式(3)可得
(5)
將式(5)代入式(4)可得
(6)
再將式(6)代入式(1),可得t1時刻和t2時刻的太陽矢量Ss(t1)和Ss(t2)具有如下關系:
(7)
采用四元數描述衛星的姿態運動[23],可以將AΔ寫成如下形式:
(8)

考慮到AΔ描述的是Δt=t2-t1內衛星的相對姿態運動[23],故q(Δt)滿足如下的運動學方程:
(9)

(10)
由于式(9)描述的是相對姿態,所以其在Δt=0時有:
(11)
衛星本體的姿態角速度ω(t)可以由陀螺測得,因此對于給定的t1和t2時刻,可以利用式(9)~式(11)計算出相對姿態運動矩陣A(q(Δt))。在計算出AΔ后,式(7)就只剩太陽電池陣轉角α一個未知量,故可以根據式(7)求解太陽電池陣轉角α,這就是本文實現太陽電池陣轉角估計的基本原理。
第2節介紹了太陽電池陣轉角估計的基本原理,即:基于衛星本體坐標系和太陽電池陣坐標系的關系、衛星的姿態運動學方程、衛星姿態角速度數據和太陽矢量數據構建出了式(7)中的等式關系,并利用該等式關系確定出太陽電池陣轉角的解析解。但是,針對在實際工程應用中如何依據式(7)中的等式關系以及衛星姿態角速度數據和太陽矢量數據來估計太陽電池陣轉角,并沒有做出詳細介紹。因此,本節主要介紹基本原理的具體應用過程,即太陽電池陣轉角估計方法。
考慮到在實際工程中,算法均為離散化實現,為了得到式(7)的離散時間形式,需要先將式(9)中的衛星姿態運動學方程離散化為如下形式[24]:
(12)
式中:Ts為采樣時間間隔。為了表達簡便,略去kTs中的Ts,將式(12)寫成如下形式:
(13)
另外,根據歐拉公式[24]可得
(14)

將式(14)代入式(13)可得
(15)
即為衛星姿態運動學方程的離散傳播形式。
令
(16)
則式(7)成為如下的離散化形式:
(17)
式中:
(18)
(19)
為了根據式(17)求解太陽電池陣轉角α,將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)


考慮到太陽電池陣的轉角在衛星應急恢復過程中基本保持不變,可以采用如下模型描述太陽電池陣轉角:
α(k+1)=α(k)+w(k)
(32)


(33)
式中:v(k)為轉角估計誤差,假設其為均值為零、協方差為R的高斯白噪聲。聯立式(32)和式(33),可以得到如下的動態系統:

(34)
基于式(34)中的動態系統模型,可采用卡爾曼濾波算法得到太陽電池陣轉角α(k)的估計,主要分為預測和校正兩個步驟,具體過程如下:
預測:

(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)


本節首先通過數值仿真從理論上驗證了本文所提出方法的有效性,然后利用某在軌衛星的遙測數據對所提方法進行了實際試驗,進一步驗證了方法的實用性。
為了對所提方法進行仿真驗證,需要生成衛星的姿態角速度,并根據仿真得到的衛星的姿態和設置的真實太陽電池陣轉角生成太陽電池陣坐標系下的太陽矢量,從而得到陀螺和太陽敏感器測量輸出的仿真值。然后,基于仿真得到的陀螺和太陽敏感器測量值,利用所提出的方法估計太陽電池陣的轉角。最后,將太陽電池陣轉角的估計值與生成仿真數據所用的真實值進行對比,即可驗證所提方法的有效性。
仿真中衛星本體的姿態角速度[23]由以下的姿態動力學方程得到
(40)
式中:J為衛星轉動慣量矩陣,單位為kg·m2;T是衛星受到的外部作用力矩;ω×是如下形式的叉乘矩陣:
(41)
式(40)中的轉動慣量矩陣J采用如下參數:

(42)
另外,由于考慮的是失控衛星緊急恢復的情況,所以在仿真中,衛星受到的外部力矩只有重力梯度力矩,具有如下形式:
(43)

(44)
仿真中衛星的位置矢量和速度矢量采用二體運動方程計算:
(45)


(46)
仿真中,ω的初值設置為

(47)
根據式(40)生成衛星的姿態角速度后,可用如下公式仿真陀螺的測量輸出:
ωg=ω+bg+vg
(48)
式中:bg和vg分別表示衛星的常漂和測量噪聲,單位均為(°)/h。仿真中陀螺的常漂取為
(49)
陀螺的測量噪聲vg設置為均值為零、標準差為0.5(°)/h的高斯白噪聲。太陽電池陣轉角的真實值設置為α=30°,太陽電池陣坐標系下的太陽矢量由式(7)得到,其初值設置為
(50)
太陽敏感器的測量模型[25]可采用如下方程進行仿真:
(51)
式中:Δθ是由測量噪聲引起的測量偏差矩陣。Δθ具有如下形式:
Δθ=Rx(θ3)Ry(θ2)Rz(θ1)
式中:
(52)
式中:θ1,θ2,θ3都是零均值、3倍標準差為1°(3σ=1°)的高斯白噪聲信號。
在上述仿真設置下,可以得到如圖3和圖4所示的陀螺測量輸出和太陽敏感器測量輸出,其中的數據采樣時間間隔為Ts=0.5 s。

圖3 仿真得到的陀螺測量值Fig.3 Simulated measurements of the gyroscopes

圖4 仿真得到的太陽敏感器輸出Fig.4 Simulated measurements of the sun sensor output


圖5 太陽電池陣轉角估計結果Fig.5 Estimation results of the solar cell array rotation angle
本節通過某在軌衛星的實際數據驗證本文所提方法的實用性。需要說明的是,由于衛星應急恢復狀態下的太陽電池陣轉角是不可測的,無法采用步計法測得太陽電池陣轉角,所以缺乏對轉角估計結果的驗證參考。為了測試所提算法的實際性能,本文將所提方法應用于某衛星的遙測數據進行方法驗證,根據安裝在星體上和太陽電池陣上的兩個太陽敏感器的測量值,可以得到太陽電池陣轉角的一個估計值,作為驗證本文所提出的太陽電池陣轉角估計算法的一個參考。
圖6給出了某衛星星載陀螺測量輸出的一組遙測數據,圖7給出了根據太陽敏感器測量輸出遙測數據得到的太陽矢量在太陽電池陣坐標系下的數值。需要注意的是,兩個太陽敏感器的遙測周期不同:陀螺測量遙測值的采樣時間間隔為0.5 s,太陽敏感器測量遙測值的采樣時間間隔為8 s。為了提高估計的準確性,在利用陀螺測量值計算相對姿態矩陣的過程中(式(12)~式(14)中的Ts),所用的Ts應為0.5 s;在利用太陽敏感器的測量值計算太陽電池陣轉角的過程中(式(16)中的Ts),所用的Ts應為8 s。
在太陽電池陣轉角估計方法中,選取N=10,即t2-t1=10×8 s=80 s。因此,算法從80 s后開始給出估計結果。采用所提出的方法估計出的太陽電池陣轉角估計值如圖8所示。

圖6 某在軌衛星的陀螺遙測數據Fig.6 Telemetry data of the gyroscopes of an on-orbit satellite

圖7 根據某在軌衛星的太陽敏感器遙測數據得到的太陽矢量Fig.7 The sun vector based on the telemetry data of the sun sensor of an on-orbit satellite

圖8 利用遙測數據得到的太陽電池陣轉角估計Fig.8 Solar cell array rotation angle estimation obtained by the telemetry data
本文針對衛星應急恢復過程中確定太陽電池陣相對于星體方位的問題,設計了一種簡便易行的太陽電池陣轉角估計方法,結論總結如下:
(1) 基于衛星本體系和太陽電池陣坐標系的轉換關系以及衛星的姿態運動學方程,求出了太陽電池陣轉角估計的解析形式。
(2) 考慮到太陽敏感器測量精度較低的問題,在太陽電池陣轉角解析解的基礎上,提出了一種基于卡爾曼濾波的估計方法,這種方法可以抑制測量噪聲的影響,提高轉角估計的準確性。
(3) 通過數值仿真和實際衛星的遙測數據對本文所提出的方法進行了驗證,結果表明了該方法的有效性和實用性。另外,本文所設計的太陽電池陣轉角估計算法易于實現、計算量小,具有很好的工程應用價值。