999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STK引擎的星載遙感器對(duì)地觀(guān)測(cè)仿真軟件設(shè)計(jì)

2016-10-21 15:32:12李遂賢張曉
電子技術(shù)與軟件工程 2016年9期

李遂賢 張曉

【關(guān)鍵詞】STK(Satellite Tool Kit) 軟件二次開(kāi)發(fā) 衛(wèi)星可見(jiàn)分析 姿態(tài)仿真

1 引言

在開(kāi)發(fā)衛(wèi)星在軌仿真的軟件項(xiàng)目時(shí),開(kāi)發(fā)團(tuán)隊(duì)不僅要對(duì)衛(wèi)星本身作詳盡仿真,而且需要完整地掌握航天領(lǐng)域的其它高級(jí)專(zhuān)業(yè)知識(shí)和天體運(yùn)動(dòng)的理論知識(shí),同時(shí)在軟件可視化仿真方面也面臨著巨大的挑戰(zhàn)。STK的全稱(chēng)是Satellite Tool Kit(衛(wèi)星仿真工具包),是由美國(guó)AGI公司開(kāi)發(fā),是航空航天領(lǐng)域一個(gè)功能強(qiáng)大的大型仿真平臺(tái),并且隨著其版本變化其功能得到不斷地增強(qiáng)和擴(kuò)展。目前為止,STK航天工業(yè)領(lǐng)域中仍然是處于領(lǐng)先地位衛(wèi)星系統(tǒng)分析軟件,利用它可以快速方便地分析航天任務(wù)中各種錯(cuò)綜復(fù)雜的情況,并能以形象直觀(guān)的三維場(chǎng)景真實(shí)地再現(xiàn)空間目標(biāo)整個(gè)壽命周期的運(yùn)行情況。但STK軟件自成體系,和其它軟件交互數(shù)據(jù)、軟件界面的靈活性往往不能適合項(xiàng)目需求。

從國(guó)內(nèi)近年發(fā)表的航空航天領(lǐng)域關(guān)于STK二次開(kāi)發(fā)仿真軟件設(shè)計(jì)的文獻(xiàn)看,多注重于STK功能實(shí)現(xiàn)本身,關(guān)于二次開(kāi)發(fā)軟件設(shè)計(jì)實(shí)現(xiàn)的內(nèi)容較少,并且局限于VC6.0和Matlab開(kāi)發(fā)環(huán)境,雖然可以查閱STK的英文幫助文檔,但難以在短時(shí)間對(duì)STK的二次開(kāi)發(fā)有較為全面的理解和快速高效開(kāi)發(fā)。

在自主開(kāi)發(fā)的軟件中嵌入STK,把STK作為衛(wèi)星在軌仿真的計(jì)算引擎和三維可視化引擎,是一個(gè)可行的技術(shù)途徑。本文以介紹VS2008為開(kāi)發(fā)平臺(tái),介紹利用STK二次開(kāi)發(fā)實(shí)現(xiàn)衛(wèi)星在軌可視化仿真軟件的實(shí)現(xiàn)方法,在此基礎(chǔ)上,給出了在軌衛(wèi)星的可見(jiàn)性分析和姿態(tài)仿真的軟件設(shè)計(jì)方法和仿真軟件的運(yùn)行結(jié)果。

2 STK二次開(kāi)發(fā)仿真技術(shù)基礎(chǔ)

2.1 通過(guò)STK二次開(kāi)發(fā)實(shí)現(xiàn)仿真任務(wù)的技術(shù)選用

通過(guò)STK可以實(shí)現(xiàn)的任務(wù)可以分為五類(lèi),分別為自動(dòng)化重復(fù)性任務(wù)、和其它程序集成、擴(kuò)展AGI插件和用戶(hù)接口定制、開(kāi)發(fā)定制應(yīng)用程序、實(shí)時(shí)數(shù)據(jù)處理。

2.1.1 實(shí)現(xiàn)自動(dòng)化重復(fù)性任務(wù)

可以利用HTML、Connect和STK Object建立鏈接STK功能組件的工具,或者用遠(yuǎn)程工具驅(qū)動(dòng)STK,如按鈕工具、COM接口、命令行或批處理文件向STK發(fā)送Connect命令也可實(shí)現(xiàn)自動(dòng)化重復(fù)性任務(wù)。

2.1.2 和其它應(yīng)用程序集成

STK和其它程序的接口有多種形式可供選擇,具體接口形式的選擇取決于任務(wù)的類(lèi)型。任務(wù)涉及僅僅是分析,還是既涉及分析又涉及可視化,抑或是可視化回放,可選用的客戶(hù)端程序不同。客戶(hù)端應(yīng)用程序幾種具體形式為:MATLAB, 自定義程序, MS Office,瀏覽器等,STK系統(tǒng)內(nèi)部預(yù)置有用戶(hù)采用的開(kāi)發(fā)環(huán)境所必備的程序接口,如STK MATLAB接口、COM接口、視景控件(the Viewer Control)和視景應(yīng)用對(duì)象模型(Viewer Application object models),以及數(shù)量眾多的不同的Connect庫(kù)等。

2.1.3 擴(kuò)展AGI插件擴(kuò)展和用戶(hù)接口定制

AGI在產(chǎn)品擴(kuò)展上為用戶(hù)提供了多種途徑??蓴U(kuò)展機(jī)制可以分劃分為兩個(gè)方面:用戶(hù)接口可擴(kuò)展和計(jì)算引擎可擴(kuò)展。用戶(hù)接口可擴(kuò)展指的是允許用戶(hù)為STK定制圖形用戶(hù)界面(GUI)和控件,提供用戶(hù)自定義的工作流程,從而使程序綁定STK程序的功能;計(jì)算引擎可擴(kuò)展性選項(xiàng)是指STK引擎插件允許用戶(hù)僅定制模型中非通用部分,而對(duì)通用部分則借力于現(xiàn)成商務(wù)軟件(COTS software),即STK本身。

插件的優(yōu)點(diǎn)至少包含兩方面內(nèi)容。首先,寫(xiě)一個(gè)高可信度的軟件組件對(duì)大多數(shù)用戶(hù)有難度。當(dāng)然,最佳的情形是軟件具備高可信度模型可以使用。AGI不斷提高產(chǎn)品的可信度和可靠性持續(xù)改進(jìn)產(chǎn)品,但其產(chǎn)品的開(kāi)發(fā)基礎(chǔ)往往在于聚焦通用功能,從而覆蓋大多數(shù)用戶(hù)需求。就問(wèn)題產(chǎn)生的性質(zhì)來(lái)說(shuō),更高可信度模型的非通用應(yīng)用功能需求,僅可能在少數(shù)高級(jí)用戶(hù)中存在。其次,總體說(shuō)來(lái),一個(gè)模型的非通用部分的范圍很窄,因而大部分可以利用現(xiàn)有的通用模型。當(dāng)然,如果定制軟件部分的價(jià)格同時(shí)也包含了所有通用部分的費(fèi)用,用戶(hù)可以自己開(kāi)發(fā)整個(gè)軟件,但必須經(jīng)過(guò)不斷地測(cè)試、維護(hù)、改進(jìn)和升級(jí)才能滿(mǎn)足變化的需求。

2.1.4 開(kāi)發(fā)定制程序

STK引擎可以為用戶(hù)開(kāi)發(fā)定制程序使用,STK用戶(hù)界面不需要出現(xiàn),允許用戶(hù)使用自己的接口將STK功能嵌入到程序中。

2.1.5 RT3數(shù)據(jù)實(shí)時(shí)處理

STK桌面應(yīng)用和STK引擎定制程序的一個(gè)共性任務(wù)是對(duì)實(shí)時(shí)處理輸入的數(shù)據(jù)。AGI公司的RT3擴(kuò)展軟件為向STK輸入實(shí)時(shí)數(shù)據(jù)的輸入提供了框架。為簡(jiǎn)化實(shí)時(shí)輸入數(shù)據(jù)的處理,可用直接使用STK對(duì)象模型(STK Object Model)。

RT3開(kāi)發(fā)SDK包括應(yīng)用編程接口A(yíng)PI、文檔,以及一套例子代碼文件。RT3 SDK可通過(guò)自定義數(shù)據(jù)輸入接口增強(qiáng)RT3拓展軟件的功能,使數(shù)據(jù)處理專(zhuān)業(yè)化,并可預(yù)先設(shè)置顯示參數(shù)。RT3 SDK還能用來(lái)分析和處理STK引擎程序以及來(lái)自AGI公司的軟件部件產(chǎn)品線(xiàn)的類(lèi)庫(kù)的輸入數(shù)據(jù)。在用戶(hù)開(kāi)發(fā)的程序中使用RT3需要購(gòu)買(mǎi)用戶(hù)許可證書(shū)。如果已經(jīng)安裝了RT3,RT3 SDK可從這里看到:Start > Programs > AGI > RT3。

2.2 利用STK引擎開(kāi)發(fā)應(yīng)用軟件

STK為開(kāi)發(fā)各種應(yīng)用軟件提供了兩類(lèi)核心庫(kù),分別是STK Object Model和Connect。通過(guò)這兩個(gè)核心庫(kù),可以在用戶(hù)自己開(kāi)發(fā)的軟件中改變STK場(chǎng)景和參數(shù)配置。由于兩者在基于STK二次開(kāi)發(fā)軟件中涉及的最多,下面分別對(duì)兩者作簡(jiǎn)要介紹。

2.2.1 使用STK Object Model核心庫(kù)

STK對(duì)象模型(STK Object Model)是一個(gè)COM庫(kù)集,包括STK Objects、STK X、STK Util,、STK ESRI Display、STK Vector Geometry Tool、和STK Astrogator等COM庫(kù),涵蓋數(shù)據(jù)類(lèi)型、接口、事件和表示各種STK應(yīng)用程序結(jié)構(gòu)的類(lèi)。通過(guò)這些類(lèi)庫(kù),使得開(kāi)發(fā)基于STK和STK引擎定制程序變得簡(jiǎn)而易行。各種組件提供的開(kāi)發(fā)工具對(duì)STK對(duì)象實(shí)現(xiàn)自動(dòng)化控制,并在整個(gè)生命周期內(nèi)實(shí)現(xiàn)對(duì)STK對(duì)象的管理,通過(guò)數(shù)據(jù)提供工具(data provider),執(zhí)行可見(jiàn)性和覆蓋計(jì)算,并對(duì)STK發(fā)出的事件做出響應(yīng)。由于STK Object Model是建立在微軟組建對(duì)象(COM)技術(shù)之上的,因此STK Object Model可用于支持COM標(biāo)準(zhǔn)的任何自動(dòng)化程序開(kāi)發(fā)環(huán)境。常見(jiàn)的開(kāi)發(fā)環(huán)境包括inc .Net (Visual Basic, Visual C#, etc.), Java, Visual C++, PowerPoint, Excel, Access,以及支持COM后綁定的腳本語(yǔ)言。在STK桌面應(yīng)用程序和對(duì)STK X作為引擎的兩種情況下,均可使用STK對(duì)象模型。

2.2.2 使用Connect核心庫(kù)

Connect 模塊為CS模式連接STK提供一個(gè)簡(jiǎn)單的途徑。用第三方程序調(diào)用Connect核心庫(kù)的函數(shù)、常量和各種消息,可建立和STK的通信連接。Connect允許重寫(xiě)標(biāo)準(zhǔn)消息和通知,用自己的消息格式實(shí)現(xiàn)和第三方軟件的兼容,所以利用Connect對(duì)STK實(shí)現(xiàn)二次開(kāi)發(fā)的程序有很好的消息環(huán)境。

在實(shí)時(shí)性上,通過(guò)Connect實(shí)現(xiàn)STK和3D圖形通信,可實(shí)現(xiàn)事件的可視化實(shí)時(shí)仿真實(shí)現(xiàn)。舉例來(lái)說(shuō),用Connect在發(fā)射和早期軌道階段可注入實(shí)時(shí)的遙測(cè)數(shù)據(jù),在2D和3D場(chǎng)景中可以對(duì)該任務(wù)實(shí)現(xiàn)可視化實(shí)時(shí)化仿真,協(xié)助任務(wù)執(zhí)行人員理解和解決在發(fā)射階段可能發(fā)生的問(wèn)題。

2.3 STK Connect模塊的使用

由于Connect提供了外部控件和STK交互的機(jī)制,在航天仿真應(yīng)用程序的開(kāi)發(fā)中應(yīng)用很廣。在外部調(diào)用STK的應(yīng)用程序中,其工作機(jī)制的要點(diǎn)在于:在外部程序中向STK發(fā)送Connect命令實(shí)現(xiàn)和STK的交互。通過(guò)外部程序或者HTML網(wǎng)頁(yè)發(fā)送Connect命令和STK交互,可采用兩種方式:其一,通過(guò)TP/ICP鏈接經(jīng)指定端口發(fā)送Connect命令,STK默認(rèn)的端口為5001,當(dāng)然通過(guò)Edit->Preferences菜單可修改Connect的默認(rèn)參數(shù);其二,通過(guò)COM接口向STK發(fā)送命令,這種情況下不必通過(guò)通信網(wǎng)絡(luò)端口實(shí)現(xiàn)。需要注意的是,COM無(wú)法支持異步Connect命令。

在STK9.X中,在相應(yīng)的安裝目錄下,有支持多種語(yǔ)言開(kāi)發(fā)環(huán)境的例程可供參考,這些例程已經(jīng)完成了外部程序?qū)TK二次開(kāi)發(fā)的軟件環(huán)境的搭建。開(kāi)發(fā)者在基本例程框架的基礎(chǔ)上,可實(shí)現(xiàn)基于STK二次開(kāi)發(fā)的對(duì)仿真軟件實(shí)現(xiàn)。支持STK9.X二次開(kāi)發(fā)的環(huán)境有C++/C++CLI/CSharp/HTML/Java/Matlab/ PowerPoint/Vb.net,在STK系統(tǒng)安裝文件夾下,分別由這幾種語(yǔ)言下的二次開(kāi)發(fā)例程。其中,CSharp/java/Matlab的例程較多,對(duì)CSharp而言,VS2008下有24個(gè)例程,涉及到航空航天仿真的許多方面,從簡(jiǎn)單易行角度這幾種語(yǔ)言不失為首選。但C++語(yǔ)言的實(shí)時(shí)性最好,結(jié)合文件夾下部署的例程和豐富的Connect Api,可以開(kāi)發(fā)出功能強(qiáng)大的航空航天仿真應(yīng)用軟件。

3 基于VS2008/MFC平臺(tái)的STK二次開(kāi)發(fā)

3.1 仿真軟件實(shí)現(xiàn)

在VS2008/MFC平臺(tái)下進(jìn)行STK二次開(kāi)發(fā)的開(kāi)發(fā)步驟為:開(kāi)發(fā)環(huán)境搭建、用戶(hù)界面設(shè)計(jì)、通過(guò)MFC用戶(hù)界面發(fā)送Connect接口指令驅(qū)動(dòng)STK引擎、將STK計(jì)算結(jié)果和仿真可視化結(jié)果在用戶(hù)界面展示和結(jié)果文件存盤(pán)等,本文結(jié)合STK的給定的例程說(shuō)明。

3.1.1 開(kāi)發(fā)環(huán)境搭建

STK9.X的C++例程是基于MFC的對(duì)話(huà)框程序,在該MFC例程框架下,已經(jīng)完成了STK系統(tǒng)的2D和VO控件的添加以及和STK引擎交互的支撐文件的配置。在例程的工程文件中,包含了通過(guò)MFC和STK交互的基本文件和函數(shù)。具體可仔細(xì)研究閱讀程序代碼。

3.1.2 用戶(hù)界面設(shè)計(jì)

在例程的MFC對(duì)話(huà)框界面中,已經(jīng)具備了少量功能簡(jiǎn)單的控件和STK的二維地圖和三維地球控件,利用MFC完備的功能通過(guò)各種控件的綜合設(shè)計(jì),可達(dá)到符合設(shè)計(jì)要求的結(jié)果。圖1為本文在軌衛(wèi)星可見(jiàn)分析和姿態(tài)仿真的界面設(shè)計(jì),圖2為衛(wèi)星和仿真場(chǎng)景參數(shù)輸入界面,圖3為地面觀(guān)測(cè)目標(biāo)參數(shù)的錄入界面。

3.1.3 Connect接口指令發(fā)送驅(qū)動(dòng)軟件運(yùn)行

在MFC平臺(tái)下向STK發(fā)送命令的函數(shù)為:m_VOControl.GetApplication().ExecuteCommand("Connect_Command"),其中m_VOControl為三維地球可視控件變量,所有Connect命令均通過(guò)該方法發(fā)送至STK引擎,“Connect_Command”指Connect命令,可通過(guò)SDK獲得,并以符合系統(tǒng)要求的格式作為發(fā)送的命令字符串。STK在接到Connect命令后,執(zhí)行相應(yīng)的計(jì)算并將計(jì)算結(jié)果返回或者生成結(jié)果報(bào)告存盤(pán);同時(shí)在2D和VO空間中進(jìn)行二維和三維可視化仿真顯示。

3.2 軟件運(yùn)行結(jié)果

圖4給出了在VS2008下利用MFC開(kāi)發(fā)的在軌衛(wèi)星的可見(jiàn)性分析和姿態(tài)仿真仿真軟件的運(yùn)行結(jié)果;圖5為條帶目標(biāo)下,在軌衛(wèi)星的可見(jiàn)弧段的可視化顯示結(jié)果;圖6為在軌衛(wèi)星仿真的姿態(tài)計(jì)算結(jié)果。同時(shí),該軟件還可仿真結(jié)果輸出為文本文件存入磁盤(pán),以備后續(xù)的仿真讀取。

4 結(jié)論和展望

通過(guò)對(duì)在軌衛(wèi)星的可見(jiàn)性和姿態(tài)仿真軟件的開(kāi)發(fā)可以看出,在熟悉MFC程序框架、STK Connect接口指令系統(tǒng)和STK的專(zhuān)業(yè)仿真功能的基礎(chǔ)上,在微軟

公司的VS2008平臺(tái)下對(duì)STK進(jìn)行二次開(kāi)發(fā)可完成較為復(fù)雜的航空航天仿真任務(wù)。后續(xù)的衛(wèi)星在軌軟件研制中,將對(duì)RT3實(shí)時(shí)數(shù)據(jù)仿真方法進(jìn)行研究,以適應(yīng)遙測(cè)數(shù)據(jù)作為衛(wèi)星在軌仿真輸入下的實(shí)時(shí)數(shù)據(jù)處理情形。

參考文獻(xiàn)

[1]丁王達(dá),邱曉剛,黃柯棣.基于STK-RTI中間件的天地一體作戰(zhàn)建模仿真研究[J].系統(tǒng)仿真學(xué)報(bào),2005,17(02).

[2] 郭偉民,趙新國(guó),曹延華.基于STK的微小衛(wèi)星姿態(tài)控制可視化演示與驗(yàn)證[J].系統(tǒng)仿真學(xué)報(bào),2008,20(z1).

[3]屈亭,皮亦鳴,曹宗杰.基于STK/Matlab的GPS衛(wèi)星可見(jiàn)性仿真分析[J].科學(xué)技術(shù)與工程,2009,9(13).

[4]杜耀珂.基于STK的衛(wèi)星實(shí)時(shí)視景仿真系統(tǒng)設(shè)計(jì)[J].空間控制技術(shù)與應(yīng)用,2009,35(02).

[5]胡偉.基于STK二次開(kāi)發(fā)的全球?qū)Ш叫亲渴鹧芯縖J].系統(tǒng)仿真學(xué)報(bào),2008,20(23).

[6]李峰,彭會(huì)湘,王京京.基于STK的衛(wèi)星入軌主動(dòng)段仿真顯示設(shè)計(jì)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2013,39(02).

[7]李峰,齊志國(guó),王永安.設(shè)計(jì)模式在STK二次開(kāi)發(fā)接口封裝中的應(yīng)用[J].計(jì)算機(jī)與網(wǎng)絡(luò),2013,39(03).

[8]張智海,廖學(xué)軍,高永明.基于HLA與STK的空間軌道快速攔截模型設(shè)計(jì)與仿真[J].系統(tǒng)仿真學(xué)報(bào),2013,25(10).

[9]杜寧,周連文,季誠(chéng)勝等.熒火一號(hào)火星探測(cè)器姿控平臺(tái)驗(yàn)證演示技術(shù)[J].上海航天,2013,30(4).

[10]STK Software Development Kit,AGI,www.agi.co.

主站蜘蛛池模板: 久久人人97超碰人人澡爱香蕉| 国产a在视频线精品视频下载| 在线观看91精品国产剧情免费| 国产精品999在线| 人人妻人人澡人人爽欧美一区| 久久国语对白| 72种姿势欧美久久久久大黄蕉| 视频二区亚洲精品| 欧美一级高清片久久99| 又黄又湿又爽的视频| 亚洲成人网在线播放| 99免费在线观看视频| 欧美成人亚洲综合精品欧美激情| 激情综合网址| 精品国产中文一级毛片在线看| 国产女人爽到高潮的免费视频| 欧美午夜精品| 国产十八禁在线观看免费| 久久亚洲天堂| 国产黄网永久免费| 在线日本国产成人免费的| 欧美成人综合在线| 欧美一级大片在线观看| 国产一二三区视频| 91人妻日韩人妻无码专区精品| 成年女人18毛片毛片免费| 亚洲精选无码久久久| 91在线免费公开视频| 无码国产偷倩在线播放老年人| 成人免费视频一区| 亚洲精品777| 成年看免费观看视频拍拍| 一本色道久久88| 国产香蕉国产精品偷在线观看| 久久久久亚洲精品成人网| 日韩中文精品亚洲第三区| 国内自拍久第一页| 大香网伊人久久综合网2020| 2022精品国偷自产免费观看| 网友自拍视频精品区| 四虎在线观看视频高清无码| 国产欧美日韩在线在线不卡视频| 国产精品无码久久久久AV| 欧美日韩国产在线人成app| 亚洲欧美色中文字幕| 亚洲中文字幕无码mv| 亚洲中文字幕在线一区播放| 日本欧美一二三区色视频| 99ri国产在线| 熟女视频91| 日韩国产精品无码一区二区三区| 日韩精品一区二区三区免费| 午夜精品久久久久久久无码软件| 小13箩利洗澡无码视频免费网站| 毛片手机在线看| 国产欧美一区二区三区视频在线观看| 日韩不卡免费视频| 国产精品视频猛进猛出| 国产高清在线精品一区二区三区| 人妻一本久道久久综合久久鬼色| 亚洲精品久综合蜜| 欧美色图第一页| 九九热精品视频在线| 亚洲区欧美区| A级毛片无码久久精品免费| 91系列在线观看| 又黄又湿又爽的视频| 国产国产人成免费视频77777| 亚洲精品片911| 国产在线一二三区| 一级黄色网站在线免费看| 欧美日韩中文国产va另类| 国产第八页| 欧美无遮挡国产欧美另类| 国产香蕉一区二区在线网站| 国产91小视频| 欧美精品另类| 中国一级特黄大片在线观看| 99无码中文字幕视频| 国产精品综合久久久| 久久美女精品国产精品亚洲| 欧美一级色视频|