王 卉,赵 盼,刘东升,邹 杨
(中国洛阳电子装备试验中心,济源459000)
无人机链路攻击视景仿真系统设计与实现
王 卉,赵 盼,刘东升,邹 杨
(中国洛阳电子装备试验中心,济源459000)
为满足无人机在链路攻击试验中的各种状态和攻击效果仿真要求,基于虚拟现实技术、利用纹理映射、DOF细节建模、特效绑定和数据驱动等技术,设计并开发了无人机链路攻击视景仿真系统。系统实现了无人机飞行参数实时获取、飞行航迹和姿态的实时显示、攻击效果和毁伤特效的实时显示与回显。通过系统测试结果表明:该视景仿真系统能够实时驱动各个仿真实体运行,系统运行可靠稳定直观,视景画面流畅,图像刷新速率达到55帧/s以上,能够满足系统实时性要求,具有一定的实用性和推广价值。
Vega Prime平台;无人机链路攻击;视景仿真;三维模型;数据驱动;碰撞检测
视景仿真系统是虚拟现实技术在军事领域的典型应用,属于计算机仿真范畴,主要用在武器对抗仿真平台、模拟军事演习等方面。它可以营造逼真的虚拟战场,满足操作人员与战场环境之间的信息交互。其目的是为军事仿真系统提供大规模分布式的虚拟战场环境,并借助虚拟仿真作战环境来完成对作战人员的训练、武器装备的效能评估以及作战方案的验证和演练。视景仿真系统把现实中枯燥无味、难以理解的模拟信号或信息数据进行了直观的可视化展现,并且是随时间和空间变化的动态过程,从而使得系统中各个变量跟仿真视景建立了关系。
Vega Prime5.0(以下简称VP)是一套完整地用于开发交互式、可视化仿真应用的软件平台和工具集,由图形用户界面程序LynX Prime(以下简称LP)、实用工具组、VP函数库及相关头文件组成。最基本的功能是驱动、控制、管理虚拟场景并能快速便捷的实现大量特殊视觉和声音效果[1]。VP为设计者提供了处理复杂仿真事件的程序接口,可实现各实体模型每一帧的状态都是实时运行的,同时还可根据用户需要选择观察视点,并对整个场景重新计算并渲染[2]。
2.1 仿真目标
无人机不是独立的部分,无人机依赖链路就像火车依靠轨道一样,链路给无人机指令,指挥它们的监视活动或为它们的武器分配攻击目标。在无人机链路攻击试验中链路攻击方(即红方)负责对测控链路进行侦查、监视和攻击,以期达到对无人机的干扰、控制和破坏。无人机链路攻击某战法的试验场景大致如下:一架“捕食者”无人机在空中飞行,执行日常侦察任务,并与地面遥测遥控链路车保持通信;地面上红方入侵了无人机遥控链路,并对无人机发送平飞和关闭风门的指令,发动机进入怠速并发生摩擦起火,无人机在大负荷状况下失去动力,最终落地坠毁并引发了剧烈爆炸。
2.2 需求分析
根据仿真目标,描述在无人机链路攻击试验中,视景仿真系统接收来自红蓝双方的遥测遥控链路信息进行解析后,通过三维实体建模和模型驱动,表现出静态的地面、天空、建筑物、山体等地貌环境并实时动态的显示无人机在地面自检、机场起飞、空中飞行直至返场等一系列飞行过程和被攻击、引擎起火,坠毁等状态和动作,表现出无人机链路的攻击进程和试验态势,来验证无人机链路攻击方法的可行性和攻击效果。经过分析,无人机链路攻击试验视景仿真系统需要:
(1)构造三维物理模型库:综合利用Multigen Creator 3.2和Terra Vista 6.2等软件,实现对无人机等模型的构建和虚拟环境建模。其中重点构造逼真的“捕食者”无人机模型,并使主要舵机部件可控。根据视景仿真系统的技术需求,建模时考虑以下几点:一是尽可能提高模型的精细程度,提高仿真效果;二是剔除冗余顶点、面等数据,通过纹理的有效补充,精简数据量;三是建立合理的模型数据库层次结构,方便VP的实时渲染[3];四是建立合理的空间自由度节点,实现装备模拟时的模型动作反馈。
(2)大地形数据库:大面积地形数据库管理技术(LADBM)是一种使计算机显卡能够处理远远超出其计算处理能力的大型地形数据库新技术[4]。链路仿真试验所需的地形场景地理面积很大,若正常加载,硬件往往无法满足,会造成图像的抖动和跳变,无法保持帧连续性,影响了仿真效果。该技术能够根据当前观察点所处坐标动态调整地形数据库固定起始点的距离坐标,通过选择一个接近观察点的动态数据库起点或地面坐标系统起点作为地形数据库的新固定起始点,可使当前观察点与数据库起始点之间的相对距离差值保持在一定的精度范围内,从而使系统能在保证数值精度连续性的情况下处理任意面积大小的地形数据库。针对大地形数据库,VP采用细节层次网格技术管理大地形数据,使用MetaFlight文件方式提供数据库访问接口,同时提供了包括MetaFlight、vpLADBM、vpVT在内的三个模块专门用于控制场景的截取和绘图。
(3)大地形的碰撞检测与响应:在虚拟环境中,如果不给物体设置相应的碰撞属性,会出现物体间相互穿透的现象,破坏虚拟世界的真实感。VP将碰撞检测封装成一个称为Isector的类,该类使用指定方法完成一个目标物体与一个指定空间范围之间的交叉碰撞测试。VP提供了Z,HAT,TRIPOD,LOS等8种碰撞检测模式[5],这些模式可检测到地面高度,碰撞点位置等,使用灵活,能满足各种定制需要。在链路攻击试验仿真中,碰撞检测的关键是获得捕食者无人机距离当前大地形地标的高度信息,这需要从目标衍生一条垂直的线段至地表,并计算线段长度。系统使用了一种基于单线段的碰撞检测算法,线段沿着Y轴正向,可以通过getRange()查询碰撞距离,当小于某个值时触发碰撞效果函数。
(4)特效技术与响应:是对无人机在飞行过程中的尾焰效果、航迹效果,无人机被攻击产生的爆炸、烟雾、坠毁、碎片效果等的模拟。VP提供的vpFx特效模块足以完成这一系列特效模拟:vpFxMissile-Trail模拟飞行尾迹效果;vpFxFlame模拟爆炸燃烧火焰;vpFxSmoke模拟燃烧烟雾;vpFxDebris模拟地面爆炸产生的碎片特效;vpFxSplash模拟水中爆炸特效等。对于特殊需求的特效,可通过vpFxParticle-System粒子系统进行详细的粒子属性设计,例如尾焰(需要设置尾焰的速度和方位)、水面纹波效果等。
(5)实时数据驱动:数据链实时接收无人机下传的遥测信息,经解码得到无人机的经纬高和俯仰、偏航、滚转等信息。由于实时性是系统的关键需求之一,因此飞行数据的同步接收便尤为重要。本系统采用UDP网络接收遥测遥控链路数据,UDP数据处理程序的最大解码时间设置小于20ms,在时间上保证帧不重叠、不丢弃,对系统其他部分的实时性影响小,满足系统的实时性要求。
(6)坐标变换:VP中定义了当地坐标系(Local)、地心坐标系(Geocentric)、大地坐标系(Geodetic)、投影坐标系(Protected)四种坐标系。其中当地坐标系是一个不考虑地球物理模型和投影方式的直角坐标系,而其余三种坐标系都必须与地球物理模型相关联。视景仿真系统必须基于真实的长短轴地球模型,否则在仿真过程中飞行器的定位将不准。视景仿真驱动系统设计时必须要考虑场景坐标系的设定,而这是由驱动数据所决定的。无人机链路攻击试验中的遥测链路数据中,捕食者无人机采用的是大地坐标系即经度、纬度和高度组合表示,因此需要在VP仿真平台上创建一个vpCoordConverter实例来实现地理坐标系映射到VP内部的本地坐标系。
(7)自然环境模拟技术:为了达到更强的逼真效果,系统有必要对环境以及一些特殊效果进行真实性模拟。自然环境包括清晨、傍晚、阴天、雾天以及雨天等特殊天气情况,系统应具有实时改变虚拟战场自然环境的功能,从而达到检验不同自然条件下作战效能之目的。
(8)多通道选取与视点变换控制:为了对无人机飞行状态做实时观察,用户需要能从不同时刻对无人机各个角度或在同一时刻对无人机各个角度进行观察,为此在系统中设计了两种观察法:多视点和多通道。多视点是指对同一个通道的观察位置进行改变;多通道是指对无人机同时通过多个通道进行观察,根据需求用户可对当前通道内的视点通过鼠标或键盘进行调节。
(9)交互能力:仿真过程中用户可以通过交互控制设备鼠标和键盘来实现对虚拟场景的控制。
(10)二维信息显示:在界面上通过文字或图片方式显示无人机的六自由度参数、试验信息等等,通过二维信息显示可以辅助用户快速得到虚拟战场的信息。
(11)数据保存与回放:能实时保存数据并通过回放来驱动视景仿真系统。
2.3 开发流程
无人机链路攻击视景仿真系统由三维物理建模和视景驱动组成,前者主要包括三维物理模型建模、大地场景的构造与生成、模型纹理的设计等等;后者包括场景配置和视景仿真驱动程序设计两个部分。首先利用VP自带的图形界面工具LP加入各种增加场景沉浸感的特效实例,诸如天气环境、飞行器尾焰或尾迹、爆炸烟雾等粒子效果乃至于声音特效实例,然后在MFC对话框程序框架的基础上调用VP的API函数进行驱动程序开发。系统开发流程如图1所示。
图1 系统开发流程
3.1 视景仿真建模
3.1.1 三维物理模型建模
三维物理模型是指视景仿真显示中涉及到的所有模型结构,模型的构造关系到视景仿真逼真程度,是视景仿真的静态基础。系统综合利用3DS MAX、Multigen Creator 3.2和Terra Vista 6.2等软件,实现对无人机等视景仿真模型的构建和虚拟环境建模。
三维实体模型的构建首先利用3DS Max选好模型坐标系的坐标原点,利用参数化建模功能建立模型,要利用自由曲面建模和特征建模功能处理模型的细节部分,使模型更贴近实装。实体模型建立之后将其导入Creator,在Creator中通过材质处理和纹理贴图提高模型的逼真程度,并在Creator中对无人机的零部件设置DOF节点。DOF(自由度,Degree ofFreedom)是一种可以在模型中实现旋转、平移、缩放等运动的控制节点,它通过建立一个局部坐标系,可以控制模型的零件(关节)在局部坐标系中按给定自由度进行移动或旋转。这些自由度包括:X、Y、Z轴上的位移,H、P、R上的旋转,沿X、Y、Z轴上的缩放因子,符合笛卡尔坐标系中的右手定则。
大场景地形模型主要采用的是Presagis公司基于Windows平台的实时三维地形数据库生成软件Terra Vista 6.2。该软件适合大数据量的地形生成,将dem、GeoTIFF等原始的高程数据、卫星影像文件和Creator3.2中创建好的房屋、道路、建筑等显著地标的模型文件导入到Terra Vista 6.2,进行相关参数的配置,而后对地形文件进行网格化生成。
3.1.2 模型优化
无人机作为一个复杂的模型,在给定帧率的情况下,只能对有限数量多边形进行各种实时绘制。如果模型数据库中的多边形数量超出了实时系统图形硬件处理的能力,则虚拟仿真画面无法进行流畅的渲染。由于3DSMax在建立规则体时会产生较多多余的多边形,带来不必要的系统资源浪费。利用3DS Max生成的捕食者无人机模型为8710KB,在不影响显示效果的情况下,利用Creator的合并功能减少多边形数量,还可以通过手工删除模型中不被显示出来的多边形和过渡的模型细节,减小模型文件的大小,优化后为2558KB,达到了优化目的,提高了仿真速度。
在Creator中的OpenFlight数据格式采用树状的结构层次来组织管理场景数据,模型数据库的访问规则是由上到下,由左至右。对无人机模型数据库进行结构调整,方法是将无人机模型数据库层次结构视图按照可动部分和不可动部分的原则分成两大类。这样的优点是组织管理方便,需要维护和改进时只需修改目标节点而其它部分则保持不变,此方法优化了模型的视景输出次序,提高了模型的渲染效果。
由于三维地形模型占用的系统资源比较大,会影响整个仿真系统的运算效率,在具体建立地形场景时采用LOD技术(多层次细节技术)。根据无人机飞行高度不同,地形显示的精确度相应不同,这样即能还原实际情况,也降低了系统资源占用。
3.2 视景仿真驱动
3.2.1 LynXPrime(LP)场景配置
LP场景配置基本步骤:
(1)新建一个场景(Scene),将无人机模型及地形模型导入场景中;
(2)为场景加入光照、云彩、太阳等效果;
(3)为无人机设置与地面和建筑物之间的碰撞检测;
(4)为视景窗口设置通道(Channels),并安排各通道的相对位置,设置观察者视点;
(5)配置坐标转换;
(6)为场景设置特效,并配置特效。粒子属性系统中无人机航迹、尾桨旋转、爆炸、粉尘火焰等等是通过特效来实现的,但特效的触发事件通过程序来驱动,所有的跟坠毁相关的特效都是在检测到碰撞后触发;
(7)配置二维信息模块。
配置完毕后生成.ACF(Application Configuration Files)配置文件[6]。
3.2.2 基于MFC的实时视景仿真
视景仿真程序是整个视景仿真系统的核心模块,是动态视景呈现的关键环节。本系统采用Visual Studio 2008与Vega Prime5.0实现实时仿真程序设计,在VC++中调用VP的API函数库可以灵活方便准确地实现交互式的视景仿真[7]。
图2 视景仿真驱动程序工作流程
VP驱动程序的设计分为静态设置和动态循环两个阶段,如图2所示。静态设置阶段是在MFC对话框程序里启动一个工作者线程,视景仿真系统中需要实时地进行渲染循环,这个过程非常耗时,需要启用工作者线程来完成VP的驱动和渲染任务[8]。在线程的主函数里初始化VP仿真环境、创建共享内存区,进行系统定义及系统配置等并进入动态主循环。在动态循环阶段,系统实时接收UDP网络传送的遥测遥控链路数据以及从鼠标或键盘输入的观测点控制信息,控制观察者,控制特效,配置键盘函数,操作DOF,控制父子关系,控制碰撞检测,保存历史记录并按照一定的频率循环渲染场景,从而实现场景的动态仿真。
在程序中定义无人机的结构体类型,将多个与相关链路攻击试验相关的无人机变量属性打包成为一个整体使用,无人机的结构体如下所示:
struct wrjstruct //无人机结构
{
vpObject *m_wrj; //捕食者无人机
int m_nState; //无人机状态
vuVec3d m_xyz; //经纬高
vuVec3d m_hpr; //方位、俯仰、侧倾
double m_speed; //速度
vuField<vsDOF*>m_pvertical_DOF; //垂舵DOF节点
vuField<vsDOF*>m_plefttail_DOF; //左尾舵DOF节点
vuField<vsDOF*>m_prightail_DOF; //右尾舵DOF节点
vpFxBlade *m_blade; //螺旋桨
vpFxFlightRibbon*m_FlightRibbon; //航迹
vpFxMissileTrail*m_trail1; //左侧航迹云
vpFxMissileTrail*m_trail2; //右侧航迹云
vpFxFlak *m_engineexplosion; //引擎爆炸
vpFxSmoke*m_smoke; //失火产生的烟雾
vpFxDebris*m_debris; //与地面相撞产生的碎块
vpFxFire *m_fire; //引擎起火
vpObject *m_crater; //与地面相撞形成的大坑
vpIsector *m_LADBMlosIsector; //碰撞触发器
……
};
图3 仿真应用程序运行过程中的屏幕截图
对于UDP协议传输数据的不可靠性,在程序中通过验证数据报文帧头、数据长度等信息来保证数据的正确性和可靠性。实时数据驱动的实现是在UDP线程(vega_socket)接收数据时在VP线程的帧循环中进行实时赋值,如下所示:
o_wrj.m_xyz.set (vega_socket->Soc_jd,vega_socket->Soc_wd,vega_socket->Soc_gd);
o_wrj.m_hpr.set (-vega_socket->Soc_heading, veg_socket->Soc_pitch,vega_socket->Soc_rolling);
o_wrj.m_speed=vega_socket->Soc_Speed;
VP提供的vsDOF类用来在程序中实现对DOF进行控制,下面的代码是一个DOF的控制实例。
o_wrj.m_pvertical_DOF->setRotateP (2.0,true);//无人机的垂舵沿着P轴方向发生了2.0度的翻转无人机引擎起火爆炸火焰特效基于粒子系统,火焰特效的绘制当前帧数的存活火焰粒子,原有的火焰粒子进行运动变换,将存活较长的火焰粒子部分消亡,同时将下一帧火焰粒子赋予相应的属性。控制火焰粒子的运动变化的代码如下:
o_wrj.m_burn->setVelocity(0.0,m_vVelocity);//无人机引擎爆炸产生的火焰粒子特效
o_wrj.m_crash->setVelocity(0.0,m_vVelocity);//无人机引擎爆炸产生的烟雾粒子特效
无人机与大地形地面碰撞检测的代码如下:
if(o_wrj.m_LADBMlosIsector->getHit())
{
o_wrj.m_nState=STATE_CRASHED;
vuNotify::print(vuNotify::LEVEL_WARN,NULL, "The wrj has just crashed");
}
当无人机坠毁时,得到其位置信息,并实时计算出与理想目标位置之间的位置偏差,并根据相应距离判定毁伤概率。无人机坠毁特效都是在检测到碰撞后触发,代码如下:
o_wrj.m_flash->setEnable(true);//无人机坠地产生的火花
o_wrj.m_debris->setEnable(true);//无人机坠地产生的碎片
o_wrj.m_smoke->setEnable(true);//无人机坠地产生的烟雾
o_wrj.m_fire->setEnable(true); //无人机坠地产生的火焰
系统根据无人机链路攻击试验仿真目标需求对系统功能进行分析、设计并实现了一个完整的视景仿真系统。系统基于NT平台开发,在Intel Core i5处理器8G内存NVIDIA Quadro K1100M图形卡的硬件配置环境下,实时渲染帧率达到了57~59帧/秒,模型精细,逼真程度高,画面运行流畅,对三维物理模型调用与更新的实时性高,实现了对各个仿真实体和实体零部件的灵活控制,操作人员可以通过键盘和鼠标在不同视点间任意切换。该系统使无人机链路攻击试验的指挥人员和参与人员可直观地观察捕食者无人机的飞行过程、飞行姿态和效果,由此分析出无人机链路的攻击进程和试验态势并验证无人机链路攻击方法的可行性和攻击效果。
[1]万明,樊晓光,南建国.Vega Prime视景仿真开发技术[M].北京:国防工业出版社,2015. Wan min,Fan Xiaoguang,Nan Jianguo.Vega Prime Visual Simulation Technology[M].Beijing:National defence Industriy Press,2015.
[2]Vega Prime GUI tutorial[M].USA:Presagis Inc,2011.
[3]Vega Prime Round Earth Marine Terrain Tutorial version 5.0 [M].USA:Presagis Inc,2011.
[4]Terra Vista 6.2 Tutorial:Getting Started[M].USA:Presagis Inc, 2011.
[5]Vega Prime Getting Started LADBMTutorial version 5.0[M]. USA:Presagis Inc,2011.
[6]LynX Prime Interface,Version 4.0[M].USA:Presagis Inc, 2009.
[7]Vega Prime Programmers Guide version 5.0[M].USA:Presagis Inc,2011.
[8]王孝平,董秀成,郑海春.Vega Prime实时三维虚拟现实开发技术[M].成都:西南交通大学出版社,2012.
Design and Implementation of UAV Link Attack Visual Simulation System
Wang Hui,Zhao Pan,Liu Dongsheng,Zou Yang
(Luoyang China Electronic Equipment Test Center,Jiyuan 459000,China)
In order to meet the simulation requirements of UAV's states and attacking effects in Link Attack Test,based on virtual reality technology,texture mapping,DOF detail modeling,effects binding and data-driven technology,UAV link attack visual simulation system is designed and developed.The system,in real time,realizes access of UAV flight parameters,displays and replays flight path and attitude,attack effects and damage effects.Through the system test,the results demonstrate that the visual simulation system can real-timely drive each simulation entity running,which is reliable,stable and intuitive.The visual picture is fluent,and the ratio of picture updating is more than 55 frames per second.It meets the demand of the real-time performance of the system and has a certain practicality and promotional value.
Vega Prime Platform;UAV link Attacking;Visual simulation;3D object modeling;Data-driven;Collision detection
10.3969/j.issn.1002-2279.2017.02.016
TP319
B
1002-2279-(2017)02-0068-06
王卉(1982-),女,江苏省连云港人,工程师,硕士研究生,主研方向:软件工程、虚拟现实技术和指挥控制系统等。
2016-09-28