孫銘坤,張寧
(1.長春理工大學(xué) 光電工程學(xué)院,長春 130022;2.長春理工大學(xué) 光電測控與光信息傳輸技術(shù)教育部重點實驗室,長春 130022)
近年來,中國的航空航天事業(yè)在政府的大力支持下不斷發(fā)展,在航天器領(lǐng)域的相關(guān)研究達到了相當(dāng)規(guī)模和水平。對于空間中運行的飛行器,姿態(tài)是描述其運行軌跡和運動指向的重要參數(shù),也是飛行器自主完成飛行任務(wù)的必要前提[1]。如何獲取穩(wěn)定的、高精度的、實時的飛行器當(dāng)前姿態(tài)成為待解決的問題。目標模擬器為解決這一問題提供了有效途徑。而動態(tài)星圖顯示系統(tǒng)作為其核心技術(shù)也得到越來越多的關(guān)注。
目前,中國的一些科研機構(gòu)已經(jīng)開展了對動態(tài)目標模擬器的研究,其中動態(tài)目標模擬器為功能檢測型模擬器,目的是在地面進行星圖模擬,所產(chǎn)生的實時星圖應(yīng)與待測星敏感期工作狀態(tài)相匹配,從而對星圖識別算法進行功能測試[2]。目前,對動態(tài)目標模擬器工程方面的需求已發(fā)展為大市場,高精度,小型化,高性價比等需要。在此,本文進行了動態(tài)目標模擬器星圖顯示系統(tǒng)的設(shè)計,針對當(dāng)前的需求,提出系統(tǒng)設(shè)計的相關(guān)理論和方法。
動態(tài)目標模擬器主要由目標模擬器頭部、目標模擬器控制計算機系統(tǒng)、導(dǎo)軌和調(diào)整機構(gòu)、電纜等部分組成。
由動力學(xué)仿真計算機發(fā)送當(dāng)前目標(星)的姿態(tài)信息,并轉(zhuǎn)換成光軸指向,然后從子星表中按照規(guī)定的視場大小提取出符合條件的目標(星),讀取每顆星的赤經(jīng),赤緯及星等數(shù)據(jù),并分別進行坐標變換和星等灰度變換,最后將這些目標(星)點以二維圖像的形式送至空間光調(diào)制器(LCOS)進行顯示。星圖經(jīng)過準直光學(xué)系統(tǒng)調(diào)制后成平行光出射,在測試相機的入曈處成像,以此來實現(xiàn)目標(星)的空間分布模擬。動態(tài)目標模擬器各組成部分之間的相互關(guān)系如圖1所示。
圖1 動態(tài)目標模擬器各組成部分之間的組成關(guān)系
由目標模擬器工作原理可知,目標模擬器控制計算機產(chǎn)生的星圖要在顯示器和LCOS上同時顯示。因此計算機要提供兩個視頻輸出接口,同時為了減小目標模擬器的體積和重量,起關(guān)鍵作用的星圖顯示器件必須小型化,故本文中用到項目已經(jīng)選定好的LCOS器件和華碩公司的STRIX-GTX950顯卡。LCOS主要參數(shù)如表1所示。
表1 LCOS參數(shù)表
星圖顯示及接口點路原理圖如圖2所示,圖中虛線部分為液晶驅(qū)動電路,LCOS是利用硅基液晶技術(shù),在基板上內(nèi)置液晶驅(qū)動電路,圖中實線部分為接口電路,采用可編程門陣列(FPGA)作專用集成電路,提高了目標圖傳輸?shù)乃俣群蜏蚀_性。
圖2 目標圖顯示及接口點路原理圖
星圖顯示及接口電路的工作原理是:視頻接口控制器分為數(shù)字和模擬部分。數(shù)字部分包括用于邏輯控制和數(shù)據(jù)的專用集成電路及數(shù)據(jù)存儲用的緩沖器。模擬部分包括像素時鐘發(fā)生器,視頻放大器,A/D轉(zhuǎn)換器和模擬電壓源等。將模擬部分放在接口控制器的前面,接受目標發(fā)生器電控系統(tǒng)硬件及接口電路的設(shè)計VGR視頻信號并轉(zhuǎn)換成數(shù)字格式,同步信號和時鐘也是這部分提供。數(shù)字部分提供所有的時鐘控制信號及LCOS和控制器之間的視頻數(shù)據(jù)管理。數(shù)字化的視頻數(shù)據(jù)被存儲在緩沖區(qū)內(nèi),并連續(xù)地送到LCOS上完成控制。
衛(wèi)星姿態(tài),就是衛(wèi)星在空間中相對于某一個空間坐標系的坐標或是指向,常用歐拉角或四元數(shù)[2-4]作為姿態(tài)參數(shù)來表達[5]。在本文中主要研究的是動態(tài)測量問題,應(yīng)用四元數(shù)理論可以把復(fù)雜問題簡單化,所以有關(guān)的光軸指向問題就是用四元數(shù)解決的。
設(shè)目標控制計算機接收的四元數(shù)為p=(p1,p2,p3,p4)T,則方向余弦矩陣為:
若三個軸在±90°之間取值,則四元數(shù)到歐拉角的轉(zhuǎn)換公式為:
式中,Aij為(1)中矩陣的元素。
由視軸在天球坐標系下的坐標,可以得出光軸的指向:
動態(tài)目標模擬器的算法核心就是天體坐標到二維平面坐標的轉(zhuǎn)換。在此有兩個坐標系:描述天體的天球坐標系和測量相機的本體坐標系。令O-UVW表示天球坐標系,O′-XYZ表示本體坐標系,如圖3所示。O在地球的中心,O′在相機光學(xué)系統(tǒng)的光心。兩個坐標系原點不同,因此由天球坐標系向平面坐標系的轉(zhuǎn)換,需要利用坐標平移和坐標軸旋轉(zhuǎn)來實現(xiàn)。由于恒星距離地球非常遙遠,所以對于恒星方位角來說,無需考慮坐標平移帶來的誤差。坐標之間的關(guān)系由獨立的歐拉角α,β,γ就可以確定。已知視軸在天球坐標系下的坐標為(ε0,δ0),在旋轉(zhuǎn)模式下可得α=90°-δ0,β=90°+ε0則坐標轉(zhuǎn)換后的目標(星)點的坐標為:
圖3 XYZ直角坐標系與UVW坐標系
其中,W—LCOS上每行的像素個數(shù);H—LCOS上每列的像素個數(shù);X0—X方向上的視場角;Y0—Y方向上的視場角;(X,Y)—LCOS平面上目標點的位置(像素)。
經(jīng)過坐標變換可以得到模擬的目標點坐標,同時還要進行星等的灰度模擬,即模擬不同恒星在星空中的亮暗程度。星等灰度模擬主要是通過線性變換把視場內(nèi)的觀測星的星等r轉(zhuǎn)換為灰度m。星等較小則對應(yīng)的亮度會較大。計算機有256個灰度級,則m的范圍為0-255。2等星的灰度為255。根據(jù)“星等每次下降一個灰度級,亮度會提高為前一等星的2.512倍”的關(guān)系,可得星等r與m之間的關(guān)系式為:
在MFC中可以用COLORREF RGB函數(shù)來設(shè)置目標點的亮暗程度。如果為2等星,根據(jù)公式(6)可得到m的值為255,即函數(shù)的參數(shù)可設(shè)為RGB(255,255,255);3等星,則m=101,RGB(101,101,101),4、5、6等星以此類推。同時需要用MFC中的CBrush類把目標圖顯示對話框的客戶區(qū)設(shè)置為黑色來模擬星空。
由于指標中要求的視場是≥22°,若按照22°的視場和選取的LCOS有效尺寸等參數(shù)來計算,顯然視場是不夠的,所以這里采用兩片拼接的方法來增大視場角。
準直光學(xué)系統(tǒng)的焦距由設(shè)計指標中視場的要求和拼接后有效發(fā)光相面尺寸確定:
式中,B為LCOS有效發(fā)光尺寸,θ為視場角,f′為準直光學(xué)系統(tǒng)焦距
則可得出準直光學(xué)系統(tǒng)的焦距f′為40.90mm。
已知LCOS的單個像元尺寸為7.95μm,像素為2048*1536,總有效尺寸為16.8mm*12.6mm,則兩塊拼接的有效尺寸為16.8mm*25.2mm。
若單個像元為一個星點,則根據(jù)LCOS像素點尺寸和準直物鏡的焦距,則可計算出單星張角α為:
通過式(8)得出α=38.88″≤42"滿足設(shè)計要求。
本設(shè)計在Visual C++2013開發(fā)環(huán)境下,采用基于對話框的MFC設(shè)計,主要實現(xiàn)在三個不同模式下顯示目標星圖的功能。三個模式分別為靜態(tài)顯示模式,動態(tài)顯示模式,數(shù)據(jù)回放模式。說明如表2所示。
表2 模式與功能說明列表
軟件系統(tǒng)主要包括幾個功能模塊,各模塊之間關(guān)系如圖4所示。
圖4 模塊之間關(guān)系圖
(1)初始化模塊:初始化主要針對主控制界面上的控件的初始化及各個子對話框的初始化和數(shù)據(jù)的初始化,同時完成通信接口設(shè)置。
(2)通信模塊:主要完成動力學(xué)仿真計算機與主計算機之間的通信與數(shù)據(jù)傳輸,接收數(shù)據(jù)并在一個循環(huán)結(jié)束后向仿真計算機發(fā)送結(jié)束標志。在此模塊中主要應(yīng)用網(wǎng)絡(luò)通信中的UDP通信協(xié)議,因為UDP協(xié)議在傳輸過程中延遲小,數(shù)據(jù)傳輸效率高,雖然可能會丟失數(shù)據(jù),但是對于目標姿態(tài)數(shù)據(jù)來說,即使丟失幾個也可滿足模擬的條件。并采用客戶機/服務(wù)器模型,即動力學(xué)仿真計算機可看作服務(wù)器端,主控制計算機可看作客戶端,通信模型如圖5所示。
圖5 通信模型圖
(3)導(dǎo)航星選擇模塊:此模塊主要完成根據(jù)視場的要求,結(jié)合式(3)確定的光軸指向,在子星表中找到符合要求的導(dǎo)航星。
(4)坐標變換模塊:對動力學(xué)仿真計算機發(fā)送過來的數(shù)據(jù),完成從子星表中的目標數(shù)據(jù)轉(zhuǎn)換為二維平面坐標的轉(zhuǎn)換,即兩次坐標轉(zhuǎn)換,第一次得到導(dǎo)航目標矢量在目標發(fā)生器坐標系中以方向余弦表示的坐標;第二次得到在模擬器液晶顯示屏上以像元表示的位置。
(5)數(shù)據(jù)回放模塊:此模塊主要實現(xiàn)目標圖的記錄和回放功能。通過輸入起始時間和結(jié)束時間來回放保存在文本文件中的此時間段內(nèi)的目標圖。
(6)目標圖顯示模塊:此模塊主要結(jié)合以上模塊實時輸出目標圖。在目標發(fā)生器液晶顯示屏上顯示目標圖且在動態(tài)模式下具有刷新功能。
軟件主程序流程如圖6所示。
圖6 軟件主流程圖
動態(tài)目標模擬器控制軟件首先進行初始化,然后輸入IP地址和端口進行基于UDP通信協(xié)議的網(wǎng)絡(luò)連接。開始通信并接收數(shù)據(jù),判斷數(shù)據(jù)是否有誤及是否傳輸完成,完成則彈出消息對話框顯示完成,否則繼續(xù)。然后數(shù)據(jù)進行兩次坐標變換并存儲在自定義路徑和文件名的文件中,最后把得到的數(shù)據(jù)在星圖顯示模塊中顯示。在靜態(tài)模式中,可手動輸入星點數(shù)據(jù)顯示星圖。在回放模式下,可以通過輸入確定的時間來顯示一段時間內(nèi)的星圖。
根據(jù)以上設(shè)計得出的結(jié)果星圖如圖7所示。
圖7 動態(tài)模式下顯示的星圖
由圖7所示系統(tǒng)得出的目標圖基本達到預(yù)期效果,但是在動態(tài)目標發(fā)生器的各項指標中,星間角距作為一項重要指標,由于其存在系統(tǒng)誤差和隨機誤差,可能會影響系統(tǒng)的精度,如何消除各方面的誤差,這也是以后研究的方向。
本文設(shè)計了動態(tài)目標模擬器星圖顯示仿真系統(tǒng),該系統(tǒng)可以實現(xiàn)在靜態(tài)模式,動態(tài)模式和回放模式下顯示星圖的功能。主要介紹了該系統(tǒng)所涉及的理論方法和系統(tǒng)的硬件及軟件設(shè)計,其結(jié)果和系統(tǒng)設(shè)計相關(guān)指標達到了系統(tǒng)預(yù)期,該系統(tǒng)實現(xiàn)了星圖顯示的高動態(tài)性,結(jié)構(gòu)小型化設(shè)計。但是對于影響系統(tǒng)的主要指標—星間角距和星等的檢測還不夠,實際做出的系統(tǒng)精度還有誤差,這也對以后的研究和改進提供了方向。綜上所述,該系統(tǒng)的設(shè)計提高了動態(tài)目標模擬器的整體水平,同時對其相關(guān)領(lǐng)域的研究也具有參考價值。