图片缩略图

两架公务机的数学模型及六自由度仿真

版本1.0.0.0(28.6KB)由 罗伯特·斯坦格尔
飞机飞行的六自由度非线性仿真

2 k下载

更新2015年11月04

查看许可证

FLIGHT.mis a tutorial program, heavily commented to make interpretation easy. It provides a full six-degree-of-freedom simulation of an aircraft, as well as trimming calculations and the generation of a linearized model at any flight condition chosen by the user [1]. Changes to aircraft control histories, initial conditions, flag settings, and other program control actions are made by changing the numbers contained in the code; there is no separate user interface. The code has been designed for simplicity and clarity not for speed of execution, leaving a challenge to the reader to find ways to make the program run faster. Numerous additions could be made to the code, including implementation of feedback control logic, simulation of random turbulence or microburst wind shear, and interfaces for real-time execution. No explicit or implicit warranties are made regarding the accuracy or correctness of the computer code.
FLIGHT.mis the script that calls program functions. Initial conditions are defined here, the three primary features (trim, linearization, and simulation) are enabled, and output is generated. Initial perturbations to trim state and control allow transient effects to be simulated. As shown, trimming for steady, level flight is accomplished by first defining a cost function, J, that contains elements of the state rate, then minimizing the cost using the Downhill Simplex (Nelder-Mead) algorithm contained in fminsearch. The longitudinal trimming parameters are stabilator angle, throttle setting, and pitch angle. The linear model is generated by numjac, a numerical evaluation of the Jacobian matrices associated with the equations of motion. The linear model is saved to disk files in the variables Fmodel and Gmodel. MATLAB's ode23, ode45, or ode15s integrate the equations of motion to produce the state history. The state history is displayed in time plots, with angles converted from the radians used in calculation to degrees. The reader can readily change the units of plotted quantities or add additional plots through minor modifications to the code. Any result (e.g., numerical values of the state history) can be displayed in the MATLAB Command Window simply by removing the semi-colon at the end of the line. The flag MODEL selects either a low-angle-of-attack, Mach-dependent model for BizJet A [2] or a high-angle-of-attack, low-subsonic model for Bizjet B.

AeroModelMach.m使用[2]中包含的空气动力学和尺寸数据以及通用商用飞机惯性特性的估计值。布局的细节,如机翼和尾部的后掠角和展弦比,用于马赫效应的估计。马赫效应的估算基于普朗特系数或修正的赫尔姆堡方程。BizJet B的AeroModelAlpha.m是使用手册方法推导的,用于估算几何、惯性和空气动力学特性。该模型首先使用GeoMassAero.m构建,它保存了描述飞机的三个.mat文件:InerGeo.mat、DataTable.mat和RotCont.mat。AeroModelAlpha.m加载用于FLIGHT.m的.mat文件。基于传统的低阿尔法和牛顿高阿尔法估计,迎角范围从-10度扩展到90度。不考虑马赫数、起落架、扰流板或襟翼效应。

EoM.m的运动方程是使用平地假设[1]编写的。对俯仰角的余弦施加特殊限制,以防止在近垂直飞行中出现奇异计算。当俯仰角接近+/-90°时,这种便利性引入了一个小误差。如果高度低于零,功能event.m指定一个停止条件,在最后一次之前终止模拟。

通过最小化TrimCost.m[1]中包含的纵向加速度(即轴向速度、法向速度和俯仰率的变化率)的二次函数来计算配平控制设置。TrimCost.m调用EoM.m生成所需的加速。方向余弦(或旋转)矩阵在函数DCM.m[1]中实现。该矩阵将矢量从地球相对参考坐标系转换为体轴坐标系。m在微调设置下为线性、时不变模型生成状态和控制雅可比矩阵。在状态和控制的标称值下计算的雅可比矩阵。WindField.m生成一个三分量风矢量,作为高度的函数,在列表点之间进行线性插值[1]。1976年美国标准大气密度、空气压力、空气温度和声速是以Atmos.m作为海拔高度的函数生成的。

[1] Stengel,《飞行动力学》,普林斯顿大学出版社,普林斯顿,2004年。
Soderman, P. T.,和Aiken, T. N.,“小型无动力喷气飞机T型尾翼全尺寸风洞试验”,NASA TN D-6573,华盛顿特区,1971年11月。

引用为

罗伯特·斯滕格尔(2021年)。两架公务机的数学模型及六自由度仿真(//www.tianjin-qmedu.com/matlabcentral/fileexchange/53821-mathematical-models-and-six-degree-of-freedom-simulation-of-two-business-jet-aircraft), MATLAB中央文件交换。检索.

MATLAB版本兼容性
使用R2015a创建
与任何版本兼容
平台兼容性
窗户 macOS Linux
社区

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始狩猎!