張鵬強(qiáng) 王 鵬
(中國飛行試驗(yàn)研究院 西安 710089)
飛行試驗(yàn)是航空裝備定型的最后環(huán)節(jié)。試飛階段,為了盡可能地暴漏問題,作戰(zhàn)效能盡可能地最大化,飛行員必須進(jìn)行風(fēng)險(xiǎn)性極高的飛行試驗(yàn)來取得有效數(shù)據(jù)。一個(gè)完整的飛行試驗(yàn),包括飛行任務(wù)規(guī)劃、飛行任務(wù)實(shí)施和試飛數(shù)據(jù)判讀。任務(wù)規(guī)劃決定了實(shí)施的具體內(nèi)容,任務(wù)實(shí)施的完成度決定了試飛結(jié)果的有效性。在實(shí)際的飛行試驗(yàn)執(zhí)行期間,由于各種不確定外界因素或出于飛行安全考慮,導(dǎo)致任務(wù)無法有效完成,無法充分驗(yàn)證各種狀態(tài)下的設(shè)備性能。針對(duì)該問題,本文對(duì)STK軟件和X-Plane軟件進(jìn)行二次開發(fā),實(shí)現(xiàn)操控X-Plane軟件的飛機(jī)姿態(tài),驗(yàn)證STK場景中各種飛行狀態(tài)下的機(jī)載電子設(shè)備功能的方法。
該方法包括三部分:1)X-Plane飛行模擬軟件,該部分利用UDP協(xié)議,實(shí)時(shí)輸出飛行平臺(tái)的飛行參數(shù);2)STK軟件,該部分利用各種模塊實(shí)現(xiàn)飛行任務(wù)(通信、雷達(dá)、電子戰(zhàn)、目標(biāo)特性等)場景設(shè)計(jì);3)轉(zhuǎn)換軟件,該部分首先與XPLANE軟件建立UDP連接,并對(duì)X-Plane軟件發(fā)送的數(shù)據(jù)流轉(zhuǎn)化為所需的飛行參數(shù),譬如經(jīng)度、緯度、高度、俯仰角、橫滾角和偏航角等;其次通過引用STK的COM(Component Object Model)組件與STK軟件建立連接,準(zhǔn)實(shí)時(shí)地將轉(zhuǎn)換完成的飛行參數(shù)傳遞至STK軟件,為STK軟件場景中的飛行平臺(tái)飛行狀態(tài)準(zhǔn)實(shí)時(shí)更新。方法框圖見表1。
圖1 方法框圖
X-Plane軟件是由Laminar Research生產(chǎn)一款模擬飛行軟件,為用戶提供軍用、商用機(jī)型、逼真的三維地形和各種復(fù)雜氣象選擇。該軟件提供各種氣象條件的設(shè)置,通過加載真實(shí)的飛機(jī)模型和性能指標(biāo),可獲得各種氣象條件下的飛參數(shù)據(jù)。該軟件為用戶基于該軟件的第二次開發(fā)提供了飛機(jī)飛行參數(shù)的輸出端口,用戶可自由選擇所需飛行參數(shù)數(shù)據(jù),設(shè)置通信端口、發(fā)送數(shù)據(jù)類型和發(fā)送頻率,通過UDP協(xié)議與第三方應(yīng)用軟件進(jìn)行交互。
STK的全稱是“Satellite ToolKit衛(wèi)星軟件工具包”,是由美國AGI公司開發(fā)的一款在航天工業(yè)領(lǐng)域應(yīng)用的商業(yè)化分析軟件。它作為一種可以方便快捷地分析復(fù)雜的陸、海、空、天、電(磁)任務(wù)的專業(yè)仿真平臺(tái),能夠提供簡單易懂的圖表和文本形式的分析結(jié)果,來確定最優(yōu)方案。STK提供分析引擎用于計(jì)算數(shù)據(jù),并可顯示多種形式的二維地圖和對(duì)象目標(biāo)等。STK還可以提供三維可視化模塊,進(jìn)行生成位置和姿態(tài)數(shù)據(jù)、可見性和覆蓋分析。STK專業(yè)版還提供了軌道預(yù)報(bào)算法、姿態(tài)定義、遙感器類型和高級(jí)約束條件定義,以及衛(wèi)星、城市、地面站和恒星數(shù)據(jù)庫等,STK是一款用于全球衛(wèi)星定位系統(tǒng)仿真中的強(qiáng)大工具[1]。該軟件是一個(gè)經(jīng)過任務(wù)驗(yàn)證的軟件,主要應(yīng)用于航天任務(wù)、自動(dòng)化指揮系統(tǒng)(C4ISR)、無人駕駛飛機(jī)(Unmanned Aerial Vehicle,UAV)、導(dǎo)彈防御和電子系統(tǒng)的建模、工程化和操作。該軟件包含基礎(chǔ)模塊、分析模塊、綜合數(shù)據(jù)模塊和擴(kuò)展集成接口模塊[2]。
利用該軟件的相關(guān)模塊,如通信分析模塊(STK/Comm)、鏈路分析模塊(STK/Chains)、姿態(tài)控制模塊(STK/Attitude)、航空器任務(wù)建模模塊(Aircraft Misson Modeler,AMM)、三維地形模塊(STK/Terrain),可完成飛行試驗(yàn)中的通信、雷達(dá)、電子站、航路規(guī)劃、演示驗(yàn)證等科目的試飛,為飛行航線合理規(guī)劃、飛行動(dòng)作制定提供指導(dǎo)意義,最大程度地暴漏被試對(duì)象的設(shè)計(jì)缺陷。在實(shí)際的飛行仿真試驗(yàn)中,通過加載被試對(duì)象的戰(zhàn)機(jī)指標(biāo)、飛機(jī)的飛行性能指標(biāo),可最大程度地提供仿真準(zhǔn)確度。
STK為用戶提供兩種二種開發(fā)接口:一種利用TCP/IP協(xié)議與第三方軟件進(jìn)行連接交互;一種是通過STK提供的COM組件接口實(shí)現(xiàn),該模塊通過不同的類或接口實(shí)現(xiàn)可對(duì)場景中的對(duì)象進(jìn)行屬性設(shè)置,為用戶的二次開放提供了更大的操作自由度。兩種接口均可通過CONNECT命令與第三方軟件進(jìn)行交互[3~5]。
轉(zhuǎn)換軟件由C#語言編寫完成,開放平臺(tái)為Vi-sual Studio 2013,主要實(shí)現(xiàn)三項(xiàng)功能,首先按照約定端口與X-Plane軟件建立UDP連接,其次對(duì)接收到字節(jié)數(shù)據(jù)轉(zhuǎn)換為可讀飛行參數(shù),最后通過STK的COM組件與STK軟件建立連接并將可讀飛行參數(shù)準(zhǔn)實(shí)時(shí)得發(fā)送給STK軟件,為場景中的飛行器提供位置、高度和姿態(tài)數(shù)據(jù)[7]。
轉(zhuǎn)換軟件通過C#語言中的UdpClient類與X-Plane軟件建立UDP連接;轉(zhuǎn)換軟件僅接收X-Plane發(fā)送的數(shù)據(jù),因此IP地址設(shè)為IPAddress。執(zhí)行語句如下:
IPEndPoint ipep=new IPEndPoint(IPAddress.Any,49003);
UdpClient newsock=new UdpClient(ipep);
其中發(fā)送數(shù)據(jù)通信端口號(hào)為49003。
依據(jù)X-Plane輸出數(shù)據(jù)的格式定義,4個(gè)字節(jié)代表1為浮點(diǎn)數(shù)值,且4個(gè)字節(jié)按照高字節(jié)進(jìn)行排序。因此,轉(zhuǎn)換軟件接X-Plane發(fā)送的字節(jié)數(shù)據(jù)后,需要將每四個(gè)字節(jié)進(jìn)行轉(zhuǎn)置,按照低字節(jié)排序后轉(zhuǎn)換為浮點(diǎn)數(shù)值。該步驟可通過c#語言中的BitConverter.ToSingle()語句完成。
轉(zhuǎn)換軟件利用STK的COM組件與STK建立交互。所需添加的COM組件為AGI.STKGraphics、AGI.STKObjects、AGI.STKUtil、AGI.STKVgt、AGI.STKX、AGI.Ui.Application和 AGI.Ui.Core。與 STK軟件建立連接語句如下:
StkX=new AGI.Ui.Application.AgUiApplication();
StkX.LoadPersonality(“STK”);
stkRootObject=(AGI.STKObjects.AgStkObjectRoot)StkX.Personality2;
this.stkRootObject.ExecuteCommand(“New/Scenario Test”);
在建立的場景中添加飛行器,命令如下:
stkRootObject.ExecuteCommand(“New/ */Aircraft XPlaneFlight”);
STK軟件中飛行器對(duì)象的軌跡傳播模式包含Great Arc、Aviator、Stk External和 Real Time。為實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)傳遞,需要設(shè)置傳輸模式RealTime,C#語句如下:
stkRootObject.ExecuteCommand(“RealTime*/Aircraft/XPlaneFlight SetProp”);
為實(shí)現(xiàn)飛行器在2D、3D界面下姿態(tài)、位置等信息更新,首先需執(zhí)行以下命令:
stkRootObject.ExecuteCommand(“BatchGraphics*On”);
本節(jié)利用STK軟件建立超短波電臺(tái)空地通信場景,機(jī)載超短波電臺(tái)的天線輻射為全向天線,但由于機(jī)體遮擋操作實(shí)際的方向性圖并非全向,因此利用AzEI Mask工具對(duì)機(jī)載下天線進(jìn)行方向性建模[2]。飛行器的姿態(tài)和位置信息由X-Plane軟件準(zhǔn)實(shí)時(shí)提供。仿真界面見圖2和圖3,其中圖2中(a)為STK軟件的任務(wù)場景界面,圖2中(b)為X-Plane飛行界面,圖3自編軟件界面。
圖2 任務(wù)場景和飛行界面
圖3 飛行參數(shù)數(shù)據(jù)界面
通過對(duì)STK軟件和X-Plane軟件的二次開放,實(shí)現(xiàn)了不同姿態(tài)下進(jìn)行機(jī)載電子設(shè)備驗(yàn)證的目的。該方法是飛行試驗(yàn)的一種補(bǔ)充,為預(yù)判涉及安全而無法有效完成的試飛內(nèi)容,提供了一種方法,未來可利用X-Plane組網(wǎng)功能和STK的雷達(dá)、武器等模塊,實(shí)現(xiàn)實(shí)時(shí)對(duì)抗、兵力演示驗(yàn)證等場景仿真。飛機(jī)氣動(dòng)布局真實(shí)準(zhǔn)確下,利用X-Plane提供的各種氣象條件下的飛參數(shù)據(jù),結(jié)合STK軟件的航空器任務(wù)建模模塊(Aircraft Misson Modeler,AMM),可實(shí)現(xiàn)試飛員在復(fù)雜氣象條件下的飛行培訓(xùn)工作和試飛平臺(tái)在復(fù)雜氣象條件下的性能試飛。該方法在飛行試驗(yàn)中應(yīng)用前景廣闊,希望能起到拋磚引玉的作用。