要创建显式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控制功能。
有关指定边界的信息,请参见生成explicitrange.
.
有关模拟传统MPC控制器的信息,请参阅模拟.
鉴于恒定的MPC设计参数和NX控制律自变量的上下界,即,
这generateExplicitMPC
命令确定NR.地区。每个区域由一个不等式约束和相应的控制律常数定义:
这SexpicicMPC.
对象包含常量H一世那K.一世那F一世,G一世对于每个地区。显式MPC控制器对象还包含原始(隐式)的设计和独立变量界限。只要X(K.)留在指定的范围内,您保留所有NR.区域,显式MPC对象提供相同的最佳MV调整,你(K.),作为等效的隐式MPC对象。
即使是一个相对简单的显式MPC控制器也可能需要很多地区(NR.>> 100)来完全表征QP溶液。如果区域数量大,考虑以下情况:
使用该解决方案可视化plotSection
命令。
使用简化
命令,减少区域数量。有时,这种降低对控制律的最优性没有(或可以忽略)影响。例如,相邻区域对可能使用本质上相同的功能F一世和K.一世常数。如果是这样,并且如果两个区域的结合形成凸起集,则它们可以合并到一个区域中。
或者,您可以消除相对较小的区域或只保留选定的区域。在运行过程中,如果电流X(K.)未包含在任何保留区域中,显式MPC返回一个次优你(K.),如下:
这里,j为其边界约束为,HjX(K.)≤.K.j,是最不受侵犯的。
操作期间,为一给定X(K.),显式MPC控制器执行以下步骤:
验证X(K.)满足指定的范围,XL.≤x(K.)≤.X你.如果不是,控制器返回一个错误状态并设置你(K.)=你(K.-1)。
从地区开始一世= 1,一个接一个地测试区域以确定是否X(K.)属于。如果H一世X(K.)≤.K.一世, 然后X(K.)属于地区一世.如果X(K.)属于地区一世,然后控制器:
获得F一世和G一世从内存,并计算你(K.)=F一世X(K.) +G一世.
通过返回状态代码和索引来成功完成一世.
返回而不测试剩余区域。
如果X(K.)不属于地区一世,控制器:
计算违例项V.一世,这是载体的最大(正)组件(H一世X(K.) - - -K.一世).
如果V.一世是对此的最小违规行为X(K.),控制器组j=一世,集V.闵=V.一世.
控制器然后增量一世并测试下一个区域。
如果所有地区都经过测试和X(K.)不属于任何区域(例如,由于数值精确问题),控制器:
获得Fj和Gj从内存,并计算你(K.)=FjX(K.) +Gj.
设置状态以指示次优处的解决方案和返回。
因此,每个控制间隔的最大计算时间是测试每个区域所需的时间,在每种情况下计算违规项,然后计算次优控制调整。
控件可以执行命令行模拟SIM
或mpcmoveExplicit
命令。
你可以使用明确的MPC控制器块将显式MPC连接到模拟中建模的工厂万博1manbetx®.
[1] A. Bemporad, M. Morari, V. Dua, and E.N. Pistikopoulos,“约束系统的显式线性二次调节器”,自动第38卷第2期第1页3-20页,2002。
[2] A. Bemporad,“基于非负最小二乘的多面体计算多参数二次规划算法”,2014,已提交出版。
明确的MPC控制器|generateExplicitMPC
|mpcmoveExplicit