分布式虚拟战场演练管理态势子系统的实现
来源:第三维度
作者:李峥宇,沈旭昆
单位:北京航空航天大学 计算机学院
摘要: 分布式虚拟战场环境中的演练管理系统模块众多,其中态势子系统作为一个重要组成部分,担负着实时、客观地显示参加演练的红、蓝双方实体态势的任务. 为使白方客观掌握演练过程中的实体信息,分析了虚拟战场环境中白方态势显示的功能需求,建立了态势显示的结构模型,在高层体系结构(HLA)的基础之上,提出了一套可行的设计方案,并给出了具体实现. 结果表明,态势子系统的输出完全满足态势分析的需求。
分布式虚拟战场环境将分散在不同地点、运行于不同计算平台上的各种仿真器通过局域网或广域网联结在一起,共享一个逼真的虚拟环境,使得操作人员在其中进行各种复杂任务的训练和作战演练[1]。 为了适应大规模的军事演练的需求,必须提供一种强有力的管理机制,在参加演练对抗的双方以外,还需要专门的管理方———白方,负责整个系统的演练前准备、演练初始化、运行阶段的管理与控制,以及事后的分析与重演.态势子系统是演练管理系统的一个重要组成部分,担负着实时、客观地显示当前战场环境中红、蓝双方实体状态的任务. 本文主要针对演练管理中运行阶段以及事后分析阶段中态势显示,提出了一套解决方案,并给出了具体的实现. 其目的在于以集成、直观的样式,实时提供演练执行过程中红、蓝双方的各种信息,并辅助以简单的文字、图表等样式的统计汇报输出功能,便于白方及时的了解演练情况。
1 态势子系统的体系结构
1. 1 演练管理态势子系统的功能
演练管理系统负责整个战场环境的管理,根据分布式虚拟战场环境中进行仿真演练的特点,可以把整个演练周期分为 3 个阶段:演练前阶段、演练进行阶段(即演练中)以及演练后阶段. 态势子系统作为演练进行阶段的主要模块而存在,这时演练已经启动,其主要功能就是对演练进行实时的监视,并且将演练的整体态势进行全面、客观的反映. 主要功能如下:
1) 实时记录演练数据,即记录各仿真对象的状态和重要事件,为演练后的事后分析进行准备;
2) 实时态势显示,即显示虚拟战场环境中的仿真实体的二维态势,以及三维场景;
3) 实时统计和状态显示,即对各仿真实体的历史事件进行统计,并显示当前状态。
1. 2 态势子系统结构
运行在网络中各个结点的仿真实体,通过网络传递数据. 态势子系统以网络中传输的数据作为输入,主要包括演练数据库记录、演练数据库、二维态势显示、三维场景显示,以及实体状态及统计结果显示模块几个部分,具体实现结构图如图1 所示。
图 1 态势子系统的实现结构图
1. 2. 1 演练数据记录
演练数据记录是一个位于网络与上层态势显示模块中间的一个数据层,作为桥梁,起着沟通态势子系统与网络的作用. 该数据层数据来源于网络中所传输的数据,在经过对数据进行整理和归类之后,其中只保存演练过程中所有仿真实体的当前状态信息. 这些记录中的数据将作为二维态势显示和三维场景显示的输入,被显示模块所调用。
1. 2. 2 演练数据库
对于与实体相关的历史信息(比如开火、毁伤、运动轨迹等),由于这部分信息的数据量较大,需要单独的演练数据库进行保存,并被统计和评估模块所调用。
1. 2. 3 三维场景显示
三维场景的显示主要包括如下几个方面:
1) 三维场景绘制,绘制虚拟战场中的环境地形,动态绘制参加演练的各仿真实体,以及开火、爆炸、烟尘等特殊效果;
2) 支持多个显示视口,显示战场环境中的多个感兴趣区;
3) 用户交互,实现视点的漫游模式、实体跟踪模式以及视点绑定模式。
1. 2. 4 二维态势显示
二维态势的显示主要包括以下几个方面:
1) 演练地域的电子地图的显示,包括不同精度的二维地图的调入,以及比例尺的调节;
2) 仿真实体军标的显示,军标实时反映实体的当前位置、方向(与三维场景显示状态一致);
3) 物体运动轨迹的显示;
4) 用户交互,按照用户需求,显示相应内容。
1. 2. 5 实体状态及统计结果的显示
实体状态和统计结果的显示主要采用临时文字窗口样式,输出单个实体状态的简单描述,包括当前坐标、速度、方向、毁伤程度等,并且实时显示虚拟战场环境中所发生的事件。
2 态势子系统的实现
2. 1 演练数据的获取
在高层体系结构( HLA)中将实现一定仿真目的的仿真系统统称为联盟( federation). 联盟由若干交互的仿真应用和其它一些相关应用(统称为盟员 federate)、RTI(RunTime Infrastructure)和联盟对象构成,盟员之间的交互是通过 RTI 提供的服务实现的. 当盟员发送数据时,所有订购过此数据类型的盟员都可以获得此数据. RTI 的“发布-订购冶机制提供了基于类型的信息过滤,尤其是在具有多种对象类和交互类的盟员中,它可以降低仿真应用程序之间传输的数据量[2]。
盟员有多种类型,作为仿真器的盟员在演练过程中,既向外发布信息(比如自己位置、方向、速度的改变,以及开火、碰撞、爆炸等),又从外界接收其它盟员所发布的信息(接收信息的类型由该盟员所订购的信息类型所决定). 态势子系统盟员与仿真器的不同之处在于,它只定购其它盟员所发出的信息,而并不向外发布信息。
每个盟员都有一个对应的 SOM( Simulation Object Model),其中定义了发布和定购的信息. 态势子系统对应的 SOM 中,只定购信息,而不发布信息. 在本实验室所开发的程序中,用一个声明文件(*. dcl 文件)表示 SOM,记录盟员所定购和发布的信息. 下面的. dcl 文件代码,可以简单说明态势子系统在自己的声明文件中,如何声明自己需要订购和发布的信息。
(SUBSCRIBE
(OBJECT CLASS ATTRIBUTES
(Tank ( POS X POS Y POS Z ROT X ROT Y ROT Z ) )
)
(INTERACTION CLASS (Fire))
以上代码片断中,在 SUBSCRIBE 后面表示的是需要订购的信息,其中和坦克这一对象类相关的属性有 POS X,POS Y,POS Z(坦克位置的x,y,z 坐标),ROT X,ROT Y,ROT Z(沿 x,y,z轴的旋转角度),和交互类相关的有 Fire(开火交互)的信息. 如果在程序中还存在其它对象类,比如直升机、虚拟人等,则需要在. dcl 文件中加入与其相对应的说明。
首页 上一页 1 2下一页尾页 共2页