Main Content

MPC控制带有不稳定杆的飞机

此示例显示了如何使用MPC控制器控制具有饱和执行器的不稳定飞机。

有关使用明确的MPC控制器控制同一植物的示例,请参见明确的MPC控制飞机具有不稳定的杆子

定义飞机型号

以下线性时间不变模型来自飞机在3000英尺高的高度和0.6马赫的速度[1]的纵向动力学的线性化。开环模型具有以下状态空间矩阵:

a = [-0.0151 -60.5651 0 -32.174;-0.0001 -1.3411 0.9929 0;0.00018 43.2541 -0.86939 0;0 0 1 0];b = [-2.516 -13.136;-0.1689 -0.2514;-17.251 -1.5766;0 0];C = [0 1 0 0;0 0 0 1]; D = [0 0; 0 0];

The inputs, states and outputs of the linear model represent deviations from their respective nominal values at the nonlinear model operating point.

Here, the state variables are:

  • 正向速度(ft/sec)

  • attack angle (deg)

  • 音高率(DEG/sec)

  • pitch angle (deg)

The manipulated variables are the elevator and flaperon angles, in degrees. The attack and pitch angles are measured outputs to be regulated.

创建工厂,并将初始状态指定为零。

植物= ss(a,b,c,d);x0 =零(4,1);

The open-loop system is unstable.

潮湿(植物)
杆阻尼频率时间常数(RAD/秒)(秒)-7.50E-03 + 5.56E-02I 1.34E-01 5.61E-02 1.33E + 02 -7.50E-03-5.56E-03-5.56E-02I 1.34E-01 5.61 5.61 5.61E -02 1.33E+02 5.45E+00 -1.00E+00 5.45E+00 -1.83E -01 -7.66E+00 1.00E+00+00 7.66E+00 1.30E 1.30E -01

指定控制器约束

两个操纵变量都在+/- 25度之间约束。使用比例因素促进MPC调整。比例因素的典型选择是操作范围的上限/下限。

mv = struct(',{-25,-25},'最大限度',{25,25},'比例因子',{50,50});

指定植物产出的比例因子。

ov = struct('比例因子',{60,60});

Specify Controller Tuning Weights

控制任务是要获得分段恒定参考的零偏移,同时避免由于输入饱和而引起不稳定。由于MV和OV变量均已在MPC控制器中缩放,因此MPC权重无量纲,并应用于缩放的MV和OV值。在此示例中,通过指定比音高角度的重量大的重量来强调跟踪攻击角度。

权重= struct('MV',[0 0],“ mvrate',[0.1 0.1],'OV',[200 10]);

创建MPC控制器

创建一个MPC控制器与指定的工厂model, a sample time of 0.05 sec. (20 Hz), a prediction horizon of 10 steps, a control horizon of 2 steps, and the previously specified weights, constraints and scale factors.

MPCOBJ = MPC(植物,0.05,10,2,重量,MV,OV);

计算闭环直流增益矩阵

Calculate the steady state output sensitivity of the closed loop. A zero value means that the measured plant output can track the desired output reference setpoint.

cloffset(mpcobj)
- >将模型转换为离散时间。- >假设添加到测量的输出通道#1中的输出干扰是集成的白噪声。- >假设添加到测量的输出通道#2中的输出干扰是集成的白噪声。- >“ model.noise”属性为空。假设每个测得的输出上都有白噪声。ANS = 1.0E -11 * -0.0088 0.0013 0.2372 0.0051

使用Simulink®模拟金宝app

使用si金宝appmulink分别在攻击和俯仰角的参考信号上模拟闭环响应,分别为0.1度和2度。

Open the Simulink model and set theMPC控制器财产为MPCobj。对于此示例,已经设置了属性。

mdl ='mpc_aircraft'; open_system(mdl)

使用Simulink从命令行模拟系统金宝appSIM命令。

SIM(MDL)

打开显示操纵变量和飞机输出响应的范围

open_system('mpc_aircraft/MV')open_system(“ mpc_aircraft/攻击角响应”)open_system('mpc_aircraft/俯仰角响应'

不出所料,闭环响应显示了两个通道的良好设定值跟踪性能。

References

[1] P. Kapasouris,M。Athans和G. Stein,“针对具有饱和执行器的不稳定植物的反馈控制系统的设计”,Proc。IFAC SEMMP。关于非线性控制系统设计,Pergamon出版社,第302--307页,1990年

[2] A. Bemporad, A. Casavola, and E. Mosca, "Nonlinear control of constrained linear systems via predictive reference management",IEEE®trans。自动控制, vol. AC-42, no. 3, pp. 340-349, 1997.

bdclose(mdl)

也可以看看

|

Related Topics