吳峰,朱錫芳,許清泉
(1.常州工學(xué)院電子信息與電氣工程學(xué)院,江蘇 常州 213002;2.常州工學(xué)院光電工程學(xué)院,江蘇 常州 213002)
準(zhǔn)確測量姿態(tài)是航天器順利飛行的重要保障,星敏感器是目前精度最高的一種姿態(tài)測量儀器,其工作過程包括星空成像、星像提取、星圖識別、姿態(tài)估算、最終輸出姿態(tài)。光學(xué)系統(tǒng)設(shè)計(jì)、星像提取、導(dǎo)航星優(yōu)選、導(dǎo)航星星庫構(gòu)建、星圖識別、姿態(tài)估算等技術(shù)是星敏感器研究的關(guān)鍵。研究星敏感器技術(shù),改善其性能,對提高星敏感器系統(tǒng)的設(shè)計(jì)質(zhì)量和運(yùn)行具有重要意義。
研究星敏感器技術(shù),需要大量的星圖來驗(yàn)證部分關(guān)鍵技術(shù)的可行性和性能,算法程序的開發(fā)、調(diào)試、性能評估以及地面試驗(yàn)[1]同樣需要一定數(shù)量的星圖。然而,所需星圖未必都能通過實(shí)際拍攝得到,因此通過計(jì)算機(jī)程序設(shè)計(jì)獲取模擬星圖成為一個(gè)捷徑。
在國內(nèi),哈爾濱工業(yè)大學(xué)從上世紀(jì)90年代開始就利用計(jì)算機(jī)模擬CCD拍攝的星空圖片,開展軟件調(diào)試和地面實(shí)驗(yàn)的研究。[2-3]2000年,中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究所研制成功了星敏感器星像模擬軟件,該軟件具有模擬基本成像環(huán)境的功能,所得數(shù)字星圖在星圖識別算法研究中效果顯著。[4]2009年,北京航空航天大學(xué)報(bào)道了利用光線追跡產(chǎn)生星空經(jīng)過光學(xué)系統(tǒng)成像,獲得模擬星圖的研究情況。[5]
本文在分析星敏感器成像過程的基礎(chǔ)上,給出了一種利用ZEMAX光學(xué)設(shè)計(jì)軟件,通過擴(kuò)展編程開展星圖模擬的方法,建立星圖模擬系統(tǒng)。與其他方法相比,該方法成本低、易于實(shí)現(xiàn),設(shè)計(jì)得到的星圖模擬系統(tǒng)能提供豐富多樣的數(shù)據(jù),操作簡單,對全面評估星敏感器光學(xué)系統(tǒng)像質(zhì)、研究星像提取、星圖識別、導(dǎo)航星優(yōu)選等算法以及星敏感器標(biāo)定技術(shù)具有重要的指導(dǎo)意義。
ZEMAX軟件具有強(qiáng)大的設(shè)計(jì)和分析光學(xué)系統(tǒng)的功能,通過光線追跡,可確定物點(diǎn)經(jīng)過已知光學(xué)系統(tǒng)后的成像,評估光學(xué)系統(tǒng)的成像質(zhì)量。本文星圖模擬的基本思路是:將光學(xué)系統(tǒng)視場內(nèi)的恒星作為物面信息,利用ZEMAX軟件光線追跡功能,獲取像面信息,輸出星圖。由于星圖模擬中物面信息的輸入和星圖輸出無法由ZEMAX軟件自動完成,因此必須利用其接口通過編程實(shí)現(xiàn),建立外部程序,擴(kuò)展該軟件的功能。外部程序和ZEMAX軟件之間建立通信鏈路,實(shí)現(xiàn)數(shù)據(jù)的相互交換。當(dāng)外部程序存儲到ZEMAX目錄中時(shí),可以被ZEMAX軟件調(diào)用。星圖模擬過程如圖1所示。
第一,為獲得當(dāng)前光學(xué)系統(tǒng)視場內(nèi)的觀測星,預(yù)先根據(jù)星敏感器極限星等,對天文星表進(jìn)行星過濾處理,建立觀測星星庫,星庫保存觀測星的星號、星等、赤經(jīng)、赤緯等數(shù)據(jù),并按赤緯值升序存儲各觀測星數(shù)據(jù)。
圖1 模擬星圖流程
第二,外部程序根據(jù)當(dāng)前光軸在慣性坐標(biāo)系中的指向(αc、δc),從觀測星星庫中提取視場內(nèi)的觀測星數(shù)據(jù),計(jì)算觀測星在本體坐標(biāo)系中X和Y方向的入射角XFLD和YFLD,并將其作為物面信息傳遞給ZEMAX軟件。
第三,ZEMAX軟件通過光線追跡,完成成像,并把光線到達(dá)像面的位置坐標(biāo)(x,y)以及能量f(x,y)傳遞給外部程序。
第四,外部程序計(jì)算星圖中每個(gè)像元的灰度,輸出數(shù)字星圖。
根據(jù)當(dāng)前光軸指向確定視場中的觀測星,此過程稱為觀測星的提取[6],實(shí)現(xiàn)步驟如下:
首先,對選定的光軸指向(αc、δc),挑選出觀測星星庫中坐標(biāo)(α,δ)滿足|δ-δc|≤wm的星,其中wm表示像面探測器對角線對應(yīng)的視場角。
其次,為了進(jìn)一步篩選,將這些挑選所得星的坐標(biāo)從慣性坐標(biāo)系轉(zhuǎn)換到本體坐標(biāo)系。設(shè)觀測星S在慣性坐標(biāo)系和本體坐標(biāo)系中的方向余弦矢量分別為Vi和Vb,其中:
對光軸指向(αc、δc),可按一定方式旋轉(zhuǎn)慣性坐標(biāo)系得到本體坐標(biāo)系。如圖2所示,慣性坐標(biāo)系先繞Z軸由+X軸向+Y軸旋轉(zhuǎn)αc,得到X'Y'Z'坐標(biāo)系,新坐標(biāo)系再繞Y'軸由+Z'軸向+X'軸旋轉(zhuǎn)90°- δc,得到 X″Y″Z″坐標(biāo)系,該坐標(biāo)系繞 Z″軸旋轉(zhuǎn)φ,得到本體坐標(biāo)系XbYbZb。
由此,觀測星在本體坐標(biāo)系中的方向余弦矢 量Vb為:
其中,φ由本體坐標(biāo)系Xb、Yb軸的實(shí)際指向決定,當(dāng)取Xb軸與經(jīng)線相切、指向赤緯減小的方向,Yb與緯線相切、指向赤經(jīng)增加的方向時(shí),φ=0。
圖2 慣性坐標(biāo)系與本體坐標(biāo)系的旋轉(zhuǎn)關(guān)系
最后,計(jì)算它們的視場角,并確定當(dāng)前觀測星是否出現(xiàn)在視場中。將星敏感器光學(xué)系統(tǒng)視為理想光學(xué)系統(tǒng),以物方和像方主面表示。為簡化討論,設(shè)本體坐標(biāo)系XbYbZb建立在光學(xué)系統(tǒng)之上,如圖3所示。其中,H和H'表示物方和像方主點(diǎn),也是節(jié)點(diǎn),XFLD和YFLD分別為觀測星在Xb,Yb方向上的視場角,由圖3得到:
如果光學(xué)系統(tǒng)在Xb,Yb方向上的最大視場角為wA和wB,只有滿足:
此時(shí),恒星才能被觀測到。通過式(4)篩選得到當(dāng)前視場中的觀測星,同時(shí)也得到它們的視場角XFLD、YFLD。
圖3 計(jì)算觀測星在當(dāng)前視場中的位置示意圖
利用ZEMAX的光線追跡功能完成恒星成像。對當(dāng)前視場中每顆觀測星,在光譜范圍內(nèi)作光線追跡,得到它們經(jīng)光學(xué)系統(tǒng)的成像。每束光線代表了一份能量,光線應(yīng)均勻分布,將入瞳按正方形網(wǎng)格劃分,選取經(jīng)過入瞳中心和入瞳內(nèi)網(wǎng)格點(diǎn)的光線參與成像。
經(jīng)過光線追跡,光線到達(dá)像面的位置坐標(biāo)為(x,y)。星敏感器的探測器以像元為基本單元,像面經(jīng)過采樣而離散[7],由(x,y)確定光線所達(dá)到的探測器像元。
為存儲每個(gè)像元的星像數(shù)據(jù),需定義一個(gè)與探測器尺寸相匹配的矩陣變量,矩陣的每個(gè)元素分別存儲對應(yīng)像元的星像信息。然而,由于星像區(qū)域只占像面的一小部分,星圖的大部分區(qū)域是暗的,該矩陣的大部分元素?cái)?shù)據(jù)值為0,且計(jì)算過程中并未用到,因此使用三元組結(jié)構(gòu)稀疏矩陣存儲星圖數(shù)據(jù),以節(jié)約內(nèi)存。三元組結(jié)構(gòu)定義如下:
其中,row、col、value分別記錄矩陣中非0元素的行號、列號、數(shù)值。整個(gè)星圖存儲到式(6)定義的結(jié)構(gòu)中。
其中,MAXSIZE為一個(gè)預(yù)定義的常數(shù),星像像元數(shù)最多不超過MAXSIZE,data記錄每個(gè)星像像元的位置和灰度,m、n為星圖的總行數(shù)和總列數(shù),t為星像總像元數(shù)。
稀疏矩陣starmap按照BMP位圖格式輸出。每個(gè)像元的灰度取值范圍為0~255,即8位。設(shè)定當(dāng)前星圖中最亮像元的灰度值為255,其他像元按其灰度與最亮像元灰度的比值規(guī)化處理。
通過擴(kuò)展編程,建立星圖模擬系統(tǒng),輸出界面如圖4所示,其中圖4(a)為星圖顯示窗口,給出星圖模擬結(jié)果,圖4(b)為文本窗口,顯示觀測星和星像數(shù)據(jù),修改外部程序代碼,可根據(jù)需要輸出數(shù)據(jù)。本文給出的星圖模擬方法在星敏感器技術(shù)研究中有以下方面的應(yīng)用。
圖4 星圖模擬系統(tǒng)的輸出界面
星敏感器光學(xué)系統(tǒng)總存在像差,其中影響姿態(tài)測量精度的主要是畸變和倍率色差,它們使主光線與像面的交點(diǎn)偏離理想位置。設(shè)理想星像在本體坐標(biāo)系中的坐標(biāo)為(x0,y0,-f),實(shí)際求得的星像質(zhì)心在本體坐標(biāo)系中的坐標(biāo)為(xb,yb,-f),定義這兩位置相對于像方主點(diǎn)H'的夾角為星像質(zhì)心偏移角,即:
該值表征了光學(xué)系統(tǒng)對姿態(tài)測量誤差的影響。通過星圖模擬,計(jì)算各個(gè)視場星像的x0,y0和xb,yb,從而計(jì)算出質(zhì)心偏移角,還可以計(jì)算當(dāng)像面位置移動以及溫度變化時(shí)質(zhì)心偏移角變化情況。[8]星圖模擬程序能用于定量地評價(jià)光學(xué)系統(tǒng)像差、安裝誤差、溫度變化對測姿精度的影響。
光學(xué)系統(tǒng)對星空的成像經(jīng)過探測器采樣,成為數(shù)字星圖。即使觀測星理想成像,星像能量分布在采樣前后也會發(fā)生變化,引起星像提取得到的星像位置存在一定誤差。星圖模擬程序能提供觀測星理想像的質(zhì)心坐標(biāo),并以文本方式輸出數(shù)據(jù)。而利用星像提取算法處理對應(yīng)星圖[9],能得到星像坐標(biāo)的計(jì)算值。
當(dāng)在ZEMAX中設(shè)置光學(xué)系統(tǒng)為理想系統(tǒng)時(shí),運(yùn)用本文星圖模擬方法,修改外部程序代碼,開發(fā)用于產(chǎn)生隨機(jī)視軸指向模擬星圖的蒙特卡羅模擬程序,并以BMP文件輸出大量隨機(jī)指向模擬星圖,同時(shí)提供觀測星數(shù)據(jù)。按上述方法處理星圖,得到觀測星位置的理想值和計(jì)算值,兩者之差的RMS值即可作為星像提取的精度,即:
其中,n表示總星數(shù),第i個(gè)星像的位置理想坐標(biāo)和測量坐標(biāo)為(xi0,yi0)、(xib,yib)。
同時(shí),每幅星圖經(jīng)過星像提取處理后,將計(jì)算所得的星像位置坐標(biāo)輸給星圖識別和姿態(tài)估算程序,統(tǒng)計(jì)星圖識別成功率和姿態(tài)精度,從而考察星像提取算法對星圖識別的影響。
當(dāng)ZEMAX中采用實(shí)際光學(xué)系統(tǒng)時(shí),通過多項(xiàng)式擬合,建立星像質(zhì)心坐標(biāo)理想值和測量值之間的函數(shù)關(guān)系,對誤差進(jìn)行標(biāo)定。[10]將實(shí)際測量值代入擬合公式,擬合值用于星圖識別和姿態(tài)估算,減少探測器采樣和星像提取誤差對測量精度的影響。誤差標(biāo)定后,星像位置誤差明顯減小,如圖7所示。
圖5 標(biāo)定前后星像位置與理想位置的偏離
優(yōu)選導(dǎo)航星和星圖識別等算法的建立和程序設(shè)計(jì)難度大、過程繁雜。當(dāng)需要查找程序出錯(cuò)原因時(shí),星圖模擬程序可輸出指定極限星等、指定方位、指定視場大小天區(qū)中恒星的位置、星號、星等等信息,以一種特例的方式檢查程序執(zhí)行中的數(shù)據(jù)是否正確,有助于快速開展程序調(diào)試。
星像提取、星圖識別和姿態(tài)估算程序處理這些模擬星圖,輸出測量姿態(tài)。通過統(tǒng)計(jì)星圖識別成功率以及姿態(tài)誤差,驗(yàn)證導(dǎo)航星優(yōu)選算法和星圖識別算法的有效性,星圖模擬方法為評價(jià)算法性能提供了便利。
星圖模擬是一種為星敏感器研究提供星圖數(shù)據(jù)的快捷途徑,利用ZEMAX軟件接口,通過擴(kuò)展編程,設(shè)計(jì)星圖模擬程序,獲取數(shù)字星圖。該方法簡單易行,程序設(shè)計(jì)工作量小,計(jì)算復(fù)雜性低。星圖模擬程序功能強(qiáng)大,可以提供理想星像位置和實(shí)際星像位置以定量評價(jià)光學(xué)系統(tǒng)像質(zhì),并根據(jù)這些數(shù)據(jù)標(biāo)定星像提取誤差,提高測姿精度。星圖模擬方法為全面評價(jià)優(yōu)選導(dǎo)航星算法和星圖識別算法性能提供了充足的星圖數(shù)據(jù),降低了這些算法的程序調(diào)試難度,提高了程序調(diào)試速度。
注:本研究受江蘇省高?!扒嗨{(lán)工程”資助。
[1]魏新國,張廣軍,樊巧云,等.利用仿真星圖的星敏感器地面功能測試方法[J].紅外與激光工程,2008,37(6):1087 -1091.
[2]張鈞萍,林濤.一種模擬CCD星圖的方法[J].中國空間科學(xué)技術(shù),1999,19(3):46 -50.
[3]許世文,鐘奉金,王均生.實(shí)時(shí)星圖模擬器方案設(shè)想[J].航天器環(huán)境工程,1995(1):12-14.
[4]郝勝國,郝志航.星敏感器星像模擬軟件的研究[J].光學(xué)精密工程,2000,8(3):208 -212.
[5]Yang Yande,Wang Jiangyun,Zhu Yutong.Highprecision Simulation of Star Map Using Forward Ray Tracing Method[C]//ICEMI'09.9th International Conference on Digital Object Identifier,[S.l].Proceedings of IEEE,2009:3541 -3544.
[6]饒才杰,房建成.一種星圖模擬中觀測星提取的方法[J].光學(xué)精密工程,2004,12(2):129 -135.
[7]李葆華,馬衍宇,劉睿,等.適用于星敏感器的預(yù)測未知恒星星像質(zhì)心算法[J].光學(xué)精密工程,2009,17(1):191 -195.
[8]吳峰,沈?yàn)槊瘢捎脭U(kuò)展外部編程方法優(yōu)化設(shè)計(jì)APS星敏感器光學(xué)系統(tǒng)[J].紅外與激光工程,2010,39(3):506 -511.
[9]原玉磊,鄭勇.一種大視場星圖星點(diǎn)提取的閾值算法[J].海洋測繪,2011,31(5):41 -43.
[10]王安國,王華斌,唐君,等.基于星圖自動辨識的光學(xué)系統(tǒng)精確標(biāo)定方法[J].電子學(xué)報(bào),2011,39(3):575 -578.