主要内容

为明确MPC设计工作流

创建一个显式的MPC控制器,首先必须设计一个传统(隐性)MPC控制器。然后生成一个显式的MPC控制器基于传统的控制器设计。

传统的(隐性)MPC设计

首先设计一个传统(隐性)MPC为您的应用程序在模拟和测试它。主要注意事项如下:

  • 明确MPC控制律产生的模型预测控制工具箱™软件是这样的操纵变量向量分段函数以下变量:

    • nxc控制器状态变量(植物、干扰和测量噪声模型状态)。

    • ny(≥1)输出参考价值,ny是植物输出变量的数量。

    • nv(≥0)测量植物干扰信号。

    因此,您必须解决所有其他MPC设计参数创建一个明确的MPC控制器前特定的值。固定参数包括预测模型(植物、干扰和测量噪声),规模因素,视野,惩罚权重,被控变量指标,并约束边界。

    设计传统的MPC控制器的信息,请参阅控制器创建

    优化传统的MPC控制器的信息,看到细化

  • 参考和测量扰动不支持预览为显式的MPC。万博1manbetx在每个控制区间,电流ny参考和nv测量扰动信号申请整个预测地平线。

  • 限制区域的数量需要显式的MPC,只包括必要的约束。

    • 包括一个约束在一个操纵变量(MV),使用一个简短的控制或MV阻塞。看到选择样本时间和视野,被控变量阻塞

    • 避免限制植物输出。如果这样的约束是至关重要的,可以考虑实施它选择预测地平线的步骤,而不是整个预测地平线。

  • 建立的上下界nx=nxc+ny+nv独立变量。你可能知道其中的一些先天的。但是,你必须至少运行模拟记录nxc控制器状态的系统运行在预期范围的条件。很重要的是,你不要低估这个范围,因为明确MPC控制函数没有定义范围之外的独立变量。

    指定范围的信息,请参阅generateExplicitRange

    模拟传统的MPC控制器的信息,明白了模拟

明确的政策委员会代

鉴于常数MPC和设计参数nx独立变量的上下界控制律,也就是说,

x l x ( k ) x u ,

generateExplicitMPC命令决定nr地区。这些区域被定义为一个不等式约束和相应的控制律常量:

H x ( k ) K , = 1 n r u ( k ) = F x ( k ) + G , = 1 n r

explicitMPC对象包含常量H,K,F,G对于每个地区。显式MPC控制器对象还持有原(隐性)设计和独立变量。只要x(k)保持在指定的范围内,你保留所有nr区域,明确MPC对象提供了相同的最佳MV的调整,u(k),相当于隐含MPC对象。

关于明确MPC详情,请参阅[1]。对细节明确的MPC控制器是如何生成的,看到的[2]

明确的MPC简化

甚至是一个相对简单的显式MPC控制器可能需要许多地区(nr> > 100)的QP完全解决方案。如果区域的数量大,考虑以下:

  • 使用可视化解决方案plotSection命令。

  • 使用简化命令来减少区域的数量。有时,这样做可以减少没有(或可以忽略不计)对控制律的影响最优。例如,对邻近地区可能采用基本相同的FK常量。如果是这样,如果这两个地区的结合形成一个凸集,它们可以合并成一个单一的地区。

    或者,您可以消除相对较小的地区或只保留选择的区域。在操作过程中,只要x(k)保持在指定的范围内,如果电流x(k)不包含在任何的保留区域,明确MPC返回一个次优的u(k),如下:

    u ( k ) = F j x ( k ) + G j

    在这里,j的指数区域的边界约束,Hjx(k)≤Kj至少违反了。详细信息,请参阅下一节。

实现

在操作过程中,对于一个给定的x(k),明确MPC控制器执行以下步骤:

  1. 验证x(k)满足指定的界限,xl≤x (k)≤xu。如果不是,控制器返回一个错误状态,并设置u(k)=u(k1)。

  2. 从地区= 1,测试确定的地区一个接一个x(k)属于。如果Hx(k)≤K,然后x(k)属于区域。如果x(k)属于区域,然后控制器:

    • 获得FG从内存和计算u(k)=Fx(k)+G

    • 信号成功完成,返回一个状态码和索引

    • 返回没有测试剩下的地区。

    如果x(k)不属于区域控制器:

    • 计算违反项v,这是最大的(积极的)组件向量(Hx(k)- - -K)。

    • 如果v至少违反呢x(k),控制器集j=,集v最小值=v

    • 控制器然后增量和测试下一个地区。

  3. 如果测试过所有地区x(k)不属于任何区域(例如,由于数值精度问题),控制器:

    • 获得FjGj从内存和计算u(k)=Fjx(k)+Gj

    • 设置状态指示一个次优的解决方案,并返回。

因此,每个控制的最大计算时间间隔是测试每个区域所需要的时间,计算违反项在每种情况下,然后计算次优控制调整。

模拟

您可以执行命令行模拟使用sim卡mpcmoveExplicit命令。

您可以使用明确的MPC控制器块连接一个显式的MPC的植物建模仿真软件万博1manbetx®

引用

[1]a . Bemporad m·莫拉里诉Dua和“Pistikopoulos”约束的显式线性二次调节器系统”,自动化,38卷,不。1,3,2002页。

”[2]A . Bemporad不确定型多面计算的二次规划算法基于非负最小二乘,”2014年,提交出版。

另请参阅

||

相关的话题