APP下载

光电经纬仪模拟训练仿真系统设计

2019-03-01李欣阳吕耀文徐熙平胡悦

关键词:经纬仪模拟训练线程

李欣阳,吕耀文,徐熙平,胡悦

(长春理工大学 光电工程学院,长春 130022)

光电经纬仪作为一种重要的光电跟踪测量设备,实现了实时测量并记录目标的方位、俯仰角、运动参数等信息。在卫星发射、武器试验等各种军事及科研领域广泛应用。光电经纬仪测量任务的顺利完成,需要操作手的熟练配合,但由于外场试验中高昂的时间和资源成本,对光电经纬仪操作手的训练成了一个棘手的问题,因此通过视景仿真技术开发光电经纬仪模拟训练系统,对经纬仪的操作训练进行模拟和效果评估具有重要意义[1-3]。主要的三维仿真软件包括:Vega Prime、Matlab和3DMax等软件。Vega Prime三维仿真软件结合VC++开发,相比于传统的基于Matlab的数学模型仿真具有更强的直观性,方便操作手进行模拟训练;相比于3DMax等三维动画软件实现仿真具有更强的交互性,多种仿真模块也增加了开发的简易性;相比于只具备C编程接口开发的Vega软件,具有更强的程序扩展性,也可以整体提高系统运行速度[4-6]。

本系统采用了MFC多线程框架,应用Vega Prime API函数,实现了整体多线程场景搭建,开发了目标运动轨迹模拟、摄像机参数模拟、特效模拟和操作杆模拟经纬仪视轴跟随目标等功能,并以统计的方法,对跟踪训练结果给出客观的评价。

1 仿真系统总体结构

模拟训练仿真系统的设计首先使用Creator软件分别建立场景模型和场景中应用的实体模型,然后将场景模型和实体模型导入lnyx Prime图形配置面板,通过面板对三维场景进行初始化配置并生成相应的acf文件,在VC平台上将acf文件加载到基本程序框架。出于实时性和交互性的考虑,选用基于MFC的多线程框架,最后通过Vega Prime API函数编写和驱动仿真程序并输出虚拟渲染场景[7-8]。综上,基于Vega Prime的光电经纬仪模拟训练系统的仿真框架如图1所示。

图1 仿真系统框架

光电经纬仪模拟训练系统要求实现人机交互和环境参数配置的功能,满足武器试验场景的模拟和基于真实外场试验弹道数据的飞机投弹仿真要求,对场景和模型计算量很大,因此系统采用基于MFC的多线程框架,提高程序资源利用率,使程序响应更快[7]。应用程序需要实现键盘、鼠标和训练摇杆响应,但同时会存在按钮、编辑框等对象与VP运行窗口争夺焦点的问题,所以应用程序类型使用单文档类型,以提高程序可靠性。

系统线程包括VP线程和图形界面线程。VP线程使用两层结构进行开发,首先创建最底层类继承于vpApp类,主要提供VP运行线程框架,线程驱动和其它底层操作;然后创建VP线程上层类继承于底层类,用于使用底层类实现进一步的功能,包括重写配置函数,键盘鼠标响应函数等其它功能函数,所有VP功能实现都在上层类中编写,其实现的函数供用户层直接使用。然后基于图形界面线程创建用户层,它是单文档视图的控制类,在此类中调用VP线程上层类的方法进行应用程序开发,同时还要创建系统消息机制,在图形界面上通过消息传递控制程序响应。程序关闭时图形界面线程接收VP线程关闭消息,控制应用程序关闭。系统设计的线程框图如图2所示,设计完成后的图形交互界面如图3所示。

图2 系统线程设计框图

图3 图形交互界面

2 关键技术

为保证模拟训练的真实性和实际感,模拟训练系统需要构建仿真目标的三维模型,并根据真实的飞行数据控制目标在场景中做三维运动,同时为了增强操作手适应不同环境的能力,在模拟训练中增加了雨雪环境和摄相机参数调整的模拟。最后,为了对模拟训练给出客观的评价,还需要实时得到目标在每帧图像中的位置姿态和经纬仪的视轴指向,进而给出训练成绩。因此模拟训练系统主要包含四项关键技术:三维模型创建、运动轨迹仿真、环境模拟和摄像机参数调节、跟踪目标脱靶量计算及成绩判定。下面以光电经纬仪跟踪飞机和导弹的模拟训练为例,对这四项关键技术进行阐述。

2.1 三维模型创建

本系统使用Multigen Creator三维建模软件对飞机和导弹进行建模。

使用该软件建模是出于对多边形建模、多细节层次以及纹理等技术需求的考虑,以及其与后续的Vega Prime仿真软件的紧密结合。首先依据已知的外形尺寸运用多边形建模技术对飞机和导弹进行三维构建,构建过程中还需运用多细节层次技术将模型细分多个级别以提高仿真效率,然后依据真实飞机和导弹的图片运用纹理贴图技术制作纹理并映射到构建的几何模型上,最后得到构建完成的三维模型,生成flt格式文件并导入Vega Prime视景仿真软件,构建的飞机和导弹的三维仿真模型如图4所示。

图4 Multigen Creator构建的三维仿真模型

2.2 运动轨迹仿真

光电经纬仪训练系统运动轨迹仿真包含两个部分:飞机轨迹仿真和导弹轨迹仿真。

传统光电模拟系统将目标飞机等效为一个质点,无法得到细节姿态信息和外形信息,对模拟过程的还原度较低,通过立体建模仿真,可以对系统进行深度的模拟,更为充分还原训练过程。飞机的运行轨迹通过Vega Prime中的vpPath模块设置固定飞行路径点,再结合其子类提供的插值算法即可完成相对平滑的飞行模拟结果,该过程在Lynx Prime面板进行配置。设置过程需要处理飞机的空间位置信息、运动的速度、加速度和运动的转向角度等动态变化信息。

弹道模拟通常情况下也可通过vpPath模块完成。但是传统设计由于可输入的弹道数据点有限,不能满足于大量的外场试验数据,而且不能满足目标相对于发射台的坐标数据需求。为了解决上述问题,本系统根据时间节点,关联弹道的运动轨迹、运动参数和3D姿态参数对弹道点进行插值处理。具体实现过程如下:

(1)获取当前时间计数器值并得到当前时刻在理论弹道中的前后两个点。

(2)判断当前时刻是否大于已得到的理论弹道后点的时刻,如果小于则根据当前时刻相对于前后弹道点时刻的比例,对当前时刻坐标点做三次样条插值,计算得到当前帧目标的坐标,如果大于则继续得到理论弹道中的下两个弹道点。

(3)判断当前时刻是否大于理论弹道最后一个点的时刻,如果大于则表示弹道已结束。

导弹的运行轨迹采用真实外场弹道数据的方法,这样使得仿真过程更趋近于外场试验过程。首先要考虑坐标系转换问题,本系统涉及到两次坐标转换,第一次将基于发射坐标系的外场弹道坐标转换为Vega Prime场景内的本地坐标,第二次要将跟踪目标的本地坐标转换为相对于飞机投掷点的相对坐标,这样可以实现导弹可以在飞机飞行过程中任意时刻进行投掷,以增加模拟训练的随机性。

2.3 环境模拟和摄像机参数调节

在实际的经纬仪操作过程中,操作手会根据目标大小和距离,对摄像机焦距和光圈进行调整。同时由于使用环境的不同,视频图像的效果会发生较大的变大,因此,本系统对这些信息进行仿真,以逼近真实的经纬仪训练效果。

环境模拟包括模拟雨天和雪天,实际上雨雪也是一种粒子系统,Vega Prime提供的EnvRain类和EncSnow类将雨和雪粒子系统封装完成,并可以直接在Lynx Prime面板对粒子数、粒子大小、颜色纹理等参数进行配置。

相机参数调节包括调光模拟和调焦模拟,调光模拟首先在Configure()配置函数中实例化vp-Cam-eraCompositeEffect类,然后通过类中set-GainLevel-Manua(l)函数调节参数值,达到相机调光增加或减少的效果。

调焦模拟本系统采用连续变焦方式。首先在Configure()配置函数中设定最短焦距fmin和最长焦距fmax、短焦方位视场角α0以及变焦速度v,然后通过视场角和焦距关系理论可知其成反比例关系,即焦距变大,视场角变小,物像变大;焦距变小,视场角变大,物像变小。当前帧方位视场角αh计算表达式为:

其中,f为当前帧焦距,其基于上一帧焦距和变焦速度计算得到。然后将方位视场角和俯仰视场角参数传到vpChannel类中setFOVSymmetric()函数中即可实现基于光学通道的调焦模拟。

2.4 跟踪目标脱靶量计算及成绩判定

光电经纬仪视轴中心即仿真跟踪十字丝线中心,光电经纬仪是模拟系统中的观察者,可根据Vega Prime API函数vpObserver::getRotate()得到每帧图像视轴中心方位角A0和俯仰角E0。设观测点在场景中的世界坐标为(x0,y0,z0),跟踪目标即导弹在场景中的世界坐标为(x1,y1,z1),每帧图像跟踪目标方位角A1和俯仰角E1表达式为:

则每帧图像中跟踪目标的方位角A1和俯仰角E1相对于视轴方位角A0和俯仰角E0的偏差ΔA和ΔE为:

考虑到训练初始应给予操作手反应时间,本系统将前100帧作为操作手的反应时间,该时间可根据操作手模拟训练需求的反应时间做相应调整,统计计算方位角和俯仰角偏差的平均值AvgA、AvgE和标准差StdA和StdE为:

其中,n表示从训练开始到目标停止输出n帧图像。平均值反应了操作手的总体跟踪效果,标准差则反应了操作手的操作稳定性,因此,可采用这两个值作为操作手单次训练成绩的评定。

3 仿真实现

本仿真系统硬件环境如下:(1)操作系统:Windows7(1)处理器:Intel Core i5-3210M(2)显卡配置:NYIDA GT 650M(3)内存:4G(4)硬盘:1T。

首先,通过配置文件进行仿真控制模式、光学系统、伺服系统以及相机参数的配置,然后通过MFC控制面板进行环境参数配置、视点切换、数据传送和保存等其它操作。训练开始操作手观察视频信号,操控虚拟计算机设备对仿真目标进行跟踪。跟踪过程中,支持键盘快捷键调光、变焦等操作。单次训练完成后进行训练效果评价,得到训练成绩[9]。图5展示了经纬仪仿真模拟训练过程,图6展示了单次训练完成后的成绩评定,图中文字分别表示经纬仪基站三维坐标,跟踪目标引导角度和经纬仪引导角度。

图5 经纬仪模拟训练过程

图6 成绩判定

4 结论

本文设计了一套可应用于光电经纬仪操作手模拟训练的三维仿真系统,该仿真系统以MFC的多线程和Vega Prime三维仿真渲染为框架,构建了飞机和导弹的三维仿真模型,分别采用虚拟的飞机运动轨迹和基于真实飞行数据控制下的导弹的运动轨迹,并在仿真环境中运用Vega Prime粒子系统添加了雨雪天气,同时实现了仿真过程中摄像机参数的动态调节功能,具有训练逼真度高、训练灵活性强和训练成本低等优点。在实际应用中,操作手还可以根据每次训练的客观评价结果,对自己做出有针对性的调整,可有效提高操作手的水平。

本系统为纯粹的软件仿真,与实际的经纬仪操作具有区别,存在较大的局限性。如不同大小的经纬仪视轴对摇杆的反应存在较大的差别。本系统下一步准备将真实光电经纬仪的视轴数据接入到仿真系统中,实现光电经纬仪控制数据的真实化。另外,光电经纬仪跟踪自动化是当前发展的主要方向,测试和评价光电经纬仪的自动跟踪效果也是需要考虑的重要问题,将仿真图像转化为标准的视频输出给自动跟踪光电经纬仪,也是本系统下一步要解决的技术。

猜你喜欢

经纬仪模拟训练线程
一种基于斜向观测的镜面法线方向测量方法
基于C#线程实验探究
基于国产化环境的线程池模型研究与实现
线程池调度对服务器性能影响的研究*
模拟训练(二)
模拟训练(十一)
模拟训练(十)
黄道经纬仪
考虑异面交会因素的调炮精度数据处理方法
Java的多线程技术探讨