线性输入和输出组合的约束
你可以限制植物输入和输出变量的线性组合。例如,可以将特定的操纵变量(MV)约束为大于其他两个MV的线性组合。
这种约束的一般形式是:
在这里:
为用于约束软化的QP松弛变量。有关更多信息,请参见约束软化.
是操纵变量值,在工程单位。
是预测工厂产量,以工程单位计算。
是测量工厂干扰输入,以工程单元为单位。
,,,,都是常数矩阵和向量。有关更多信息,请参见
setconstraint
.
与QP代价函数一样,使用状态观测器的输出预测使这些约束成为QP决策变量的函数。
要设置MPC控制器的混合输入/输出约束,请使用setconstraint
函数。若要从控制器获取现有约束,请使用getconstraint
.
当使用混合输入/输出约束时,考虑以下因素:
默认情况下,混合输入/输出约束是多维的。
在命令行和Simulink®中支持混合输入/输出约束的运行时更新。金宝app金宝app有关更多信息,请参见在运行时更新约束.
中不支持使用混合输入/输出约束金宝appMPC设计师.
作为一个例子,考虑一个MPC控制器的双积分器工厂与混合输入/输出约束。
创建初始MPC控制器
MPC控制器的基本设置包括:
采用双积分器作为预测模型
预测水平20
控制水平20
输入约束:
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:
要施加这种组合(混合)I/O约束,请将其表述为一组不等式约束,包括而且.
方法定义这些约束setconstraint
函数,将约束常数设置如下:
setconstraint (mpcobj [1; 1], [1; 1], [1.2; 0]);
模拟控制器
在Simulink中模拟线性植物模型的闭环控制。金宝app控制器mpcobj
在MPC Controller块中指定。
mdl =“mpc_mixedconstraints”;open_system (mdl) sim (mdl)
——>转换“模型”。属性到状态空间。——>转换模型到离散时间。假设对测量输出#1没有扰动。——>”模型。“噪音”是空的。假设每个测量输出都有白噪声。
MPC控制器保持总和在0到1.2之间跟踪参考信号,.
bdclose (mdl)