这个例子展示了使用塞斯纳C182几何和系数数据在MATLAB®中创建和分析固定翼飞机的过程。
用于创建飞机的数据来自Jan Roskam的《飞机飞行动力学和控制》[1].
这个例子描述了:
通过创建和嵌套一个升降舵控制面,然后创建副翼,方向舵,机翼和垂直稳定器来建立固定翼气动和控制面。
在固定翼飞机模型上创建推进模型,类似于控制面。
定义整个飞行器。
定义飞机上的系数。
准备飞机进行数值分析。
进行数值分析。
的Aero.FixedWing.Surface
类可以作为空气动力和控制面。
这种行为是由可控
属性。
设置可控
来在
创建一个控制面和一个ControlState
变量。
在空气动力学表面上嵌套一个控制面模拟飞机的实际构造。
下面的例子创建了一个电梯控制面,并将其安放在水平稳定器上。
电梯= fixedWingSurface (“电梯”,“上”,“对称”, -20年,20)
表面:[1x0 Aero.FixedWing。系数:[1x1 Aero.FixedWing。系数]最大值:20最小值:-20可控:on对称:“对称”控制变量:“电梯”属性:[1x1 Aero.Aircraft.Properties]
电梯。系数= fixedWingCoefficient (“电梯”)
表面:[1x0 Aero.FixedWing。系数:[1x1 Aero.FixedWing。系数]最大值:20最小值:-20可控:on对称:“对称”控制变量:“电梯”属性:[1x1 Aero.Aircraft.Properties]
horizontalStabilizer = fixedWingSurface (“HorizontalStabilizer”,“表面”、电梯)
水平稳定器=表面性能:表面:[1x1 Aero.FixedWing。系数:[1x1 Aero.FixedWing。系数]最大值:Inf最小值:-Inf可控:关闭对称:“对称”控制变量:[0x0 string]属性:[1x1 air . aircraft .Properties]
固定翼对象上的每个属性也可以在构造时通过Name、Value参数进行设置。这个创建方法将在示例的其余部分中使用。
接下来,建造副翼,方向舵,机翼和垂直稳定器。
副翼= fixedWingSurface (“副翼”,“上”,“非对称”(-20年,20),...“系数”fixedWingCoefficient (“副翼”));舵= fixedWingSurface (“舵”,“上”,“对称”(-20年,20),...“系数”fixedWingCoefficient (“舵”));翼= fixedWingSurface (“翼”,“表面”、副翼);verticalStabilizer = fixedWingSurface (“VerticalStabilizer”,“表面”、舵);
使用Aero.FixedWing.Thrust
对象创建推进模型上的固定翼飞机模型类似于控制表面。
的Aero.FixedWing.Thrust
对象总是可控的。它不能像空气动力学和控制表面那样嵌套。
螺旋桨= fixedWingThrust (“螺旋桨”,“系数”fixedWingCoefficient (“螺旋桨”))
螺旋桨=推力与性能:系数:[1x1航空。固定翼。系数]最大值:1最小值:0可控:对称:“对称”控制变量:“螺旋桨”属性:[1x1 air . aircraft .Properties]
通过定义气动表面、控制表面和推力部件,定义整个飞机。
首先,定义一个单独的Aero.Aircraft.Properties
飞机等级。使用这个类可以跟踪组件的版本以及给定飞机正在使用的组件。
所有航空。FixedWing
和航空。飞机
类包含此属性。
C182Properties = Aero.Aircraft.Properties (...“名称”,“Cessna C182”,...“类型”,的“通用航空”,...“版本”,“1.0”,...“描述”,“塞斯纳182例子”)
C182Properties =带有属性的属性:名称:“Cessna C182”描述:“Cessna 182示例”类型:“通用航空”版本:“1.0”
C182 =航空。FixedWing (...“属性”C182Properties,...“UnitSystem”,“英语(英尺/秒)”,...“AngleSystem”,“弧度”,...“TemperatureSystem”,“华”,...“ReferenceArea”, 174,...“ReferenceSpan”36岁的...“ReferenceLength”, 4.9,...“表面”,[机翼,水平尾翼,垂直尾翼],...“手臂”螺旋桨)
C182 = FixedWing with properties: ReferenceArea: 174 ReferenceSpan: 36 ReferenceLength: 4.9000系数:[1x1 air .FixedWing.]自由度:“6DOF”曲面:[1x3 Aero.FixedWing。推力:[1x1航空。固定翼。推力]AspectRatio: 7.4483性能:[1x1航空。飞机。UnitSystem: "English (ft/s)"角度系统:“弧度”
接下来,定义飞机上的系数。
这些系数描述了飞机的动力学行为。这个例子定义了标量常数系数,它定义了飞机的线性行为。
要定义固定翼飞机的非线性动力学行为,请定义金宝app仿真软件。LookupTable
系数。金宝app仿真软件。本例中没有使用LookupTables。查看使用Simulink的示例。金宝appLookupTables,打开用线性化固定翼飞机进行控制和静稳定性分析的例子。
缺省情况下,所有系数为0。
BodyCoefficients = {“CD”,“零”0.027;“氯”,“零”0.307;“厘米”,“零”0.04;“CD”,“α”0.121;“氯”,“α”4.41;“厘米”,“α”-0.613;“CD”,“AlphaDot”, 0“氯”,“AlphaDot”1.7;“厘米”,“AlphaDot”-7.27;“CD”,“问”, 0;“氯”,“问”3.9;“厘米”,“问”-12.4;“CY”,“β”-0.393;“氯”,“β”-0.0923;“Cn”,“β”0.0587;“CY”,“P”-0.075;“氯”,“P”-0.484;“Cn”,“P”-0.0278;“CY”,“R”0.214;“氯”,“R”0.0798;“Cn”,“R”-0.0937;};C182 = setCoefficient(C182, BodyCoefficients(:, 1), BodyCoefficients(:, 2), BodyCoefficients(:, 3));
系数可以定义在飞机上的任何部件上。这些组件可以包括任何Aero.FixedWing.Surface
或Aero.FixedWing.Thrust
.
的setCoefficient
方法提供了一个组件
名称,值
参数,该参数采用所需组件名称的系数,从而避免需要知道组件在飞机上的确切位置。
有效的组件名称依赖于的名字
属性。
AileronCoefficients = {“CY”,副翼的, 0;“氯”,副翼的0.229;“Cn”,副翼的-0.0504;};ElevatorCoefficients = {“CY”,“电梯”0.187;“氯”,“电梯”0.0147;“Cn”,“电梯”-0.0805;};RudderCoefficients = {“CD”,“舵”, 0;“氯”,“舵”0.43;“厘米”,“舵”-1.369;};PropellerCoefficients = {“CD”,“螺旋桨”-21.1200;};C182 = setCoefficient(C182, AileronCoefficients(:, 1), AileronCoefficients(:, 2), AileronCoefficients(:, 3),“组件”,“副翼”);C182 = setCoefficient(C182, ElevatorCoefficients(:, 1), ElevatorCoefficients(:, 2), ElevatorCoefficients(:, 3),“组件”,“电梯”);C182 = setCoefficient(C182, RudderCoefficients(:, 1), RudderCoefficients(:, 2), RudderCoefficients(:, 3),“组件”,“舵”);C182 = setCoefficient(C182, PropellerCoefficients(:, 1), PropellerCoefficients(:, 2), PropellerCoefficients(:, 3),“组件”,“螺旋桨”);
固定翼飞机已经完全建造好,可以进行数值分析。
要对固定翼飞机进行数值分析,定义Aero.FixedWing.State
对象。
的Aero.FixedWing.State
对象的当前状态航空。FixedWing
对象的实例。的Aero.FixedWing.State
也是定义飞行器的动态物理特性,包括质量和惯性。
在本例中,我们分析巡航状态。
CruiseState = Aero.FixedWing.State (...“UnitSystem”, C182。UnitSystem,...“AngleSystem”, C182。AngleSystem,...“TemperatureSystem”, C182。TemperatureSystem,...“质量”, 82.2981,...“U”, 220.1,...“AltitudeMSL”, 5000);cruise estate . inertia . variables = [948, 0,0;0, 1346, 0;0,0,1967;];CruiseState。地心引力中心= [0.264,0,0].* C182.ReferenceLength;CruiseState。CenterOfPressure = [0.25, 0,0] .* C182.ReferenceLength;CruiseState。Environment = aircraftEnvironment(C182,“是”, CruiseState.AltitudeMSL);
除了环境和动态物理性质,Aero.FixedWing.State
类还保持当前的控制面偏转和推力位置。这些职位是在ControlStates
财产。使用此类设置控件状态。
默认情况下,此属性为空。从控制面和飞机上的推力信息初始化属性。
要设置这些控件状态,请使用setupControlStates
下面的方法。
CruiseState = setupControlStates(CruiseState, C182)
CruiseState =状态和属性:α:0β:0 AlphaDot: 0 BetaDot: 0质量:82.2981惯性:[3 x3表]CenterOfGravity: [1.2936 0 0] CenterOfPressure: [1.2250 0 0] AltitudeMSL: 5000 GroundHeight: 0 XN: 0 XE: 0 XD: -5000 U: 220.1000 V: 0 W: 0φ:0θ:0ψ:0 P: 0问:0 R: 0重量:2.6488 e + 03 AltitudeAGL: 5000速度:220.1000水平速度:220.1000 MachNumber: 0.2006 BodyVelocity: [220.1000 0 0] GroundVelocity:[220.1000 0 0]你:220.1000虚拟现实:0或者说是:0 FlightPathAngle: 0 CourseAngle: 0 InertialToBodyMatrix: [3 x3双]BodyToInertialMatrix: [3 x3双]BodyToWindMatrix: [3 x3双]WindToBodyMatrix: [3 x3双]动压力:49.6090环境:[1 x1 Aero.Aircraft。控制状态:[1x6航空。飞机。ControlState] OutOfRangeAction: "Limit" DiagnosticAction: "Warning" Properties: [1x1 Aero.Aircraft.Properties] UnitSystem: "English (ft/s)" AngleSystem: "Radians" TemperatureSystem: "Fahrenheit"
每次飞机配置只执行一次。如果没有控制面或推力已添加或删除到飞机,跳过这一步。
此时,飞机和状态已经完全构造和定义。
固定翼飞机有许多数值分析方法,包括力和力矩、非线性动力学和静态稳定性。
要计算在某一时刻飞机上的力和力矩,使用forcesAndMoments
方法。
这些力和力矩都在飞机机体框架内。在不同的框架中定义的系数有适当的转换矩阵应用到身体框架中。
[F, M] =力和力矩(C182, CruiseState)
F =3×1-233.0633 0 -1.2484
M =3×1103.× 0 0 0
为了计算飞机的动力学行为,使用nonlinearDynamics
方法。
的nonlinearDynamics
方法返回飞机上所选自由度变化率的矢量。矢量的大小取决于自由度。要计算飞机随时间变化的动态行为,可以将矢量与ode求解器(如ode45)结合使用。
为了快速迭代不同飞机设计的保真度,或从输出向量中去除不必要的状态,改变选定的自由度。这些变化率的定义如下:
负载(“astFixedWingDOFtable.mat”).DOFtable
ans =12×4表PM4 PM6 3自由度6自由度 ___ ___ ____ ____ dXN / dt“X”“X”“X”“X”dXE / dt " " X " " " X " dXD / dt“X”“X”“X”“X”dU / dt“X”“X”“X”“X”dV / dt " " X " " " X " dW / dt“X”“X”“X”“X”dP / dt "" "" "" " X”dQ / dt“”“”“”“X”博士/ dt "" "" "" " X”dPhi / dt "" "" "" " X”dTheta / dt“”“”“”“X”dPsi / dt "" "" "" " X”
dydt =非线性动力学(C182, CruiseState)
dydt =12×1220.1000 00 -2.8319 0 -0.0152 0 1.1219 00⋮
静稳定性是指飞机从初始状态经过一个小扰动后返回到初始状态的趋势。它是民用飞机的一个重要特征,减少了对复杂控制器保持动态稳定性的需要。在某些条件下,需要高级机动性的飞机可能会选择静不稳定。
的航空。FixedWing
物体静态稳定性法是根据飞行器当前状态下由于摄动而产生的力和力矩的变化来计算的。
该方法将扰动与一组预定义的标准进行比较,包括小于、大于或等于零。您还可以指定自定义条件。然后,该方法计算静态稳定性为:
如果满足准则,则扰动是静态稳定的。
如果准则不满足,则扰动是静态不稳定的。
如果微扰为0,则微扰是静态中性的。
的staticStability
方法不执行基于需求的分析。仅在初步设计阶段使用此方法。
[stability, derivatives] = staticStability(C182, CruiseState)
稳定=6×8表U V WαβP Q R ________ __________ ________ ________ ________ ________ ________ ________ 外汇“稳定 " "" "" "" "" "" "" "" ”“财政年度”不稳定 " "" "" "" "" "" "" FZ”“”“”稳定 " "" "" "" "" "" L "" "" "" "" " 稳定”“稳定”““““M”稳定稳定”“”“”“”“”“”“”“稳定”N "" "" "" "" " 稳定”“”“”“稳定”
衍生品=6×8表U V WαβP Q R _______ ___________ _______ ______ _________ __________ ___________ _______ FX -2.1178 - -7.2475 e-07 7.2946 1605.9 -0.035089 0 0 0 0 0 0 0 3159.3 14.354 647.4 -1847.2财年FZ e-07 -5.457 -24.08 -174.01 -38300 -0.0265 -138 0 -33665 0 L 0 0 0 -30374 -1.504 e + 05年0 24798 -5.2679 -0.28018 13.722 -5.7526 e-06 -129.74 -28555 0 e + 05 0 N 081.892 0 0 18024 -8683.3 0 -28991
罗斯卡姆,“飞机飞行动力学与自动飞行控制(第一部分)”,雷达公司,2003。