安宜貴+董正宏
摘 要:采用HLA作為交會(huì)對(duì)接動(dòng)力學(xué)仿真的體系結(jié)構(gòu),首先設(shè)計(jì)了交會(huì)對(duì)接動(dòng)力學(xué)仿真系統(tǒng)的仿真流程和FOM/SOM設(shè)計(jì)方法,提出了實(shí)時(shí)與延時(shí)相結(jié)合的自適應(yīng)時(shí)間管理技術(shù),并測試了其數(shù)據(jù)交互性能。
關(guān)鍵詞:交會(huì)對(duì)接;仿真系統(tǒng);體系結(jié)構(gòu)
在航天技術(shù)應(yīng)用中,空間交會(huì)對(duì)接技術(shù)的控制最復(fù)雜、變量參數(shù)最多,控制難度也最大[1],在任務(wù)執(zhí)行前需要進(jìn)行大量的驗(yàn)證。構(gòu)造航天器交會(huì)對(duì)接動(dòng)力學(xué)仿真系統(tǒng),驗(yàn)證測控軟件的性能和可用性非常必要。HLA(High Level Architecture,高層體系結(jié)構(gòu))[2]是一個(gè)開放的、支持面向?qū)ο蟮姆抡骟w系結(jié)構(gòu),代表了當(dāng)今分布式交互仿真技術(shù)的主流方向。采用HLA體系結(jié)構(gòu),仿真分析交會(huì)對(duì)接動(dòng)力學(xué)問題,已成為當(dāng)前交會(huì)對(duì)接研究中最常用的研究手段。
1 交會(huì)對(duì)接動(dòng)力學(xué)仿真系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
1.1 系統(tǒng)仿真流程
按照HLA聯(lián)邦成員仿真流程的三個(gè)步驟:成員初始化、進(jìn)入仿真循環(huán)、退出聯(lián)邦[3],設(shè)計(jì)交會(huì)對(duì)接仿真系統(tǒng)的仿真流程如圖1所示。
1.2 聯(lián)邦的FOM/SOM設(shè)計(jì)
HLA定義了兩類對(duì)象模型,一類是聯(lián)邦對(duì)象模型(Federal Object Model,F(xiàn)OM),一類是成員對(duì)象模型(Simulation Object Model,SOM),分別用來描述聯(lián)邦和聯(lián)邦成員的特性[4]。根據(jù)動(dòng)力學(xué)仿真、GNC仿真、推進(jìn)系統(tǒng)仿真等重要聯(lián)邦成員的特性,確定各聯(lián)邦成員的對(duì)象類和交互類以及其公布/訂購關(guān)系。根據(jù)各對(duì)象類的屬性以及交互類的參數(shù),生成SOM表;綜合SOM表,生成FOM;在OMDT(Object Model Development)工具中填寫對(duì)象表、交互表、屬性表、參數(shù)表等,即可生成FED文件,完成聯(lián)邦的FOM/SOM設(shè)計(jì)。
2 實(shí)時(shí)與延時(shí)相結(jié)合的自適應(yīng)時(shí)間管理技術(shù)
HLA時(shí)間管理服務(wù)是在聯(lián)邦執(zhí)行時(shí)控制時(shí)間的推進(jìn),使時(shí)間推進(jìn)機(jī)制與負(fù)責(zé)傳遞消息的機(jī)制相配合[5]。交會(huì)動(dòng)力學(xué)仿真采用邏輯時(shí)間步進(jìn)與物理時(shí)間推進(jìn)相結(jié)合的方式,在實(shí)時(shí)運(yùn)行下,邏輯時(shí)間步長和物理時(shí)間步長均為1s。當(dāng)進(jìn)入軌控模式下,GNC采樣間隔提高到160ms,邏輯時(shí)間步長和物理時(shí)間步長提高到160ms,這樣就出現(xiàn)了兩種變步長的要求。針對(duì)這種變步長的要求,提出自適應(yīng)實(shí)時(shí)和延時(shí)變步長的時(shí)間管理技術(shù)。
以單航天器動(dòng)力學(xué)仿真三個(gè)仿真聯(lián)邦成員為例(多航天器情況類似)。三個(gè)仿真聯(lián)邦成員分別是GNC仿真、推進(jìn)系統(tǒng)仿真和動(dòng)力學(xué)模型仿真,變步長的觸發(fā)點(diǎn)來自GNC仿真,由GNC自主計(jì)算或?qū)ψ⑷霐?shù)據(jù)反解的發(fā)動(dòng)機(jī)工作信息觸發(fā)自身聯(lián)邦成員的變步長,GNC將發(fā)動(dòng)機(jī)工作信息發(fā)送給推進(jìn)系統(tǒng)仿真;推進(jìn)系統(tǒng)計(jì)算出推力力矩信息給動(dòng)力學(xué)模型仿真,不需要改變步長;動(dòng)力學(xué)模型仿真為GNC仿真提供變步長后相應(yīng)頻率的軌道姿態(tài)信息,需要改變步長。
確定開關(guān)機(jī)數(shù)目和每次的開機(jī)時(shí)間與開機(jī)時(shí)長為輸入?yún)?shù),自適應(yīng)變步長算法引入線程管理變步長更動(dòng),其偽碼如下:
首先根據(jù)開關(guān)機(jī)數(shù)目和每次的開機(jī)時(shí)間與開機(jī)時(shí)長計(jì)算變步長性質(zhì);
if(延遲變步長){
把多次的開機(jī)時(shí)間與開機(jī)時(shí)長按開機(jī)時(shí)間排序;
把多次工作時(shí)間段中有重合的時(shí)間段合并;
把非開機(jī)時(shí)間段和開機(jī)時(shí)間段依次計(jì)算保存phaseLengthTime數(shù)組中;
}
else if(實(shí)時(shí)變步長){
continusIn = TRUE;
}
創(chuàng)建變步長線程管理多次的更動(dòng)步長;
變步長線程算法偽碼如下:
if(延遲變步長){
for(i=0;i<開關(guān)機(jī)數(shù)目;i++){
sleep(phaseLengthTime[i]);
if(i%2==0)
邏輯步長和物理步長改變?yōu)?60ms;
else
邏輯步長和物理步長改變?yōu)?s;
}
}
else if(實(shí)時(shí)變步長 && continusIn){
邏輯步長和物理步長改變?yōu)?60ms;
while(continusIn){
continusIn = FALSE;
sleep(160);
}
sleep(1000);
}
3 數(shù)據(jù)交互性能測試
3.1 測試工具
RTI是HLA仿真系統(tǒng)運(yùn)行的核心支撐軟件,其性能直接關(guān)系仿真系統(tǒng)成敗,目前尚沒有能全面測試RTI性能的專用軟件[6]。我們結(jié)合課題研究開發(fā)了性能測試工具,包含兩個(gè)通用的測試成員,分別負(fù)責(zé)發(fā)送和接收,具有以下功能:提供6個(gè)性能指標(biāo)測試模塊;每個(gè)測試模塊都具有統(tǒng)計(jì)次數(shù)、運(yùn)行參數(shù)和結(jié)果統(tǒng)計(jì)輸出等功能。
3.2 測試結(jié)果
測試實(shí)驗(yàn)主要對(duì)對(duì)象類、交互類的數(shù)據(jù)傳輸速度、數(shù)據(jù)丟包率進(jìn)行測試。測試環(huán)境為:服務(wù)器配置為SUN V890,SUN Solaris系統(tǒng),標(biāo)準(zhǔn)C++。微機(jī)配置為CPU P4 3.0G,內(nèi)存1G,網(wǎng)絡(luò)100M,WinXP系統(tǒng),VC++。RTI采用某研究所的SSS-RTI。
3.2.1 測試方法
對(duì)象類成員傳輸屬性更新和交互類實(shí)例傳遞的最大速率受到發(fā)送成員或接收成員的限制。對(duì)象類成員傳輸屬性更新中對(duì)發(fā)送成員,更新屬性吞吐量由每秒發(fā)送updateAttributeValue()(UAV)的次數(shù)來測量;對(duì)接收成員,反射屬性吞吐量由每秒接收reflectAttributeValues()(RAV)的次數(shù)來測量。兩個(gè)平均速率的最小值表示為屬性吞吐量。交互類實(shí)例發(fā)送中對(duì)發(fā)送成員,實(shí)例發(fā)送吞吐量由每秒發(fā)送sendInteraction()(SI)的次數(shù)來測量;對(duì)接收成員,實(shí)例接收吞吐量由每秒接收recieveInteraction()(RI)的次數(shù)來測量。兩個(gè)平均速率的最小值表示為交互參數(shù)吞吐量。
3.2.2 測試結(jié)果
測試中傳輸方式分為可靠模式和快速模式。屬性的長度分為8B、80B、800B、2K四種,實(shí)驗(yàn)中進(jìn)行大批量突發(fā)性測試(5000次)??煽磕J綔y試結(jié)果如表1所示,試驗(yàn)中未發(fā)現(xiàn)丟包現(xiàn)象,實(shí)驗(yàn)數(shù)據(jù)表明通信效率和屬性長度有關(guān)系,屬性長度越小通信效率越差,屬性長度越長通信效率越高。
快速模式測試結(jié)果如表2所示,快速模式傳輸數(shù)據(jù)的速度比可靠模式稍高,通信效率和屬性長度的關(guān)系和可靠模式一致。其中快速模式的丟包現(xiàn)象主要和rti.inf文件udpsockmanager設(shè)置相關(guān),需要根據(jù)每秒發(fā)送或接收的數(shù)據(jù)量調(diào)整udpsockmanager中發(fā)送緩沖池或接收緩沖池的大小,以免淹沒數(shù)據(jù)。
4 結(jié)束語
設(shè)計(jì)了交會(huì)對(duì)接動(dòng)力學(xué)仿真的仿真流程和FOM/SOM,提供了基于HLA交會(huì)對(duì)接動(dòng)力學(xué)仿真體系結(jié)構(gòu)的基礎(chǔ),針對(duì)交會(huì)對(duì)接動(dòng)力學(xué)動(dòng)真變步長的特點(diǎn),提出一種自適應(yīng)實(shí)時(shí)和延時(shí)變步長處理方法。設(shè)計(jì)了RTI性能測試工具,大大降低了直接使用RTI軟件的風(fēng)險(xiǎn)。
參考文獻(xiàn)
[1]鄭永煌.空間交會(huì)對(duì)接技術(shù)[J].自然雜志,2011,33(6):311-315.
[2]IEEE Standard for Modeling and Simulation(M&S)High Level Architecture(HLA)-Framework and Rules(IEEE Std 1516-2000)[M].USA:The Institute of Electrical and Electronics Engineers,Inc,2000.
[3]胡杰,黃長強(qiáng),劉安,等.基于HLA的脈沖修正火箭彈仿真平臺(tái)設(shè)計(jì)[J].系統(tǒng)仿真學(xué)報(bào),2009,21(5):1324-1328.
[4]周彥,戴劍偉.HLA仿真程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2002.
[5]劉步權(quán).分布式仿真運(yùn)行支撐平臺(tái)中時(shí)間管理服務(wù)的研究[D].長沙:國防科技大學(xué),2004.
[6]孫世霞,黃柯棣.RTI性能測試分析[J].系統(tǒng)仿真學(xué)報(bào),2005,17(4):909-913.