修剪和线性化机体
这个例子展示了如何使用Simulink®控制设计™软件修剪和线性化机身。
目标是找到电梯偏转和由此产生的修剪身体率,产生一个给定的角度入射角,当机体在一个设定的速度运行。
一旦找到了修剪条件,就可以计算围绕修剪条件的状态的动态的线性模型。
固定的参数:
入射角(
θ
)身体态度(
U
)位置
裁剪的稳态参数:
升降机偏转(
w
)身体比率(
问
)
计算工作点
打开模型。
mdl =“scdairframe”;open_system (mdl)
使用模型初始条件为模型创建一个操作点规范对象。
Opspec = operspec(mdl)
opspec =型号scdairframe的操作点规范。(t=0时刻的时变分量)---------- x已知的稳态最小最大值dxMin dxMax ___________ ___________ ___________ ___________ ___________ ___________ ___________ (1.) scdairframe/EOM/运动方程(体轴)/位置0假真-Inf Inf -Inf Inf -3047.9999假真-Inf Inf -Inf Inf (2.) scdairframe/EOM/运动方程(体轴)/Theta 0假真-Inf Inf -Inf Inf (3.) scdairframe/EOM/运动方程(体轴)/U,w 984假真-Inf Inf -Inf Inf 0假真-Inf Inf -Inf Inf (4.)scdairframe/EOM/运动方程(体轴)/q 0 false true -Inf Inf -Inf Inf输入:---------- u已知Min Max _____ _____ _____ _____ (1.) scdairframe/Fin Deflection 0 false -Inf Inf输出:---------- y已知Min Max _____ _____ _____ _____ (1.) scdairframe/q 0 false -Inf Inf (2.) scdairframe/az 0 false -Inf Inf
指定模型中的哪些状态:
在操作点就知道了
在工作点的稳定状态下
指定位置
状态是已知的,而不是稳态。中指定的状态值opspec.States(1)方式
,使用模型初始条件的默认值。
opspec.States(1)。已知= [1;1];opspec.States(1)。稳态= [0;0];
指定第二个状态,它对应入射角θ
,已知,但不处于稳态。与位置状态一样,使用模型初始条件的默认状态值。
opspec.States(2)。已知= 1;opspec.States(2)。稳态= 0;
第三个状态规范包括体轴角速率U
而且w
.指定在操作点这两种状态都是已知的w
处于稳态。
opspec.States(3)。已知= [1 1];opspec.States(3)。稳态状态= [0 1];
寻找符合这些规范的工作点。
Op = findop(mdl,opspec);
操作点搜索报告:--------------------------------- opreport = Model scdairframe操作点搜索报告。(时变组分在t=0时的评估值)成功满足作业点规格。状态:---------- 最小x最大dxMin dx dxMax ___________ ___________ ___________ ___________ ___________ ___________ ( 1) scdairframe /加工/运动方程(身体轴)/位置0 0 0负984正0 -3047.9999 -3047.9999 -3047.9999负无穷到正无穷(2)scdairframe /加工/运动方程(轴)/θ0 0 0负-0.0097235正(3)scdairframe /加工/运动方程(轴)/ U, w 22.6897 984 984 984负无穷到正无穷0 0 0 0 -1.4367 e-11 0 (4) scdairframe /加工/运动方程(轴)/ q负-0.0097235Inf 0 6.3122e-16 0 Inputs: ---------- Min u Max _________ _________ _________ (1.) scdairframe/Fin Deflection -Inf 0.0014161 Inf Outputs: ---------- Min y Max __________ __________ __________ (1.) scdairframe/q -Inf -0.0097235 Inf (2.) scdairframe/az -Inf -0.24207 Inf
线性化模型
要在计算的操作点对模型进行线性化,首先指定线性化的输入和输出点。
Io (1) = linio(“scdairframe /鳍偏转”, 1“输入”);Io (2) = linio(“scdairframe /加工”3,“输出”);Io (3) = linio(“scdairframe /选择器”, 1“输出”);
使模型在工作点处线性化。
系统=线性化(mdl,op,io);
绘制线性模型的波德量级响应。
bodemag (sys) bdclose (“scdairframe”)