APP下载

基于VegaPrime战斗机飞行视景仿真系统研究

2018-01-17韩文波陈瀚超

关键词:操纵杆视景战斗机

韩文波,陈瀚超

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

战斗机飞行视景仿真系统的建立对战斗机飞行模拟器的研究有一定的促进作用,也可作为战斗机飞行员模拟训练平台。目前,应用C++开发的视景仿真系统侧重于模拟物体运动规律,开发代码繁复[1],工作量较大;采用VegaPrime等仿真软件能对虚拟环境进行快速开发[2],但是单纯使用VegaPrime又很难准确模拟出战斗机运动的数学规律。为此,用Creator软件对战斗机、机场进行创建,利用Vega Prime调用*.acf文件来进行场景配置[3],利用MATLAB/SIMULINK建立数学模型,最后搭建Visual C++与VegaPrime和MATLAB/SIMULINK的数据接口以及操纵杆输入接口,设计一套战斗机飞行视景仿真系统,实现了战斗机飞行参数与三维视景的无缝衔接。

1 视景仿真系统组成

战斗机飞行视景仿真系统主要由仿真计算平台、三维建模、场景驱动三个部分组成,其系统结构如图1所示。首先在Creator软件中建立战斗机模型和机场地形,并将模型数据导入VegaPrime软件进行场景配置。系统运行时,操纵杆得到操纵者的操纵信号,并通过数据接口将操纵信号传输至仿真计算机进行数据解算,由Visual C++对仿真输入数据和仿真场景进行系统集成,并输出可执行程序,在视景平台上显示,使操纵者通过视景窗口做出下一步的操作决策,从而实现战斗机飞行过程的视景仿真。

(1)仿真计算平台:该模块是用MATLAB/SIMULINK将战斗机数学模型进行模型绘制。仿真计算平台与操纵杆和Visual C++进行通联,便于控制信号的传输。

(2)场景建模:该模块是用Creator软件,采用模型绘制、约束体定制等方法建立战斗机模型;采用收集原始数据生成地形数据库、加载文化特征要素等方法建立机场地形。

(3)场景驱动:该模块是将已建立的战斗机模型和机场地形导入VegaPrime软件中,在VegaPrime中对场景中模型初始位姿、视点位姿、环境等参数进行设定。

图1 视景仿真系统结构框图

2 仿真计算平台及相应数据接口搭建

仿真计算平台是视景仿真系统的重要组成部分,其原理如图2所示。

图2 仿真计算平台原理框图

2.1 飞行参数解算

飞行参数解算的目的是使视景仿真战斗机能够按照真实的动力学规律飞行,并根据操纵者发出的操纵信号改变其飞行姿态。战斗机质心运动方程为:

战斗机绕质心运动方程为:

式中,x、y、z分别是战斗机在地坐标系中x、y、z轴上的坐标;u、v、w分别是战斗机在x、y、z轴上的速度;Ψ、p分别是战斗机的滚转角、滚转角速度;θ、q分别是战斗机的俯仰角、俯仰角速度;φ、r分别是战斗机的偏航角、偏航角速度[4]。

联立两方程,应用MATLAB/SIMULINK可以求出战斗机速度、位置、俯仰角等随时间变化的飞行参数。为实现虚拟战斗机在动态三维视景中的运动规律与飞行参数曲线吻合,还需要以Visual C++为平台实现MATLAB/SIMULINK与VegaPrime的交互。为此要对操纵杆、MATLAB/SIMULINK、Visual C++、VegaPrime之间的数据接口进行搭建。

2.2 硬件输入接口

MATLAB/SIMULINK中的Joystick Input模块能够实现操纵杆与仿真平台之间的数据传输。安装操纵杆驱动程序,在该模块中通过输入Joystick Input ID建立模块与操纵杆之间的交互,并以Axes轴向输出和Button功能按键输出作为该模块的输出量与其他SIMULINK模块建立连接。操纵杆输入的主要接口功能如表1所示。

表1 Joystick Input接口功能

2.3 MATLAB/SIMULINK与Visual C++数据接口

为实现战斗机数学模型向可执行程序的飞行参数数据传输,需搭建Visual C++与MATLAB/SIMULINK数据接口。

搭建数据接口之前必须在Visual C++中添加MATLAB/SIMULINK函数库路径,确保在编译时可以传递带有MATLAB/SIMULINK的头文件和链接库。为实现飞行仿真的实时性,要确保SIMULINK求解器类型为固定。同时目标代码生成语言调整为C语言实现SIMULINK和VisualC++的无缝连接。设置界面如图3所示。

通过总结近几年的学术中关于跨文化交际能力的研究,发现跨文化交际能力包括四个方面:思维向度、行为向度、情感向度和个性向度。跨文化能力与跨文化交际能力相比是一种更为综合的能力,后者更侧重于知识和技能,尤其是技能的向度或称为行为能力(人们之间交往沟通的能力)。跨文化能力的涉及面要广于跨文化交际能力。本文的研究基于对学生跨文化能力而不仅仅是跨文化交际能力的培养。

图3 参数设置界面

可执行程序生成后需进行校验,以确保代码转换的准确性。代码校验是运行可执行文件.exe与SIMULINK模型的比较,较细微的误差来源于不同编译器的优化设置,通常小于10-13。代码校验的关键语句如下。

控制操纵杆,忽略环境因素的影响,模拟某型号战斗机从静止开始做匀速直线运动的过程,以此过程为例对代码转换的准确性进行校验。图4为战斗机模型的SIMULINK仿真曲线,该曲线是战斗机从静止到匀速直线运动过程距离随时间的响应曲线。图5为运行转换成该模型代码后的结果。两幅曲线显示1秒内距离为0米,第1秒至第6秒距离由0米均匀增加到5米。两幅曲线的显示结果一致,说明转换代码准确。

图4 Simulink模型运行结果 图5 代码转换运行结果

2.4 Visual C++与VegaPrime数据接口

为实现飞行场景的数据传输,需搭建VC与VegaPrime数据接口。利用VegaPrime自带头文件和链接库,通过在Visual C++中添加VegaPrime函数库路径,采用窗口子类化技术,实现了用Visual C++对VegaPrime的调用。建立数据接口的关键代码如下。

对关键代码编译后的结果如下。

出现此错误的原因是VegaPrime函数库在Windows平台下的C运行时库是一个基于多线程动态链接库的版本,在编译程序时必须使用/MD编译器。

重新编译程序后生成飞行视景.exe可执行文件,结果如图6所示。该结果表明数据接口搭建完成。

图6 可执行程序

3 场景建模及场景驱动

飞行场景的建模与驱动是仿真系统输出动态三维图像的关键。在设计过程中,采用纹理映射、数据库优化和LOD技术等关键技术,优化了场景数据库结构,提高了仿真系统的效率。

3.1 飞行场景建模

MultiGen Creator场景建模分为实体建模及地形建模两部分。MultiGen Creator中栅格的单元格长度可以事先设置,所以在对战斗机实体和机场地形进行建模之前,首先要对战斗机和机场结构尺寸进行收集,以确保建模的准确性。实体模型和地形数据库生成后,采用纹理映射技术将真实的颜色映射到场景中,使场景变得更加逼真。通过为战斗机定制约束体、为地形设置LOD参数可以提高仿真运行效率。战斗机模型和机场地形如图7和图8所示。

图7 战斗机三维模型

图8 机场地形

3.2 场景建模的关键技术

MultiGen Creator提供的特有技术本质上都是以节省内存为目的,以提高仿真渲染速度。除纹理映射技术和LOD技术外,建模过程中数据库优化技术贯穿始终。MultiGen Creator的层次数据库结构是一种可视化的数据结构,它直观地表达了数据库的各个组成部分[5]。在设计飞行场景过程中,采用了逻辑结构与空间结构相结合的方法,对飞行场景数据库进行了合理优化,系统资源利用率大幅提高。战斗机的数据库结构如图9所示。

图9 战斗机数据库结构图

3.3 飞行场景驱动

飞行场景驱动的目的是对地景数据库进行渲染,并向显示器输出动态三维画面。将建立好的模型和场景导入VegaPrime中,应用VegaPrime中各模块对模型对象位姿、视点位姿、场景环境、碰撞检测、碰撞特效等进行相关设置后,生成ADF格式文件输出到显示系统。飞行场景如图10所示。

图10 飞行场景

4 战斗机飞行视景仿真结果

运行视景仿真系统,用操纵杆控制升降舵和方向舵两路信号输入,控制视景仿真战斗机起飞、高空飞行、着陆等飞行过程。图11为视景仿真系统运行过程中战斗机着陆过程的视景仿真界面截图。

图11 战斗机视景仿真界面

图12为SIMULINK环境下战斗机着陆过程高度随时间的变化曲线,战斗机在150米高空开始着陆,前30秒近似匀速直线下滑,30秒时战斗机后轮着地,进行减速运动。图13为SIMULINK环境下战斗机着陆过程速度随时间的变化曲线,战斗机着陆初始速度约50米/秒,前30秒保持匀速,而后进行减速运动。整个过程中视景显示器显示的战斗机飞行状态与两组曲线显示的飞行参数相一致。

图12 高度曲线

图13 速度曲线

视景仿真结果表明,视景显示器中仿真战斗机飞行状态的显示与SIMULINK环境下战斗机飞行参数的输出具有良好的同步性。以战斗机飞行各阶段的理论参数指标作为依据,该系统输出的飞行参数曲线对参训飞行员具有参考价值。

5 结论

针对目前在战斗机飞行视景仿真领域单纯使用Visual C++和VegaPrime两款软件存在的局限性,本文提出了用MATLAB/SIMULINK图形界面控制战斗机并与VegaPrime联合进行三维视景显示的方法。仿真结果表明,该方法能够解决传统战斗机视景仿真的局限性,对飞行模拟器的研究及飞行员训练具有参考价值。

[1]彭亮,黄心汉.基于VC和Vega Prime联合开发的巡航导弹仿真系统研究[J].中南大学学报,2010,41(1):219-224.

[2]李亚臣,胡健,黎远忠等.基于VegaPrime的航天器视景仿真中的多坐标系问题[J].系统仿真学报,2007,19(3):575−578.

[3]Chen G,Gan ZC,Sheng JJ,et al.Equipment simulation training system based on virtual reality[C].International Conference on Computer and Electrical Engineering,IEEE,2008.

[4]姚子羽,艾剑良.采用双侧杆的民机仿真系统的研究与设计[J].系统仿真学报,2014,26(8):1692-1705.

[5]卢中尉,郝颖明.基于Creator大地景建模的研究与实现[J].仿真技术,2010,26(2):139-141.

猜你喜欢

操纵杆视景战斗机
轮椅概念设计
苏-35S战斗机
虚拟现实技术在游戏设计中的应用及研究
这注定是个伟大的夜晚
联合收割机各操纵杆功能的研究
歼-5战斗机
机场消防车驾驶室移动式操纵装置及踏板的设计
蚋式战斗机
全回转拖轮运动建模与视景仿真
基于Vortex与Vega Prime的车辆模拟器动力学与视景仿真