基于HLA的多学科联合仿真系统设计与实现
2015-01-22宋慧波
□ 宋慧波 王 勇
一、引言
随着仿真技术的迅猛发展,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