謝任遠(yuǎn),王北超,李爽,*,何益康,吳迪,孫朔冬
1.南京航空航天大學(xué) 航天學(xué)院,南京 211106 2.上海航天控制技術(shù)研究所,上海 201109
隨著小衛(wèi)星技術(shù)的快速發(fā)展,微型化、高精度和高可靠性已成為衛(wèi)星姿態(tài)控制的發(fā)展趨勢(shì)[1],這同時(shí)要求衛(wèi)星姿態(tài)敏感器具備精度高、低功耗和質(zhì)量輕等特性。壽命長(zhǎng)、可靠性高、精度高以及智能自主控制部件的模塊化和微型化已成為未來(lái)衛(wèi)星姿態(tài)控制技術(shù)的發(fā)展方向[2]。太陽(yáng)敏感器是衛(wèi)星姿態(tài)控制系統(tǒng)的關(guān)鍵組件,是航天領(lǐng)域中應(yīng)用最廣泛的一類敏感器[3],它能夠獲取太陽(yáng)在航天器坐標(biāo)系中的方位信息。姿態(tài)敏感器常選用太陽(yáng)等恒星作為定位參考。太陽(yáng)的亮度較高且均勻,離地球也更近,這類姿態(tài)敏感器具備高精度、輕重量和低功耗特性。
目前,太陽(yáng)敏感器主要包括0-1式、模擬式和數(shù)字式等[4]。0-1式太陽(yáng)敏感器用于太陽(yáng)捕獲、判斷衛(wèi)星進(jìn)入地影區(qū)以及安全模式。模擬式太陽(yáng)敏感器能夠測(cè)量特定視場(chǎng)中太陽(yáng)矢量相對(duì)于敏感器坐標(biāo)系的方位,其精度一般在1°以內(nèi)[6-8]。這類敏感器結(jié)構(gòu)簡(jiǎn)單、體積小、功耗低,雖然測(cè)量精度較低,但能滿足微小衛(wèi)星的應(yīng)用需求。
隨著衛(wèi)星應(yīng)用需求的不斷增長(zhǎng),由于模擬式太陽(yáng)敏感器很難再進(jìn)一步提升分辨率和測(cè)量精度,因此數(shù)字式太陽(yáng)敏感器應(yīng)運(yùn)而生。早期的數(shù)字敏感器主要為碼盤式,即使用光學(xué)碼盤完成太陽(yáng)光入射角的數(shù)字化編碼,但碼盤與電池片、處理電路與探測(cè)器的聯(lián)結(jié)工藝限制了碼盤式敏感器的應(yīng)用[10]。隨后,研究者們開發(fā)了線陣式太陽(yáng)敏感器,單一基片上的多個(gè)光電二極管陣列能夠集成動(dòng)態(tài)移位寄存器。該敏感器結(jié)構(gòu)簡(jiǎn)單,但靈敏度低且噪聲大[11]。有源像素結(jié)構(gòu)(active pixel structure,APS)是目前主流的高精度數(shù)字式太陽(yáng)敏感器,通常采用CCD或CMOS作為探測(cè)器[12]。CCD圖像傳感器具備了高集成度、超低噪聲、高動(dòng)態(tài)范圍等特性,在大視場(chǎng)中的精度可達(dá)0.01°。衛(wèi)星小型化需求推動(dòng)了敏感器的微型化,但CCD敏感器的質(zhì)量和體積大且功耗較高[13]。相比之下,CMOS傳感器在集成度、功耗等方面具有很大優(yōu)勢(shì),更好地滿足太陽(yáng)敏感器的小型化、模塊化需求,并具備較強(qiáng)的抗輻射能力,更適用于復(fù)雜空間環(huán)境[14]。
太陽(yáng)敏感器旨在獲取衛(wèi)星自身的姿態(tài)信息,保證敏感器的高精度和高可靠性是空間任務(wù)順利完成的前提。數(shù)字式太陽(yáng)敏感器一般會(huì)在探測(cè)器上安裝玻璃層進(jìn)行保護(hù),并且在玻璃層和探測(cè)器之間充惰性氣體。由于玻璃層的存在,導(dǎo)致光線進(jìn)入到探測(cè)器前會(huì)經(jīng)過(guò)折射,則測(cè)量的結(jié)果存在誤差,而且隨著視場(chǎng)角的增大,光線折射會(huì)導(dǎo)致誤差隨之增大,而且該誤差與測(cè)量角度呈非線性關(guān)系,極大影響了太陽(yáng)敏感器的測(cè)量精度[15]。本文開展了數(shù)字式太陽(yáng)敏感器的精度提升研究,并通過(guò)實(shí)測(cè)數(shù)據(jù)驗(yàn)證了方法的可行性與有效性。
數(shù)字式太陽(yáng)敏感器通過(guò)測(cè)量太陽(yáng)光線相對(duì)于空間飛行器本體軸或坐標(biāo)平面之間的夾角,并提供給控制系統(tǒng),從而確定衛(wèi)星在空間中的姿態(tài)[16]。數(shù)字式太陽(yáng)敏感器的工作原理為:太陽(yáng)光線經(jīng)數(shù)字式太陽(yáng)敏感器的單孔光學(xué)濾光片,成像在圖像傳感器上形成光斑,太陽(yáng)光的角度可由太陽(yáng)光斑于探測(cè)器的相對(duì)中心位置的偏差計(jì)算得出。太陽(yáng)光線入射從數(shù)字太陽(yáng)敏感器濾光片至圖像傳感器像面的光路如圖1所示。
圖1 太陽(yáng)光線在數(shù)字太陽(yáng)敏感器中的光路Fig.1 Solar ray in digital sun sensor
太陽(yáng)光進(jìn)入敏感器后在A點(diǎn)形成光斑,經(jīng)光斑提取可獲得質(zhì)心坐標(biāo)X,Y,并利用已知的探測(cè)器中心值(X0,Y0)獲得相對(duì)探測(cè)器原點(diǎn)的距離R。
(1)
根據(jù)產(chǎn)品標(biāo)定的焦距h值,可得太陽(yáng)光入射角α=atan(R/h)。進(jìn)一步根據(jù)光斑坐標(biāo)(x,y),可獲得太陽(yáng)矢量在探測(cè)器的方位角β=atan(y/x)。則太陽(yáng)矢量在太陽(yáng)敏感器坐標(biāo)系中的表達(dá)式為:
(2)
隨后,圖2給出了太陽(yáng)角度的定義:1)X向太陽(yáng)角:太陽(yáng)光線矢量在YbObZb平面上的投影與ObZb軸的夾角,φ=atan(Ssy/Ssz);2)Y向太陽(yáng)角:太陽(yáng)光線矢量在XbObZb上的投影與ObZb軸的夾角,θ=atan(-Ssx/Ssz),根據(jù)右手法則確定姿態(tài)極性。
圖2 太陽(yáng)敏感器在本體系中的角度定義Fig.2 Angle definition of sun sensor in this system
數(shù)字式太陽(yáng)敏感器的誤差主要有:隨機(jī)誤差和系統(tǒng)誤差兩種。隨機(jī)誤差主要由光學(xué)鏡頭裝配精度和探測(cè)器噪聲引起。雖然隨機(jī)誤差無(wú)法徹底消除,但采用相應(yīng)的手段可對(duì)誤差進(jìn)行控制。系統(tǒng)誤差則是指用戶在使用數(shù)字式太陽(yáng)敏感器中獲取角度的誤差,主要誤差是光學(xué)折射造成的。因?yàn)樘綔y(cè)器表面有保護(hù)玻璃蓋片,導(dǎo)致光線經(jīng)過(guò)空氣與玻璃兩種界質(zhì)傳輸至探測(cè)器時(shí)存在折射,使得光斑存在偏離。
針對(duì)系統(tǒng)誤差,目前主要采用分段二元一次擬合法來(lái)校正誤差以提高精度。在地面將數(shù)字式太陽(yáng)敏感器放在二維精密轉(zhuǎn)臺(tái)上,二維轉(zhuǎn)臺(tái)的輸入角度(ξ,η)與敏感器的輸出值(Xm,Ym)間的關(guān)系可通過(guò)測(cè)量獲得,隨后利用二元多次函數(shù)擬合測(cè)得的原始數(shù)據(jù),再進(jìn)行插值可得(ξXm,ηYm)。然后,系數(shù)a、b、c可根據(jù)一定的規(guī)則分組進(jìn)行擬合后得到,并根據(jù)標(biāo)定系數(shù)和敏感器測(cè)量值計(jì)算角度,經(jīng)驗(yàn)證兩軸角度可達(dá)到0.04°偏差的精度。本文從實(shí)際物理特性出發(fā),利用光線傳播原理,給出了修正折射影響的非線性角度計(jì)算公式,從而獲得太陽(yáng)光的真實(shí)入射角度。根據(jù)太陽(yáng)敏感器產(chǎn)品實(shí)際的光學(xué)系統(tǒng)情況[17],光線至圖像傳感器的實(shí)際像面路徑如圖3所示。
圖3 太陽(yáng)光線至傳感器的實(shí)際像面路徑Fig.3 Actual image surface path of solar ray to the sensor
經(jīng)過(guò)折射后,在探測(cè)器上的成像光斑由A點(diǎn)移至B點(diǎn),則使用原有計(jì)算方式計(jì)算的入射角將有較大誤差??紤]光線進(jìn)出濾光片前后的太陽(yáng)角度不變,且使用了小孔成像方式,因此真實(shí)入射角a1與光斑至原點(diǎn)距離的關(guān)系可表示為:
(3)
式中:H1表示濾光片下表面到玻璃蓋片上表面的距離;H2為玻璃蓋片的厚度;H3為玻璃蓋片下表面到探測(cè)器表面的距離;n1為真空折射率;n2為玻璃蓋片折射率;n3為惰性氣體折射率。由于惰性氣體的折射率很小,因此將n1和n3簡(jiǎn)化均取為1,則上式簡(jiǎn)化為:
(4)
該方程為非線性方程,在衛(wèi)星實(shí)際在軌應(yīng)用中不易求解,故使用牛頓迭代法和弦截法進(jìn)行求解。
為求解式(4),構(gòu)建如下的非線性方程
(H1+H3)tana1-R=0
(5)
式(4)不存在求根公式,求解精確根非常困難。因此,方程的近似根成為求解的重點(diǎn)。牛頓迭代法常用于方程近似根的求解,該方法能平方收斂于方程f(a1)=0的單根附近,已廣泛應(yīng)用于計(jì)算機(jī)編程中。使用牛頓迭代法求解式(5),解的初值選用a11=atan(R/h),并在此處進(jìn)行迭代
(6)
式中:
f(a1n)的導(dǎo)數(shù)為
(7)
經(jīng)過(guò)三次迭代后可得到接近真值的入射角。
在牛頓迭代法中,需保證一階導(dǎo)數(shù)存在且不為0。在計(jì)算時(shí)需求解一階導(dǎo)數(shù),在星上使用時(shí)計(jì)算耗時(shí)較長(zhǎng)。因此,使用差商代替導(dǎo)數(shù)的弦截法進(jìn)行計(jì)算。弦截法的原理是以直代曲,即用弦(直線)代替曲線求得方程的近似解。從幾何意義上而言,弦截法就是將牛頓迭代法的切線全部用割線替代。對(duì)牛頓迭代公式進(jìn)行如下變形:
(8)
弦截法在計(jì)算時(shí)需要用到前兩步信息a1n-1和a1n,在首次計(jì)算時(shí),直接選用a11=atan(R/h)為計(jì)算初值,在第二次計(jì)算時(shí)需用到a10。根據(jù)產(chǎn)品的固有特性,在太陽(yáng)剛進(jìn)入敏感器視場(chǎng)時(shí),折射產(chǎn)生的偏差角度在幾度的量級(jí),故取a10=a11+0.05(rad)。只用一次弦截法得到近似解誤差較大,可能不滿足精度要求,要根據(jù)第一次弦截法的結(jié)果進(jìn)行多次迭代。后續(xù)計(jì)算可直接選用前兩次迭代計(jì)算后的值。
以某項(xiàng)目的產(chǎn)品參數(shù)及實(shí)測(cè)數(shù)據(jù)作為驗(yàn)證的輸入,產(chǎn)品參數(shù)包含了H1、H2、H3、n2、X0、Y0,實(shí)測(cè)數(shù)據(jù)包含了光斑的質(zhì)心坐標(biāo)X、Y、衛(wèi)星運(yùn)行的軌道參數(shù)、衛(wèi)星的姿態(tài)以及數(shù)字式太陽(yáng)敏感器的安裝矩陣。運(yùn)行這些參數(shù)可以獲得理論上的太陽(yáng)光線在本體系下的矢量。使用太陽(yáng)敏感器安裝矩陣可將敏感器獲取的太陽(yáng)光矢量統(tǒng)一轉(zhuǎn)換到本體系中。
根據(jù)實(shí)測(cè)數(shù)據(jù),獲取太陽(yáng)光從進(jìn)入敏感器視場(chǎng)到出敏感器視場(chǎng)的一系列質(zhì)心坐標(biāo),通過(guò)質(zhì)心坐標(biāo)計(jì)算獲得太陽(yáng)光矢量,最終獲得X向、Y向太陽(yáng)角。同樣地,將獲得的理論太陽(yáng)矢量計(jì)算得到X向、Y向太陽(yáng)角。測(cè)量及理論的X向、Y向太陽(yáng)角的曲線和誤差曲線如圖4和圖5所示。在無(wú)修正情況下,X向太陽(yáng)角的平均誤差為3.805°,Y向太陽(yáng)角的平均誤差為4.051°。視場(chǎng)角度與折射率導(dǎo)致的距離誤差成正相關(guān),增大視場(chǎng)角度也會(huì)導(dǎo)致角度偏差變大。
圖4 無(wú)修正下X向太陽(yáng)角及誤差Fig.4 X-direction solar angle and error without correction
圖5 無(wú)修正下Y向太陽(yáng)角及誤差Fig.5 Y-direction solar angle and error without correction
根據(jù)3.1章節(jié)中同樣的實(shí)測(cè)質(zhì)心坐標(biāo)數(shù)據(jù),通過(guò)折射率修正獲得修正后的入射角,再根據(jù)方位角獲得牛頓迭代法修正后X向太陽(yáng)角、Y向太陽(yáng)角。牛頓迭代修正后及理論的X向、Y向太陽(yáng)角的曲線和誤差曲線如圖6~7所示。在牛頓迭代修正下,X向太陽(yáng)角的平均誤差為0.017°,Y向太陽(yáng)角的平均誤差為0.004°。顯然,通過(guò)折射率的牛頓迭代修正后,角度精度得到了極大提升。
在牛頓迭代法優(yōu)化的基礎(chǔ)上,使用計(jì)算簡(jiǎn)便的弦截法,同時(shí)給出設(shè)置前兩拍數(shù)據(jù),計(jì)算修正后X向太陽(yáng)角、Y向太陽(yáng)角。弦截法迭代修正后及理論的X向、Y向太陽(yáng)角的曲線和誤差曲線如圖8~9所示。在弦截迭代修正下,X向太陽(yáng)角的平均誤差為0.017°,Y向太陽(yáng)角的平均誤差為0.004°。使用弦截迭代修正后,角度精度同樣得到了極大提升。在迭代次數(shù)相同的條件下,簡(jiǎn)化計(jì)算的弦截法與牛頓迭代法的精度一致。
圖8 弦截修正下X向太陽(yáng)角及誤差Fig.8 X-direction solar angle and error with secant iteration correction
圖9 弦截修正下Y向太陽(yáng)角及誤差Fig.9 Y-direction solar angle and error with secant iteration correction
本文以某衛(wèi)星研制項(xiàng)目為背景,使用數(shù)字式太陽(yáng)敏感器獲取衛(wèi)星姿態(tài)角度。通過(guò)對(duì)系統(tǒng)誤差及角度計(jì)算原理的詳細(xì)分析,獲得了角度誤差公式。提出了修正折射影響的非線性角度計(jì)算公式,對(duì)非線性方程進(jìn)行線性化計(jì)算處理,分別使用牛頓迭代法和弦截法計(jì)算角度。考慮實(shí)際在軌應(yīng)用,給出了星上編程計(jì)算的實(shí)現(xiàn)方式。最后用產(chǎn)品實(shí)測(cè)數(shù)據(jù)進(jìn)行了仿真驗(yàn)證,兩種方法的計(jì)算精度相比于無(wú)修正情況均提升了約3.94°,相比于多元函數(shù)擬合提升了約0.02°,該方法用于精度提升的有效性和星上編程計(jì)算的可行性得以驗(yàn)證。最后總結(jié),各種計(jì)算方法的總體情況如下:
1)使用無(wú)修正方式計(jì)算角度最為簡(jiǎn)單,但精度較差;
2)當(dāng)?shù)螖?shù)相同時(shí),牛頓迭代法和弦截法的角度計(jì)算精度一致;
3)使用牛頓迭代法時(shí),需要進(jìn)行微分計(jì)算,耗時(shí)較大;
4)弦截法計(jì)算要用到三拍的數(shù)據(jù),變量占用的空間較大。