□ 宋慧波 王 勇
隨著仿真技術(shù)的迅猛發(fā)展,HLA仿真已廣泛應用于軍事、民用和商業(yè)領(lǐng)域的產(chǎn)品仿真中。隨著仿真規(guī)模的擴大和復雜程度的提高,仿真產(chǎn)品往往涉及到多個學科領(lǐng)域,而且各學科的仿真模型除了要獨立完成各自的仿真任務之外,彼此之間還存在著大量的信息交互,因此,單學科仿真已經(jīng)無法滿足現(xiàn)代產(chǎn)品的仿真需求,只有進行多學科的聯(lián)合仿真才符合當前的發(fā)展趨勢。
HLA(High Level Architecture,高層體系結(jié)構(gòu)),就是為了滿足對大規(guī)模復雜產(chǎn)品的協(xié)同仿真提出的一種開放的、支持面向?qū)ο蠛头植际浇换シ抡娴母邔芋w系結(jié)構(gòu)。HLA支持不同的仿真語言,可以通過RTI(Run-time Infrastructure)運行支撐環(huán)境將不同的仿真應用集成到一個系統(tǒng)中,使仿真應用與底層支撐環(huán)境分離,各仿真子系統(tǒng)可以并行獨立開發(fā),然后通過統(tǒng)一規(guī)范的接口與支撐環(huán)境相連,不僅保證了多學科仿真軟件間的互操作和可重用特性,而且解決了多個仿真模塊之間的數(shù)據(jù)傳輸問題,非常適合復雜系統(tǒng)的多學科聯(lián)合仿真。
多學科聯(lián)合仿真系統(tǒng)的功能需求如下:第一,通過機械、液壓、控制三個學科領(lǐng)域的聯(lián)合仿真實現(xiàn)對地面裝載車輛的模擬;第二,通過人機交互界面實現(xiàn)仿真劇本設(shè)置、運行流程控制以及仿真過程監(jiān)控,并通過實時圖表方式來監(jiān)控仿真運行中的數(shù)據(jù)變化;第三,系統(tǒng)要實現(xiàn)以下功能:一是仿真過程的運行控制:控制仿真的開始、暫停、結(jié)束;二是聯(lián)邦管理:實現(xiàn)聯(lián)邦創(chuàng)建/注銷,聯(lián)邦成員加入/退出,同步點設(shè)置等;三是聲明管理:實現(xiàn)不同學科聯(lián)邦成員之間數(shù)據(jù)和交互信息的訂閱/發(fā)布;四是時間管理:實現(xiàn)整個仿真時間的實時推進,確保所有聯(lián)邦成員以相同步長推進。
(一)總體結(jié)構(gòu)設(shè)計。根據(jù)HLA的面向?qū)ο笏枷雽Ψ抡鎸嶓w進行抽象,系統(tǒng)需要設(shè)計機械、液壓和控制3個系統(tǒng)聯(lián)邦成員,分別采用仿真軟件ADAMS、AMESIM和MATLAB進行模擬仿真。3個聯(lián)邦成員涵蓋了不同的學科領(lǐng)域,需要通過統(tǒng)一規(guī)范的RTI接口掛載到RTI軟總線上,彼此之間進行數(shù)據(jù)和信息的訂購/發(fā)布,從而實現(xiàn)聯(lián)合仿真。此外,為了對仿真運行過程進行控制,對控制系統(tǒng)聯(lián)邦成員MATLAB產(chǎn)生的數(shù)據(jù)進行監(jiān)控,系統(tǒng)還要提供直觀的人機交互界面和動態(tài)的數(shù)據(jù)表現(xiàn)工具,多學科聯(lián)合仿真系統(tǒng)的體系結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)體系結(jié)構(gòu)
(二)功能模塊設(shè)計。多學科聯(lián)合仿真系統(tǒng)主要分為RTI配置、仿真劇本設(shè)置、聯(lián)邦初始化、仿真過程控制、運行狀態(tài)監(jiān)控以及數(shù)據(jù)表現(xiàn)工具6大模塊。一是RTI配置主要完成中心服務器的配置和RTI服務的啟動;二是仿真劇本設(shè)置主要針對特定的仿真需求對仿真劇本的關(guān)鍵信息進行設(shè)置,使仿真按照用戶所預想的劇情推進,本系統(tǒng)的仿真劇本主要是針對仿真步長和仿真時間的設(shè)置;三是聯(lián)邦初始化主要控制機械、液壓和控制系統(tǒng)聯(lián)邦成員的初始化,使其處于就緒狀態(tài),隨時等待仿真命令下達加入到聯(lián)邦執(zhí)行中;四是仿真過程控制主要對仿真聯(lián)邦的啟動、暫停、繼續(xù)、結(jié)束等運行過程進行控制,此外還需提供運行日志便于隨時查看;五是運行狀態(tài)監(jiān)控分為聯(lián)邦監(jiān)控和聯(lián)邦成員監(jiān)控兩部分,主要監(jiān)控仿真聯(lián)邦和各個聯(lián)邦成員的屬性信息和實時運行狀態(tài)信息;六是數(shù)據(jù)表現(xiàn)工具主要對仿真數(shù)據(jù)進行圖形化展示,不僅能夠?qū)崟r查看數(shù)據(jù)的動態(tài)變化,還可以在仿真結(jié)束后查看數(shù)據(jù)的整體走勢和變化范圍。
(一)系統(tǒng)類開發(fā)。系統(tǒng)在BH RTI 2.3仿真運行支撐環(huán)境下,采用VS 2010開發(fā)工具和C++語言,搭建了基于HLA的多學科聯(lián)合仿真系統(tǒng)的運行平臺,實現(xiàn)了不同學科領(lǐng)域的聯(lián)合仿真。系統(tǒng)主要由以下6個類組成:一是RtiSimulation:仿真程序主控類,實現(xiàn)仿真聯(lián)邦的運行控制;二是RSFedrateAmbassador:仿真聯(lián)邦大使類,是RTI向聯(lián)邦成員發(fā)送回調(diào)函數(shù)的接口;三是Adams:仿真成員對象類,實現(xiàn)機械系統(tǒng)聯(lián)邦成員的仿真功能;四是Amesim:仿真成員對象類,實現(xiàn)液壓系統(tǒng)聯(lián)邦成員的仿真功能;五是Matlab:仿真成員對象類,實現(xiàn)控制系統(tǒng)聯(lián)邦成員的仿真功能;六是Communication:仿真成員交互類,實現(xiàn)仿真聯(lián)邦執(zhí)行過程中的信息交互功能。
(二)關(guān)鍵技術(shù)實現(xiàn)。
1.多學科聯(lián)合仿真。隨著仿真產(chǎn)品復雜程度的提高,很多學科領(lǐng)域都有主流的商業(yè)仿真軟件,機械領(lǐng)域的ADAMS可以方便地建立起仿真系統(tǒng)的機械模型,控制領(lǐng)域的MATLAB具有強大的數(shù)值計算能力,液壓領(lǐng)域的AMESIM可以提高系統(tǒng)建模精度,而且ADAMS、AMESIM和MATLAB均對外提供了C++接口,并具有較好的通用性,為多學科領(lǐng)域聯(lián)合仿真提供了可能,因此,協(xié)同 ADAMS、AMESIM和 MATLAB進行聯(lián)合仿真,便可發(fā)揮各自的優(yōu)勢,從機械、液壓、控制3個層面實現(xiàn)對地面裝載車輛的模擬仿真。在系統(tǒng)開發(fā)過程中,各學科仿真子系統(tǒng)均可使用各自的仿真軟件進行獨立開發(fā),然后通過統(tǒng)一規(guī)范的RTI接口掛接到RTI運行支撐環(huán)境中,這樣便可以利用RTI在聯(lián)邦成員之間傳送仿真命令和交互數(shù)據(jù),進而實現(xiàn)多學科工具軟件的聯(lián)合仿真。
圖2 運行狀態(tài)監(jiān)控
2.仿真時間管理。仿真系統(tǒng)的各個聯(lián)邦成員之間不僅存在著復雜的仿真邏輯和大量的信息交互,而且彼此影響,相互制約。除了初始化任務單獨完成之外,聯(lián)邦成員的仿真每向前推進一步,均需以其它聯(lián)邦成員輸出的數(shù)據(jù)和控制變量為前提。因此,為了保持各聯(lián)邦成員在仿真邏輯上的同步,系統(tǒng)將機械、液壓和控制系統(tǒng)聯(lián)邦成員的時間管理策略均設(shè)為“既時間控制又時間受限”。與此同時,系統(tǒng)選用基于同步點的時間同步方式,不僅能夠靈活地調(diào)整時間推進的步長,還可以使聯(lián)邦執(zhí)行以可控的方式開始和結(jié)束。只要在仿真聯(lián)邦執(zhí)行的每個階段入口處都設(shè)置相應的同步點進行控制,就可以確保聯(lián)邦成員之間的時間同步。
3.數(shù)據(jù)表現(xiàn)工具。數(shù)據(jù)表現(xiàn)工具主要由折線圖控件、實時動態(tài)折線圖和結(jié)果折線圖3部分組成,分別對應以下3個類:一是COScopeCtrl:折線圖控件集成類,包含了基本的繪制折線圖的功能函數(shù);二是ClineChart:動態(tài)折線圖繪制類,主要用來展示MATLAB仿真數(shù)據(jù)的實時動態(tài)變化;三是CResult-Chart:結(jié)果折線圖繪制類,主要用于仿真結(jié)束后查看數(shù)據(jù)的整體變化。
(三)仿真試驗結(jié)果。該部分從RTI配置、仿真劇本設(shè)置、聯(lián)邦成員初始化、運行過程控制、運行狀態(tài)監(jiān)控和數(shù)據(jù)表現(xiàn)工具等方面對仿真系統(tǒng)進行了測試,測試結(jié)果表明系統(tǒng)運行穩(wěn)定可靠,能夠根據(jù)仿真設(shè)計流程實現(xiàn)仿真推進,可以監(jiān)控仿真的運行過程(如圖2所示),能夠通過數(shù)據(jù)表現(xiàn)工具動態(tài)地展示仿真數(shù)據(jù)結(jié)果,達到了用戶需求的功能和性能指標,驗證了系統(tǒng)架構(gòu)、仿真支撐平臺和數(shù)據(jù)表現(xiàn)工具的合理性和有效性。
本文對聯(lián)合仿真技術(shù)進行了研究探索,并在此基礎(chǔ)上完成了基于HLA的多學科聯(lián)合仿真系統(tǒng)的設(shè)計與實現(xiàn):建立了系統(tǒng)的體系結(jié)構(gòu),搭建了仿真運行支撐環(huán)境,驗證了HLA技術(shù)與C/S架構(gòu)結(jié)合的可行性,實現(xiàn)了RTI對仿真的運行控制和時間管理,設(shè)計了友好的人機交互界面和圖形表現(xiàn)工具,最終實現(xiàn)了機械、液壓、控制三個學科領(lǐng)域工具軟件的聯(lián)合仿真。通過測試表明系統(tǒng)運行穩(wěn)定可靠,滿足了用戶的需求,具有較好的實時性和擴展性。
[1]Yang Jie,Li Yin.Hardware-in-the-loop simulation of communication network[J].Journal of Beijing Institute of Technology,2012,21(3):376~381
[2]Shucai Tang,Tianyuan Xiao,Wenhui Fan.A collaborative platform for complex product design with an extended HLA integration architecture[J].Simulation Modeling Practice and Theory,2010,18:1048 ~1068
[3]Robson E.De Grande,AzzedineBoukerche.Dynamic balancing of communication and computation load for HLA-based simulations on large-scale distributed systems[J].J.Parallel Distrib.Comput.,2011,71:40 ~52