主要内容

线性输入和输出组合的约束

你可以限制植物输入和输出变量的线性组合。例如,可以将特定的操纵变量(MV)约束为大于其他两个MV的线性组合。

这种约束的一般形式是:

$ $欧盟\离开({k + i} \右)+年度\离开({k + i} \右)+ & # xA; Sv \离开({k + i} \) \ le G + {\ varepsilon _k} V $ $

在这里:

  • $ {\ varepsilon _k} $为用于约束软化的QP松弛变量。有关更多信息,请参见约束软化

  • $u\left({k + i} \right)$$ {N_ {mv}} $操纵变量值,在工程单位。

  • $y\left({k + i} \right)$N_y美元预测工厂产量,以工程单位计算。

  • $v\left({k + i} \right)$$ {N_ {md}} $测量工厂干扰输入,以工程单元为单位。

  • E美元$ F $年代美元G美元,五美元都是常数矩阵和向量。有关更多信息,请参见setconstraint

与QP代价函数一样,使用状态观测器的输出预测使这些约束成为QP决策变量的函数。

要设置MPC控制器的混合输入/输出约束,请使用setconstraint函数。若要从控制器获取现有约束,请使用getconstraint

当使用混合输入/输出约束时,考虑以下因素:

  • 默认情况下,混合输入/输出约束是多维的。

  • 在命令行和Simulink®中支持混合输入/输出约束的运行时更新。金宝app金宝app有关更多信息,请参见在运行时更新约束

  • 中不支持使用混合输入/输出约束金宝appMPC设计师

作为一个例子,考虑一个MPC控制器的双积分器工厂与混合输入/输出约束。

创建初始MPC控制器

MPC控制器的基本设置包括:

  • 采用双积分器作为预测模型

  • 预测水平20

  • 控制水平20

  • 输入约束:$- 1 \le u\left(t \right) \le 1$

Plant = tf(1,[1 0 0]);Ts = 0.1;P = 20;M = 20;mpcobj = mpc(plant,Ts,p,m);mpcobj。MV = struct(“最小值”, 1“马克斯”1);
——>“权重。是空的。假设默认值为0.00000。——>“权重。“ManipulatedVariablesRate”为空。假设默认为0.10000。——>“权重。OutputVariables"为空。假设默认值为1.00000。

定义混合输入/输出约束

限制输入的和u (t)和输出y (t)必须为非负且小于1.2:

$$0 \le u\left(t \right) + y\left(t \right) \le 1.2$$

要施加这种组合(混合)I/O约束,请将其表述为一组不等式约束,包括$u\左(t \右)$而且y\左(t \右)$

数组$ $ \开始{}{1}& # xA; u \离开(t \右)+ y le 1.2左(t \) \ \ \ \ & # xA;左(t - u \ \右)- y左(t \) \ \ le 0 & # xA; \{数组}$ $

方法定义这些约束setconstraint函数,将约束常数设置如下:

左$ $ E = \[{\开始{数组}{* {20}{c}} & # xA; 1 \ \ & # xA; {- 1} & # xA;结束\{数组}}\右],\;左F = \[{\开始{数组}{* {20}{c}} & # xA; 1 \ \ & # xA; {- 1} & # xA;结束\{数组}}\正确),左\;G = \[{\开始{数组}{* {20}{c}} & # xA; {1.2} \ \ & # xA; 0 & # xA;结束\{数组}}\右]$ $

setconstraint (mpcobj [1; 1], [1; 1], [1.2; 0]);

模拟控制器

在Simulink中模拟线性植物模型的闭环控制。金宝app控制器mpcobj在MPC Controller块中指定。

mdl =“mpc_mixedconstraints”;open_system (mdl) sim (mdl)
——>转换“模型”。属性到状态空间。——>转换模型到离散时间。假设对测量输出#1没有扰动。——>”模型。“噪音”是空的。假设每个测量输出都有白噪声。

MPC控制器保持总和u + y美元在0到1.2之间跟踪参考信号,$r = 1$

bdclose (mdl)

另请参阅

功能

对象

相关的例子

更多关于