高凡,王彥良,陳富強(qiáng),吳薇,何家琦,白天琦
(1.鄭州師范學(xué)院,河南 鄭州 450053;2.河南省地質(zhì)礦產(chǎn)勘查開發(fā)局測繪地理信息院,河南 鄭州 450006)
我國航天衛(wèi)星事業(yè)迅猛發(fā)展,越來越多的衛(wèi)星發(fā)射升空;但人們對衛(wèi)星的了解大多源于書面文字、新聞報(bào)道等層面,不夠直觀和立體。本文基于Super-Map iDesktop 9D軟件設(shè)計(jì)并實(shí)現(xiàn)了衛(wèi)星虛擬仿真系統(tǒng),可幫助人們直觀研究衛(wèi)星軌道控制和仿真。自20世紀(jì)50年代以來,美國已開始對衛(wèi)星軌道控制和仿真進(jìn)行研究。Winorbit是美國為研究衛(wèi)星軌道跟蹤和預(yù)報(bào)而設(shè)計(jì)開發(fā)的一款實(shí)時計(jì)算衛(wèi)星位置并使用二維地圖顯示衛(wèi)星軌跡和覆蓋區(qū)域的軟件系統(tǒng)[1]。該系統(tǒng)采用二維的方式進(jìn)行展示,在視覺上并不能對航天器、地球和太陽的時空關(guān)系,航天器的瞬時姿態(tài)以及位置上的轉(zhuǎn)變進(jìn)行直觀反映,視覺效果呈現(xiàn)較差;還需有牢固的專業(yè)知識背景才可順利解讀,因此并未被廣泛應(yīng)用。Satellite Tool Kit(STK)由美國Analytical Graphics公司研發(fā),被世界多國航天專家應(yīng)用于衛(wèi)星系統(tǒng)工程的設(shè)計(jì)、制造、發(fā)射和運(yùn)行的過程中。作為一款具有商業(yè)化性質(zhì)的航天衛(wèi)星系統(tǒng)分析軟件,STK可幫助用戶快速了解空間飛行任務(wù)中多學(xué)科交叉內(nèi)容,能十分便捷地幫助用戶制定飛行計(jì)劃,分析飛行任務(wù)和衛(wèi)星實(shí)時的機(jī)動情況[2]。通過該軟件系統(tǒng),用戶僅需設(shè)置各類運(yùn)動物體的相關(guān)參數(shù)即可快速地對任務(wù)過程進(jìn)行模擬和顯示;再根據(jù)軟件生成的相關(guān)數(shù)據(jù)報(bào)告和圖片表格開展任務(wù)分析,從而得出最佳的解決方案。然而,由于STK是商業(yè)軟件,價格十分昂貴;且STK未公開源代碼,因此不能自主進(jìn)行軟件的二次開發(fā),進(jìn)而適應(yīng)和滿足國內(nèi)部分衛(wèi)星飛行方案中的特殊要求。
我國航天科技工作者在理論與實(shí)踐中形成了多種衛(wèi)星軌道控制與仿真方法,從不同角度探索了衛(wèi)星的最優(yōu)飛行路線,也開發(fā)了許多仿真系統(tǒng)。本文根據(jù)已獲取的TLE數(shù)據(jù),計(jì)算得到衛(wèi)星在地慣坐標(biāo)系下的瞬時坐標(biāo),再將瞬時坐標(biāo)轉(zhuǎn)換為地固坐標(biāo)系下的坐標(biāo),最后利用SuperMap iDesktop 9D創(chuàng)建軌道數(shù)據(jù)集,添加坐標(biāo)點(diǎn)要素,連接坐標(biāo)點(diǎn),形成衛(wèi)星軌道。通過該軟件的二次開發(fā),將3ds格式的衛(wèi)星模型加載到場景中,并動態(tài)設(shè)置坐標(biāo),實(shí)現(xiàn)衛(wèi)星在軌運(yùn)轉(zhuǎn)的可視化。
衛(wèi)星軌道根數(shù)用于描述衛(wèi)星運(yùn)轉(zhuǎn)的參數(shù)信息。研究衛(wèi)星運(yùn)動狀態(tài)的6個參數(shù)(軌道半長軸a、軌道偏心率e、軌道傾角i、升交點(diǎn)赤經(jīng)Ω、近地點(diǎn)幅角ω、真近地點(diǎn)角f),簡稱衛(wèi)星軌道六根數(shù)[3]。通過軌道六根數(shù)可確定衛(wèi)星在軌道上的位置和速度等參數(shù)[3-4]。
時間系統(tǒng)是衛(wèi)星定位和測量過程中的一個重要概念,在本系統(tǒng)中涉及任意時刻協(xié)調(diào)世界時與儒略日的轉(zhuǎn)換,以便計(jì)算格林尼治平恒星時。
本系統(tǒng)中采用兩個不同的參考系:①地心地固坐標(biāo)系,坐標(biāo)原點(diǎn)為地心,如圖1所示;②地心慣性坐標(biāo)系,坐標(biāo)原點(diǎn)為地球質(zhì)心[5],如圖2所示。
圖1 地心地固坐標(biāo)系
圖2 地心慣性坐標(biāo)系
在計(jì)算衛(wèi)星位置和速度之前,需對各坐標(biāo)系進(jìn)行坐標(biāo)轉(zhuǎn)換。由TLE數(shù)據(jù)計(jì)算得到的衛(wèi)星坐標(biāo)是地心慣性坐標(biāo)系下的大地直角坐標(biāo),而SuperMap iDesktop 9D中采用的是地心地固坐標(biāo)系下的地理坐標(biāo),因此需首先將計(jì)算得到的地心慣性坐標(biāo)系下的大地直角坐標(biāo)轉(zhuǎn)換為地心地固坐標(biāo)系下的大地直角坐標(biāo),再將地心地固坐標(biāo)系下的大地直角坐標(biāo)轉(zhuǎn)換為地心地固坐標(biāo)系下的地理坐標(biāo)。坐標(biāo)轉(zhuǎn)換前,需先計(jì)算衛(wèi)星位于該坐標(biāo)點(diǎn)時刻的儒略日,再根據(jù)儒略日計(jì)算得到恒星時角,最終根據(jù)恒星時角進(jìn)行坐標(biāo)轉(zhuǎn)換。
在衛(wèi)星軌道計(jì)算中,首先需將公歷表示的年、月、日表示為儒略日,轉(zhuǎn)換公式為:
式中,[]為取整;JD為轉(zhuǎn)換后的儒略日;Y為公歷年份;M為公歷月份;D為公歷日;h為小時數(shù);m為分鐘數(shù);s為秒數(shù)[6]。
計(jì)算得到儒略日后,再利用儒略日計(jì)算得到儒略世紀(jì),進(jìn)而計(jì)算得到格林尼治平恒星時。其計(jì)算公式為:
式中,T為儒略世紀(jì)[4]。
首先利用格林尼治平恒星時計(jì)算格林尼治視恒星時角,再利用格林尼治視恒星時角將地慣坐標(biāo)系轉(zhuǎn)換為地固坐標(biāo)系,最后將地固坐標(biāo)系轉(zhuǎn)換為地理坐標(biāo)系。其計(jì)算公式為:
式中,Δψ為黃經(jīng)章動;Λ為月亮軌道對黃道平均升交點(diǎn)的黃經(jīng);T為歷元J2000起算的儒略世紀(jì)數(shù)[5];εA為平黃赤交角。
地心慣性坐標(biāo)系與地心地固坐標(biāo)系的轉(zhuǎn)換公式為:
地心地固坐標(biāo)系與地理坐標(biāo)系的轉(zhuǎn)換公式為:
式中,N為基準(zhǔn)橢球體的卯酉圓曲率半徑;e為橢球偏心率。
通過SuperMap桌面端iDesktop建立三維地球場景,利用iObject.NET和Visual Studio 2012進(jìn)行二次開發(fā),具體包括加載衛(wèi)星模型、繪制衛(wèi)星軌道和衛(wèi)星模型的人機(jī)交互等步驟,最終形成完整的系統(tǒng)。系統(tǒng)設(shè)計(jì)流程為首先根據(jù)獲取的TLE數(shù)據(jù)計(jì)算衛(wèi)星所必需的軌道要素,逐個計(jì)算得到衛(wèi)星在某時刻的位置點(diǎn);然后連接各位置點(diǎn)形成三維軌道線;再將衛(wèi)星模型加載到三維模型可視化線上;最后實(shí)現(xiàn)衛(wèi)星在軌運(yùn)行過程的可視化。通過鼠標(biāo)點(diǎn)擊選取衛(wèi)星模型,采用氣泡的方法展示衛(wèi)星的具體信息,實(shí)現(xiàn)人機(jī)交互,如圖3所示。
圖3 系統(tǒng)設(shè)計(jì)流程圖
3.2.1 衛(wèi)星仿真系統(tǒng)的可視化環(huán)境
SuperMap iDesktop 9D是一款桌面GIS應(yīng)用與開發(fā)軟件,幾乎涵蓋了常規(guī)的GIS功能(如iServer服務(wù)發(fā)布、自動化制圖、空間分析、網(wǎng)絡(luò)分析、地圖發(fā)布、海圖模塊等)以及現(xiàn)有的較專業(yè)的工具功能,且還支持?jǐn)U展開發(fā)[7]。系統(tǒng)基于SuperMap iDesktop 9D軟件提供的三維地球場景,完成可視化環(huán)境的創(chuàng)建,并實(shí)現(xiàn)初始化處理、加載3ds衛(wèi)星模型、繪制衛(wèi)星軌道等功能。系統(tǒng)采用Visual Studio 2012平臺進(jìn)行二次開發(fā),不僅可以自由瀏覽查詢衛(wèi)星信息,還可以通過控制按鈕設(shè)置自定義的觀察視角,最終實(shí)現(xiàn)衛(wèi)星、發(fā)射場地、衛(wèi)星運(yùn)行軌道的可視化和信息查詢。
3.2.2 衛(wèi)星軌道三維虛擬仿真的實(shí)現(xiàn)
在衛(wèi)星虛擬仿真系統(tǒng)中,地球三維模型的建立是一項(xiàng)基礎(chǔ)且重要的工作。系統(tǒng)以SuperMap iDesktop 9D軟件的球面場景為地球三維模型進(jìn)行研究。系統(tǒng)程序是基于面向?qū)ο笥?jì)算開發(fā)的,開發(fā)語言為C#,編程環(huán)境為Microsoft公司的Visual Studio 2012,配置環(huán)境為SuperMap iObject.NET。系統(tǒng)實(shí)現(xiàn)的具體步驟為:
1)三維模型建立。利用3ds Max創(chuàng)建衛(wèi)星模型和衛(wèi)星發(fā)射基地模型,通過Photoshop修改貼圖,并與衛(wèi)星原圖進(jìn)行細(xì)致比較,制作較逼真的衛(wèi)星模型和衛(wèi)星發(fā)射基地模型,如圖4、5所示。
圖4 衛(wèi)星發(fā)射基地三維模型
圖5 衛(wèi)星三維模型
2)開發(fā)環(huán)境配置。在SuperMap iDesktop 9D桌面端軟件中創(chuàng)建新的工作空間(Satellite.SWMU),右鍵單擊場景菜單,建立新的球面場景,命名為satellite。配置iObject.NET環(huán)境,安裝SuperMap Visual Studio 2012工具包,利用Visual Studio 2012建立C#項(xiàng)目,進(jìn)行桌面端SuperMap iDesktop 9D的二次開發(fā),鏈接工作空間。
3)衛(wèi)星軌道可視化的實(shí)現(xiàn)。
首先計(jì)算不同時間下的衛(wèi)星瞬時坐標(biāo),衛(wèi)星在軌運(yùn)行時位置隨時間的變化而改變,因此將時間設(shè)置為變量,計(jì)算不同時間下的衛(wèi)星瞬時坐標(biāo)。將時間步長TimeStep設(shè)置為1 d,BeginTime設(shè)置為獲取電腦本地時間_time64(NULL),為了減少計(jì)算機(jī)數(shù)據(jù)處理量,End-Time設(shè)置為BeginTime+1,則位置點(diǎn)個數(shù)NumPoints=int(3 600×24(dEndTime-dBeginTime)/dTimeStep)。計(jì)算衛(wèi)星瞬時位置的關(guān)鍵在于,計(jì)算參數(shù)真近點(diǎn)角(True-Perigee),由此計(jì)算得到不同時間下的衛(wèi)星位置點(diǎn)坐標(biāo)。
在計(jì)算TruePerigee時,需運(yùn)用偏近點(diǎn)角(Bias-Perigee)和平近點(diǎn)角(FlatPerigee)兩個輔助參數(shù)。其計(jì)算公式為:
通過對應(yīng)公式計(jì)算得到地慣坐標(biāo)系的位置點(diǎn)坐標(biāo)。其計(jì)算公式為:
上述計(jì)算得到的點(diǎn)坐標(biāo)為地心慣性坐標(biāo)系下的大地直角坐標(biāo),需將其轉(zhuǎn)換為地心地固坐標(biāo)系下的大地直角坐標(biāo),再將地心地固坐標(biāo)系下的大地直角坐標(biāo)轉(zhuǎn)換為地理坐標(biāo)。
然后繪制三維軌道線,將轉(zhuǎn)換后的點(diǎn)坐標(biāo)導(dǎo)入point3ds中;再將point3ds加載到geoline3D上,并設(shè)置三維線的顏色、寬度以及海拔;最后把三維線加載到Scene中實(shí)現(xiàn)三維線的可視化。
4)模型加載與衛(wèi)星在軌運(yùn)行可視化實(shí)現(xiàn)。將3ds格式的衛(wèi)星模型加載到三維線上,并設(shè)置模型運(yùn)動周期,實(shí)現(xiàn)衛(wèi)星在軌運(yùn)行可視化。導(dǎo)入不同衛(wèi)星的TLE數(shù)據(jù),即可計(jì)算不同衛(wèi)星的軌道,并加載對應(yīng)的衛(wèi)星模型實(shí)現(xiàn)三維可視化,如圖6所示。
圖6 衛(wèi)星加載示意圖
5)衛(wèi)星信息顯示。在系統(tǒng)中通過鼠標(biāo)單擊選取衛(wèi)星模型可彈出對應(yīng)的衛(wèi)星信息,該交互通過氣泡方式實(shí)現(xiàn)。氣泡由外框和繪圖區(qū)兩個部分組成,將用戶自定義控件傳入繪圖區(qū),在控件中可設(shè)置氣泡的樣式和顯示內(nèi)容等;通過代碼鏈接模型ID與氣泡控件,實(shí)現(xiàn)衛(wèi)星信息的氣泡顯示。在主程序中建立新的用戶自定義控件,從工具箱中拖入pannel控件作為氣泡的主面板,拖入picturebox控件用以展示衛(wèi)星照片,拖入label控件用以展示衛(wèi)星名稱,拖入textbox控件用以介紹衛(wèi)星的具體信息,拖入linklabel控件超鏈接用以展示更多的衛(wèi)星信息;初始化氣泡,填充氣泡信息,鏈接控件與SuperMap桌面端中填寫的屬性信息;最終實(shí)現(xiàn)衛(wèi)星虛擬仿真系統(tǒng)。
系統(tǒng)采用SuperMap iDesktop 9D進(jìn)行衛(wèi)星仿真,利用Visual Studio 2012進(jìn)行二次開發(fā),繪制了衛(wèi)星軌道,顯示了衛(wèi)星的基本信息。使用者不局限于專業(yè)人士,可以向任何人展示,方便傳播,有利于激發(fā)不同人群對航天的興趣和關(guān)注度。系統(tǒng)的顯示方式為三維圖像,以地球外部為立足點(diǎn),非常直觀生動;但由于SuperMap iDesktop 9D中的三維地球無法實(shí)現(xiàn)地球自轉(zhuǎn),因此系統(tǒng)只能模擬地球停止自轉(zhuǎn)情況下的衛(wèi)星在軌運(yùn)動狀態(tài)。