为明确MPC设计工作流
创建一个显式的MPC控制器,首先必须设计一个传统(隐性)MPC控制器。然后生成一个显式的MPC控制器基于传统的控制器设计。
传统的(隐性)MPC设计
首先设计一个传统(隐性)MPC为您的应用程序在模拟和测试它。主要注意事项如下:
明确MPC控制律产生的模型预测控制工具箱™软件是这样的操纵变量向量分段函数以下变量:
nxc控制器状态变量(植物、干扰和测量噪声模型状态)。
ny(≥1)输出参考价值,ny是植物输出变量的数量。
nv(≥0)测量植物干扰信号。
因此,您必须解决所有其他MPC设计参数创建一个明确的MPC控制器前特定的值。固定参数包括预测模型(植物、干扰和测量噪声),规模因素,视野,惩罚权重,被控变量指标,并约束边界。
设计传统的MPC控制器的信息,请参阅控制器创建。
优化传统的MPC控制器的信息,看到细化。
参考和测量扰动不支持预览为显式的MPC。万博1manbetx在每个控制区间,电流ny参考和nv测量扰动信号申请整个预测地平线。
限制区域的数量需要显式的MPC,只包括必要的约束。
建立的上下界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简化
甚至是一个相对简单的显式MPC控制器可能需要许多地区(nr> > 100)的QP完全解决方案。如果区域的数量大,考虑以下:
使用可视化解决方案
plotSection
命令。使用
简化
命令来减少区域的数量。有时,这样做可以减少没有(或可以忽略不计)对控制律的影响最优。例如,对邻近地区可能采用基本相同的F我和K我常量。如果是这样,如果这两个地区的结合形成一个凸集,它们可以合并成一个单一的地区。或者,您可以消除相对较小的地区或只保留选择的区域。在操作过程中,只要x(k)保持在指定的范围内,如果电流x(k)不包含在任何的保留区域,明确MPC返回一个次优的u(k),如下:
在这里,j的指数区域的边界约束,Hjx(k)≤Kj至少违反了。详细信息,请参阅下一节。
实现
在操作过程中,对于一个给定的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卡
或mpcmoveExplicit
命令。
您可以使用明确的MPC控制器块连接一个显式的MPC的植物建模仿真软件万博1manbetx®。
引用
[1]a . Bemporad m·莫拉里诉Dua和“Pistikopoulos”约束的显式线性二次调节器系统”,自动化,38卷,不。1,3,2002页。
”[2]A . Bemporad不确定型多面计算的二次规划算法基于非负最小二乘,”2014年,提交出版。
另请参阅
generateExplicitMPC
|mpcmoveExplicit
|明确的MPC控制器