本文将简单介绍如何利用simulink建立飞机动力学模型。飞机动力学模型是模拟飞机飞行运动的数学模型,精确的动力学模型可以帮助我们分析飞机的气动特性,帮助进行飞行控制研究等。MATLAB的simulink有专门的航空航天模拟板块,可以很方便的建立飞机动力学模型。

1

从6自由度运动方程开始

Simulink众多6自由度运动方程模块中的一种

如上图,6自由度运动方程模块就是将一系列方程封装成了一个模块,输入飞机所受到的力和力矩,就能计算出位置变化、欧拉角、角速率等。上图所示模块以欧拉角表示飞机姿态,如有其它需求,也可以选择由四元数来表示飞机姿态。模块要求输入力和力矩,我们就得计算飞机所受到的力和力矩,而且是体轴系的。

2

飞机受力和力矩计算

飞机受力和力矩基本分3种:气动力和力矩、发动机力和力矩、重力。

2.1升力计算

升力主要由以下3部分相加而成:

全机升力——由Xflr5计算的升力系数曲线计算。

升降舵偏转引起的升力——由导数CLde计算。

俯仰角速率引起的升力——由导数CLq计算。

2.2阻力计算

阻力一般只计算全机阻力即可,即按照Xflr5计算的阻力系数曲线计算。如果有需求或有可信的计算数据,也可增加舵面偏转引起的阻力,比如要模拟飞翼布局阻力舵的时候就是必不可少的。

2.3侧力计算

侧力主要由以下4部分相加而成:

侧滑角引起的侧力——由导数CYb计算。

滚转角速率引起的侧力——由导数CYp计算。

偏航角速率引起的侧力——由导数CYr计算。

方向舵引起的侧力——由导数CYdr计算。

2.4滚转力矩计算

滚转力矩主要由以下5部分相加而成:

侧滑角引起的滚转力矩——由导数Clb计算。

滚转角速率引起的滚转力矩——由导数Clp计算。

偏航角速率引起的滚转力矩——由导数Clr计算。

副翼偏转引起的滚转力矩——由导数Clda计算。

方向舵偏转引起的滚转力矩——由导数Cldr计算。

2.5俯仰力矩计算

俯仰力矩主要由以下4部分相加而成:

全机俯仰力矩——由Xflr5计算的俯仰力矩系数曲线计算。

俯仰角速率引起的俯仰力矩——由导数Cmq计算。

洗流时差引起的俯仰力矩——由洗流时差导数计算。

升降舵偏转引起的俯仰力矩——由导数Cmde计算。

2.6偏航力矩计算

偏航力矩主要由以下5部分相加而成:

侧滑角引起的偏航力矩——由导数Cnb计算。

滚转角速率引起的偏航力矩——由导数Cnp计算。

偏航角速率引起的偏航力矩——由导数Cnr计算。

副翼偏转引起的偏航力矩——由导数Cnda计算。

方向舵偏转引起的偏航力矩——由导数Cndr计算。

(以上计算涉及动压、参考长度确定等,不再赘述)

需要注意这里的升力、阻力都属于在风轴系下定义的力,需要进行坐标转换,将升力、阻力、侧力分解合成到体轴系。风轴系与体轴系的区别就是风轴系以来流方向为X轴,体轴系则以机身方向为X轴。

2.7发动机力和力矩及重力

发动机推力和力矩根据转速和来流速度进行计算即可,而且发动机力和力矩就是在体轴系下定义的。重力则可根据飞机姿态角直接分解到体轴系。

让气动力和力矩、发动机力和力矩、重力在飞机体轴系下叠加即可得到总的力和力矩,再把这个力和力矩输入到上文中的6自由度运动模块就完成了简单的飞行仿真模型的搭建。

当然,更高级的动力学建模还包括大气环境、舵机模型、飞机质量变化、飞机弹性变形等。一定要先确定模型的使用场景,判断哪些环节是可以省略而哪些是必须详细且真实的,然后一步一步细化模型,才能获得有效的飞机运动仿真模型。

目前根据之前所设计和计算的结论建立的模型如下:

发动机模型

发动机模型输入有左发转速、右发转速、来流速度、偏航角速率,输出为左右发动机各自产生的力和力矩。

飞机本体模型

飞机本体模型输入有4个,分别为油门、副翼偏角、升降舵偏角、方向舵偏角,以后可以根据需要增加襟翼等舵面。输出包含速度、3向位置、欧拉角、迎角、侧滑角、3向角速率等,并且可输出数据到tacview进行轨迹回放。

以后想基于这个数学模型与大家一起探讨飞行控制律的设计,或者更进一步,利用MATLAB对Xplane等软件里的各种飞机进行仿真、控制、辨识,并与大家进行这方面的探讨。

长按



转载请注明地址:http://www.feixingzhao.com/fxzpf/8791.html