李玉洁
(91550部队 大连 116023)
现代战争是复杂条件下的一体化联合作战,是高技术武器装备体系之间的对抗。战场态势瞬息万变,数据量巨大,各种信息极其丰富[1~4]。传统的静态、抽象、信息量匮乏的态势图已经不能适应现代战争需要。动态的战场态势显示成为当前的研究热点[5~9]。孙鲁泉[5]等对空地战场作战可视化仿真系统进行了研究,郑娟[6]等完成了空间战场可视化系统的设计与实现,王小林[7]等研究了科学计算可视化在水下可视化战场建设中的应用,苏春梅[8]等进行了海上战役态势三维显示的研究与实现,肖滨[9]等对一体化战术训练仿真系统综合态势显示进行了研究。
本文针对海战场环境设计并完成了战场态势二维显示系统[10~11],将可视化技术应用于作战模拟的全过程,将航区的二维地景信息和反映导弹飞行过程中可视特征的试验数据实时显示出来,为更加形象、直观地检测导弹飞行的整个过程、事后回放过程、分析飞行结果、判断飞行故障提供新的技术手段。
战场态势二维显示仿真系统用于实时接收或离线重放并显示海战场各作战设备传送的信息和导弹等仿真实体在虚拟试验场景中的信息[12]。具体功能如下:
·具有显示我方兵力态势图:潜艇航行轨迹,导弹位置及二维空间弹道的功能;
·具有显示敌方兵力态势图:典型目标航向和航迹的功能;
·具备多窗口显示输出的功能;
·具有提供试验兵力的显示图标,支持在二维数字地图上进行试验兵力的显示功能;
·具有实时读取仿真数据采集节点的数据或事后读取外部的数据信息,在二维数字地图上实时显示潜艇、导弹、目标及环境的各种参数的功能;
·具有支持添加及显示标注功能;
·具有显示以数字地图为背景的战场态势的功能,并支持放大、缩小和漫游;
·具有实时显示和事后回放功能。
战场态势二维显示仿真系统的开发环境如下:
·操作系统:Microsoft Windows XP;
·编程语言与环境:Microsoft Visual C++6.0;
·二维态势开发工具和运行环境:MapObject 2.4。
根据系统需求,战场态势二维显示仿真系统具有两种工作模式:联试模式和回放模式。联试模式是由外部系统实时驱动节点运行,回放模式是根据保存的仿真数据驱动节点运行。
战场态势二维显示仿真系统从功能上可分为六大部分:流程控制模块、输入接口模块、矢量图显示模块、轨迹图显示模块、参数表显示模块以及数据存储模块,如图1所示。
图1 战场态势二维显示仿真系统模块图
流程控制模块完成二维可视化节点的流程控制功能,包括仿真开始与结束、导弹出管、助推器点火、发动机点火、保护筒分离、级间分离等控制规律切换指令的响应,其它模块调度等功能。
输入接口模块完成运行模式选择,用户登录,外部其它系统的数据的接收,仿真存储数据的读取等功能。
矢量图显示模块完成二维矢量图的加载、放大、缩小、漫游等功能,显示我方和敌方态势图,显示标注功能;
轨迹图显示模块以曲线图形式显示导弹飞行的高度轨迹和速度轨迹;
参数表显示模块以表格形式显示潜艇运动参数、目标运动参数、导弹飞行参数、海洋环境参数、气象环境参数等参数;
数据存储模块将仿真过程中的数据进行存储,以备仿真回放时使用。
流程控制模块实现全系统的流程控制,调度不同模块完成协作。具体功能如下:
1)程序启动时,调用输入接口模块实现仿真模式的选择,确定是联机模式还是回放模式,如为联机模式,进行自动或人工登录调度系统;
2)程序运行时,调用输入接口模块实现数据的获取(联机模式从仿真数据采集节点读取,回放模式从存储数据中读取),并调用矢量图显示模块进行二维矢量图显示,调用参数表显示模块进行参数显示,调用轨迹图显示模块实现导弹飞行的高度轨迹和速度轨迹。如果需要数据存储,同时调用数据存储模块实现实时数据的存储。功能流程如图2、图3所示。
图2 程序启动时流程图
图3 程序运行时流程图
输入接口模块完成运行模式选择,用户登录,外部其它系统的数据的接收,仿真存储数据的读取等功能。具体功能如下:
1)运行模式选择,确定当前模式为联机模式或者回放模式;
2)联机模式下,实现自动或人工登录调度系统;
3)回放模式下,选择回放文件目录;
4)联机模式下,实时读取仿真数据采集节点的数据;
5)回放模式下,读取存储数据文件数据。
需要注意的是,输入接口模块与XML配置文件之间存在信息交互。联机模式或者回放模式选择、自动或人工登录、回放文件目录等信息均以XML配置文件信息为默认值,用户可进行更改。同时,在实时读取仿真数据采集节点数据或读取存储文件时,应设计单独的线程进行数据读取。
矢量图显示模块完成二维矢量图的加载、放大、缩小、漫游等功能,显示我方和敌方态势图,显示标注功能;具体功能如下:
1)二维矢量图的加载与显示;
2)二维矢量图的放大、缩小、漫游;
3)我艇航行轨迹显示,导弹位置显示,以及敌方典型目标轨迹显示;
4)根据XML标注配置文件进行标注显示;5)标注添加、删除、修改。
本模块主要基于MapObjects2.4控件进行开发,实现显示和矢量图操作功能[14~15]。从 MapOb⁃jects所提供的功能接口来看,常用的地图应用基本上都能实现,例如:
·创建新的Shape文件;·更新属性或图形数据;
·绘制点、线、椭圆、矩形和多边形等图形要素;
·绘制描述性的文本注记;
·地图缩放和漫游;
·丰富的绘图方式,如按值润色、分类显示、绘制密度图、产生含各类图表的专题图等;
·属性自动标注;
·投影变换。
考虑标注的复用性,将标注保存到XML标注配置文件之中[13],可实现标注信息的重复使用,方便用户的操作。
轨迹图显示模块以曲线图形式显示导弹飞行的高度轨迹和速度轨迹,具体功能如下:
·根据所选导弹,显示其高度轨迹;
·根据所选导弹,显示其速度轨迹。
考虑要较好显示曲线度,本模块基于TeeChart Pro V5 ActiveX Control进行开发,如图4所示。
图4 轨迹图显示模块示例图
参数表显示模块以表格形式显示潜艇运动参数、目标运动参数、导弹飞行参数、海洋环境参数、气象环境参数等参数;具体显示参数如下:
1)潜艇运动参数:时间、潜艇编号、经度、纬度、深度、地速东向分量、地速北向分量、升沉速度、航向角、姿态角等;
2)目标运动参数:时间、目标编号、经度、纬度、高度;
3)导弹飞行参数:时间、导弹编号、控制指令、经度、纬度、高度、水平速度、北向速度、东向速度、天向速度、俯仰角、滚动角、偏航角;
4)海洋环境参数:浪高、浪速等;
5)气象环境参数:风速、风向、气压、温度、雨量
根据上述分析,本模块需要构建5个表格,分别为潜艇运动参数表,目标运动参数表,导弹飞行参数表,海洋环境参数表,气象环境参数表。每个表格显示各类参数的具体内容。
数据存储模块将仿真过程中的数据进行存储;具体存储的数据为从数据采集卡采集的数据。数据存储模块将数据保存到指定目录下的数据文件之中。考虑数据存储速度较慢,本模块单独设计一个线程来进行数据存储操作。
战场态势二维显示仿真系统的主界面如图5所示。
图5 二维可视化节点软件主界面
由给出的软件界面截图可看出:本软件采用MFC标准的文档/视图结构创建,是用户最常见的应用程序风格,具备标准菜单和工具栏且状态栏信息丰富,客户区为二维矢量图,可进行各种地图操作。对象导航窗口以树状图方式显示仿真对象,包括潜艇、导弹和目标。对象参数显示窗口提供参与仿真运行的对象参数显示,包括潜艇参数显示窗口、导弹参数显示窗口,以及舰船参数显示窗口。这三个窗口可按照Tab页方式合并,也可单独进行显示。导弹轨迹显示窗口显示导弹的速度和高度轨迹参数。
根据仿真系统中数据采集节点的记录与本地保存的数据进行对比,经过多次试验数据数据均正常。给出一组结果如图6所示。
图6 仿真试验数据
不失一般性,以一艘潜艇加载四枚导弹攻击一艘舰船的仿真想定为例,战场态势二维显示仿真系统能够较好地体现作战过程,潜艇、导弹、舰船各仿真实体的参数、运行轨迹均可正常显示,如图7所示。
图7 战场态势二维显示界面
战场态势二维显示仿真系统具有实时显示与离线回放两种工作方式,可将航区的二维地景信息和反映导弹飞行过程中可视特征的试验数据实时显示出来,为更加形象、直观地检测导弹飞行试验的整个过程、事后回放试验过程、分析试验结果、判断试验故障提供新的技术手段。
战场态势二维显示仿真系统既可单独运行,构建二维战场态势,进行战术推演和作战演示;也可与战术/战役级作战仿真系统互连,提供一体化作战信息支持、仿真监控与管理功能。下一步的工作是完善功能和细化具体实体模型以及作战效能的评估,使作战仿真的逼真度及可信度逐步提高。