靳慧亮,高文琦,刘立辉
(中国电子科学研究院,北京 100041)
空基电子系统三维显控框架设计与实现
靳慧亮,高文琦,刘立辉
(中国电子科学研究院,北京 100041)
当前广泛用于空基任务电子系统的二维态势显示只能显示单一维度信息,并且当态势中存在大批量目标时,无法表达目标在高程空间的分布,目标重叠严重,不能有效识别目标。三维场景渲染技术已经广泛用于场景仿真、商业游戏、虚拟现实等领域,但针对空基系统态势显示的研究却显得滞后。为此,在对比论述三维态势显示相对于二维优点以及研究开源三维引擎OpenSceneGraph的基础上,针对空基任务电子系统的特点,设计了一套三维地理信息渲染引擎和态势显控框架。该引擎支持三维地理信息渲染、矢量和高程数据解析、模型加载、场景漫游,三维基础图元绘制、军标绘制、航线规划、三维量算、三维交互等,能够支撑三维显示控制系统的开发。该框架突破了项目中三维只能用来仿真演示的现状,实现了对空基任务电子系统各平台业务的实时消息驱动、情报显示和交互响应,实现了态势显控从二维向三维的转变。
空基平台;三维GIS;显控系统;三维态势
显示控制系统是空基电子信息的重要组成部分之一,承担着信息的收发、呈现和交互等功能。当前空基信息系统采用二维态势显示和标绘方式,图元经过Lambert投影变换绘制到二维地图上。二维态势的本质是对三维世界目标的抽象,操作员需要在获取到二维信息后,大脑将其转换为可理解的三维场景,而三维场景省略了这样的过程,提高了情报处理速度[1]。随着信息量的增大,空基任务系统需要应对的态势愈发复杂,二维态势图已经不足以应对大批量、多目标、多维度的需要。比如二维态势图上雷达的威力范围被抽象为一个标准的圆形,雷达探测到的目标用二维图标标绘在态势图上。随着目标的增多,会出现目标重合的现象,难以分辨在同一空域内处于不同高度的目标。此外,地形起伏、海洋和水域的反射以及干扰机[2]等会改变雷达的扫描波束,从而影响雷达威力范围。当前的三维显示(如Synthesis ToolKit等)主要目的是仿真演示[2],缺少面向实际装备的研究[3-4]。
针对空基信息系统的特点,基于开源三维渲染引擎OpenSceneGraph(以下简称OSG),设计了一套跨平台的三维显控框架,具备了三维地理信息加载、三维标绘和航线规划、多视图、二三维切换等功能,支撑空基电子系统业务的开发,并成功在预研项目中得到了应用。
OSG是在OpenGL的基础上使用标准C++开发的一个跨平台开源三维引擎,OSG基于底层的接口实现了一套易于使用的三维渲染模式,使得开发人员专注于三维场景的开发,不必关注底层实现[5]。OSG采用了包围体的形式实现场景的管理,场景的组织形式是一棵自顶向下的结构树,能够提高渲染效率[6]。节点Node是所有场景的最小单元形式,节点可以代表矩阵换算、可绘制的对象等。
显控框架是空基电子系统的中间件,接收从传感器的数据,进行计算并将情报信息绘制到屏幕。同时接收用户的交互指令,做出显示反馈。显控框架使用了OSG作为三维场景渲染引擎。空基系统结构如图1所示。
图1 空基电子系统框图
当前的二维态势地图采取了瓦片式的地图加载方式,裁剪特定区域的shapefile格式地图,并在态势图初始化时一次以瓦片的形式逐步加载到内存中并且显示。在地图瓦片的边界处,会出现地图的失真,且无法 显示所裁剪地图区域外的信息[7]。OSG地理信息系统开发的SDK和地形渲染引擎osgEarth实现了全球地图,支持开放标准的地图数据服务(TMS,WMS),能够集成本地存储的数据和网络服务器提供的图像[8]。在osgEarth的基础上建立了空基平台三维地理信息引擎(Aero-3dGIS)。Aero-3dGIS通过加载earth文件载入地图,earth文件是用XML语言定义的osgEarth地图文件格式,指明GIS所用的地图类型、三面图、矢量和模型数据的存放位置等信息。地图类型分为两种:Geocentric和Projected[9]。Geocentric是将地图呈现为一个在地心坐标系中的完整地球,采用了Geocentric类型的地图。
Aero-3dGIS包括图形层、高度层以及模型层,地图作为osg根节点加入到场景。图形层是按照几何坐标叠加到地图上的经过栅格化处理的图片,通常是一些表征地形纹理的图片。高度层提供了包含高层数据的高度地图网格。模型层渲染地形无关的数据,如外部的3D模型、矢量特征等。图层能够设置开启或关闭以适应场景渲染的需要。
使用了由CGIAR-CSI提供的免费全球地理信息数据实现了全球地理显示[10]。CGIAR-CSI的SRTM数据是由NASA提供的、覆盖全球所有国家的数字高程数据。
地形纹理依据细节层次(Levels of Details,LoD)依次加载,从而降低了计算机的负载[11]。OSG的LoD节点定义了最大最小值的距离范围,根据当前视点与场景的距离来决定加载哪些子节点。如图2所示,按照视点高度的不同,加载不同细节的模型。
实验中发现,使用鼠标进行三维场景的漫游效率低、不够准确,操作员难以迅速找到当前场景的理想观察视角。通过继承osgGA::MatrixManipulator接口,编写了自定义的场景漫游操作器,实现了场景视角的快捷键切换。当操作员点击选取当前视图中的一个场景,通过切换预先定义好的快捷键,就可以以当前选中模型的物体坐标系为参考,切换到俯视、侧视、前45°俯视等视角。
Aero-3dGIS支持三维态势的渲染,态势图是三维显控框架的核心,空基态势图的主要组成要素包括[12-13]:
图2 不同视角高度的纹理数据显示
(1)地理信息,包括包含的政区、边界、地名、河流、海岸线、经纬栅格等矢量数据,三维高程信息,以及反映地表特征的纹理图片。
(2)战场信息,包括空中、地面、海面的固定设施三维模型,如雷达站、导弹发射井、海上雷达平台等,以及移动目标三维模型,包括舰船、飞机、飞艇、战车等。此外,雷达作为独立类别,针对不同元素,应体现出雷达扫描波束、范围的区别。
(3)标绘信息,包括航线、航迹、引导线、作战线、军标、标牌等信息,是对战场信息的必要补充和信息扩展。
(4)交互信息,包括场景的漫游、视图快捷切换、目标常规操作,以及模型的相交运算。
根据三维态势的组成要素图,抽象出面向对象的三维显控框架类图,如图3所示。
图3 三维显控框架主要类视图
三维显控框架抽象出了四个负责不同功能的类,四类又根据具体功能派生出不同的子类,覆盖三维态势图所涉及到的功能模块。如军标类3DMSymbols继承标绘信息类3DBattleFieldInfo,主要功能是用军标标记态势图中的特定目标。3DBattleFieldInfo继承osg::BillBoard和osg::Drawable。
osg::BillBoard是OSG中的布告板节点,能够将图形绘制在朝向视点的多边形表面上,多边形的朝向随着观察角度的变化而变化,布告板技术适合在三维态势中显示军标、标牌等二维元素,使得观察者在任何角度都可以看到布告板中的内容。三维框架封装了显控系统的对外开发接口,使用OSG避免了直接对底层的调用。同时OSG从上而下的树形场景管理结构,优化了场景的组织,提高了场景的渲染效率。
三维显控框架主视图包含多个场景。利用OSG的场景结构树建立了若干个特定的场景,开发人员可以在场景中调用接口添加模型,不必直接关注模型在OSG场景树中的组织形式。
三维显控框架在Red Hat Linux系统下基于Qt开发,开发语言为C++。框架采取C++动态链接库插件集成的形式,子系统所需功能以插件的形式集成到框架中[14]。
框架提供模型加载、消息通信、窗口管理、菜单控制接口。框架启动后的态势界面如图4所示。
图4 三维显控框架人机界面
框架模型库中提供了常用的三维模型,3dMax,Maya等软件生成的三维模型也可以通过模型导入接口导入到指定场景。图5左图显示将飞机三维模型导入到三维态势图,右图是根据空基平台雷达的数学模型建立的三维雷达模型叠加到飞机模型上的效果图。图中能够看出雷达的扫描波束特征、威力覆盖范围等二维视图无法展示的信息。
图5 空基平台雷达三维模型
针对空基任务电子系统的特点,设计了一套三维地理信息渲染引擎和态势显控框架。
通过与二维态势的实际对比,三维态势图的优点可以总结为:三维可以展示全球地图,显示效果优于二维且量算更精确;三维态势解决了二维态势的目标叠加问题,可以从高程维度观察接近的目标;三维态势能够真实展示武器威力范围在空间的分布,结合目标在空间中的位置,为指挥引导提供了更精确的数据。
三维的优点明显,同时也存在一些问题,如现有的 交互设备(鼠标、键盘)在三维场景漫游时经会出错,三维目标过多时计算机特别是国产计算机卡顿明显等。后续工作将继续对这些问题展开研究,实现国产平台上的自主可控三维态势引擎。
[1]BrantW.Mentalimageryandcreativity:cognition,observationandrealization[M].Germany:Springer,2013:227-228.
[2]HujsakR,WoodburnJW,SeagoJH.TheOrbitDeterminationToolKit(ODTK)-Version5[J].AdvancesintheAstronauticalSciences,2007,127:381-400.
[3] 蒲 玮,李 雄,吴成海.三维战场态势显示标绘技术[J].科技导报,2014,32(34):62-68.
[4] 吕 庆,孟剑萍.基于场景图形管理技术的三维空中态势引擎设计与实现[J].指挥控制与仿真,2011,33(6):58-64.
[5]OpenSceneGraphreferencemanualV.2.2[M].[s.l.]:[s.n.],2007:36-43.
[6]HagedornJ.Highperformancevisualization[M]//Mathematicalandcomputationalsciencesdivision.[s.l.]:[s.n.],2007:56-71.
[7] 王 琪.网络二维地图与三维虚拟场景集成探讨[J].测绘科学,2008,33(2):124-126.
[8] 吴晓雪,任鸿翔,张显库,等.基于osgEarth三维数字地球建设的研究[J].大众科技,2015(1):1-3.
[9] 王宝山,武继军,罗建元.大地坐标转换模型与精度研究[J].河南理工大学学报:自然科学版,2006,25(2):111-115.
[10] 吴运金,赵玉国,张甘霖.基于SRTM数据的中国1:100万SOTER地形体的构建[J].土壤,2010,42(1):123-130.
[11] 徐智勇,吴小芳.LOD技术在电子地图显示中的应用研究[J].测绘信息与工程,2004,29(5):19-21.
[12] 韩桂明,韩传久,莫建文,等.基于OSG的雷达三维雷达信息显示系统仿真[J].微计算机信息,2008,24(13):247-249.
[13] 韩晓宁,陈 希,王娇艳.三维海战场雷达探测可视化研究与实现[J].计算机科学,2013,40(3):147-150.
[14] 刘立辉,孟庆鑫.基于动态链接库的复杂信息系统分层框架设计[J].计算机与信息技术,2009(5):39-41.
Design and Implementation of 3D Aero Display and Control System for OSG
JIN Hui-liang,GAO Wen-qi,LIU Li-hui
(China Academy of Electronics and Information Technology,Beijing 100041,China)
2D display and control is used to be main way of presenting air situation,but when there exists plenty of overlapping items,it’s difficult to clearly distinguish useful targets.3D graph rendering technology is widely applied in scenario emulation,business games,virtual reality and so on,but few research has been conducted in aero dis-ctrl system.Therefore,on the basis of discussion of advantages of 3D dis-ctrl system compared with 2D method and research of OpenSceneGraph,in order to implement 3D aero dis-ctrl system,a 3D dis-ctrl framework based on OSG has been designed.It supports 3D geography rendering,vector and elevation data parsing,model loading and scene roaming,graph and symbols painting as well as 3D airline plotting,3D manipulation,3D measurement and interaction.By this framework,3D-tech can not only be used for emulation,but also be available for constructing actual data-driven aero 3D dis-ctrl systems.
aero dis-ctrl platform;3D GIS;display and control system;3D situation
2016-05-16
2016-09-08
时间:2017-03-07
国家工信部基金项目(2012ZX01041-005)
靳慧亮(1987-),男,工程师,研究方向为人机交互与显示控制。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170307.0921.034.html
TP302
A
1673-629X(2017)04-0161-03
10.3969/j.issn.1673-629X.2017.04.036