基于Vega Prime的水下航行器视景仿真
2015-01-17莫剑飞
莫剑飞
(昆明船舶设备研究试验中心 云南 昆明 650051)
可视化仿真技术是数字仿真技术和计算机图形显示技术相结合的成果,它在数字仿真的基础上,将数字仿真中产生的数字信息以图形、图像和动画的形式呈现在研究者面前,并且提供直观的交互手段。其三维实时动画显示技术,已经在模拟训练,虚拟显示中得到了广泛应用。
文中在图形工作站上开发了一个水下航行器运动可视化仿真软件,实现对水下航行器三维模型的灵活观察,对水下航行器攻击过程的三维动画表现以及海下环境的实况模拟,能够使研究人员直观地观察水下航行器、潜艇以及其他舰船之间的位置关系,较好的实现了水下航行器运动的可视化。
1 运动模型
本仿真系统中,水下航行器采用尾追导引法弹道。尾追导引法是指水下航行器在攻击目标的过程中,水下航行器的速度矢量始终指向目标的一种导引方法[1]。空间相对运动方程为:
式中:r为水下航行器与目标的距离;vm为目标速度;vt为水下航行器速度;r为水下航行器与目标的距离;φ为水下航行器在球面坐标系的方位角;θ为水下航行器在球面坐标系的赤纬角。
水下航行器在水平面运动的轨迹方程为:
水下航行器在垂直面运动的轨迹方程:
式中k=vt/vm;φ0为水下航行器在开始时刻的方位角;θ0为水下航行器在开始时刻的赤纬角。
在本仿真软件中,目标水面船只采用直线运动模型。水下航行器与目标在水平面运动轨迹如图1所示。
2 虚拟场景构建
虚拟场景构建分为三维实体建模和地形生成。
2.1 三维实体建模
图1 水下航行器与目标水平面运动轨迹Fig.1 The horizontal trajectory of underwater vehicle and target
在可视化仿真中,逼真性、准确性、实时性是建立三维模型的三大指标。Multigen Creator是Presagis公司出品的实时三维建模工具软件系统,它提供了强大的多边形建模、矢量建模及大面积地形精确生成等功能[2]。其对三维模型的集成和优化使得模型更加满足实时性和交互性,在保证逼真度前提下更适合于虚拟场景的再现。Creator独创的OpenFlight格式是针对实时可视化应用而设计的一种数据结构,它采用节点式的分层机构,特别适合于实时渲染操作。Creator的层次细节LOD(Level of Detail)技术,可根据物体与视点的距离来选择不同细节程度的模型,这样可以大大提高渲染效率并节省系统开销。
建立三维实体模型一般需要经过获取实体数据、确定层次结构、三维建模等几个步骤。建模时需要按照实体的结构和功能进行层次分析,由实体的数据,根据所设想的层次结构利用建模工具逐层进行建立,后续整理通过删减冗余面、调整和保存纹理、调整层次结构等工作来优化模型。
在本系统中,对潜艇、水下航行器、水面舰船进行了合理精度的建模,完成的模型及层次机构如图2,图3,图4所示。
图2 潜艇建模图Fig.2 The modeling of submarine
2.2 海底地形生成
在视景仿真系统里,具有真实感的三维海底地形有着广泛的应用,它不仅可以用来制作虚拟现实环境中的各种海底环境,还可以提供地理信息系统中资源的三维定位、地理查询、路径规划等功能。另外,它在舰船导航、海洋勘探、电影制作、游戏娱乐等方面都有比较好的应用前景。
图3 水面船只预览图Fig.3 Preview of surface ship
图4 水下航行体模型Fig.4 The model of underwater vehicle
3D地形环境的建立是将包含高程信息的数字地图数据文件进行网格化处理和内插计算,生成由许多小网格及多边形构成的有高低起伏的曲面地形,这样就根据带高度信息的数字地图生成了虚拟3D地形。为了增强3D地形的逼真度,可采用该地区遥感图片和航拍照片,经计算机图像处理后作为地貌纹理贴在3D地形曲面上,就可构成所需的地形地貌模型[3]。
Creator利用Delaunay算法完成从数字地形高程数据到3D地形模型的建立。 图5是利用Creator制作的三角网海底地形模型。
图5 海底地形三角网模型Fig.5 The triangle model of sunmarine topography
3 视景仿真程序设计
Vega Prime是用于虚拟现实、实时视景仿真的一个业界领先的实时三维渲染引擎[4],它提供了Lynx Prime图形用户界面[5]、可由C++调用的类库、应用程序编程接口及可扩展插件/模块。本软件采用Visual C++2005和Vega Prime来开发实现,用面向对象技术对系统进行封装。根据系统功能需求,分为如下几个主要功能:
1)模型加载:用于加载模型文件及海底地形,利用Vega Prime的图形化工具 Lynx Prime加载配置海底地形,仿真过程中根据需要动态加载潜艇、水下航行器、水面目标等模型。
2)数据生成:根据水下航行器导引控制方程及目标运动模型实时求解实体坐标,并传至驱动控制模块。
3)视图显示:控制和管理虚拟场景、配置渲染管道、显示窗口、通道等,完成整个虚拟场景的绘制和显示。
4)驱动控制,实时获取水下航行器、目标的运动参数,根据实时参数更新实体模型的位置和姿态,实现三维动画仿真。
5)视点控制:完成水下视景仿真的各个观察点的切换,实现多视点观察模式,方便用户进行观察。
6)特效及环境效果控制:模拟常见的自然环境现象。模拟实体(水下航行器,水面船只)航行尾流,水下航行器命中目标后爆炸产生的烟和火焰。
仿真演示程序的流程如图6。
图6 仿真程序流程图Fig.6 The flow diagrm of simulation
如何控制视景仿真中的视点是Vega Prime开发工作中非常重要的问题。所有的仿真效果都必须通过对视点的控制才能在屏幕上表现出来。为了能清晰地展现仿真的流程,使观察者既能对场景进行宏观了解,又能对关键事件进行细致观察,本仿真软件综合使用了全景模式、固定观察点、跟踪模式及动态视点模式,根据仿真进程在几种模式间动态切换,实现了从不同角度观看仿真过程,同时使观察更加自然、流畅。其中,全景模式就是以全局的角度来对整个场景进行观察,在全景模式下可以让观察者对场景进行宏观上的了解。跟踪模式指把视点固定捆绑在某个运动实体附近,让视点随着该实体的运动而运动,从而实现对该实体在场景中运动情况的跟踪观察。固定观察点就是视点位于某一固定点,观察可视范围内发生的各种事件。动态视点模式根据待观察位置及当前视点的位置,实时计算下一帧视点的位置及视线方向,从而保证对感兴趣事件的持续、流畅的观察。图 7为视景仿真效果,其中(a)图为放射场景,(b)图为固定观察点效果。
图7 视景效果图Fig.7 Effect of visual
为了能增加仿真环境的逼真效果和真实感,营造虚拟环境的氛围至关重要。Vega Prime能够模拟各种常见的自然环境现象[6],包括蓝天、云层,光照以及动态海面海浪、水面船只航迹(船头、船身、船尾波)。在虚拟试验场景中加入雾化效果可以使场景产生更强的纵深感和距离感,使远处的景物产生朦胧感,可以增加水下场景的真实感。水下航行器、潜艇在运动过程中都会产生尾流,水下航行器命中目标后会发生爆炸产生烟和火焰。在仿真程序设计这些特殊效果并在适当的时机触发,从而极大地增加视景仿真的真实感。图8展示了命中目标后的特效。
图8 命中目标效果Fig.8 Effect of target
图7 解析后生成的数据文件Fig.7 The data files generated by parsing
图8 A1信道的帧数据文件Fig.8 The frame data files of A1 channel
[1]张丽萍.CCSDS在我国航天领域的应用展望 [J].飞行器测控学报,2011(30):1-4.ZHANGLi-ping.Prospect of application of CCSDSin China[J].Journal of Spacecraft TT&CTechnology,2011(30):1-4.
[2]扬奕飞,丛波,李强.CCSDS标准在新一代航天测控系统中的应用研究[J].电讯技术,2007,47(5):166-168.YANG Yi-fei,CONG Bo,LI Qiang.Application of CCSDS standard in new space TT&C systems[J].Telecommunication Engineering,2007,47(5):166-168.
[3]张琛,李爱红,张尔杨.CCSDS遥测遥控空间数据系统通信协议及其应用[J].航天返回与遥感,2004,25(2):23-28.ZHANGChen,LIAi-hong,ZHANGEr-yang.CCSDStelemetry/telecommand space data systems protocols and their applications[J].Spacecraft Recovery&Remote Sensing,2004,25(2):23-28.
[4]张源.CCSDS数据地面接收系统软件设计[J].遥测遥控,2008,29(3):1-5.ZHANG Yuan.Design of CCSDS ground data acquisition system software[J].Journal of Telemetry,Tracking and Command,2008,29(3):1-5.
[5]杜国明,陈逢田.CCSDS遥测包处理分析[J].航天器工程,2007,16(5):110-114.DU Guo-ming,CHEN Feng-tian.Analysis of CCSDStelemetry packet processing[J].Spacecraft Engineering,2007,16(5):110-114.
[6]王森.卫星高速CCSDS数据的软件处理过程改进研究[D].北京:北京航空航天大学,2010.
[7]杜冬梅.航天器CCSDS遥测数据包处理方法研究 [J].电讯技术,2007,47(2):176-180.DU Dong-mei.Processing method of the telemetry data packet for spacecrafts[J].Telecommunication Engineering,2007,47(2):176-180.
[8]易茂祥,张浩,郭红卫,等.m-序列数据扰码技术及其在SATA中的应用[J].微电子学,2012,42(4):502-505.YI Mao-xiang,ZHANG Hao,GUO Hong-wei,et al.m-Sequence data scrambling and its application to SATA interface[J].Microelectronic,2012,42(4):502-505.