□ 宋慧波 王 勇
隨著仿真技術的迅猛發展,HLA仿真已廣泛應用于軍事、民用和商業領域的產品仿真中。隨著仿真規模的擴大和復雜程度的提高,仿真產品往往涉及到多個學科領域,而且各學科的仿真模型除了要獨立完成各自的仿真任務之外,彼此之間還存在著大量的信息交互,因此,單學科仿真已經無法滿足現代產品的仿真需求,只有進行多學科的聯合仿真才符合當前的發展趨勢。
HLA(High Level Architecture,高層體系結構),就是為了滿足對大規模復雜產品的協同仿真提出的一種開放的、支持面向對象和分布式交互仿真的高層體系結構。HLA支持不同的仿真語言,可以通過RTI(Run-time Infrastructure)運行支撐環境將不同的仿真應用集成到一個系統中,使仿真應用與底層支撐環境分離,各仿真子系統可以并行獨立開發,然后通過統一規范的接口與支撐環境相連,不僅保證了多學科仿真軟件間的互操作和可重用特性,而且解決了多個仿真模塊之間的數據傳輸問題,非常適合復雜系統的多學科聯合仿真。
多學科聯合仿真系統的功能需求如下:第一,通過機械、液壓、控制三個學科領域的聯合仿真實現對地面裝載車輛的模擬;第二,通過人機交互界面實現仿真劇本設置、運行流程控制以及仿真過程監控,并通過實時圖表方式來監控仿真運行中的數據變化;第三,系統要實現以下功能:一是仿真過程的運行控制:控制仿真的開始、暫停、結束;二是聯邦管理:實現聯邦創建/注銷,聯邦成員加入/退出,同步點設置等;三是聲明管理:實現不同學科聯邦成員之間數據和交互信息的訂閱/發布;四是時間管理:實現整個仿真時間的實時推進,確保所有聯邦成員以相同步長推進。
(一)總體結構設計。根據HLA的面向對象思想對仿真實體進行抽象,系統需要設計機械、液壓和控制3個系統聯邦成員,分別采用仿真軟件ADAMS、AMESIM和MATLAB進行模擬仿真。3個聯邦成員涵蓋了不同的學科領域,需要通過統一規范的RTI接口掛載到RTI軟總線上,彼此之間進行數據和信息的訂購/發布,從而實現聯合仿真。此外,為了對仿真運行過程進行控制,對控制系統聯邦成員MATLAB產生的數據進行監控,系統還要提供直觀的人機交互界面和動態的數據表現工具,多學科聯合仿真系統的體系結構如圖1所示。

圖1 系統體系結構
(二)功能模塊設計。多學科聯合仿真系統主要分為RTI配置、仿真劇本設置、聯邦初始化、仿真過程控制、運行狀態監控以及數據表現工具6大模塊。一是RTI配置主要完成中心服務器的配置和RTI服務的啟動;二是仿真劇本設置主要針對特定的仿真需求對仿真劇本的關鍵信息進行設置,使仿真按照用戶所預想的劇情推進,本系統的仿真劇本主要是針對仿真步長和仿真時間的設置;三是聯邦初始化主要控制機械、液壓和控制系統聯邦成員的初始化,使其處于就緒狀態,隨時等待仿真命令下達加入到聯邦執行中;四是仿真過程控制主要對仿真聯邦的啟動、暫停、繼續、結束等運行過程進行控制,此外還需提供運行日志便于隨時查看;五是運行狀態監控分為聯邦監控和聯邦成員監控兩部分,主要監控仿真聯邦和各個聯邦成員的屬性信息和實時運行狀態信息;六是數據表現工具主要對仿真數據進行圖形化展示,不僅能夠實時查看數據的動態變化,還可以在仿真結束后查看數據的整體走勢和變化范圍。
(一)系統類開發。系統在BH RTI 2.3仿真運行支撐環境下,采用VS 2010開發工具和C++語言,搭建了基于HLA的多學科聯合仿真系統的運行平臺,實現了不同學科領域的聯合仿真。系統主要由以下6個類組成:一是RtiSimulation:仿真程序主控類,實現仿真聯邦的運行控制;二是RSFedrateAmbassador:仿真聯邦大使類,是RTI向聯邦成員發送回調函數的接口;三是Adams:仿真成員對象類,實現機械系統聯邦成員的仿真功能;四是Amesim:仿真成員對象類,實現液壓系統聯邦成員的仿真功能;五是Matlab:仿真成員對象類,實現控制系統聯邦成員的仿真功能;六是Communication:仿真成員交互類,實現仿真聯邦執行過程中的信息交互功能。
(二)關鍵技術實現。
1.多學科聯合仿真。隨著仿真產品復雜程度的提高,很多學科領域都有主流的商業仿真軟件,機械領域的ADAMS可以方便地建立起仿真系統的機械模型,控制領域的MATLAB具有強大的數值計算能力,液壓領域的AMESIM可以提高系統建模精度,而且ADAMS、AMESIM和MATLAB均對外提供了C++接口,并具有較好的通用性,為多學科領域聯合仿真提供了可能,因此,協同 ADAMS、AMESIM和 MATLAB進行聯合仿真,便可發揮各自的優勢,從機械、液壓、控制3個層面實現對地面裝載車輛的模擬仿真。在系統開發過程中,各學科仿真子系統均可使用各自的仿真軟件進行獨立開發,然后通過統一規范的RTI接口掛接到RTI運行支撐環境中,這樣便可以利用RTI在聯邦成員之間傳送仿真命令和交互數據,進而實現多學科工具軟件的聯合仿真。

圖2 運行狀態監控
2.仿真時間管理。仿真系統的各個聯邦成員之間不僅存在著復雜的仿真邏輯和大量的信息交互,而且彼此影響,相互制約。除了初始化任務單獨完成之外,聯邦成員的仿真每向前推進一步,均需以其它聯邦成員輸出的數據和控制變量為前提。因此,為了保持各聯邦成員在仿真邏輯上的同步,系統將機械、液壓和控制系統聯邦成員的時間管理策略均設為“既時間控制又時間受限”。與此同時,系統選用基于同步點的時間同步方式,不僅能夠靈活地調整時間推進的步長,還可以使聯邦執行以可控的方式開始和結束。只要在仿真聯邦執行的每個階段入口處都設置相應的同步點進行控制,就可以確保聯邦成員之間的時間同步。
3.數據表現工具。數據表現工具主要由折線圖控件、實時動態折線圖和結果折線圖3部分組成,分別對應以下3個類:一是COScopeCtrl:折線圖控件集成類,包含了基本的繪制折線圖的功能函數;二是ClineChart:動態折線圖繪制類,主要用來展示MATLAB仿真數據的實時動態變化;三是CResult-Chart:結果折線圖繪制類,主要用于仿真結束后查看數據的整體變化。
(三)仿真試驗結果。該部分從RTI配置、仿真劇本設置、聯邦成員初始化、運行過程控制、運行狀態監控和數據表現工具等方面對仿真系統進行了測試,測試結果表明系統運行穩定可靠,能夠根據仿真設計流程實現仿真推進,可以監控仿真的運行過程(如圖2所示),能夠通過數據表現工具動態地展示仿真數據結果,達到了用戶需求的功能和性能指標,驗證了系統架構、仿真支撐平臺和數據表現工具的合理性和有效性。
本文對聯合仿真技術進行了研究探索,并在此基礎上完成了基于HLA的多學科聯合仿真系統的設計與實現:建立了系統的體系結構,搭建了仿真運行支撐環境,驗證了HLA技術與C/S架構結合的可行性,實現了RTI對仿真的運行控制和時間管理,設計了友好的人機交互界面和圖形表現工具,最終實現了機械、液壓、控制三個學科領域工具軟件的聯合仿真。通過測試表明系統運行穩定可靠,滿足了用戶的需求,具有較好的實時性和擴展性。
[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