謝任遠,王北超,李爽,*,何益康,吳迪,孫朔冬
1.南京航空航天大學 航天學院,南京 211106 2.上海航天控制技術研究所,上海 201109
隨著小衛星技術的快速發展,微型化、高精度和高可靠性已成為衛星姿態控制的發展趨勢[1],這同時要求衛星姿態敏感器具備精度高、低功耗和質量輕等特性。壽命長、可靠性高、精度高以及智能自主控制部件的模塊化和微型化已成為未來衛星姿態控制技術的發展方向[2]。太陽敏感器是衛星姿態控制系統的關鍵組件,是航天領域中應用最廣泛的一類敏感器[3],它能夠獲取太陽在航天器坐標系中的方位信息。姿態敏感器常選用太陽等恒星作為定位參考。太陽的亮度較高且均勻,離地球也更近,這類姿態敏感器具備高精度、輕重量和低功耗特性。
目前,太陽敏感器主要包括0-1式、模擬式和數字式等[4]。0-1式太陽敏感器用于太陽捕獲、判斷衛星進入地影區以及安全模式。模擬式太陽敏感器能夠測量特定視場中太陽矢量相對于敏感器坐標系的方位,其精度一般在1°以內[6-8]。這類敏感器結構簡單、體積小、功耗低,雖然測量精度較低,但能滿足微小衛星的應用需求。
隨著衛星應用需求的不斷增長,由于模擬式太陽敏感器很難再進一步提升分辨率和測量精度,因此數字式太陽敏感器應運而生。早期的數字敏感器主要為碼盤式,即使用光學碼盤完成太陽光入射角的數字化編碼,但碼盤與電池片、處理電路與探測器的聯結工藝限制了碼盤式敏感器的應用[10]。隨后,研究者們開發了線陣式太陽敏感器,單一基片上的多個光電二極管陣列能夠集成動態移位寄存器。該敏感器結構簡單,但靈敏度低且噪聲大[11]。有源像素結構(active pixel structure,APS)是目前主流的高精度數字式太陽敏感器,通常采用CCD或CMOS作為探測器[12]。CCD圖像傳感器具備了高集成度、超低噪聲、高動態范圍等特性,在大視場中的精度可達0.01°。衛星小型化需求推動了敏感器的微型化,但CCD敏感器的質量和體積大且功耗較高[13]。相比之下,CMOS傳感器在集成度、功耗等方面具有很大優勢,更好地滿足太陽敏感器的小型化、模塊化需求,并具備較強的抗輻射能力,更適用于復雜空間環境[14]。
太陽敏感器旨在獲取衛星自身的姿態信息,保證敏感器的高精度和高可靠性是空間任務順利完成的前提。數字式太陽敏感器一般會在探測器上安裝玻璃層進行保護,并且在玻璃層和探測器之間充惰性氣體。由于玻璃層的存在,導致光線進入到探測器前會經過折射,則測量的結果存在誤差,而且隨著視場角的增大,光線折射會導致誤差隨之增大,而且該誤差與測量角度呈非線性關系,極大影響了太陽敏感器的測量精度[15]。本文開展了數字式太陽敏感器的精度提升研究,并通過實測數據驗證了方法的可行性與有效性。
數字式太陽敏感器通過測量太陽光線相對于空間飛行器本體軸或坐標平面之間的夾角,并提供給控制系統,從而確定衛星在空間中的姿態[16]。數字式太陽敏感器的工作原理為:太陽光線經數字式太陽敏感器的單孔光學濾光片,成像在圖像傳感器上形成光斑,太陽光的角度可由太陽光斑于探測器的相對中心位置的偏差計算得出。太陽光線入射從數字太陽敏感器濾光片至圖像傳感器像面的光路如圖1所示。

圖1 太陽光線在數字太陽敏感器中的光路Fig.1 Solar ray in digital sun sensor
太陽光進入敏感器后在A點形成光斑,經光斑提取可獲得質心坐標X,Y,并利用已知的探測器中心值(X0,Y0)獲得相對探測器原點的距離R。
(1)
根據產品標定的焦距h值,可得太陽光入射角α=atan(R/h)。進一步根據光斑坐標(x,y),可獲得太陽矢量在探測器的方位角β=atan(y/x)。則太陽矢量在太陽敏感器坐標系中的表達式為:

(2)
隨后,圖2給出了太陽角度的定義:1)X向太陽角:太陽光線矢量在YbObZb平面上的投影與ObZb軸的夾角,φ=atan(Ssy/Ssz);2)Y向太陽角:太陽光線矢量在XbObZb上的投影與ObZb軸的夾角,θ=atan(-Ssx/Ssz),根據右手法則確定姿態極性。

圖2 太陽敏感器在本體系中的角度定義Fig.2 Angle definition of sun sensor in this system
數字式太陽敏感器的誤差主要有:隨機誤差和系統誤差兩種。隨機誤差主要由光學鏡頭裝配精度和探測器噪聲引起。雖然隨機誤差無法徹底消除,但采用相應的手段可對誤差進行控制。系統誤差則是指用戶在使用數字式太陽敏感器中獲取角度的誤差,主要誤差是光學折射造成的。因為探測器表面有保護玻璃蓋片,導致光線經過空氣與玻璃兩種界質傳輸至探測器時存在折射,使得光斑存在偏離。
針對系統誤差,目前主要采用分段二元一次擬合法來校正誤差以提高精度。在地面將數字式太陽敏感器放在二維精密轉臺上,二維轉臺的輸入角度(ξ,η)與敏感器的輸出值(Xm,Ym)間的關系可通過測量獲得,隨后利用二元多次函數擬合測得的原始數據,再進行插值可得(ξXm,ηYm)。然后,系數a、b、c可根據一定的規則分組進行擬合后得到,并根據標定系數和敏感器測量值計算角度,經驗證兩軸角度可達到0.04°偏差的精度。本文從實際物理特性出發,利用光線傳播原理,給出了修正折射影響的非線性角度計算公式,從而獲得太陽光的真實入射角度。根據太陽敏感器產品實際的光學系統情況[17],光線至圖像傳感器的實際像面路徑如圖3所示。

圖3 太陽光線至傳感器的實際像面路徑Fig.3 Actual image surface path of solar ray to the sensor
經過折射后,在探測器上的成像光斑由A點移至B點,則使用原有計算方式計算的入射角將有較大誤差。考慮光線進出濾光片前后的太陽角度不變,且使用了小孔成像方式,因此真實入射角a1與光斑至原點距離的關系可表示為:

(3)
式中:H1表示濾光片下表面到玻璃蓋片上表面的距離;H2為玻璃蓋片的厚度;H3為玻璃蓋片下表面到探測器表面的距離;n1為真空折射率;n2為玻璃蓋片折射率;n3為惰性氣體折射率。由于惰性氣體的折射率很小,因此將n1和n3簡化均取為1,則上式簡化為:
(4)
該方程為非線性方程,在衛星實際在軌應用中不易求解,故使用牛頓迭代法和弦截法進行求解。
為求解式(4),構建如下的非線性方程
(H1+H3)tana1-R=0
(5)
式(4)不存在求根公式,求解精確根非常困難。因此,方程的近似根成為求解的重點。牛頓迭代法常用于方程近似根的求解,該方法能平方收斂于方程f(a1)=0的單根附近,已廣泛應用于計算機編程中。使用牛頓迭代法求解式(5),解的初值選用a11=atan(R/h),并在此處進行迭代

(6)
式中:
f(a1n)的導數為

(7)
經過三次迭代后可得到接近真值的入射角。
在牛頓迭代法中,需保證一階導數存在且不為0。在計算時需求解一階導數,在星上使用時計算耗時較長。因此,使用差商代替導數的弦截法進行計算。弦截法的原理是以直代曲,即用弦(直線)代替曲線求得方程的近似解。從幾何意義上而言,弦截法就是將牛頓迭代法的切線全部用割線替代。對牛頓迭代公式進行如下變形:

(8)
弦截法在計算時需要用到前兩步信息a1n-1和a1n,在首次計算時,直接選用a11=atan(R/h)為計算初值,在第二次計算時需用到a10。根據產品的固有特性,在太陽剛進入敏感器視場時,折射產生的偏差角度在幾度的量級,故取a10=a11+0.05(rad)。只用一次弦截法得到近似解誤差較大,可能不滿足精度要求,要根據第一次弦截法的結果進行多次迭代。后續計算可直接選用前兩次迭代計算后的值。
以某項目的產品參數及實測數據作為驗證的輸入,產品參數包含了H1、H2、H3、n2、X0、Y0,實測數據包含了光斑的質心坐標X、Y、衛星運行的軌道參數、衛星的姿態以及數字式太陽敏感器的安裝矩陣。運行這些參數可以獲得理論上的太陽光線在本體系下的矢量。使用太陽敏感器安裝矩陣可將敏感器獲取的太陽光矢量統一轉換到本體系中。
根據實測數據,獲取太陽光從進入敏感器視場到出敏感器視場的一系列質心坐標,通過質心坐標計算獲得太陽光矢量,最終獲得X向、Y向太陽角。同樣地,將獲得的理論太陽矢量計算得到X向、Y向太陽角。測量及理論的X向、Y向太陽角的曲線和誤差曲線如圖4和圖5所示。在無修正情況下,X向太陽角的平均誤差為3.805°,Y向太陽角的平均誤差為4.051°。視場角度與折射率導致的距離誤差成正相關,增大視場角度也會導致角度偏差變大。

圖4 無修正下X向太陽角及誤差Fig.4 X-direction solar angle and error without correction

圖5 無修正下Y向太陽角及誤差Fig.5 Y-direction solar angle and error without correction
根據3.1章節中同樣的實測質心坐標數據,通過折射率修正獲得修正后的入射角,再根據方位角獲得牛頓迭代法修正后X向太陽角、Y向太陽角。牛頓迭代修正后及理論的X向、Y向太陽角的曲線和誤差曲線如圖6~7所示。在牛頓迭代修正下,X向太陽角的平均誤差為0.017°,Y向太陽角的平均誤差為0.004°。顯然,通過折射率的牛頓迭代修正后,角度精度得到了極大提升。
在牛頓迭代法優化的基礎上,使用計算簡便的弦截法,同時給出設置前兩拍數據,計算修正后X向太陽角、Y向太陽角。弦截法迭代修正后及理論的X向、Y向太陽角的曲線和誤差曲線如圖8~9所示。在弦截迭代修正下,X向太陽角的平均誤差為0.017°,Y向太陽角的平均誤差為0.004°。使用弦截迭代修正后,角度精度同樣得到了極大提升。在迭代次數相同的條件下,簡化計算的弦截法與牛頓迭代法的精度一致。

圖8 弦截修正下X向太陽角及誤差Fig.8 X-direction solar angle and error with secant iteration correction

圖9 弦截修正下Y向太陽角及誤差Fig.9 Y-direction solar angle and error with secant iteration correction
本文以某衛星研制項目為背景,使用數字式太陽敏感器獲取衛星姿態角度。通過對系統誤差及角度計算原理的詳細分析,獲得了角度誤差公式。提出了修正折射影響的非線性角度計算公式,對非線性方程進行線性化計算處理,分別使用牛頓迭代法和弦截法計算角度。考慮實際在軌應用,給出了星上編程計算的實現方式。最后用產品實測數據進行了仿真驗證,兩種方法的計算精度相比于無修正情況均提升了約3.94°,相比于多元函數擬合提升了約0.02°,該方法用于精度提升的有效性和星上編程計算的可行性得以驗證。最后總結,各種計算方法的總體情況如下:
1)使用無修正方式計算角度最為簡單,但精度較差;
2)當迭代次數相同時,牛頓迭代法和弦截法的角度計算精度一致;
3)使用牛頓迭代法時,需要進行微分計算,耗時較大;
4)弦截法計算要用到三拍的數據,變量占用的空間較大。