在平衡操作点设计模型预测控制器
这个例子展示了如何设计一个模型预测控制器与非零名义值。
获得的植物模型线性化的非线性植物模型®非零稳态操作点。金宝app
线性化非线性植物模型
非线性植物是在仿真软件中实现模型金宝appmpc_nloffsets
和线性化使用默认的操作条件线性化
函数从仿真软件控制设计。金宝app
创建一个操作点规范当前模型的初始条件。
plant_mdl =“mpc_nloffsets”;op = operspec (plant_mdl);
计算这些初始条件的操作点。
[op_point, op_report] = findop (plant_mdl, op);
操作点搜索报告:- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - opreport mpc_nloffsets =操作点搜索报告模型。(时变组件评估在时间t = 0)操作点规范成功实现。状态:- - - - - - - - - - - Min x马克斯dxMin dx dxMax………………………………(1) mpc_nloffsets /集成商负0.57514正0 -1.8208 e-14 0 (2) mpc_nloffsets / Integrator2负2.1503正0 -8.3846 e-12 0输入:- - - - - - - - - - -看上去最小u最大长得一样(1)mpc_nloffsets / In1负-1.252正输出:- - - - - - - - - - - Min y马克斯说______ (1)mpc_nloffsets /着干活负-0.52938正无穷
提取名义状态、输出和输入值的计算操作。
x0 = [op_report.States(1)方式;op_report.States(2)方式);y0 = op_report.Outputs.y;情况= op_report.Inputs.u;
线性化的工厂初始条件。
工厂=线性化(plant_mdl op_point);
MPC控制器设计
创建一个MPC控制器对象与指定的样品时间Ts
,预测地平线20.
和控制的地平线3
。
t = 0.1;mpcobj = mpc(3)植物,Ts, 20日;
- - >“权重。ManipulatedVariables”属性是空的。假设默认的0.00000。- - >“权重。ManipulatedVariablesRate”属性是空的。假设默认的0.10000。- - >“权重。OutputVariables”属性是空的。假设默认的1.00000。
在控制器中设置名义值。
mpcobj.Model。名义=结构(“X”x0,“U”情况,“Y”,y0);
设置输出测量噪声模型(白噪声、零均值、标准偏差= 0.1)。
mpcobj.Model。噪音= 0.1;
设置控制变量约束。
mpcobj.MV。Max = 0.2;
使用仿真软件模拟金宝app
指定输出信号的参考价值。
r0 = 1.5 * y0;
开放和模拟模型。
mdl =“mpc_offsets”;open_system (mdl) sim (mdl)
- - >将模型转换为离散时间。- - >输出假设扰动添加到测量输出通道# 1是集成的白噪声。
模拟使用sim卡
命令
模拟控制器。
Tf =圆(10 / Ts);r = r0 *的(Tf, 1);[y₁, t1, u1, x1, xmpc1] = sim (mpcobj, Tf, r);
情节和仿真结果进行比较。
次要情节(1、2、1)情节(y.time y.signals.values, t1, y1, t1, r)传说(“非线性”,“线性化”,“参考”)标题(“输出”)网格次要情节(1、2、2)情节(u.time u.signals.values, t1, u1)传说(“非线性”,“线性化”)标题(“输入”网格)
bdclose (plant_mdl) bdclose (mdl)