主要内容

显式MPC的设计工作流

要创建显式MPC控制器,必须先设计传统(隐式)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生成

鉴于恒定的MPC设计参数和NX控制律自变量的上下界,即,

X L. ≤. X K. ≤. X

generateExplicitMPC命令确定NR.地区。每个区域由一个不等式约束和相应的控制律常数定义:

H 一世 X K. ≤. K. 一世 一世 = 1 N R. K. = F 一世 X K. + G 一世 一世 = 1 N R.

SexpicicMPC.对象包含常量H一世K.一世F一世,G一世对于每个地区。显式MPC控制器对象还包含原始(隐式)的设计和独立变量界限。只要XK.)留在指定的范围内,您保留所有NR.区域,显式MPC对象提供相同的最佳MV调整,K.),作为等效的隐式MPC对象。

有关显式MPC的详细信息,请参阅[1].关于MPC控制器是如何生成的,请参见[2]

明确的MPC简化

即使是一个相对简单的显式MPC控制器也可能需要很多地区(NR.>> 100)来完全表征QP溶液。如果区域数量大,考虑以下情况:

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

  • 使用简化命令,减少区域数量。有时,这种降低对控制律的最优性没有(或可以忽略)影响。例如,相邻区域对可能使用本质上相同的功能F一世K.一世常数。如果是这样,并且如果两个区域的结合形成凸起集,则它们可以合并到一个区域中。

    或者,您可以消除相对较小的区域或只保留选定的区域。在运行过程中,如果电流XK.)未包含在任何保留区域中,显式MPC返回一个次优K.),如下:

    K. = F j X K. + G j

    这里,j为其边界约束为,HjXK.)≤.K.j,是最不受侵犯的。

实现

操作期间,为一给定XK.),显式MPC控制器执行以下步骤:

  1. 验证XK.)满足指定的范围,XL.≤x(K.)≤.X.如果不是,控制器返回一个错误状态并设置K.)=K.-1)。

  2. 从地区开始一世= 1,一个接一个地测试区域以确定是否XK.)属于。如果H一世XK.)≤.K.一世, 然后XK.)属于地区一世.如果XK.)属于地区一世,然后控制器:

    • 获得F一世G一世从内存,并计算K.)=F一世XK.) +G一世

    • 通过返回状态代码和索引来成功完成一世

    • 返回而不测试剩余区域。

    如果XK.)不属于地区一世,控制器:

    • 计算违例项V.一世,这是载体的最大(正)组件(H一世XK.) - - -K.一世).

    • 如果V.一世是对此的最小违规行为XK.),控制器组j=一世,集V.=V.一世

    • 控制器然后增量一世并测试下一个区域。

  3. 如果所有地区都经过测试和XK.)不属于任何区域(例如,由于数值精确问题),控制器:

    • 获得FjGj从内存,并计算K.)=FjXK.) +Gj

    • 设置状态以指示次优处的解决方案和返回。

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

模拟

控件可以执行命令行模拟SIMmpcmoveExplicit命令。

你可以使用明确的MPC控制器块将显式MPC连接到模拟中建模的工厂万博1manbetx®

参考文献

[1] A. Bemporad, M. Morari, V. Dua, and E.N. Pistikopoulos,“约束系统的显式线性二次调节器”,自动第38卷第2期第1页3-20页,2002。

[2] A. Bemporad,“基于非负最小二乘的多面体计算多参数二次规划算法”,2014,已提交出版。

也可以看看

||

相关的话题