要创建显式MPC控制器,必须首先设计传统的(隐式)MPC控制器。然后根据传统控制器设计生成显式MPC控制器。
首先为您的应用程序设计传统(隐式)MPC并在模拟中测试。关键注意事项如下:
模型预测控制工具箱™软件目前支持以下作为独立变量显式MPC:万博1manbetx
nxc控制器状态变量(植物,干扰和测量噪声模型状态)。
ny(≥1)输出参考值,其中ny是植物输出变量的数量。
nv(≥0)测量植物干扰信号。
因此,在创建显式MPC控制器之前,必须修复大多数MPC设计参数。固定参数包括预测模型(植物、干扰和测量噪声)、尺度因子、视界、惩罚权重、操纵变量目标和约束边界。
有关设计传统MPC控制器的信息,请参阅控制器创建.
有关调整传统MPC控制器的信息,请参阅细化.
不支持参考和测量扰动预览。万博1manbetx在每个控制间隔,电流ny参考和nv测量的扰动信号适用于整个预测地平线。
要限制显式MPC所需的区域数,仅包括基本限制。
当包括操纵变量(MV)上的约束时,使用短控制范围或MV阻塞。看选择样本时间和视野.
避免对植物产量的限制。如果这样的约束是必要的,考虑对选定的预测视界步骤施加它,而不是对整个预测视界。
为每个人建立上下界限nx=nxc+ny+nv独立变量。你可能知道一些先验的界限。但是,您必须运行至少记录nxc当系统运行超出预期条件范围时,控制器状态。重要的是不要低估这个范围,因为明确的MPC控制函数不是为范围之外的自变量定义的。
有关指定界限的信息,请参阅generateExplicitRange
.
有关模拟传统MPC控制器的信息,请参阅模拟.
给定恒定的MPC设计参数nx对照法的独立变量上限和下限,即,
的generateexplicitmpc.
命令决定nr地区。这些区域中的每一个由不等式约束和相应的控制法常数定义:
的explicitMPC
对象包含常量H我,K我,F我, 和G我对于每个地区。显式MPC控制器对象还保存原始(隐式)设计和独立变量边界。只要x(k)保持在指定的范围内,并保留所有nr区域,显式MPC对象提供相同的最佳MV调整,u(k),作为等价的隐式MPC对象。
即使是一个相对简单的显式MPC控制器也可能需要许多区域(nr>> 100)完全表征QP解决方案。如果区域的数量很大,请考虑以下内容:
在运行期间,对于给定的x(k),显式MPC控制器执行以下步骤:
验证那个x(k)满足指定的界限,xl≤x (k)≤xu.如果不是,则控制器返回错误状态和集合u(k) =u(k1)。
从地区我= 1,逐个测试区域以确定是否x(k)属于。如果H我x(k)≤K我,然后x(k)属于区域我.如果x(k)属于区域我,然后是控制器:
获得F我和G我从内存,并计算u(k) =F我x(k)+G我.
通过返回状态代码和索引来表示成功完成我.
返回而不测试其余区域。
如果x(k)不属于地区我控制器:
计算违规术语v我的最大(正)分量(H我x(k) -K我)。
如果v我这是最低限度的违规吗x(k),控制器设置j=我和套装v最小值=v我.
然后控制器递增我并测试下一个地区。
如果所有区域都经过了测试x(k)不属于任何区域(例如,由于数值精度问题),控制器:
获得Fj和Gj从内存,并计算u(k) =Fjx(k)+Gj.
设置状态以指示次优解决方案并返回。
因此,每个控制区间的最大计算时间是测试每个区域,计算每种情况的违规项,然后计算次最优控制调整所需的时间。
您可以使用该命令行模拟sim卡
或者mpcmoveexplict.
命令。
你可以使用显式MPC控制器块连接显式MPC到在Simulink中建模的工厂万博1manbetx®.
[1] A. Bemporad,M. Morari,V. Dua和E.N.pistikopoulos,“限制系统的明确线性二次调节器”自动化,卷。38,不。1,pp。3-20,2002。
[2] A. Bemporad,“一种基于非负值最小二乘的多边形计算的多参数二次编程算法,2014年,提交了发布。
generateexplicitmpc.
|mpcmoveexplict.
|显式MPC控制器