刘立辉+靳慧亮+傅康平
摘要
提出一种适用于机载任务系统的三维图形显示交互方法。该方法针对机载任务系统高效人机交互需求,在国产基础软硬件平台之上,构建三维图形显示交互系统,通过图形优化处理技术和框架集成技术,解决国产平台性能瓶颈和软硬件适配问题,实现三维图形显示交互系统的高效运行。经过典型任务应用验证,该方法可显著提升机载任务系统态势信息显示效率和操作员决策效率。
【关键词】机载任务系统 三维图形显示交互图形 引擎
1引言
1987年,在美国计算机成像专业委员会上(CIP)的一次专题研讨会上,首次提出了科学计算可视化(Visualizationin Scientific Computing)的概念。整个二十世纪九十年代中,科学计算可视化与虚拟现实、生物工程等学科一样,成为了人们研究的热点,从而出现了一个快速发展的阶段。在战场中,从信息优势转化为决策优势进而提高战斗力,中间需要一种将信息技术和理解信息的人员联系起来的手段,这种手段就是战场可视化(Battlefield Visualization)。
上世纪九十年代中期,美国推出“龙”(Dragon)战场可视化系统,该系统以三维显示的方式来展现战场空间,向指挥参谋人员提供一致的战役战术画面。其能够对整个战场地形、气候等环境对象进行逼真模拟,作战人员有身临其境的体验。美军针对该系统进行了三维军标标绘技术的研究,并将该技术应用于每年举行的红旗军演。在此类军演中,三维图形可视化系统以为飞行员、指挥人员提供了逼真的战场界面,可以实时展现空中打击、防空压制、指挥控制等常规作战训练科目,还可以展现空中支援、搜索救援、特种作战、电子作战、战术空运和空中加油等科目。其配套的图形可视化训练系统不仅可以提供显示交互功能,还具备数据记录、胜负判决、事后分析等功能。通过用三维图形实时互动地显示仿真过程和仿真结果,能给用户更全面、更直观的信息,并可为不同领域专家提供相互沟通和交流的平台。
军事信息立体化显示是战场数字化发展的必然趋势和现实需求。“对立体显示技术的需求是由于现代战争的概念发生变化的结果。现代战争己经从二维作战空间转向三维作战空间,作战态势异常复杂。它要求每名指挥官对战场空间环境形成一个统一的视觉感知,不能像以往的指挥方式那样从平面信息中想象立体空间状态。否则,在战情转瞬即逝的现代战争中,将会造成决策的延误甚至失误。”——北约“机动联合指挥控制系统”项目主持人之一瑞典国防大学的Henrik Friman教授。
目前,我国军事信息系统正在朝向“实战化、规模化、标准化”方向升级发展,对战场态势的显示能力和交互能力要求越来越高,尤其是“实战化”引入的对战场真实性、准确性等方面的要求。在此背景下,传统的以二维图形和表格作为显示方式的空中指挥系统己经不能直观地反映全方位的作战空间信息。通过三维视景仿真技术构建立体的虚拟空中战场态势,有利于作战指挥员全方位和多角度地观察整个空中战场的态势信息,最大限度地发挥整体作战效能。从技术来上说,这些需求主要针对于计算机的显示处理能力和人机交互能力,即对显示交互系统的信息显示效率和交互效率提出了更高的要求。三维图形技术可以逼近真实地展示战场态势,对于满足上述需求非常必要。
随着计算机图形学技术的发展成熟,三维图形显示交互技术将以更快的速度应用于包括机载任务系统在内的各类任务系统。此外,自主可控是当前我国军事需求的重要组成部分,基于国产基础软硬件平台实现三维图形系统,是我国装备发展的基本要求和各科研机构争相研究的热点。
2图形技术发展现状
图形学技术萌芽于上世纪四十年代的动画领域,并伴随影视娱乐、工业设计领域的逐渐应用而蓬勃发展。进入八十年代后,图形学技术进入计算机应用领域。随着计算机计算性能和显示性能的不断提升,国内外军民领域对于图形学技术的应用日趋广泛。
图形计算处理涉及复杂硬件操作适配和多方面专业知识,直接开发图形应用程序比较困难。通常情况下,人们采用已经相对成熟的基础图形开发库进行应用开发,以屏蔽硬件差异和繁琐的底层操作,提升开发效率。发展较为成熟比如OpenGL或DirectX。这些基础图形开发库提供了基础的图形开发接口,可以满足大多数应用需求。其中,OpenGL具有很好的跨平台性、与硬件无关性,是三维可视化场景开发的有效工具。
但是,对于复杂系统开发,直接应用OpenGL或DirectX仍然比较困难。OSG、OGRE等图形中间件(俗称图形引擎,为与基础图形开发库OpenGL、DirectX等加以区分,本文称其为图形中间件)应运而生。这些圖形中间件解决了场景构造、对象处理、场景渲染、时间处理、碰撞检测等问题。
图形中间件及其应用系统是计算机图形学技术发展的重要组成部分。图形中间件封装操作系统底层驱动、基础图元处理等接口,构建图形场景和对象管理策略,供上层应用程序调用,避免开发人员重复于基础图形开发工作。大量游戏系统、军事/民用地图标绘系统、军事情报系统等都采用了比较成熟的图形中间件作为开发基础。科学计算可视化、计算机动画和虚拟现实是近年来计算机图形学的三大热门话题,而图形中间件技术是以上所有技术的核心基础。
目前,国内外图形系统产品主要采用“X86(CPU)+NVIDIA/AMD(显卡)+Windows/Linux(OS)+DirectX/OpenGL(基础图形开发库)+OSG/OGRE(图形中间件)”图形处理架构,其中DirectX仅用于Windows环境。在我国自主可控技术的推进过程中,由于国产CPU、GPU的技术现状,推动高性能图形显示技术攻关迫在眉睫。经过多年努力,基于国产平台的二维图形引擎己经相对成熟,实现了大规模产品级应用。而三维图形引擎,虽有数十家单位争相研制,但是,目前尚无绝对权威的通用型产品。
3机载任务系统三维图形应用需求及技术难点endprint
3.1应用需求
2014年,印第安纳大学-普渡大学韦恩堡分校对2D、2.5D、3D图形显示的人因工效进行了研究,发表了详细的研究报告,指出2.5D图形显示和3D图形显示可以大大降低目标深度判断错误的概率。其中3D图形显示的判断错误率几乎为零。93%的实验者认为3D图形显示更有利于其分辨、评估目标和态势,尤其有助于对三维地理环境的理解,包括环境深度、高度信息的估计和距离的估算等。美国空间和海上作战司令部(SpaceandNavalWarfareSystemCenter)指出,在空间分布状态理解和反应判断速度方面,立体图像比平面图像快3倍,决策准确率提高2√2倍。
未来的战争将是陆、海、空、天、电一体化的战争,随着人们对沉浸感的狂热追求,战场可视化的研究必然从二维走向三维。战役态势的三维显示为指挥者提供对战役态势直观明确和快速的理解,是提高指挥自动化程度的重要技术措施。
机载任务系统涉及的应用领域包括预警探测、协同指挥、搜索救援等。这些系统以大范围地理环境为背景,针对环境中的人、建筑物、车、飞机、船等节点对象进行情报搜集、命令分发,快捷高效的图形化显示交互界面是其重要需求之一。目前,对于广域地理场景态势情报处理,一般采用二维图形显示。但是随着机载任务系统的不断发展,战术指挥、区域搜索等小范围地理场景的态势感知系统发展迅速,对局部地理场景和抵近侦察对象的显示交互需求也相应增多。另外,随着测高技术的不断提升,空中目标高度信息的精确直观显示变得越来越可行。依照事物发展的客观规律,三维图形显示交互是机载任务系统发展的必然趋势。
3.2技术难点
基于机载任务系统的基本需求,研制高效的三维图形显示交互系统势在必行。该领域的主要矛盾是装备自主化研制需求与显示处理技术相对滞后之间的矛盾。突破基于国产平台的显示性能瓶颈,研制应用级高性能图形引擎及图形数据库,并针对各类典型系统开展应用适配,是该领域研究的重点。目前需要解决的技术难点包括:
(1)国产平台图形加速技术;
(2)图形开发优化技术;
(3)图形态势交互技术。
其中,(1)主要涉及显卡硬件及驱动技术,(2)和(3)是本文研究的重点内容。另外,在当前技术基础之上,加装三维图形显示交互能力,离不开对现有系统或现有技术的改造升级,因此,针对图形模块的框架集成技术和基于任务的交互评估技术也是本研究的重点。
4机载任务系统三维图形显示交互设计
4.1设计原则
4.1.1模块化可移植
(1)模块化:基于“框架+插件”的软件设计思想,将图形引擎和图形数据库作为图形核心模块,嵌入到现有显控框架体系中。在该框架基础之上开发典型应用和配试模拟器,用以验证图形引擎和图形数据库的功能、性能。
(2)可移植:采用跨平台的C++编程语言及其编译环境、跨平台的基础图形开发库OpenGL和跨平台的图形开发库QT及其开发工具QTCreator进行开发,快速实现商用平台及国产平台的横向移植,用以支持显示性能的横向比较。
4.1.2多途径技术攻关策略
从计算机硬件(CPU、GPU)、操作系统、显卡驱动、基础图形开发库、图形中间件、图形数据库、图形应用模型等多个途径进行技术攻关,解决图形显示效率问题,全方位提升图形绘制效率和应用效能。在技术选型和软硬件选型过程中,优先考虑对三维图形开发的支持能力和扩展能力,并兼顾二维图形显示处理效率。图形处理技术层级架构见图1,图形功能优化策略见图2。
从图形引擎、图形数据库、验证环境三个方面进行技术攻关,其中重点为围绕图形引擎开展的基础软硬件、图形开发环境、图形中间件的技术攻关。
4.1.3分层次架构集成模式
遵照MVC模式规范,在现有显控框架中集成三维图形模块,加载3D图元模型和地理模型数据,按照情报图层和地理图层分层管理,对上层应用提供二次开发接口。同时,实现二、三维联动显示,使操作员可以更加高效地收集并处理态势信息。分层次图形架构见图3。
对于机载任务系统现有显控系统的图形功能改造包含如下三个方面:
(1)从CPU、GPU、操作系统、显卡驱动、基础图形开发库、图形中间件等几个层面,攻关图形处理技术,构建性能稳定兼容性强的图形引擎;
(2)根据相关标准,构建标准化、通用化、可扩展的三维图形数据库,以满足各类机载任务系统的应用需求;
(3)搭建典型应用验证环境,主要包括与机载任务系统典型任务相关的显控插件和业务支撐模块,用于验证图形引擎、图形数据库以及整个图形系统的功能性能。
4.2图形优化技术
4.2.1图形绘制优化
计算机的图形绘制功能主要借助于计算机的仿真计算能力,通过建立相应的战场环境、装备等模型,并利用CPU、GPU计算输出二三维图形图像。目前,国产操作系统主要基于Linux内核开发。Linux界面多采用XWindow系统。XWindow是图形系统的工业标准,采用客户端/服务器模式。X Client通过X协议实现与X Server的交互。在其上构建的基于国产平台的图形架构通常存在显示卡滞、操作不流畅等问题,主要归于如下几点:
(1)频繁提交的绘制逻辑:一般情况下,图形绘制操作(例如DrawPoint、DrawLines、DrawText、DrawPixmap等)被解释为操作显卡的一系列命令,这些命令被发送至内核,由内核驱动完成处理,该过程将带来内核与外界的交互开销,其执行效率受限于显卡能力,如果图形程序未对绘制逻辑进行优化,过于频繁的绘制请求将带来大量的内核内外交互开销,导致显示效率降低;
(2)过于快速的刷新频率:当图形界面刷新周期过小时,会导致图形绘制操作无谓增多,可进一步扩大显示处理的压力;endprint