基于植物模型失配的MPC控制器仿真
这个例子展示了如何模拟一个模型预测控制器与预测工厂模型和实际工厂之间的不匹配,以及测量和未测量的干扰,使用sim卡
命令。
预测植物模型有2个操作变量,2个未测量的输入扰动和2个测量输出。实际的植物有不同的动态。
定义植物模型
定义MPC控制器所基于的标称设备的参数。从MV到MO和UD到MO的系统是相同的。
P1 = tf(1,[1 2 1])*[1 1;0 1];植物= ss([p1 p1],“最低”);工厂。InputName = {“1/2 mv1”,“mv方”,“ud3”,“ud4”};
MPC控制器设计
将输入1和2定义为操作变量,3和4定义为未测量的干扰。
植物= setmpcsignals(植物,“MV”(1 - 2),“UD”[3, 4]);创建具有采样周期、预测和控制的控制器对象%的视野:Mpcobj = mpc(plant,1,40,2);
- - - >“权重。属性为空。假设默认值为0.00000。- - - >“权重。属性为空。假设默认为0.10000。- - - >“权重。OutputVariables属性为空。假设默认值为1.00000。
对于不可测输入扰动,MPC控制器将使用以下不可测扰动模型。
distModel = eye(2,2)*ss(-.5,1,1,0);mpcobj. model .扰动= distModel;
定义用于仿真的真实植物模型
用MPC控制器在闭环中定义实际装置的参数。
P2 = tf(1.5,[0.1 1 2 1])*[1 1;0 1];Psim = ss([p2 p2],“最低”);Psim = setmpcsignals(Psim,“MV”(1 - 2),“UD”[3, 4]);
使用SIM命令模拟闭环响应
定义进入实际装置的参考轨迹和未测量扰动。
Dist = ones(1,2);%未测量的干扰信号参考文献= [1 2];输出参考信号%Tf = 20;模拟总步数的%
创建一个MPC模拟选项对象。这允许您定义未测量的干扰和不同于MPC控制器用作预测模型的设备。
选项= mpcsimopt(mpcobj);选项。Unmeas = dist;%未测量的干扰信号选项。模型= psim;%真实植物模型
运行闭环MPC模拟模型不匹配和不可预见的不可测量的干扰输入。
sim (mpcobj、Tf、裁判、期权);
——>转换模型到离散时间。假设添加到测量输出通道#1的输出扰动是集成白噪声。假设添加到测量输出通道#2的输出扰动是集成白噪声。——>”模式。“噪音”属性为空。假设每个测量输出都有白噪声。——>转换模型到离散时间。
闭环跟踪性能是可以接受的,尽管存在模型不匹配和不可测量的输入干扰。