基于HLA的反蛙人声呐虚拟训练系统的设计∗
2019-09-03胡训强
胡训强 杨 鹏
(海军91976部队 广州 510430)
1 引言
随着蛙人输送艇等特战装备的不断发展,蛙人已经成为在近海港口水域进行渗透、侦察和破坏的主角。因此,为了保卫军用港口、码头及其内驻泊舰艇的安全,世界各国海军都在积极发展反蛙人装备并探索其作战使用,反蛙人探测声呐就是其中的重要一员[1~2]。随着多波束声呐技术、目标识别技术、实时数字信号处理技术等的发展和结合,反蛙人声呐已经成为当前对蛙人目标最有效的探测手段[3]。
在进行反蛙人声呐训练时,必须在湖上或者海上进行,这种实装训练方式一来容易受到场地和天气的限制,二来所耗费的人力、物力和财力较大。所以有必要在反蛙人声呐训练中引入虚拟训练这种新的训练方式,一来使得受训者可以“足不出户”地完成训练,降低训练成本;二来可以对训练过程中出现的问题进行相同条件下的复现,以准确定位错误,并及时反馈给研制部门,从而对反蛙人声呐装备进行改进提高。为此,本文应用装备仿真相关技术,设计了一种基于HLA的反蛙人声呐虚拟训练系统。
2 系统的总体架构
为了对系统的数据和功能进行解耦,方便系统的开发和提高系统的复用性,反蛙人声呐虚拟训练系统的组成架构采用层次式设计,总体上从上到下依次划分为公共资源层、仿真服务层和训练应用层三个层次,系统的总体架构如图1所示。
2.1 公共资源层
公共资源层对反蛙人声呐虚拟训练中所涉及的各类数据和模型进行分类与规范,并实施统一管理,提高数据和模型的标准化和可复用性。
图1 反蛙人声呐虚拟训练系统的总体架构
公共资源层中的资源分为模型资源和数据资源两大类。其中,模型资源是根据训练环境、参训装备和战场态势等需求所建立的各类仿真模型,存储在仿真模型库当中,主要包括机动模型、战场环境模型、探测模型、信号处理模型、数据处理模型等,为虚拟训练提供模型解算支撑;数据资源主要用于系统运行中的数据查询、运算调用、态势显示和结果存储等方面,主要包括数字海图库、军标库、三维场景库、三维模型库、训练想定库、水声参数库和装备参数库,为虚拟训练提供数据支撑。
2.2 仿真服务层
仿真服务层主要是为虚拟训练提供必要的仿真服务支撑,包括RTI服务、数据库服务、模型解算服务和指令传输服务,各类服务都通过自定义的服务接口被训练应用层调用。
RTI服务采用RTI运行支撑平台,为分布式单联邦反蛙人声呐虚拟训练系统的运行提供网络信息交互的支撑服务;数据库服务主要为系统运行提供数据查询、数据存储和运算调用功能;模型解算服务调用数据资源,运行仿真模型,同时还要更新兵力或装备的状态,生成并发布战场态势;指令传输服务模拟组训人员向受训人员传输指令的过程,包括信道管理、语音采集、文字编辑、指令压缩和解压,指令发送和接收等。
2.3 训练应用层
训练应用层是体现系统功能的核心所在,也是支撑反蛙人声呐虚拟训练的主要表现方式。根据训练功能的需求,训练应用层由训练组织台、辅助评估台、反蛙人声呐操作台以及蛙人及运载器操作台4个部分组成。
训练组织台是系统的中枢,主要是组训人员的工作台位,完成训练想定的编辑与生成、态势监控、运行控制、行动干预、发布指令等功能;辅助评估台是考核评估人员的工作台位,主要完成态势记录与回放、数据记录、成绩统计、评估打分等功能;反蛙人声呐操作台是受训人员的工作台位,主要完成声呐系统的操作、目标录取与识别等功能;蛙人及运载器操作台是扮演敌方兵力的人员的工作台位,主要用于控制蛙人和蛙人运载器的机动以及蛙人的作战行动。
3 系统的软件和硬件设计
3.1 系统的软件设计
高层体系结构(High Level Architecture,HLA)是美国国防部为解决国防领域内所有类型的模型、仿真和C4I系统的互操作和可重用性问题而提出的仿真技术框架,它对虚拟训练系统的功能实现、运行管理和数据交互进行了彻底解耦,使得系统的各个部分可以独立开发,实现系统的即插即用。
由于反蛙人声呐虚拟训练系统涉及系统运行控制、蛙人运载器和蛙人的机动仿真、蛙人作战行动仿真、目标探测识别、声呐设备操作、训练效果评估等多个过程,因此适合基于HLA设计其软件,基于HLA的反蛙人声呐虚拟训练系统软件共计7个联邦成员,系统的软件组成结构如图2所示。
图2 反蛙人声呐训练系统的软件组成结构
每个联邦成员对应着一个软件分系统,各联邦成员的功能如下所示。
1)导调控制联邦成员
导调控制联邦成员在反蛙人声呐虚拟训练系统中处于核心地位,其主要实现四项功能:一是拟制虚拟训练的想定,设置虚拟训练的海域、天气、时间等参数,以及设定参与训练的蛙人运载器、蛙人潜水设备以及反蛙人声呐的类型、数量和初始部署;二是控制虚拟训练的进度,包括开始、结束、暂停、继续、重置、重启;三是由组训人员向受训人员发送文字或语音指令;四是进行在训练过程中进行态势调理,设置临时情节,增加虚拟训练的随机性。
2)态势显示联邦成员
态势显示联邦成员以二维电子海图和三维虚拟视景两种方式实时显示虚拟训练海域敌我双方的情况,主要有两项功能:一是通过RTI订购态势信息,以军标、图形、表格、三维模型、三维特效等形式显示训练海域、战场环境、兵力行动、探测结果;二是对显示方式进行控制,从空间维度、敌我属性、缩放比例等多个不同角度对虚拟训练的态势进行观察。
3)辅助评估联邦成员
辅助评估分系统通过订购所有的战场信息,并进行分类统计、记录、管理和显示,为训练评估提供数据支持,主要实现三项功能:一是数据记录与统计功能,为辅助评估提供所需的战场数据和分类信息;二是辅助评估功能,根据战场数据和指挥过程对参加训练的操作员的表现进行辅助评估;三是态势记录与回放功能,对训练的全过程进行态势记录,并在评估和讲评阶段对态势进行回放。
4)水声仿真联邦成员
水声仿真联邦成员主要对训练海域的海洋水声特性进行仿真,主要实现两项功能:一是仿真反蛙人声呐的声波信号在海水中的传播损失、声波吸收以及频率变化;二是仿真海水的声环境噪声和海洋混响等干扰信号。
5)蛙人运载器联邦成员
蛙人运载器联邦成员对蛙人运载器装备进行仿真,主要实现两项功能:一是仿真蛙人运载器的机动过程;二是根据选定的运载器型号,仿真蛙人运载器的辐射噪声和声散射特征。
6)蛙人联邦成员
蛙人联邦成员对蛙人进行仿真,主要实现两项功能:一是仿真蛙人的运动过程;二是根据选定的潜水器材,对蛙人的辐射噪声和声散射特性进行仿真。
7)反蛙人声呐联邦成员
反蛙人声呐联邦成员主要对反蛙人声呐装备进行仿真,主要实现三项功能:一是设定反蛙人声呐的工作频率、距离分辨率、角度分辨率等装备参数;二是仿真反蛙人声呐的波束形成、发射接收、信号处理和数据处理过程;三是仿真反蛙人声呐的操作和显示界面。
3.2 FOM设计
为促进仿真系统之间的互联、互通和互操作,HLA为联邦成员之间按照公共的、标准化的格式进行数据交换提供了联邦对象模型(Federal Object Model,FOM),以此来描述联邦运行过程中需要交换的对象类、对象类属性、交互类、交互类参数等信息[4]。在HLA联邦开发实践当中,以表格形式的对象模型模板(Object Model Template,OMT)来描述FOM,反蛙人虚拟训练系统的FOM的部分内容如表1~表4所示。
表1 复杂数据类型POSITION的FOM
表2 对象类Entity的FOM
复杂数据类型POSITION表示实体的位置,在程序代码中对应着一个结构体。根据系统的软件组成结构,系统中的蛙人和蛙人运载器类继承了FOM中Entity对象类的所有属性;反蛙人声呐类则继承了Sonar对象类的所有属性;声呐探测类则继承了交互类Detect的所有参数。
3.3 系统的硬件设计
系统硬件布局采用千兆局域网,连接训练组织台、辅助评估台、反蛙人声呐操作台以及蛙人及运载器操作台,如图3所示。
在图3中,除了辅助评估台之外,训练组织台、蛙人及运载器操作台、反蛙人声呐操作台具有三台主机及配套的大屏幕显示器组成,三台主机分别运行二维态势显示软件、三维态势显示软件和其他应用软件。为了较好地展示三维和二维态势以及支持基于CUDA的并行运算,主机均带有高性能GPU。在局域网中还接入了两台网络投影仪,分别将二维和三维态势投送到幕布上显示,便于组训人员和评估人员进行观察。数据库服务器用于存储各类资源和数据,RTI服务器则用于运行RTI基础支撑软件。为了进行“背靠背”的训练,蛙人及运载器操作台、反蛙人操作台与训练组织台和辅助评估台之间需要利用隔断、移动墙等方式进行视觉隔离。
表3 对象类Sonar的FOM
表4 交互类Detect的FOM
图3 反蛙人声呐虚拟训练系统的硬件布局
4 反蛙人声呐虚拟训练系统中的关键技术
4.1 水声特性仿真技术
要想提高反蛙人声呐虚拟训练系统的仿真可信度,必须模拟水声信道对声呐所发射声波造成的影响,包括声波的传播损失、声波吸收、频率变化、海水噪声以及海洋混响等[5]。由于水声特性涉及复杂的数值计算,在系统运行时根据水声特性的原理进行实时处理效率会非常低下。因此,可以事先构建完整的水声特性模型,利用Matlab仿真软件将水声特性的参数事先计算出来并存储到水声特性数据库当中,在系统运行时再根据需要调用数据库中的水声特性参数进行少量的计算,如此一来,在保证系统的仿真逼真度的同时,又保证了其运行效率不会受到很大影响。
4.2 图形绘制技术
系统中的图形绘制难点主要涉及到两个方面,一是在二维电子海图上叠加绘制运动轨迹、声波波束、兵力状态;二是绘制逼真的声呐系统操作界面。
对于前者,由于动轨迹、声波波束、兵力状态都不属于标准的军标,不能通过军标库调用接口直接绘制在二维电子海图上,只能通过矢量绘图的方式调用系统API进行绘制。实验证明,直接进行矢量绘制会造成系统画面的闪烁感。因此,系统可采用双缓冲绘制技术,即首先将矢量图形绘制到与当前显示设备环境兼容的内存缓冲区当中,然后将内存缓冲区中绘制好的图形整体复制粘贴到显示缓冲区中,以此来消除闪烁感[6]。
对于声呐系统操作界面的绘制,则必须要求尽量接近于实装外观。传统的绘制方式,如GDI、GDI+等虽然可以实现,但是存在绘制过程复杂、难以复用的缺点。因此,可以采用Qt编程绘制声呐系统的操作界面。Qt是一款基于C++的GUI应用开发框架,它利用内含的Qt Designer工具绘制软件界面,利用信号—槽事件过滤机制关联界面控件和后台代码,从而实现对界面和功能的解耦[7]。并且还可以利用Qt的插件机制开发实现声呐操作界面中常用的开关、旋钮、显示器等组件,为这些自定义的界面组件定制信号和事件过滤器,将它们集成为完整的声呐操作界面,实现GUI界面的灵活装配和复用。
4.3 并行运算技术
由于反蛙人声呐虚拟训练属于装备级虚拟训练,因此不能仅满足于声呐的功能仿真,而必须实现其波束形成、信号处理和数据处理的全过程。目前,反蛙人声呐的可用工作频段大多在10 kHz量级,根据采样定理,采样率可达到100 k/s,这样就会造成后续信号处理和数据处理面临庞大的数据量,处理速度会急剧下降。
针对CPU在声呐信号处理和数据处理方面的实时性不足的缺点,可以借鉴文献[8~10]的做法,根据图形处理器(GPU)擅长并行通用计算的特点,利用支持CUDA的GPU进行发蛙人声呐的信号处理和数据处理。将声呐信号处理和数据处理的流程划分为若干个功能模块,将每个功能模块映射为可并行执行的线程块,将一个功能模块内的细分步骤映射为线程块内可并行执行的若干线程,利用CUDA的两层并行运算能力提高声呐信号处理和数据处理的速度[11]。
4.4 人体运动仿真技术
在三维态势显示分系统中,必须利用人体运动仿真技术模拟蛙人在水中的肢体动作。目前,人体运动仿真技术主要分为运动捕获、前向动力学、逆向动力学和人体动画等几种实现方式[12]。由于蛙人的肢体动作较为简单和单一,主要体现在脚部、腿部、手部和腰部的摆动上,因此可以采用人体动画的方式实现。
由于当前主流的三维虚拟仿真引擎都能直接或者间接地支持3DSMax或Maya中的蒙皮动画,因此可以首先在人体动作制作软件Poser中制作BVH格式的蛙人动作文件,保存蛙人运动时的骨骼和肢体关节旋转数据[13];然后在3DS或Maya中打开蛙人三维模型,调用BVH文件制作蒙皮动画;最后在三维虚拟仿真引擎中调用特定的API播放蒙皮动画。通过以上三个步骤,即可逼真地模拟蛙人在三维空间内的肢体动作。
5 结语
本文设计了一种基于HLA的反蛙人声呐虚拟训练系统,针对系统的总体架构、软硬件设计和涉及的关键技术进行了详细论述。文中所提出的设计思路和方法为系统的实现打下了良好基础,也为其他类似虚拟训练系统的研制提供了有益借鉴。