确定非线性动力学和静态固定翼飞机的稳定
这个例子显示了创建和分析固定翼飞机的过程中使用MATLAB®Cessna C182几何和系数数据。
数据用来创建飞机从飞机飞行动力学和控制由简·罗斯克姆(1]。
这个例子描述了:
设置固定翼空气动力学和控制表面通过创建和嵌套电梯控制表面,然后创建副翼、方向舵、翅膀和垂直尾翼。
创建固定翼飞机上的推进模型模型类似于控制面。
定义完整的飞机。
飞机上的系数定义。
准备飞机进行数值分析。
进行数值分析。
设置固定翼空气动力学和控制表面
的Aero.FixedWing.Surface
类可以作为一个空气动力学和控制表面。
这种行为的控制可控
属性的类。
设置可控
来在
创建一个表面和控制ControlState
变量。
嵌套一个气动控制面表面模拟飞机的实际施工。
下面的示例创建一个电梯控制表面和巢水平稳定器。
电梯= fixedWingSurface (“电梯”,“上”,“对称”,-20年,20)
电梯=表面与性质:表面:[1 x0 Aero.FixedWing。表面系数:[1 x1 Aero.FixedWing。系数]MaximumValue: 20 MinimumValue: -20可控:对称:“对称”ControlVariables:“电梯”的特性:[1 x1 Aero.Aircraft.Properties]
电梯。系数= fixedWingCoefficient (“电梯”)
电梯=表面与性质:表面:[1 x0 Aero.FixedWing。表面系数:[1 x1 Aero.FixedWing。系数]MaximumValue: 20 MinimumValue: -20可控:对称:“对称”ControlVariables:“电梯”的特性:[1 x1 Aero.Aircraft.Properties]
horizontalStabilizer = fixedWingSurface (“HorizontalStabilizer”,“表面”、电梯)
horizontalStabilizer =表面与性质:表面:[1 x1 Aero.FixedWing。表面系数:[1 x1 Aero.FixedWing。系数]MaximumValue:正MinimumValue:负无穷可控:从对称:“对称”ControlVariables: [0 x0字符串]属性:[1 x1 Aero.Aircraft.Properties]
每个属性固定翼对象也可以通过设置名称、价值论证建设。这种方法将用于创建其他的例子。
接下来,构建副翼、方向舵、翅膀和垂直尾翼。
副翼= fixedWingSurface (“副翼”,“上”,“非对称”(-20年,20),…“系数”fixedWingCoefficient (“副翼”));舵= fixedWingSurface (“舵”,“上”,“对称”(-20年,20),…“系数”fixedWingCoefficient (“舵”));翼= fixedWingSurface (“翼”,“表面”、副翼);verticalStabilizer = fixedWingSurface (“VerticalStabilizer”,“表面”、舵);
定义推进
使用Aero.FixedWing.Thrust
对象创建推进模型在固定翼飞机模型类似于控制面。
的Aero.FixedWing.Thrust
对象永远是可控的。它不能被嵌套的空气动力学和控制面。
螺旋桨= fixedWingThrust (“螺旋桨”,“系数”fixedWingCoefficient (“螺旋桨”))
螺旋桨推力=属性:系数:[1 x1 Aero.FixedWing。系数]MaximumValue: 1 MinimumValue: 0可控:对称:“对称”ControlVariables:“螺旋桨”属性:[1 x1 Aero.Aircraft.Properties]
构建飞机
与空气动力学表面,控制表面,和推力组件定义,定义完整的飞机。
首先,定义一个单独的Aero.Aircraft.Properties
类飞机。使用这个类来跟踪版本的组件和给定飞机正在使用哪些组件。
所有Aero.FixedWing
和Aero.Aircraft
类包含这个属性。
C182Properties = Aero.Aircraft.Properties (…“名称”,“Cessna C182”,…“类型”,的“通用航空”,…“版本”,“1.0”,…“描述”,“塞斯纳182例子”)
C182Properties =属性与属性:名称:“Cessna C182”描述:“塞斯纳182例”类型:“通用航空”版本:“1.0”
C182 = Aero.FixedWing (…“属性”C182Properties,…“UnitSystem”,“英语(英尺/秒)”,…“AngleSystem”,“弧度”,…“TemperatureSystem”,“华”,…“ReferenceArea”,174,…“ReferenceSpan”36岁的…“ReferenceLength”,4.9,…“表面”(翅膀,horizontalStabilizer verticalStabilizer),…“手臂”螺旋桨)
C182 = FixedWing属性:ReferenceArea: 174 ReferenceSpan: 36 ReferenceLength: 4.9000系数:[1 x1 Aero.FixedWing。系数]DegreesOfFreedom:“6自由度”表面:[1 x3 Aero.FixedWing。表面)目标:[1 x1 Aero.FixedWing。推力]AspectRatio: 7.4483属性:[1 x1 Aero.Aircraft。属性]UnitSystem:“英语(英国《金融时报》/ s)”TemperatureSystem: "Fahrenheit" AngleSystem: "Radians"
设置飞机系数
接下来,定义系数在飞机上。
这些系数描述飞机的动态行为。这个例子定义标量常数系数,定义线性行为。
定义固定翼飞机的非线性动态行为,定义万博1manbetxSimulink.LookupTable
系数。万博1manbetxSimulink.LookupTables are not used in this example. To see an example using Simulink.LookupTables, open the线性控制和状态空间模型分析静态稳定性分析的例子。
默认情况下,所有系数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.0216;};RudderCoefficients = {“CY”,“舵”0.187;“氯”,“舵”0.0147;“Cn”,“舵”-0.0645;};ElevatorCoefficients = {“CD”,“电梯”,0;“氯”,“电梯”0.43;“厘米”,“电梯”-1.122;};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
对象定义的当前状态Aero.FixedWing
在一个实例对象。的Aero.FixedWing.State
也是飞机的动态物理性质,包括质量和惯性,定义。
在这个例子中,我们分析了巡航状态。
CruiseState = Aero.FixedWing.State (…“UnitSystem”C182.UnitSystem,…“AngleSystem”C182.AngleSystem,…“TemperatureSystem”C182.TemperatureSystem,…“质量”,82.2981,…“U”,220.1,…“AltitudeMSL”,5000);CruiseState.Inertia。变量= [948 0 0;0 1346 0;0,0,1967;];CruiseState。CenterOfGravity = [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双]BodyToStabilityMatrix: [3 x3双]StabilityToBodyMatrix: [3 x3双]动压力:49.6090环境:[1 x1 Aero.Aircraft。环境]ControlStates: [1 x6 Aero.Aircraft。ControlState] OutOfRangeAction: "Limit" DiagnosticAction: "Warning" Properties: [1x1 Aero.Aircraft.Properties] UnitSystem: "English (ft/s)" TemperatureSystem: "Fahrenheit" AngleSystem: "Radians"
每架飞机执行这个只有一次配置。如果没有添加或删除控制表面或手臂的飞机,跳过这个步骤。
进行数值分析
在这一点上,飞机和国家现在完全构造和定义。
大量的数值分析方法与固定翼飞机,包括军队和时刻,非线性动力学,和静态稳定。
力和时刻
计算飞机部队和时间在时间的一个实例,使用forcesAndMoments
方法。
这些力量和时刻在飞机车身骨架。系数在不同坐标系中定义适当的变换矩阵应用到翻译主体框架。
[F M] = forcesAndMoments (C182 CruiseState)
F =3×1-233.0633 0 -1.2484
M =3×1103×1.5101 0 0
非线性动力学
计算飞机动态行为,使用nonlinearDynamics
方法。
的nonlinearDynamics
方法返回一个向量改变利率的选择自由度的飞机。向量的大小取决于自由度。计算飞机动态行为随着时间的推移,使用向量结合ode求解器,如数值。
快速迭代形式之间的不同的飞机设计,从输出向量,或削减不必要的状态改变所选择的自由度。这些利率变化的定义如下:
负载(“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”“X”/ dt博士”“”“”“”X“dPhi / dt”“”“”“”X“dTheta / dt”“”““X”“X”dPsi / dt”“”“”““X”
dydt = nonlinearDynamics (C182 CruiseState)
dydt =12×11.1219 -0.0152 -2.8319 220.1000 0 0 0 0 0 0⋮
静态稳定
静态稳定的趋势飞机返回其原始状态后一个小扰动的初始状态。这是民用飞机的一个重要特性,减少了复杂的控制器需要保持动态稳定。在一些情况下,飞机需要先进的可操作性可能选择静态不稳定。
的Aero.FixedWing
对象静态稳定方法计算力和时刻的变化由于扰动在飞机的当前状态。
方法比较了扰动对一组预定义的标准小于,大于或等于零。您还可以指定自定义标准。然后评估方法的静态稳定性:
如果条件满足,则扰动是静态稳定。
如果条件不满足,那么扰动是静态不稳定。
如果扰动是0,摄动静态是中立的。
的staticStability
方法不执行一个基于需求分析。只有使用这种方法在初步设计阶段。
(稳定性、衍生品)= staticStability (C182 CruiseState)
稳定=6×8表U V WαβP Q R ________ __________说说说外汇“稳定”“”“”“”“”“”“”“”“财政年度”“不稳定”“”“”“”“”“”“FZ”“”“稳定”“”“”“”“”“L”“”“”“”““稳定”“稳定”“稳定”“”“”“米”“稳定”“”“”“稳定”“N”“”“”“”“”“稳定”“”“稳定”
衍生品=6×8表U V WαβP Q R累积___________ ______ _____累积_________ FX -2.1178 - -7.2191 e-07 7.2946 1605.9 -0.035089 0 0 0 0 0 0 0 3159.3 14.354 52.945 -151.07财年FZ e-07 -5.0022 -24.08 -174.01 -374.73 -0.0265 -38300 0 0 L 0 0 0 -30374 -138 -12300 0 2028 -5863.8 -0.28018 13.722 -5.8208 e-06 -129.74 -28555 0 0 N 0 0 0 18024 81.892 -710.13 -2370.9 0
引用
罗斯克姆,J。,"Airplane Flight Dynamics and Automatic Flight Controls (Part 1)", DAR Corporation, 2003.
另请参阅
fixedWingAircraft
|fixedWingCoefficient
|fixedWingState
|fixedWingSurface
|aircraftEnvironment
|fixedWingThrust