基于FlightGear的飞行仿真教学实验设计

2016-11-10 08:00:22陈忆杭
实验技术与管理 2016年10期
关键词:气动力矩动力学

王 岳, 陈忆杭

(中国民航大学 飞行技术学院, 天津 300300)



基于FlightGear的飞行仿真教学实验设计

王岳, 陈忆杭

(中国民航大学 飞行技术学院, 天津300300)

研究了FlightGear飞行仿真软件中Xml文件的应用及配置机制,通过修改FlightGear动力学模块和数据采集模块,搭建了一个基于FlightGear的飞行仿真演示系统,并根据需求设计了飞行仿真实验。经教学实践验证,该系统方便使用,扩展和维护方便,有较高的使用价值。

飞行仿真; FlightGear; 实验教学

1 FlightGear飞行模拟器

飞行原理、飞行性能是飞行技术专业主干课程的重要组成部分,由于其内容复杂且抽象,如何为学生讲授一直是众多教师面临的难题。采用飞行仿真实验教学是破解这一难题的有效办法。飞行仿真,是在地面上使用设备再现飞机在空中的行为,通过仿真的方法,把飞行员在操纵飞机时所感觉到的飞机姿态、飞行运动的变化,所能看到的各种仪表的显示、机舱外的视景以及所能听到的各种声音逼真地反映出来[1-2]。在飞行原理、飞行性能的教学中,运用飞行模拟演示,将理论与仿真过程结合起来,可帮助学生更好地掌握相关知识点。

FlightGear飞行模拟器是一项开源、多平台、合作的飞行模拟器项目,目标是搭建一个先进的飞行模拟器框架,开发和追求有趣的飞行模拟思路,并最终作为用户的程序终端。它主要由驾驶舱系统、仪表系统、音效系统、动力学系统、自动驾驶系统、视景系统、助航系统等组成。系统启动时,自动生成一个包含飞行器、仪表面板、跑道、地形、天气等的图像仿真环境,逼真地模拟出真实飞行时的飞行状态,如飞机姿态、各控制面板位置、飞行轨迹、仪表指示、舱音等。由于其开源特性以及开发时预留了外部数据接口,用户可以方便地进行更改以及二次开发[3-4]。例如英国威尔士大学的飞行智能机器人研究[5]、明尼苏达大学人文因素研究实验室和美国Illinois大学智能结冰系统的研究等都使用了FlightGear[6]。

2 飞行仿真方法

本文通过编写FlightGear中Xml配置文件,依据不同的飞机数据修改其动力学模块,然后在FlightGear启动时载入预先设置好的Xml配置文档,利用自定义的数据采集模块,实现了对模拟飞行数据的读取和保存,进而利用采集到的数据进行了飞行仿真实验。

2.1Xml配置文件

Xml(extensible markup language)意为可扩展标记语言,与HTML同是标准通用标记语言(standard generalized markup language,SGML)的一个子集,是W3C为解决HTML扩展性不强、交互性差和语法定义不强等缺点而开发的。Xml将数据和程序分开,以开放的、自我叙述的方式定义了数据结构,在描述数据内容的同时能突出数据的结构,进而体现出数据与数据间的关系。

Xml是一种元标记语言,其文档由Xml元素组成。每个元素需要有开始标签和结束标签,开始标签和结束标签之间的信息为该元素的内容。标签表示的是数据的含义而不是数据的显示形式,并且可以由用户自定义元素的名称,使其具有特定的含义,方便用户理解作者的意图。

Xml语言的优点是:

(1) 良好的语法格式,每个元素都有开始标签和结束标签;

(2) 良好的扩展性和验证机制,允许用户自定义标签,可以利用文档定义类型DTD和Schema并且校验文档中的标记;

(3) 平台无关性,即Xml独立于平台,与具体的编程语言无关;

(4) 灵活的Web应用,数据与显示格式相分离;

(5) 面向对象的特性,Xml是信息的对象化语言,DTD和Schema是界面和类,Xml是对象实例,Xsl是方法和实现。

Xml语言的缺点是:

(1) 树形存储结构,搜索效率虽高,但插入、修改和删除比较困难;

(2) Xml的文本表现手法和标记的符号化会使Xml的数据量大于二进制数据量,当Xml数据量很大时,效率较低;

(3) 管理功能不完善,Xml文档多作为数据提供者使用,没有数据库系统的完善的管理系统;

(4) 通信困难,Xml是元标记语言,任何人都可以利用其定义新的标准,新标准之间通信比较困难。在FlightGear系统中使用的Xml文件以声明开头,此行之前不能有空行或字符。根元素为PropertyList,其数据形成一个树形层次的结构。标准配置格式如下:

< ?xml version=″1.0″?>

< PropertyList>

< orientation>

< heading-deg type=″double″>0.0

< pitch-deg type=″double″>0.0

< roll-deg type=″double″>0.0

< / orientation >

< /PropertyList>

其中,PropertyList是根元素,它存在一个子元素orientation,即方向属性。方向属性自身有3个子元素——heading-deg、pitch-deg和roll-deg,表示飞机的航向角、俯仰角和滚转角,type=″double″表示值为双精度型实数,3个方向的值都设置为0.0。

2.2飞行数据的采集

FlightGear自带的Logging功能可以将任意属性值以任意的时间间隔记录到CSV文件内。但该方法的缺点是可重复性差、系统不会自动记忆面板内信息、每次重新飞行都需要重新输入数据的名字和路径。用户通过对FG_ROOT/data/gui/dialogs文件夹内logging.xml文件以及FG_ROOT/data/preferences.xml进行修改,可以实现对logging对话框的修改和即时满足用户定义的数据记录。

另外,用户也可通过自己编写Xml文件,然后通过FlightGear的“-config=‘文件位置完成路径’”命令或者图形化界面中的相应功能,在程序启动时进行配置并最终实现数据采集。文件主要格式为:

20

/controls/flight/rudder

/controls/flight/elevator

……

每个“log”子节点包含一个必需的“enabled”属性、一个可选择的“filename”属性(默认为“fg_log.csv”)、一个可选择的“delimiter”属性(默认为“,”)、一个可选择的“interval-ms”属性(默认为“0”,每帧记录)以及一系列“entry”子节点。每个“/entry”子节点包含一个必需的“enabled”属性、一个“property”属性来定义需要记录的属性名,一个可选择的“tile”属性来定义csv文件中使用的标题(默认为属性的完整路径)。用户只需根据自身需要增减节点个数,并对其中内容进行修改,即可完成所需参数的记录与保存。某次飞行数据记录如图1所示。

图1 数据记录文件示例

2.3动力学模块的修改

飞机飞行状态的变化,归根到底是力和力矩作用的结果。飞行器的运动姿态可以通过3个轴来进行描述,即横轴、纵轴和立轴。飞机在3个轴上的动作分别为俯仰、滚转和偏转。进行飞行模拟仿真,即是模拟力与力矩的作用,使飞行器在3个轴上进行不同的动作。需要模拟的力与力矩有阻力、升力、侧力、俯仰力矩、滚转力矩和偏航力矩等[7-8]。

动力学模块的修改主要是在部分。根据力和力矩系数对该模块进行修改,以完成对飞机所受力和力矩的更改。FlightGear中的Xml配置文件并不是通过定义气动系数来定义飞机的动力学模块,而是简单地通过定义力和力矩来定义。中的力和力矩是通过气动系数乘上动压等来获取最终的力和力矩。例如:

aero/qbar-psf

metrics/Sw-sqft

fcs/flap-pos-norm

该段Xml文件定义了襟翼阻力,其值为q、s、襟翼位置以及0.0500相乘,其中q为动压项,s为面积项。通常气动力是由q×s×气动系数来得到。文件中的fcs/flap-pos-norm(襟翼位置)与0.0500相乘即为气动系数。从本质上来说模块也是通过定义气动系数来获得飞机的动力学特性。动压是所有飞机通用的属性。

气动系数数据一般由几项构成,有些可以细化成几十项,也可以简化成1项,与个人需要以及条件有关。以俯仰力矩为例,其一般表现形式为:

在Xml配置文件中一般以气动系数的最小单元为整体来进行定义,这样更加简洁、直观,定义以及查阅、修改更加便利。当然用户也可以根据自身需要,将气动系数划分成各个部分,然后通过加、减、乘、商等运算关系进行定义。若按照上式对俯仰力矩进行定义,则其形式应为:

Pitch_moment_due_to_alpha

Pitch_moment_due_to_mach

在每个里定义各单独气动系数对气动力的贡献。

以下以俯仰力矩为例,说明如何修改对应的Xml文件来完成动力学模块的修改。修改前的B747型飞机的俯仰力矩系数表现形式为

修改后的俯仰力矩系数表现形式为

Cm(q)为一给定常数与俯仰角速度q的乘积,而Cm(α,δe)则为与α和δe相关的二维矩阵。由于M=q×s×c×Cm,因此中的aero/qbar-psfmetrics/Sw-sqftmetrics/cbarw-ft以及Cm乘积[9-10]。

通过以上形式的定义,即完成了动力学模块中俯仰力矩的重新定义。使用该方法可进行包括阻力、升力、侧力、俯仰力矩、滚转力矩和偏航力矩等空气动力参数的修改,从而实现飞行仿真。

3 仿真教学实验案例

通过修改不同机型的数据、相关的动力学模块,或是模拟相应的失效科目,让学生在FlightGear中操作飞行,然后把仿真飞行数据记录下来,用相应软件绘制出不同动力学参数之间的函数关系曲线。其优越性在于不仅可以让学生切身感受到飞行动力学参数变化对于飞行的影响,而且可以对照特定的飞行动力学参数函数关系曲线,更加深入地理解对应的知识点。这种方式也有利于教师及时、方便地更新和完善教学资源。

3.1实验内容

按照前面所介绍的方法,基于FlightGear开发了飞行原理和性能课程[11-12]的4个教学实验:阻力特性、起飞航迹、单发失效、纵向静稳定性实验。

3.2实验案例说明

以B747-200单发失效实验为案例说明实验内容。

使用B747-200型飞机的气动参数修改后的动力学模块及系统故障选单,模拟B747单发失效。模拟的情况为当飞机飞行到某一高度并配平飞行时最右侧临界发动机失效,其发动机推力曲线如图2所示。

图2 油门以及4号发动机推力曲线

图2中蓝色曲线为右侧临界发动机推力,绿色曲线表示油门。可以看出油门不变,而4号发动机推力在第270 s时降为0。

图3中,绿色曲线为滚转,蓝色曲线为侧滑角;图4中,蓝色曲线为方向舵变化情况,绿色曲线为副翼输入情况。

图3 滚转及侧滑角曲线

图4 方向舵及副翼输入曲线

可以看出,当4号发动机失效后出现明显的偏航与滚转运动。此时必须通过操纵副翼以及方向舵来进行纠正,以使飞机仍以合适的姿态进行飞行。从操纵面的输入可以看出:在发动机刚失效时,由于飞机运动情况复杂,方向舵与副翼的操作相当频繁而且随机,需要耗费飞行员大量精力进行校正;当飞行姿态趋于稳定后方向舵以及副翼操纵变得相对稳定。当飞机能稳定飞行时,必须以一定的方向舵偏转来补偿左右两边发动机的推力差,以保证飞机能不偏航转向飞行。

3.3教学意义

通过上述的仿真实验,可以给学生驾驶员以较为直观的视觉现象,同时在模拟结束后还能通过记录的数据进行分析并查找发动机故障原因。这对于学生将感性认识上升到理性认识是非常有帮助的。

4 结语

在探究了飞行仿真教学实验模式的基础之上,研究了利用FlightGear开源模拟飞行软件和Xml配置文件,构建一个基于FlightGear的飞行仿真演示系统,并设计了飞行仿真实验。飞行仿真实验表明,该实验系统对于飞行原理和性能的课程教学有明显的辅助作用,并且成本低廉、二次开发性强,扩展和维护也很方便。良好的直观体验使得学生容易深刻地理解和掌握所学的知识。

对于飞行仿真实验系统的深度开发和设计更复杂的应用,还有待进一步的研究。例如,可以将此系统用于飞行技术的评估、航线飞行经济性的计算以及演示飞行事故征候等。总之,在航空业蓬勃发展的今天,飞行技术专业课程教学改革更加迫切,该种飞行仿真教学实验设计方法的应用范围也将更加广泛。

References)

[1] 刘兴堂,万少松,张双选.论军用模拟训练器/系统的发展趋势[J].系统仿真学报,2002(5):647-649.

[2] 刘泽坤,昂海松,罗东明.基于DirectX的无人机实时飞行仿真系统开发[J].系统仿真学报,2006(4):918-920.

[3] 黄华,徐幼平,邓志武.基于FlightGear模拟器的实时可视化仿真系统[J].系统仿真学报,2007(19):4421-4423.

[4] 郭卫刚,韩维,王秀霞.基于Matlab/Flightgear飞机飞行性能的可视化仿真系统[J].实验技术与管理,2010,27(10):110-112.

[5] Shaw A,Barnes D P,Summers P. Landmark Recognition for Localisation and Navigation of Aerial Vehicles[C]//7th ESA Workshop on Advanced Space Technologies for Robotics and Automation.Netherlands:ESA,2002.

[6] Bragg M B,Basar T. Smart Icing Systems for Aircraft Icing Safety[C]//40th AIAA Aerospace Sciences Meeting and Exhibit. Reno,USA,2002.

[7] 赵建卫.基于模型的飞行仿真系统设计[J].飞机设计,2001,18(6):31-33.

[8] Ray C C, Ye C E. Flying qualities for a twin-jet transport in serve atmospheric turbulence[J].Journal of Aircraft, 2009,46(5):1673-1680.

[9] 方振平,陈万春,张曙光.航空飞行器飞行动力学[M].北京:北京航空航天大学出版社,2005.

[10] 方振平.飞机飞行动力学[M].北京:北京航空航天大学出版社,2003.

[11] 王大海,杨俊,余江.飞行原理[M].成都:西南交通大学出版社,2004.

[12] 陈治怀,谷润平,刘俊杰.飞机性能工程[M].北京:兵器工业出版社,2006.

Design of flight simulation teaching experiments based on FlightGear

Wang Yue, Chen Yihang

(Flight Technology College,Civil University of China,Tianjin 300300, China)

The application and configuration of Xml documents in FlightGear flight simulation software are studied first. The dynamic modules and data collecting modules of FlightGear are successfully modified in order to construct a flight simulation demonstration system. Additionally,several flight simulation experiments are developed according to demands. Teaching practice has shown the significant practicality of the flight simulation system for its simple structure,scalability and maintainability.

flight simulation; FlightGear; experimental teaching

10.16791/j.cnki.sjg.2016.10.033

2016-04-21

中央高校基本科研业务费项目(3122014X002);中国民航大学校级教育教学项目(CAUC-ETRN-2015-74);天津市大学生创业创新项目(201610059086)

王岳(1983—),男,天津,博士研究生,讲师,主要研究领域为飞行动力学与控制、飞行技术和飞行安全.

TP391.9;V211.73

A

1002-4956(2016)10-0130-05

猜你喜欢
气动力矩动力学
中寰气动执行机构
《空气动力学学报》征稿简则
基于NACA0030的波纹状翼型气动特性探索
基于反馈线性化的RLV气动控制一体化设计
测控技术(2018年9期)2018-11-25 07:44:24
发动机阻力矩计算和起动机介绍
山东青年(2016年12期)2017-03-02 18:22:48
小型力矩电机波动力矩的测量
弹性负载力矩下舵偏转角度的测量方法
基于D-最优化理论的陀螺仪力矩反馈测试法
基于随机-动力学模型的非均匀推移质扩散
TNAE的合成和热分解动力学
火炸药学报(2014年1期)2014-03-20 13:17:22