2. 上海中船船舶设计技术国家工程研究中心有限公司,上海 200083
2. Shanghai Zhongchuan Ship Design Technology National Engineering Research Center Co., Ltd, Shanghai 200083, China
输转作业是指舰船作业中与作业实体位置变化相关的所有作业,包括车辆行驶、牵引、货物调运等作业,以及相关配套的系留解系、挂钩脱钩、装货卸货等作业,广泛用于补给、任务保障、货物运输等各种作业系统中。随着舰船作业的复杂化和任务多样化,输转作业也面临着环境约束增加,作业方案复杂性增加,作业实体互相挤占空间和作业流程互相冲突更易发生等问题,对输转作业方案的设计提出较高要求。
使用仿真方法对输转作业的设计方案进行研究,可以充分检验作业过程中各种要素中出现的动态变化,从而获得对设计方案更准确的评估。仿真系统在试验过程中,需要同步开展车辆等作业实体的动力学运动学仿真计算、作业实体与舱室环境和其他实体的三维干涉检查、三维场景实时渲染,以及人在回路的驾驶仿真,对计算机的运算能力提出了很高的要求,同时,输转作业仿真的规模也在逐步增大,因此单台计算机逐渐难以满足仿真试验计算的需要。
为输转作业仿真研究建立分布式的仿真系统,一方面可以将计算负荷分摊到多台硬件节点上,确保各种试验计算的实时性,另一方面,由多台计算机构成的试验系统也支持开展多人多点同步对输转作业仿真的不同方面进行观察、控制和评估。因此,面向输转作业仿真设计合理的分布式系统结构和有效的节点协同机制,进而建立运行高效的分布式仿真系统是确保输转作业仿真研究深入开展的重要因素。
HLA即High Level Architecture,是一种专用于分布式系统的通用技术框架核心[1],由美国国防部(DoD)于1995年提出,并于2000年被接纳为正式的IEEE标准,在军事和工业领域得到了广泛应用[2]。文献[3]分析了美军仿真体系结构的发展,介绍了多种仿真体系并存,HLA使用量大的现状。文献[4]论述了分布式仿真的优势,使用用户服务层、应用服务层和数据服务层设计模式进行基于HLA的仿真系统开发。文献[5]基于HLA开展舰船操纵仿真研究,开发了有效的联邦测试工具,但无法对通讯性能进行测试。HLA在船舶输转作业系统的应用未见公开报导。本文贴合输转作业特点,建立了基于HLA的分布式仿真系统,设计了节点协同机制,并验证了系统运行的高效性。
1 仿真系统设计本文基于以下原则分析单机上的复杂仿真系统,将各部分划分到不同的联邦成员,分别配置到分布式系统的不同硬件节点上。
1)运算负荷均衡
仿真系统进行输转作业推演时干涉检查模块、视景仿真模块运算量大,为了均衡计算资源消耗,将其划分为联邦不同成员,即碰撞成员、视景成员。
2)不同功能站位分离
考虑到仿真控制信息不受节点其他计算影响,将仿真控制、子节点状态监测、通讯性能测试等功能集成在仿真控制成员;作业驱动和转运路径规划功能划分为数学成员;输转作业参与人员多,战位复杂,仿真视点大致可以分为3类:引导员、指挥员和驾驶员,因此设立若干个视景成员满足场景和战位需求。
3)特殊形式硬件独立
驾控台节点用于实现人在回路的车辆驾驶仿真。集成显示器,模拟驾驶员视窗,与视景节点一样,基于Vega Prime进行视景驱动。具有完整坦克和车辆驾驶操作设备的驾控台作为半物理仿真成员接入仿真联邦,模拟坦克或者车辆驾驶,便于驾控台成员的单独调试。
综上所述,舰船仿真联邦划分以下成员,即仿真控制成员、数学成员、碰撞成员、驾控台成员和若干个视景成员,逻辑结构如图1所示。
根据图1的仿真系统逻辑结构图,基于HLA规则,组建舰船仿真联邦,每个成员对应1个节点,为1个单独运行的应用程序。本文基于MAK-RTI进行开发,但各节点应用程序不直接采用复杂的MAK-RTI API实现,而是采用较为简单的VR-LINK API接口来实现。
1.1 节点信息交互HLA对象模型模板用于引导说明联邦和联邦成员在联邦运行中需要交换的数据信息,是实现互操作和重用的重要机制之一[5]。在联邦运行中,成员之间数据交换是借助RTI提供的服务实现。声明发布对象类或交互类成员提供更新属性值,订购相应对象类或交互类成员接收数据,并将数据本地化加以利用[6]。输转作业仿真系统对象类设计如表1所示,交互类设计如表2所示。
系统各节点仿真应用程序框架采用双线程结构,一个是窗口界面线程,它主要用于处理用户和窗口的交互;另一个是仿真联邦线程,主要用于完成仿真模型的执行和成员间信息交互。以驾控台节点程序为例,说明线程之间关系及结构,如图2所示。
2 节点控制机制1)系统启动
仿真启动过程可分为预加载和运行2个阶段。预加载阶段,协同网碰撞节点、驾控台节点和视景节点分别加载输转方案中实体碰撞模型、动力学模型和三维可视化模型,由用户选定作业方案开始直到所有模型加载完毕结束。此时仿真启动准备工作完成。预加载阶段节点间信息交互如图3所示。
2)节点交互
运行阶段从用户启动仿真开始直至仿真停止结束。数学节点根据方案流程进行时间推演、作业驱动和路径规划,同时向协同网上其他节点发送时间信息。当规划的作业类型为转运且驾控台节点具有驾驶输入时,基于车辆动力学模型的驾控台节点根据用户操控信息向碰撞节点和视景节点发送作业类型和物体位置等信息。碰撞节点根据物体位置信息进行干涉检查,并将碰撞信息发送到视景节点。视景节点接收到碰撞信息、具备动力学模型的作业类型和物体位置等进行虚拟仿真。随着仿真时间推进,节点协同工作将重复以上步骤。运行阶段节点间信息交互如图4所示。
3)新节点上线
运行阶段仿真联邦增加视景成员,新视景节点接收到仿真方案信息后,同时开始加载方案对应的三维可视化模型。仿真控制节点根据来自新节点“忙”的心跳信息,将仿真运行状态改为暂停,因此其他节点均处于暂停状态直至新视景节点模型加载完毕。此时节点间消息交互如图5所示。新增视景节点,暂停机制保障仿真成员间时间同步,但增加整个协同网络暂停时间,故尽量在启动仿真前打开满足足够数量的视景节点。
时间是分布式仿真的重要因素,决定系统性能的优劣[7]。HLA联邦成员的时间管理策略有时间控制(Time Regulating)和时间约束(Time Constrained)2种[8]。本分布式仿真系统为硬件在回路网络,驾驶员操控信息受模拟驾驶视窗的场景影响,实时性要求较高,仿真联邦各成员均设置为既时间控制又时间约束。经过舰船、装备、人员交互关系梳理,结合输转作业系统特点,选定以下消息交互方式:消息传递顺序均采用时戳顺序TSO,消息传递方式采用最佳消息发送方式(Best effort)。
3.2 性能测试协同网节点间通信延迟主要由节点间交互时间和节点内运算时间组成。仿真控制节点的通信线程不断发送性能测试信息到目标测试节点,同时目标测试节点通过回调函数接收时间测试信息并返回。时间测试开始后仿真控制节点创建高精度时钟,发送节点ID和时间开始值到目标测试节点,接收到目标测试节点的返回消息时同时记录时钟中止值,依照式(1),计算出仿真控制节点和目标测试节点间的延迟时间。
${\text{时间}} = \frac{{{\text{中止值}}{\rm{ - }}{\text{开始值}}}}{{{\text{时钟频率}}} \times 2}\text{。}$
|
(1) |
运行各节点应用程序,在用户选定作业方案前启动性能测试,此时节点内运算时间t运算可以忽略不计,统计记录节点间通信延迟时间即可得节点间交互时间t交互;运行各节点应用程序,用户选定作业方案且启动仿真后,再启动性能测试。记录节点间通信延迟时间t通讯,根据式(2),剔除节点间交互时间t交互计算得出节点内运算时间t运算。
${t_{{\text{通讯}}}} = {t_{{\text{交互}}}} + {t_{{\text{运算}}}}{\text{。}}$
|
(2) |
依次运行仿真系统各节点应用程序,导入某舰输转作业设计方案,在仿真控制节点选定某方案。
通过某舰输转方案仿真演示,发现仿真系统涵盖了全舰三维环境模型、车辆等虚拟装备和控制面、作业面等半实物模型,仿真模型总数不少于100个,同时仿真模型对应的约束模型总数不少于1 000。从仿真开始执行到舱室环境搜索、实体约束传送、仿真流程推演和三维仿真显示的总响应时间远不足0.1 s,满足仿真真实性、流畅性和功能性要求。
运行方案发现仿真控制节点状态监测正常,数学节点、视景节点数据显示正常,碰撞节点满足干涉精细度要求,视景仿真工作站和三通道演示系统画面流畅。
4.2 试验数据分析节点间交互时间的最大值如图6所示,节点内运算时间比较结果如图7所示。图6表明节点间交互时间最大值在3.1 ms左右。图7表明视景节点内部运算消耗时间最长,为5 ms左右。如单台计算机运行仿真系统各模块,系统运算时间总和约为5(视景节点)+3(碰撞节点)+2(数学节点)+1(驾控台节点)= 10 > 8.1 ms,可见均衡计算负载之后,仿真系统延迟时间缩短。且实际仿真时,受限于计算机资源,单台计算机运算时间远大于10 ms。
本文针对舰船输转作业系统建立了仿真系统联邦和联邦成员,制定了协同仿真对象类和交互类,分析节点工作机制,研究时间管理策略,进行节点通信性能测试,最后基于HLA建立了分布式仿真系统框架,完成了整个协同仿真系统搭建。
1)本文基于HLA建立舰船输转作业分布式仿真系统,满足了输转方案在仿真功能和性能上的需求,提供了输转作业方案仿真验证平台。
2)本系统具有较好的可扩展性,既降低仿真系统硬件成本,又利用仿真单元的结构化、分布化,同步开展仿真程序开发,提高开发速度。
3)本系统运行稳定,节点间交互延迟时间在可接受范围之内。今后将开展分布式仿真数据记录研究,从各节点采集仿真原始数据,为下一步进行输转方案仿真评估及优化做准备。
[1] | FREDER ICK K, RICHARD W, JUD ITH D. 计算机仿真中的HLA技术[M]. 北京: 国防工业出版社, 2003. |
[2] |
王子才. 仿真技术发展及应用[J]. 中国工程科学, 2003, 5 (2): 40–43.
WANG Zi-cai. Development and application of simulation technology[J]. Engineering Science, 2003, 5 (2): 40–43. |
[3] |
陈西选, 徐珞, 曲凯, 等. 仿真体系结构发展现状与趋势研究[J]. 计算机工程与应用, 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] |
杨雪榕, 梁加红, 冯向军, 等. 分布式仿真软件三层设计模式及应用[J]. 系统仿真学报, 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的舰船操纵综合仿真平台的设计[J]. 系统仿真学报, 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]. Cam-bridge: MAK Technologies, 2005. |
[7] |
黄先祥, 龙勇, 张志利, 等. 分布式视景仿真技术综述[J]. 系统仿真学报, 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] |
王琼, 蔡小斌, 杜承烈, 等. 分布虚拟试验支撑环境研究[J]. 计算机仿真, 2010, 22 (11): 2742–2747.
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] |
陈春鹏, 安树林, 董印权, 等. 改进时间管理机制的分布式仿真体系结构[J]. 系统仿真学报, 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. |