孟德壯 ,顏 瓅 ,劉朕明 ,方曉波
(1.中國船舶及海洋工程設(shè)計研究院,上海 200011;2.上海中船船舶設(shè)計技術(shù)國家工程研究中心有限公司,上海 200083)
基于HLA的艦船輸轉(zhuǎn)作業(yè)仿真系統(tǒng)研究
孟德壯1,2,顏 瓅1,2,劉朕明1,2,方曉波1
(1.中國船舶及海洋工程設(shè)計研究院,上海 200011;2.上海中船船舶設(shè)計技術(shù)國家工程研究中心有限公司,上海 200083)
針對艦船輸轉(zhuǎn)作業(yè)方案仿真存在的計算資源不足、戰(zhàn)位多、人機(jī)交互等問題,開發(fā)了基于HLA的艦船輸轉(zhuǎn)作業(yè)仿真系統(tǒng),根據(jù)資源占有率和功能模塊劃分聯(lián)邦成員,設(shè)計分布式仿真系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu),選定協(xié)同網(wǎng)時間管理策略,研究節(jié)點(diǎn)間通訊性能測試方法,解決節(jié)點(diǎn)間控制機(jī)制問題,建立協(xié)同網(wǎng)對象類和交互類。使用MAKRTI作為HLA的輔助開發(fā)工具,基于Vega Prime進(jìn)行視景驅(qū)動。經(jīng)過仿真試驗(yàn),結(jié)果表明:本系統(tǒng)能夠在功能和性能上滿足輸轉(zhuǎn)作業(yè)設(shè)計仿真需求。與傳統(tǒng)設(shè)計方式相比,本系統(tǒng)提高設(shè)計效率,均衡計算負(fù)載,降低節(jié)點(diǎn)通訊延遲時間。
輸轉(zhuǎn)作業(yè);分布式仿真;高層體系結(jié)構(gòu);節(jié)點(diǎn)控制
為輸轉(zhuǎn)作業(yè)仿真研究建立分布式的仿真系統(tǒng),一方面可以將計算負(fù)荷分?jǐn)偟蕉嗯_硬件節(jié)點(diǎn)上,確保各種試驗(yàn)計算的實(shí)時性,另一方面,由多臺計算機(jī)構(gòu)成的試驗(yàn)系統(tǒng)也支持開展多人多點(diǎn)同步對輸轉(zhuǎn)作業(yè)仿真的不同方面進(jìn)行觀察、控制和評估。因此,面向輸轉(zhuǎn)作業(yè)仿真設(shè)計合理的分布式系統(tǒng)結(jié)構(gòu)和有效的節(jié)點(diǎn)協(xié)同機(jī)制,進(jìn)而建立運(yùn)行高效的分布式仿真系統(tǒng)是確保輸轉(zhuǎn)作業(yè)仿真研究深入開展的重要因素。
HLA 即 High Level Architecture,是一種專用于分布式系統(tǒng)的通用技術(shù)框架核心[1],由美國國防部(DoD)于1995年提出,并于2000年被接納為正式的IEEE標(biāo)準(zhǔn),在軍事和工業(yè)領(lǐng)域得到了廣泛應(yīng)用[2]。文獻(xiàn)[3]分析了美軍仿真體系結(jié)構(gòu)的發(fā)展,介紹了多種仿真體系并存,HLA使用量大的現(xiàn)狀。文獻(xiàn)[4]論述了分布式仿真的優(yōu)勢,使用用戶服務(wù)層、應(yīng)用服務(wù)層和數(shù)據(jù)服務(wù)層設(shè)計模式進(jìn)行基于HLA的仿真系統(tǒng)開發(fā)。文獻(xiàn)[5]基于HLA開展艦船操縱仿真研究,開發(fā)了有效的聯(lián)邦測試工具,但無法對通訊性能進(jìn)行測試。HLA在船舶輸轉(zhuǎn)作業(yè)系統(tǒng)的應(yīng)用未見公開報導(dǎo)。本文貼合輸轉(zhuǎn)作業(yè)特點(diǎn),建立了基于HLA的分布式仿真系統(tǒng),設(shè)計了節(jié)點(diǎn)協(xié)同機(jī)制,并驗(yàn)證了系統(tǒng)運(yùn)行的高效性。
本文基于以下原則分析單機(jī)上的復(fù)雜仿真系統(tǒng),將各部分劃分到不同的聯(lián)邦成員,分別配置到分布式系統(tǒng)的不同硬件節(jié)點(diǎn)上。
1)運(yùn)算負(fù)荷均衡
仿真系統(tǒng)進(jìn)行輸轉(zhuǎn)作業(yè)推演時干涉檢查模塊、視景仿真模塊運(yùn)算量大,為了均衡計算資源消耗,將其劃分為聯(lián)邦不同成員,即碰撞成員、視景成員。
2)不同功能站位分離
考慮到仿真控制信息不受節(jié)點(diǎn)其他計算影響,將仿真控制、子節(jié)點(diǎn)狀態(tài)監(jiān)測、通訊性能測試等功能集成在仿真控制成員;作業(yè)驅(qū)動和轉(zhuǎn)運(yùn)路徑規(guī)劃功能劃分為數(shù)學(xué)成員;輸轉(zhuǎn)作業(yè)參與人員多,戰(zhàn)位復(fù)雜,仿真視點(diǎn)大致可以分為3類:引導(dǎo)員、指揮員和駕駛員,因此設(shè)立若干個視景成員滿足場景和戰(zhàn)位需求。
3)特殊形式硬件獨(dú)立
駕控臺節(jié)點(diǎn)用于實(shí)現(xiàn)人在回路的車輛駕駛仿真。集成顯示器,模擬駕駛員視窗,與視景節(jié)點(diǎn)一樣,基于Vega Prime進(jìn)行視景驅(qū)動。具有完整坦克和車輛駕駛操作設(shè)備的駕控臺作為半物理仿真成員接入仿真聯(lián)邦,模擬坦克或者車輛駕駛,便于駕控臺成員的單獨(dú)調(diào)試。
綜上所述,艦船仿真聯(lián)邦劃分以下成員,即仿真控制成員、數(shù)學(xué)成員、碰撞成員、駕控臺成員和若干個視景成員,邏輯結(jié)構(gòu)如圖1所示。
圖1 輸轉(zhuǎn)作業(yè)仿真系統(tǒng)邏輯結(jié)構(gòu)圖Fig.1 Logical structure of transport operation simulation system
根據(jù)圖1的仿真系統(tǒng)邏輯結(jié)構(gòu)圖,基于HLA規(guī)則,組建艦船仿真聯(lián)邦,每個成員對應(yīng)1個節(jié)點(diǎn),為1個單獨(dú)運(yùn)行的應(yīng)用程序。本文基于MAK-RTI進(jìn)行開發(fā),但各節(jié)點(diǎn)應(yīng)用程序不直接采用復(fù)雜的MAK-RTI API實(shí)現(xiàn),而是采用較為簡單的VR-LINK API接口來實(shí)現(xiàn)。
1.1 節(jié)點(diǎn)信息交互
HLA對象模型模板用于引導(dǎo)說明聯(lián)邦和聯(lián)邦成員在聯(lián)邦運(yùn)行中需要交換的數(shù)據(jù)信息,是實(shí)現(xiàn)互操作和重用的重要機(jī)制之一[5]。在聯(lián)邦運(yùn)行中,成員之間數(shù)據(jù)交換是借助RTI提供的服務(wù)實(shí)現(xiàn)。聲明發(fā)布對象類或交互類成員提供更新屬性值,訂購相應(yīng)對象類或交互類成員接收數(shù)據(jù),并將數(shù)據(jù)本地化加以利用[6]。輸轉(zhuǎn)作業(yè)仿真系統(tǒng)對象類設(shè)計如表1所示,交互類設(shè)計如表2所示。
1.2 運(yùn)行框架
系統(tǒng)各節(jié)點(diǎn)仿真應(yīng)用程序框架采用雙線程結(jié)構(gòu),一個是窗口界面線程,它主要用于處理用戶和窗口的交互;另一個是仿真聯(lián)邦線程,主要用于完成仿真模型的執(zhí)行和成員間信息交互。以駕控臺節(jié)點(diǎn)程序?yàn)槔f明線程之間關(guān)系及結(jié)構(gòu),如圖2所示。
表1 對象類設(shè)計Tab.1 Design of object classes
表2 交互類設(shè)計Tab.2 Design of interaction classes
1)系統(tǒng)啟動
仿真啟動過程可分為預(yù)加載和運(yùn)行2個階段。預(yù)加載階段,協(xié)同網(wǎng)碰撞節(jié)點(diǎn)、駕控臺節(jié)點(diǎn)和視景節(jié)點(diǎn)分別加載輸轉(zhuǎn)方案中實(shí)體碰撞模型、動力學(xué)模型和三維可視化模型,由用戶選定作業(yè)方案開始直到所有模型加載完畢結(jié)束。此時仿真啟動準(zhǔn)備工作完成。預(yù)加載階段節(jié)點(diǎn)間信息交互如圖3所示。
2)節(jié)點(diǎn)交互
運(yùn)行階段從用戶啟動仿真開始直至仿真停止結(jié)束。數(shù)學(xué)節(jié)點(diǎn)根據(jù)方案流程進(jìn)行時間推演、作業(yè)驅(qū)動和路徑規(guī)劃,同時向協(xié)同網(wǎng)上其他節(jié)點(diǎn)發(fā)送時間信息。當(dāng)規(guī)劃的作業(yè)類型為轉(zhuǎn)運(yùn)且駕控臺節(jié)點(diǎn)具有駕駛輸入時,基于車輛動力學(xué)模型的駕控臺節(jié)點(diǎn)根據(jù)用戶操控信息向碰撞節(jié)點(diǎn)和視景節(jié)點(diǎn)發(fā)送作業(yè)類型和物體位置等信息。碰撞節(jié)點(diǎn)根據(jù)物體位置信息進(jìn)行干涉檢查,并將碰撞信息發(fā)送到視景節(jié)點(diǎn)。視景節(jié)點(diǎn)接收到碰撞信息、具備動力學(xué)模型的作業(yè)類型和物體位置等進(jìn)行虛擬仿真。隨著仿真時間推進(jìn),節(jié)點(diǎn)協(xié)同工作將重復(fù)以上步驟。運(yùn)行階段節(jié)點(diǎn)間信息交互如圖4所示。
3)新節(jié)點(diǎn)上線
運(yùn)行階段仿真聯(lián)邦增加視景成員,新視景節(jié)點(diǎn)接收到仿真方案信息后,同時開始加載方案對應(yīng)的三維可視化模型。仿真控制節(jié)點(diǎn)根據(jù)來自新節(jié)點(diǎn)“忙”的心跳信息,將仿真運(yùn)行狀態(tài)改為暫停,因此其他節(jié)點(diǎn)均處于暫停狀態(tài)直至新視景節(jié)點(diǎn)模型加載完畢。此時節(jié)點(diǎn)間消息交互如圖5所示。新增視景節(jié)點(diǎn),暫停機(jī)制保障仿真成員間時間同步,但增加整個協(xié)同網(wǎng)絡(luò)暫停時間,故盡量在啟動仿真前打開滿足足夠數(shù)量的視景節(jié)點(diǎn)。
圖2 駕控臺節(jié)點(diǎn)應(yīng)用程序線程Fig.2 Application thread of drive control node
3.1 時間管理
圖3 預(yù)加載階段節(jié)點(diǎn)間信息交互機(jī)制Fig.3 Mechanism of information interaction between nodes in pre-loading state
圖4 運(yùn)行階段節(jié)點(diǎn)間信息交互機(jī)制Fig.4 Mechanism of information interaction between nodes in runnning state
圖5 新視景節(jié)點(diǎn)上線節(jié)點(diǎn)間信息交互機(jī)制Fig.5 Mechanism of information interaction between nodes when a new visual node is online
時間是分布式仿真的重要因素,決定系統(tǒng)性能的優(yōu)劣[7]。HLA聯(lián)邦成員的時間管理策略有時間控制(Time Regulating)和時間約束(Time Constrained)2種[8]。本分布式仿真系統(tǒng)為硬件在回路網(wǎng)絡(luò),駕駛員操控信息受模擬駕駛視窗的場景影響,實(shí)時性要求較高,仿真聯(lián)邦各成員均設(shè)置為既時間控制又時間約束。經(jīng)過艦船、裝備、人員交互關(guān)系梳理,結(jié)合輸轉(zhuǎn)作業(yè)系統(tǒng)特點(diǎn),選定以下消息交互方式:消息傳遞順序均采用時戳順序TSO,消息傳遞方式采用最佳消息發(fā)送方式(Best effort)。
3.2 性能測試
協(xié)同網(wǎng)節(jié)點(diǎn)間通信延遲主要由節(jié)點(diǎn)間交互時間和節(jié)點(diǎn)內(nèi)運(yùn)算時間組成。仿真控制節(jié)點(diǎn)的通信線程不斷發(fā)送性能測試信息到目標(biāo)測試節(jié)點(diǎn),同時目標(biāo)測試節(jié)點(diǎn)通過回調(diào)函數(shù)接收時間測試信息并返回。時間測試開始后仿真控制節(jié)點(diǎn)創(chuàng)建高精度時鐘,發(fā)送節(jié)點(diǎn)ID和時間開始值到目標(biāo)測試節(jié)點(diǎn),接收到目標(biāo)測試節(jié)點(diǎn)的返回消息時同時記錄時鐘中止值,依照式(1),計算出仿真控制節(jié)點(diǎn)和目標(biāo)測試節(jié)點(diǎn)間的延遲時間。
運(yùn)行各節(jié)點(diǎn)應(yīng)用程序,在用戶選定作業(yè)方案前啟動性能測試,此時節(jié)點(diǎn)內(nèi)運(yùn)算時間t運(yùn)算可以忽略不計,統(tǒng)計記錄節(jié)點(diǎn)間通信延遲時間即可得節(jié)點(diǎn)間交互時間t交互;運(yùn)行各節(jié)點(diǎn)應(yīng)用程序,用戶選定作業(yè)方案且啟動仿真后,再啟動性能測試。記錄節(jié)點(diǎn)間通信延遲時間t通訊,根據(jù)式(2),剔除節(jié)點(diǎn)間交互時間t交互計算得出節(jié)點(diǎn)內(nèi)運(yùn)算時間t運(yùn)算。
4.1 仿真試驗(yàn)
依次運(yùn)行仿真系統(tǒng)各節(jié)點(diǎn)應(yīng)用程序,導(dǎo)入某艦輸轉(zhuǎn)作業(yè)設(shè)計方案,在仿真控制節(jié)點(diǎn)選定某方案。
通過某艦輸轉(zhuǎn)方案仿真演示,發(fā)現(xiàn)仿真系統(tǒng)涵蓋了全艦三維環(huán)境模型、車輛等虛擬裝備和控制面、作業(yè)面等半實(shí)物模型,仿真模型總數(shù)不少于100個,同時仿真模型對應(yīng)的約束模型總數(shù)不少于1 000。從仿真開始執(zhí)行到艙室環(huán)境搜索、實(shí)體約束傳送、仿真流程推演和三維仿真顯示的總響應(yīng)時間遠(yuǎn)不足0.1 s,滿足仿真真實(shí)性、流暢性和功能性要求。
運(yùn)行方案發(fā)現(xiàn)仿真控制節(jié)點(diǎn)狀態(tài)監(jiān)測正常,數(shù)學(xué)節(jié)點(diǎn)、視景節(jié)點(diǎn)數(shù)據(jù)顯示正常,碰撞節(jié)點(diǎn)滿足干涉精細(xì)度要求,視景仿真工作站和三通道演示系統(tǒng)畫面流暢。
4.2 試驗(yàn)數(shù)據(jù)分析
節(jié)點(diǎn)間交互時間的最大值如圖7所示,節(jié)點(diǎn)內(nèi)運(yùn)算時間比較結(jié)果如圖8所示。圖7表明節(jié)點(diǎn)間交互時間最大值在3.1 ms左右。圖8表明視景節(jié)點(diǎn)內(nèi)部運(yùn)算消耗時間最長,為5 ms左右。如單臺計算機(jī)運(yùn)行仿真系統(tǒng)各模塊,系統(tǒng)運(yùn)算時間總和約為5(視景節(jié)點(diǎn))+3(碰撞節(jié)點(diǎn))+2(數(shù)學(xué)節(jié)點(diǎn))+1(駕控臺節(jié)點(diǎn))= 10 >8.1 ms,可見均衡計算負(fù)載之后,仿真系統(tǒng)延遲時間縮短。且實(shí)際仿真時,受限于計算機(jī)資源,單臺計算機(jī)運(yùn)算時間遠(yuǎn)大于10 ms。
圖6 節(jié)點(diǎn)間交互時間最大值Fig.6 Maximum value of interaction time between nodes
圖7 節(jié)點(diǎn)內(nèi)運(yùn)算時間比較Fig.7 Comparison of computation time in nodes
本文針對艦船輸轉(zhuǎn)作業(yè)系統(tǒng)建立了仿真系統(tǒng)聯(lián)邦和聯(lián)邦成員,制定了協(xié)同仿真對象類和交互類,分析節(jié)點(diǎn)工作機(jī)制,研究時間管理策略,進(jìn)行節(jié)點(diǎn)通信性能測試,最后基于HLA建立了分布式仿真系統(tǒng)框架,完成了整個協(xié)同仿真系統(tǒng)搭建。
1)本文基于HLA建立艦船輸轉(zhuǎn)作業(yè)分布式仿真系統(tǒng),滿足了輸轉(zhuǎn)方案在仿真功能和性能上的需求,提供了輸轉(zhuǎn)作業(yè)方案仿真驗(yàn)證平臺。
2)本系統(tǒng)具有較好的可擴(kuò)展性,既降低仿真系統(tǒng)硬件成本,又利用仿真單元的結(jié)構(gòu)化、分布化,同步開展仿真程序開發(fā),提高開發(fā)速度。
3)本系統(tǒng)運(yùn)行穩(wěn)定,節(jié)點(diǎn)間交互延遲時間在可接受范圍之內(nèi)。今后將開展分布式仿真數(shù)據(jù)記錄研究,從各節(jié)點(diǎn)采集仿真原始數(shù)據(jù),為下一步進(jìn)行輸轉(zhuǎn)方案仿真評估及優(yōu)化做準(zhǔn)備。
[1]FREDER ICK K, RICHARD W, JUD ITH D. 計算機(jī)仿真中的HLA技術(shù)[M]. 北京: 國防工業(yè)出版社, 2003.
[2]王子才. 仿真技術(shù)發(fā)展及應(yīng)用[J]. 中國工程科學(xué), 2003, 5(2):40–43.
WANG Zi-cai. Development and application of simulation technology[J]. Engineering Science, 2003, 5(2): 40–43.
[3]陳西選, 徐珞, 曲凱, 等. 仿真體系結(jié)構(gòu)發(fā)展現(xiàn)狀與趨勢研究[J]. 計算機(jī)工程與應(yīng)用, 2014, 50(9): 32–36.
CHEN Xi-xuan, XU Luo, QU Kai, et al. Research on the development status and trend of simulation architecture[J].Computer Engineering and Applications, 2014, 50(9): 32–36.
[4]楊雪榕, 梁加紅, 馮向軍, 等. 分布式仿真軟件三層設(shè)計模式及應(yīng)用[J]. 系統(tǒng)仿真學(xué)報, 2008(21): 5812–5815.
YANG Xue-rong, LIANG Jia-hong, FENG Xiang-jun, et al.Introduction and application of three-level design pattern for DIS software[J]. Journal of System Simulation, 2008(21):5812–5815.
[5]王元慧, 邊信黔, 王宏健, 等. 基于HLA的艦船操縱綜合仿真平臺的設(shè)計[J]. 系統(tǒng)仿真學(xué)報, 2009, 21(2): 385–388.
WANG Yuan-hui, BIAN Xin-qian, WANG Hong-jian, et al.Design of ship operation integrated simulation platform based on HLA[J]. Journal of System Simulation, 2009, 21(2):385–388.
[6]MAK Technologies. VR-Link Developers Guide[Z]. Cambridge: MAK Technologies, 2005.
[7]黃先祥, 龍勇, 張志利, 等. 分布式視景仿真技術(shù)綜述[J]. 系統(tǒng)仿真學(xué)報, 2010, 22(11): 2742–2747.
HUANG Xian-xiang, LONG Yong, ZHANG Zhi-li, et al.Summarization of distributed visual simulation technology[J].Journal of System Simulation, 2010, 22(11): 2742–2747.
[8]王瓊, 蔡小斌, 杜承烈, 等. 分布虛擬試驗(yàn)支撐環(huán)境研究[J]. 計算機(jī)仿真, 25(5): 16–19.
WANG Qiong, CAI Xiao-bin, DU Cheng-lie, et al. A study of distributed virtual test supporting environment[J]. Computer Simulation, 2010, 22(11): 2742–2747.
[9]陳春鵬, 安樹林, 董印權(quán), 等. 改進(jìn)時間管理機(jī)制的分布式仿真體系結(jié)構(gòu)[J]. 系統(tǒng)仿真學(xué)報, 2009, 21(18): 5754–5759.
CHEN Chun-peng, AN Shu-lin, DONG Yin-quan, et al.Distributed simulation architecture with new time management method[J]. Journal of System Simulation, 2009, 21(18):5754–5759.
Research on transport operation simulation system of warship based on HLA
MENG De-zhuang1,2,YAN Li1,2,LIU Zhen-ming1,2,FANG Xiao-bo1
(1.Marine Design and Research Institute of China,Shanghai 200011,China;2.Shanghai Zhongchuan Ship Design Technology National Engineering Research Center Co.,Ltd,Shanghai 200083,China)
In order to solve the problems of insufficient resources,battle positions and human-computer interaction,transport operation simulation system of warship is developed based on HLA.According to computer resources’ occupation and functions,the federation is distributed into several federates.Then the network Structure for Distributed Simulation system is planned,the time management stragety of Collaboration network is chosen,the control mechanism of several nodes is emphasizly solved,and the publisher and the order of object classes and interaction classes is cleared.MAK-RTI is used as an assist develop tool of HLA,and visual view is driven by Vega Prime.It is showed that the Distributed Simulation system can satisfy designers’ needs in function and performance through simulation tests.Compared with the solution of traditional design,the system can improve design efficiency,balance computing load,and reduce delay time of node communication.
transport operation;distributed simulation;high level architecture;node control
TP391.9
A
1672 – 7649(2017)10 – 0159 – 05
10.3404/j.issn.1672 – 7649.2017.10.032
0 引 言
輸轉(zhuǎn)作業(yè)是指艦船作業(yè)中與作業(yè)實(shí)體位置變化相關(guān)的所有作業(yè),包括車輛行駛、牽引、貨物調(diào)運(yùn)等作業(yè),以及相關(guān)配套的系留解系、掛鉤脫鉤、裝貨卸貨等作業(yè),廣泛用于補(bǔ)給、任務(wù)保障、貨物運(yùn)輸?shù)雀鞣N作業(yè)系統(tǒng)中。隨著艦船作業(yè)的復(fù)雜化和任務(wù)多樣化,輸轉(zhuǎn)作業(yè)也面臨著環(huán)境約束增加,作業(yè)方案復(fù)雜性增加,作業(yè)實(shí)體互相擠占空間和作業(yè)流程互相沖突更易發(fā)生等問題,對輸轉(zhuǎn)作業(yè)方案的設(shè)計提出較高要求。
使用仿真方法對輸轉(zhuǎn)作業(yè)的設(shè)計方案進(jìn)行研究,可以充分檢驗(yàn)作業(yè)過程中各種要素中出現(xiàn)的動態(tài)變化,從而獲得對設(shè)計方案更準(zhǔn)確的評估。仿真系統(tǒng)在試驗(yàn)過程中,需要同步開展車輛等作業(yè)實(shí)體的動力學(xué)運(yùn)動學(xué)仿真計算、作業(yè)實(shí)體與艙室環(huán)境和其他實(shí)體的三維干涉檢查、三維場景實(shí)時渲染,以及人在回路的駕駛仿真,對計算機(jī)的運(yùn)算能力提出了很高的要求,同時,輸轉(zhuǎn)作業(yè)仿真的規(guī)模也在逐步增大,因此單臺計算機(jī)逐漸難以滿足仿真試驗(yàn)計算的需要。
2016 – 11 – 17;
2017 – 01 – 09
國防基礎(chǔ)科研資助項目(A0720132001)
孟德壯(1989 – ),男,碩士研究生,助理工程師,研究方向?yàn)榇疤摂M仿真。