机载惯导系统可视化仿真方法研究

时间:2022-06-01 09:42:35

机载惯导系统可视化仿真方法研究

摘 要:惯导系统作为现代军机战术引导的主要模块,其可视化仿真也是模拟器中研发的难点与重点之一。介绍了惯导的功能结构,提出飞行仿真软件中惯导可视化仿真架构。利用GL Studio虚拟仪表技术,结合OpenGL技术提出在飞行仿真过程中导航实时画面的具体仿真方法和实现手段。实验证明,该方法在大型虚拟航空装备的开发中收到了很好的效果。

关键词:惯导系统; 可视化仿真; GL Studio; OpenGL

中图分类号:TN966-34

文献标识码:A

文章编号:1004-373X(2011)09-0203-03

Research of Visualized Simulation Method for Airborne Inertial System

LAN Ren-en1,LIU Zhi-cheng2,WANG Zhi-le3,CUI Yi-peng3

(1. Military Representatives Office of the Third Research Institute,Beijing 100074,China;

2. Military Representatives Innings of the Shenyang District,Shenyang 110000,China;

3.Naval Aeronautical Engineering Institute Qingdao Branch,Qingdao 266041,China)

Abstract: Inertial navigation system as the main module of modern military tactics guide,whose visual simulation is a difficulty and key in the development of simulator research. The function and structure of inertial navigation is introduced,and the inertial visualization simulation framework in the flight simulation software is put forward. Using GL Studio virtual instrument technologyand OpenGL technology,the specific simulation method and the implementation means of real-time picture′s flight simulation are presented. Experiment shows that the proposed method received a very good effect in the large-scale virtual equipment′s development.

Keywords: inertial navigation system; visualization simulation; GL Studio; OpenGL

惯性导航系统可视化显示是飞机综合战术处理水平和飞机整体性能的先进性体现之一。通常作为一个模块通过多功能显示器(MFD)显示[1-2],利用MFD周边键控制惯导功能及导航信息。惯导系统与显示系统交互数据复杂,信息量大,因此在飞行仿真系统中构建类似复杂的可视化设备成为一个较难解决的课题。本文利用专业的仪表仿真平台GL Studio[3-4]嵌入OpenGL技术[5],实现惯导设备可视化仿真过程中图形的实时动态显示,提高计算机资源的利用率。

1 惯性导航系统仿真架构设计

惯性导航系统作为现代军机综合性能的主要指标之一,对其输出的数据进行可视化仿真可以使训练人员直观地观察出当前的飞机状态。主要包括:高度、俯仰角、倾斜角、载机航向、飞行计划、返场着落、航路点坐标、待飞距离和时间、无线电罗盘、地速等重要信息[6]。通过按压MFD周边键控制惯导状态,惯导完成相应功能,输出导航数据到显示画面。因此仿真过程中按照图形画面的类型进行组织,根据训练人员按键过程进行正确的逻辑解算[7-8],以达到实时正确的可视化显示惯导输出的数据。具体设计如图1所示。

图1 惯导系统仿真总体操作流程

将惯性的设计分为2个模块。

(1) 图形显示模块

该模块结合惯性系统的功能,将每个功能的显示画面按级别划分。利用GL Studio,结合OpenGL纹理映射和画线对象按照画面显示内容和运动规律逐一开发。

(2) 逻辑仿真与数据传输模块

根据周边键按键步骤和周边键的功能特点,实时显示对应画面,同时接收飞控解算的飞行数据,确保逻辑执行结果和数据显示的正确性和实时性。

1.1 GL Studio虚拟仪表仿真原理

GL Studio是DISTI公司为仪表仿真软件开发提供的一套系统解决方案,是一个独立平台的快速原型工具,用来创建实时的、二维或三维的、照片级的互动图形界面[9]。用户可以利用其图形交互界面以所见即所得的方式来完成仪表面板的制作,通过其代码编辑器来完成仪表内部逻辑仿真。其代码生成器能够将用户的制作结果自动生成C++和OpenGL源代码,用户既可以将其代码进行单独编译也可嵌入到其他程序中进行编译,从而避免了大量繁琐的底层OpenGL开发细节。图2是GL Studio的开发流程图。

图2 GL Studio开发流程图

因此可以利用GL Studio实现惯导系统可视化仿真的开发。GL Studio仿真仪表能被创建成可执行文件(.exe)、动态链接库(.dll)、ActiveX控件[10]。由于惯导系统作为飞行模拟器的重要部分在三维虚拟环境下使用,因此将可视化显示模块制作完毕之后,利用GL Studio的LiveComponent模式生成动态链接库在三维虚拟环境下调用。

1.2 可视化仿真模块的生成

惯导系统在MFD中的显示画面通过按压周边键选择。画面显示的内容从复杂度上可以分为两类:一类是对GL Studio创建的元件进行基本控制,包括旋转、移动、纹理运动、数据显示等;另一类是对大量动态曲线和复杂图形的创建与控制[11],在构建这类元件的时候可以充分利用OpenGL语句直接生成。

1.2.1 基本画面元件的构建

驾驶画面是惯导可视化仿真主要画面之一。其中的地平仪是控制比较复杂的一个元件,涉及到元件的旋转、纹理运动。下面就以地平仪的控制模型举例说明,图3为开发的驾驶画面程序的截图。地平仪为驾驶画面正中间仪表。整个地平仪由天蓝色和土黄色刻度带组成,代表飞机俯仰角的正负值,俯仰角范围是±900,刻度带随着飞机即时俯仰角上下滚动,以中间水平线为基准。地平仪中间的飞机符号代表飞机倾斜角,范围是±600,与地平仪下面的黄色圆弧刻度相对应。据此分析建立地平仪的控制模型。

(1) 俯仰角。利用GL Studio创建基本的矩形元件,贴上刻度带纹理,然后计算出每度纹理的移动量,通过调用GL Studio的ChangeVTexture函数控制纹理垂直运动。

scale=Bottom-TopTotal Texture Height

(1)

式中:scale表示俯仰角每度对应的纹理移动的像素数;Bottom和Top分别表示俯仰刻度带-900和+900的起始位置(像素);Total Texture Height表示纹理的高度(像素)。控制方式如下:

if(pitchAngle>=(-90)&& pitchAngle

{

ChangeVTexture(Dir_Pitch_U,0.01f,0,1024,

pitchAngle *scale,0);

}

pitchAngle表示接收的飞控俯仰角,Dir_Pitch_U表示GL Studio创建的带俯仰刻度带纹理的地平仪元件,0.01f表示刻度带运动的精度,0和1 024表示刻度带的起止范围,pitchAngle *scale得到俯仰刻度带的即时移动量,0是刻度带开始位置。

图3 MFD驾驶画面

(2) 倾斜角。创建矩形元件,贴上飞机符号纹理。通过调用GL Studio的DynamicRotate函数控制飞机符号的旋转代表倾斜角。控制方式如下:

Dir_ Roll _U->DynamicRotate(RollAngle,Z_AXIS);

Dir_ Roll _U代表创建的带飞机符号纹理的元件,RollAngle表示接收的飞控倾斜角,Z_AXIS表示绕z轴旋转。

1.2.2 嵌入OpenGL实现动态曲线和复杂图形

GL Studio对OpenGL进行了较好的封装,把OpenGL对点、线的操作封装成对几何元件的操作[9]。这样做的好处是可以进行可视化的设计,使得设计过程变得简单、所见即所得。随着这种封装技术的成熟,DISTI公司已经不希望开发者私自在GL Studio中嵌入OpenGL语句,而是希望由可视化的几何元件解决所有问题。但是随着仿真程度的提高和仿真对象复杂性的加大以及用户对仿真要求多元化的增强,这种要求已经成为限制其功能延伸的一个瓶颈。在GL Studio中嵌入OpenGL的一般流程如图4所示。

由于大部分工作是利用OpenGL代码构建图形,所以对编程尤其是OpenGL编程的要求较一般的仪表仿真要高一些。对于复杂仪表中动态曲线和复杂图形的实现在规划设计阶段由设计人员单独列出,基于GL Studio库文件创建该元件。GL Studio绘图原理是在Calculate时钟线程中周期性调用绘图函数实现的,因此在Calculate线程中加入OpenGL实现的绘图函数(DrawOpenGL方法),编译完成元件构件。在GL Studio创建的仪表库文件中,通过Insert a Componet命令,把动态曲线导入仪表中。至此,在GL Studio嵌入OpenGL构建仪表的基本过程已经完成。

图4 GL Studio嵌入OpenGL流程

惯导系统可视化仿真中飞行导航计划是典型的动态变化曲线。在GL Studio中直接构建动态实时航线需要对几何元件的点进行操控,在必要的时候还要对顶点进行增加或删减,实现起来比较困难。采用OpenGL语句直接生成[5],只需要考虑画线的算法问题,而不必把大部分时间浪费在如何操控各个顶点上。图5中所绘的4幅图形是动态创建的航线及航路点,其中直线是利用glLineStipple设置线的形式,利用glVertex2f设置线的顶点生成,这些线的形状与位置根据飞机坐标系实时变化。

图5 构建的动态实时航线

2 应用评估

目前,该可视化仿真系统已应用于某型固定翼战机的虚拟仿真训练系统和半实物模拟训练器。系统在Inter(R)Core(TM)2 CPU 4 300 @1.80 GHz、内存1 GB、显卡NVIDIA GeForce9300硬件条件下运行时,性能稳定,画面的逼真度高,数据的实时性好,完全满足飞行模拟训练的需要。虚拟训练座舱内MFD实时显示的飞行导航效果如图6所示。表1是交互响应结果。

表1 实时交互结果

应用实例仪表属性总数属性初始化时间 /s交互响应时间范围 /s

某固定翼飞机13120.5940~0.031

某直升机14920.6150~0.072

图6 虚拟座舱实时显示

3 结 论

该导航系统可视化仿真的实现表明,利用GL Studio嵌入OpenGL技术,可以实现复杂设备的可视化仿真,实现大型虚拟仪器仪表的快速开发,同时该方法适用于大型军事装备与民用设备的整体仿真,具有很好的实用价值。

参考文献

[1]陈曦,李国清,宋吉江,等.某型军机多功能显示系统的仿真[J].系统仿真学报,2006,18(z2):457-459.

[2]罗春波,沈为群,宋子善.飞行多功能显示器仿真系统的研究与实现[J].计算机仿真,2004,21(12):249-251.

[3]北京华力创通科技有限公司.GL Studio:真实仪表面板开发工具[J].软件世界,2007(2):44-45.

[4]樊世友.GL Studio软件在视景仿真建模中的应用[J].计算机工程,2002(3):260-261.

[5]SHREINER Dave,WOO Mason,NEIDER Jackie,et al.OpenGL编程指南[M].4版.邓郑祥,译.北京:人民邮电出版社,2005.

[6]刘爱元,赵国荣,祝萌.飞行控制与惯性导航仿真训练系统的研究[J].计算机仿真,2006,23(4):274-277.

[7]刘鹏远,张锡恩.虚拟操作训练系统中的过程仿真模型研究[J].计算机仿真,2004,21(3):161-163.

[8]陈青华,谢晓方,高波,等.虚拟座舱显控系统的分步式仿真[J].计算机应用与软件,2005,22(10):135-136.

[9]Distributed Simulation Technology Inc.. Gl studio user′s guide Ver3.0 [M]. USA: Distributed Simulation Technology Inc.,2005.

[10]付超,杨善,胡小建.基于ActiveX的虚拟控制系统通用集成平台研究[J].系统仿真学报,2006,18(9):2451-2454.

[11]李哲煜,张峋,杨洪波.大型运输机综合训练器虚拟仪表系统的研究[J].计算机仿真,2007,24(7):247-250.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:OFDM中继网络中的资源复用策略 下一篇:基于MSP430心肺听诊技能训练系统的设计