主要内容

定制固定翼飞机与其他飞机状态

这个例子展示了如何构建和固定翼飞机的定义一个自定义的状态。

这个例子描述了:

  • 定义自定义状态和当他们可能使用。

  • 创建一个基本的自定义状态。

  • 创建一个高级自定义状态。

  • 使用自定义状态分析的固定翼飞机。

自定义状态是什么?

默认情况下,固定翼状态对象有一组固定的状态值。这些包括攻角,速度,高度,和其他人。

这些国家中使用固定翼对象dimensionalize无因次系数或提供数据来查找表断点。

然而,在某些情况下,这个默认的状态不能捕获所有的期望状态的飞机。这是使用自定义状态时。

通过定义一个自定义的状态,可以创建新的状态值可在固定翼飞机的任何组件。

定义一个自定义状态

创建自定义的州Aero.FixedWing.State类:

  1. 定义一个新类。这个类必须继承Aero.FixedWing.State

  2. 自定义状态通过添加新的属性类的依赖。

  3. 定义。方法在自定义状态类。

下面是一个简单的例子,自定义状态类,MyState定义一个自定义的状态值,括号

得到属性可以访问任何其他属性依赖的方法。在这种情况下,括号使用地面前进速度,U

classdefMyState < Aero.FixedWing.State属性(依赖)括号结束方法函数值= get.MyValue (obj)值= obj。U * 10;结束结束结束

自定义状态的一个更高级的例子是哈维兰海狸飞机模型[1]使用数量的定制州dimensionalize其系数。这个习俗可以看到如下“astDehavillandBeaverState”状态。

classdefastDehavillandBeaverState < Aero.FixedWing.State属性(依赖)Alpha2 Alpha3 Beta2 Beta3 b2V简历qcV pb2V rb2V betab2V AileronAlpha FlapAlpha ElevatorBeta2 RudderAlpha结束方法函数值= get.Alpha2 (obj)值= obj。α^ 2;结束函数值= get.Alpha3 (obj)值= obj。α^ 3;结束函数值= get.Beta2 (obj)值= obj。β^ 2;结束函数值= get.Beta3 (obj)值= obj。β^ 3;结束函数值= get.b2V (obj)值= 14.6300 / (2 * obj.Airspeed);结束函数值= get.cV (obj)值= 1.5875 / (obj.Airspeed);结束函数值= get.qcV (obj)值= obj。Q * obj.cV;结束函数值= get.pb2V (obj)值= obj。P * obj.b2V;结束函数值= get.rb2V (obj)值= obj。R * obj.b2V;结束函数值= get.betab2V (obj)值= obj。β* obj.b2V;结束函数值= get.AileronAlpha (obj)值= obj.getState (“副翼”)* obj.Alpha;结束函数值= get.FlapAlpha (obj)值= obj.getState (“拍打”)* obj.Alpha;结束函数值= get.ElevatorBeta2 (obj)值= obj.getState (“电梯”)* obj.Beta2;结束函数值= get.RudderAlpha (obj)值= obj.getState (“舵”)* obj.Alpha;结束结束结束

这种风俗不仅直接使用预定义的状态属性从固定翼状态,但也使用getState方法提取操纵面偏转角度。任意组合的状态或方法可以使用get方法的自定义状态。

使用自定义状态

定义了自定义状态后,使用自定义状态分析方法。

(海狸、巡航)= astDehavillandBeaver ()
海狸= FixedWing属性:ReferenceArea: 23.2300 ReferenceSpan: 14.6300 ReferenceLength: 1.5875系数:[1 x1 Aero.FixedWing。系数]DegreesOfFreedom:“6自由度”表面:[1 x3 Aero.FixedWing。表面)目标:[1 x1 Aero.FixedWing。推力]AspectRatio: 9.2138属性:[1 x1 Aero.Aircraft。属性]UnitSystem:“度量”TemperatureSystem:“k”AngleSystem:“弧度”
克鲁斯= astDehavillandBeaverState属性:Alpha2: 0.0170 Alpha3: 0.0022 Beta2: 0.0036 Beta3: 2.1974 e-04 b2V: 0.1625简历:0.0353 qcV: 0 pb2V: 0 rb2V: 0 AileronAlpha: 0.0012 FlapAlpha: 0 ElevatorBeta2: -1.5476 e-04 RudderAlpha: -0.0060 Alpha: 0.1303 Beta版:0.0603 AlphaDot: 0 BetaDot: 0质量:2.2882 e + 03惯性:[3 x3表]CenterOfGravity: [0 0 0] CenterOfPressure: [0 0 0] AltitudeMSL: 2202 GroundHeight: 0 XN: 0 XE: 0 XD: -2202 U: 44.5400 V: 2.7140 W:φ5.8360:0θ:0.1309 Psi: 0 P: 0问:0 R: 0重量:2.2448 e + 04 AltitudeAGL: 2202速度:45.0026水平速度:45.0026 MachNumber: 0.1357 BodyVelocity: [44.5400 2.7140 5.8360] GroundVelocity:[44.5400 2.7140 5.8360]你:44.5400虚拟现实:2.7140或者说是:5.8360 FlightPathAngle: 0.1303 CourseAngle: 0.0609 InertialToBodyMatrix: [3 x3双]BodyToInertialMatrix: [3 x3双]BodyToWindMatrix: [3 x3双]WindToBodyMatrix: [3 x3双]BodyToStabilityMatrix: [3 x3双]StabilityToBodyMatrix: [3 x3双]动压力:998.6513环境:[1 x1 Aero.Aircraft。环境]ControlStates: [1 x5 Aero.Aircraft。ControlState] OutOfRangeAction:“限制”DiagnosticAction:“警告”属性:[1 x1 Aero.Aircraft。属性]UnitSystem:“度量”TemperatureSystem:“k”AngleSystem:“弧度”
cruise.Alpha2
ans = 0.0170
[F M] = forcesAndMoments(海狸、巡航)
F =3×1103×0.4037 -1.3285 4.7465
M =3×1103×-1.5125 2.3497 0.3744
dydt = nonlinearDynamics(海狸、巡航)
dydt =12×144.9207 2.7140 -0.0276 0.1764 -0.5806 2.0743 -0.2619 0.3391 0.0297 0⋮
(稳定性、衍生品)= staticStability(海狸、巡航)
稳定=6×8表U V WαβP Q R说说说说外汇“稳定”“”“”“”“”“”“”“”“财政年度“稳定”“”“”“”“”“”“FZ”“”“稳定”“”“”“”“”“L”“”“”“”“稳定”“稳定”“稳定”“”“”“米”“稳定”“”“”“稳定”“N”“”“”“”“”“稳定”“”“稳定”
衍生品=6×8表U V WαβP Q R累积累积累积___________ _________ FX -32.531 2.7704 601.22 -552.22 124.91 26968 0 0 0 -467.59 -33.152 -398.64 -16.894 -558.01 -17973 1382.4财年FZ -2445.2 -410.16 -4.8834 -2867.8 -1.2531 e + 05年-220.18 0 0 L -37.919 -469.28 -10.703 -254.35 -21158 -27832 0 0 9350.9 222.86 74.529 -930.3 -42740 3360.4 -20214 12.771 62.732 1.6733 -0.35231 2828.4 -8744.1 1909.6 -6134.6 -1866.5 N

国家也可以使用fixedWingStateCustom创建的函数。

这个函数是相同的fixedWingState函数除了添加字符串输入指定状态对象创建。

状态= fixedWingStateCustom (“astDehavillandBeaverState”海狸)
国家= astDehavillandBeaverState属性:Alpha2: 0 Alpha3: 0 Beta2: 0 Beta3: 0 b2V: 0.1463简历:0.0318 qcV: 0 pb2V: 0 rb2V: 0 AileronAlpha: 0 FlapAlpha: 0 ElevatorBeta2: 0 RudderAlpha: 0α:0β:0 AlphaDot: 0 BetaDot: 0质量:0惯性:[3 x3表]CenterOfGravity: [0 0 0] CenterOfPressure: [0 0 0] AltitudeMSL: 0 GroundHeight: 0 XN: 0 XE: 0 XD: 0 U: 50 V: 0 W: 0φ:0θ:0ψ:0 P: 0问:0 R: 0重量:0 AltitudeAGL: 0空速:50水平:50 MachNumber: 0.1469 BodyVelocity: [50 0 0] GroundVelocity:[50 0 0]你:50 Vr: 0或者说是:0 FlightPathAngle: 0 CourseAngle: 0 InertialToBodyMatrix: [3 x3双]BodyToInertialMatrix: [3 x3双]BodyToWindMatrix: [3 x3双]WindToBodyMatrix: [3 x3双]BodyToStabilityMatrix: [3 x3双]StabilityToBodyMatrix: [3 x3双]动压力:1.5312 e + 03环境:[1 x1 Aero.Aircraft。环境]ControlStates: [1 x5 Aero.Aircraft。ControlState] OutOfRangeAction:“限制”DiagnosticAction:“警告”属性:[1 x1 Aero.Aircraft。属性]UnitSystem:“度量”TemperatureSystem:“k”AngleSystem:“弧度”
state2 = fixedWingStateCustom (“astDehavillandBeaverState”海狸,aircraftEnvironment(海狸,“COESA”,1000))
state2 = astDehavillandBeaverState属性:Alpha2: 0 Alpha3: 0 Beta2: 0 Beta3: 0 b2V: 0.1463简历:0.0318 qcV: 0 pb2V: 0 rb2V: 0 AileronAlpha: 0 FlapAlpha: 0 ElevatorBeta2: 0 RudderAlpha: 0α:0β:0 AlphaDot: 0 BetaDot: 0质量:0惯性:[3 x3表]CenterOfGravity: [0 0 0] CenterOfPressure: [0 0 0] AltitudeMSL: 0 GroundHeight: 0 XN: 0 XE: 0 XD: 0 U: 50 V: 0 W: 0φ:0θ:0ψ:0 P: 0问:0 R: 0重量:0 AltitudeAGL: 0空速:50水平:50 MachNumber: 0.1486 BodyVelocity: [50 0 0] GroundVelocity:[50 0 0]你:50 Vr: 0或者说是:0 FlightPathAngle: 0 CourseAngle: 0 InertialToBodyMatrix: [3 x3双]BodyToInertialMatrix: [3 x3双]BodyToWindMatrix: [3 x3双]WindToBodyMatrix: [3 x3双]BodyToStabilityMatrix: [3 x3双]StabilityToBodyMatrix: [3 x3双]动压力:1.3896 e + 03环境:[1 x1 Aero.Aircraft。环境]ControlStates: [1 x5 Aero.Aircraft。ControlState] OutOfRangeAction:“限制”DiagnosticAction:“警告”属性:[1 x1 Aero.Aircraft。属性]UnitSystem:“度量”TemperatureSystem:“k”AngleSystem:“弧度”

引用

  1. Rauw,犯罪手法:“一个飞万博1manbetx行动力学仿真软件环境和控制分析-应用程序DHC-2海狸”。第一部分:“仿真软件中模型库的实现”。万博1manbetx第二部分:“海狸”自动驾驶仪的非线性分析。MSc-thesis,代尔夫特理工大学,航空航天工程学院。代尔夫特,荷兰,1993年。

另请参阅

方法