APP下载

全域协同态势综合显示系统设计与实现

2022-07-09桂严伏玉明赵慧张浩博万露

电子技术与软件工程 2022年9期
关键词:列表态势子系统

桂严 伏玉明 赵慧 张浩博 万露

(1.中国电子科技集团公司第三十二研究所 上海市 201808 2.兰州工业学院 甘肃省兰州市 730050)

随着军事信息技术的不断提高,战争形态不断发生变化,电子对抗已经成为了现代战争的序幕与先导,并贯穿于战争的全过程,从机械化作战演变到基于信息系统的体系作战,不再是简单的单雷达叠加,而是通过对多传感器有机集成形成协同探测系统。而战场态势是确保各级指挥员对战场状态理解认知一致性的基础,是实现联合情报精准保障的重要保证,已成为指挥员一体化联合作战筹划与实施的基点。传统态势显示系统相对于现代战争暴露出不少弊端,主要有:

(1)探测信息来源受限,仅针对单一雷达的信息进行显示控制;

(2)只具备二维态势显示或者二三维态势显示无法保持联动;

(3)战争元素呈几何指数增长,传统态势显示系统无法胜任复杂战场场景的渲染工作。

本文重点研究全域协同态势综合显示系统,采用了图形渲染引擎、通信中间件、数据融合等技术,解决了单一信源信息掌握不全以及多源信息冗余的问题,实现了二三维态势联动,提升了系统的整体运行效率。

1 技术路线

1.1 软件架构

大多数态势显示系统都是采用C/S 软件架构进行设计,一方面原因是传统的显控系统都是基于C/S 架构开发,技术较为成熟;另一方面原因是显控系统对于图形渲染要求较高,C/S 架构更适合于采用GPU 做图形处理,渲染速度更快,显示效果更好。基于以上两点考虑,本系统采用C/S 软件架构设计。

1.2 开发工具

显控系统的开发工具选择较多,目前较为常用的有Qt和MFC。MFC 仅仅是针对Windows 平台开发,而Qt 是一个跨平台C++图形用户界面应用程序开发框架,包含了开发一款应用程序所需要的几乎所有的模块,如网络、数据库、多媒体等,相当于提供了一个“一站式”的解决方案。因此,本系统采用Qt 作为开发工具。

1.3 图形渲染引擎

底层OpenGL 绘制接口要求用户必须关注底层图形绘制的具体细节,很难对复杂场景做到高效管理,而OSG 提供了一套基于OpenGL 标准图形绘制库的API 接口,具有高性能、可扩展、可移植和快速开发等特点,可在各种平台上高效运行。因此,本系统采用OSG 作为图形渲染引擎。

1.4 消息中间件

DDS 采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS 服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。本系统涉及的通信主要有:

(1)各类传感器探测信息的推送;(2)总控中心子系统预演场景和仿真控制指令的推送;(3)二、三维态势显示子系统保持联动的数据推送。基于以上的通信需求,本系统选择采用OpenDDS 作为消息中间件。

2 系统架构设计

全域协同态势综合显示系统的总体架构采用分层架构,从下而上依次为硬件设施层、数据层、服务层和应用层,如图1 所示。

图1: 系统架构图

硬件设施层为其它层提供通用的技术能力,主要由计算设备、存储设备、网络设备、传感器设备等组成,其中计算设备包括主机、工作站、服务器等,为上层应用提供计算资源;存储设备包括RAID 阵列、数据库服务器、存储服务器等,为上层应用提供存储资源;网络设备包括交换机、路由器、防火墙等,为上层应用提供网络资源;传感器设备包括雷达、红外、激光等,为上层应用提供多源数据。这些设备共同构成了底层硬件的服务平台,确保系统能够稳定运行。

数据层是整个系统的基础,主要实现了两个功能:一个是相关数据的存储,另一个是将数据传递给服务层进行处理。各类数据根据相关规范和数据标准进行统一存储和管理,包括地图瓦片数据、数字高程数据、三维模型数据、仿真场景数据和态势信息数据。

服务层为态势综合显示系统提供共性服务支撑,是系统应用层功能实现的基础。基于硬件支撑平台和公共的数据资源,为应用层中系统各项功能的实现提供业务功能构建和共性服务。地图加载服务、模型管理服务、场景渲染服务共同构建并渲染了复杂的仿真场景,协同处理服务通过多源信息融合技术实现去粗取精、去伪存真的一致性态势数据生成,消息收发服务一方面对推演过程中态势数据的接收和指令的下达,另一方面采用消息收发的方式实现了二三维态势联动的效果。

应用层是态势综合显示系统实现的核心,在服务层的各项服务支撑下,实现了态势显示系统的具体功能。态势综合显示系统分为总控中心子系统、二维态势显示子系统和三维态势显示子系统,其中总控中心子系统对仿真场景编成部署,对联合探测进行总体控制,实现预案推演和仿真控制;二、三维态势显示子系统使用电子地图,将预案推演过程中的实时数据结合地理信息以二维或三维的方式进行显示。

3 系统功能设计

全域协同态势综合显示系统主要由总控中心子系统、二维态势显示子系统和三维态势显示子系统组成,各子系统具备不同的功能,独立完成各自的任务,而各子系统之间又通过消息中间件相互关联,共同完成态势综合显示应用,其软件功能划分如图2 所示,各子系统间通信关系如图3 所示。

图2: 系统功能组成图

图3: 子系统间通信关系图

总控中心子系统将场景数据和仿真控制指令推送到通信总线上,二、三维态势显示子系统实时监听通信总线上的场景数据和仿真指令,根据主题区分不同的数据源,并将场景及时更新。当鼠标对二维或三维态势显示子系统进行操作时,操作信息实时推送到通信总线上,当未操作的显示子系统监听到总线上推送的操作信息时,自动对当前的子系统执行同样的操作,从而实现二、三维态势显示系统的联动。

3.1 总控中心子系统

总控中心子系统由场景编辑模块、场景管理模块、属性管理模块、场景渲染模块和仿真控制模块。

3.1.1 场景编辑

场景编辑功能是整个预案推演的基础,它提供了想定编成部署功能,即编辑指控关系、编队关系、实体搭载关系、装备配置方案等。采用xml 配置文件实现设备的动态配置,首先定义配置文件的约束,通过对配置文件的读取与解析,将对应的信息加载到程序中,用户只需修改配置文件相应的字段,而无需更改代码,就能达到配置设备的目的。

采用树状列表结构显示加载的设备元素,通过选中设备元素列表中的某个大类,将其拖拽到场景中,释放鼠标后,则在鼠标指向的位置上添加了选中的设备元素图标,同时在元素的大类下会自动添加上当前元素的名称,至此完成了设备元素的添加;选中场景中的某个设备元素图标或者选中元素列表中的某个元素名称,右键菜单选择删除,完成设备元素的删除;选中场景中的某个元素图标或者元素列表中的某个元素名称,在选中元素的属性列表中修改经度、纬度、高度等相关参数,修改完成后场景对应的元素更新其位置和状态,完成元素的修改。

3.1.2 场景管理

场景管理功能主要包括新建场景、对编辑完成的场景进行保存和打开已保存的场景。其中,新建场景需完成地图和设备元素的加载,提供给用户基础场景和需要添加到场景中的设备元素,用户通过编辑场景来生成仿真预案;保存场景和打开场景是基于xml 文件的写入与读取技术,保存场景采用键值对的方式对场景中所有元素的属性进行存储,将其写入到xml 文件中,实现整个场景的保存;打开场景即读取保存好的场景文件,按照约定的场景协议依次读取每个键值对,从而将整个场景渲染出来。

3.1.3 属性管理

场景中的每一个设备元素都具有其独特的属性,本系统采用Hash 表存储每个元素的全部属性,key 为具体属性,value 为对应的属性值,同时再使用一个Hash 表存储场景中的所有元素属性,key 为元素的名称,value 为当前元素的属性表。当用户选中某个元素时,系统通过元素名称迅速找到对应的属性表,以列表的形式将当前元素的全部属性显示出来。

3.1.4 场景渲染

场景渲染包括二维数字地图的加载、设备元素的显示和特效展示。本系统采用OSG 插件加载地图瓦片来实现二维数字地图的加载。以树结构对场景中的海量元素进行管理,利用定时器机制实现特效展示。为了提升绘制效率,本系统采用多线程并行处理,根据业务需要,将线程分为数据处理线程、渲染线程和通信线程。其中,数据处理线程主要针对各类传感器推送的数据进行数据融合,并将处理结果发给渲染线程;渲染线程根据数据融合的结果,将场景中的设备元素和态势渲染出来;通信线程主要负责子系统内部的数据收发,并将场景数据和仿真指令发送给二、三维态势显示子系统。

3.1.5 仿真控制

仿真控制包括场景推送、仿真开始、仿真暂停和仿真结束,将场景数据和仿真控制指令推送到通信总线上,提供给二、三维态势显示子系统进行订阅。通过将编辑完成的场景数字化,把所有元素的参数整体推送到通信总线上,二、三维态势显示子系统根据主题订阅获取场景数据,在二维数字地图和三维数字地球上将整个仿真场景渲染出来。总控中心子系统将仿真开始、仿真暂停和仿真结束指令推送到通信总线上,告知各子系统仿真开始、仿真暂停和仿真结束,从而控制二、三维态势显示子系统的仿真状态。

3.2 二、三维态势显示子系统

3.2.1 数据监听

二、三维态势显示子系统主要监听来自于总控中心子系统的场景数据和仿真控制指令,为了提高解析效率,对场景中的数据进行了分类,针对每一类数据都采用一个专门的线程进行监听。在仿真开始之前,总控中心子系统将整个仿真场景推送过来,二、三维态势显示子系统根据主题订阅获取场景数据;开始仿真时,二、三维态势显示子系统监听仿真开始指令,启动仿真流程;当收到仿真暂停指令时,暂停仿真;当收到仿真结束指令时,结束仿真;在操作过程中,实时监听二、三维态势显示子系统的操作信息,保持数据和操作的同步。

3.2.2 态势渲染

为了提高运行效率,二、三维态势显示子系统也采用OSG 插件加载瓦片地图。当订阅到仿真场景数据时,子系统根据事先定义的场景协议进行数据解析,将各设备元素在场景中渲染出来。二维态势显示子系统以线和图形组合展示设备元素,简洁直观,而三维态势显示子系统以三维立体形式展示设备元素,有更好的视觉效果。在推演过程中,设备元素的参数不断发生变化,场景中的态势也随之改变。

3.2.3 元素控制

场景中的设备元素较为复杂且数量众多,需要对其进行统一管理,包括查看某个设备元素的属性,显示某些元素或隐藏某些元素等。本系统采用树型结构对场景中的元素进行管理,当订阅到某个设备元素时,就将其添加到元素列表中,依次将场景中的所有元素添加到元素列表中,形成当前场景的元素列表。选中某个元素后,根据需要选择对其进行显示或隐藏。

3.2.4 属性管理

二、三维态势显示子系统同样采用键值对的方式对元素的全部属性进行管理,每个元素的属性就是一张Hash 表,其属性名称和属性值一一对应,整个场景元素属性也是一张Hash 表,key 为元素的名称,value 为当前元素的属性表。当用户选中某个元素时,系统通过元素名称迅速找到对应的属性表,以列表的形式将当前元素的全部属性显示出来。

3.2.5 标注管理

在推演过程中,指挥员可能需要对一些关键位置进行标注,本系统实现了标注和标注管理功能。以对话框的形式向操作人员提供了添加标注的方法,操作人员输入经度、纬度、高度和标注信息,完成后则在场景中相应位置添加标注图标和标注信息,同时在标注列表中添加当前标注的记录,也可以通过选中列表中的某条标注,对选中的标注进行修改或删除。

3.2.6 操作同步

为了实现二、三维态势的联动效果,本系统对二、三维态势显示子系统的操作进行了同步。在二维态势显示子系统和三维态势子系统分别增加交互操作的事件捕获函数,当系统捕获到用户事件时,通过消息中间件将事件及其参数推送到通信总线上,二、三维态势显示子系统订阅事件数据,从而改变场景的显示,实现双方的操作和数据同步。

4 实现效果

总控中心子系统、二维态势显示子系统和三维态势显示子系统分别部署到三台工作站上。在实际应用过程中,先在总控中心子系统中编辑仿真场景,通过消息中间件将仿真场景推送到通信总线上,二、三维态势显示子系统订阅到场景数据后,渲染出整个仿真场景。通过仿真指令控制推演过程的进行,在这个过程中用户可以与二维态势显示子系统或三维态势显示子系统进行交互,二者始终保持内容和范围的同步,整体实现效果良好。

5 结束语

鉴于现代战争的联合作战、协同处理、仿真推演等对战场态势显示的需求日益加剧,针对传统态势显示系统信息来源单一、数据处理分散、二三维无法联动的问题,本文提出并实现了一种全域协同态势综合显示系统,提供了二、三维态势一体化的显示功能,并保持态势显示的实时同步。本系统还具备场景编辑和仿真推演功能,对于军事模拟具有一定的促进作用,为作战人员规划任务、预案推演、态势分析等提供支撑。

猜你喜欢

列表态势子系统
不对中转子系统耦合动力学特性研究
学习运用列表法
GSM-R基站子系统同步方案研究
2019年12月与11月相比汽车产销延续了增长态势
汇市延续小幅震荡态势
我国天然气供需呈现紧平衡态势
驼峰测长设备在线监测子系统的设计与应用
县乡一体化探索呈加速态势
不含3-圈的1-平面图的列表边染色与列表全染色
车载ATP子系统紧急制动限制速度计算