主要内容

显式MPC的设计工作流程

To create an explicit MPC controller, you must first design a traditional (implicit) MPC controller. You then generate an explicit MPC controller based on the traditional controller design.

传统(隐性)MPC设计

首先为您的应用程序设计传统(隐式)MPC,并在模拟中对其进行测试。主要考虑因素如下:

  • The Model Predictive Control Toolbox™ software currently supports the following as independent variables for explicit MPC:

    • nxc控制器状态变量(工厂,干扰和测量噪声模型状态)。

    • ny(≥ 1) output reference values, whereny是植物输出变量的数量。

    • nv(≥0)测量的植物障碍信号。

    Thus, you must fix most MPC design parameters before creating an explicit MPC controller. Fixed parameters include prediction models (plant, disturbance and measurement noise), scale factors, horizons, penalty weights, manipulated variable targets, and constraint bounds.

    For information about designing a traditional MPC controller, seeController Creation

    For information about tuning traditional MPC controllers, see精致

  • Reference and measured disturbance previewing are not supported. At each control interval, the currentnyreference andnv测量的干扰信号适用于整个预测范围。

  • 为了限制明确MPC所需的区域数量,仅包括基本约束。

    • 在对操纵变量(MV)上包含约束时,请使用短控制范围或MV阻塞。看Choose Sample Time and Horizons

    • Avoid constraints on plant outputs. If such a constraint is essential, consider imposing it for selected prediction horizon steps rather than the entire prediction horizon.

  • 为每一个建立上限和下限nx=nxc+ny+nv自变量。您可能会先验地知道其中一些范围。但是,您必须运行至少记录的模拟nxccontroller states as the system operates over the range of expected conditions. It is important that you do not underestimate this range, because the explicit MPC control function is not defined for independent variables outside the range.

    有关指定界限的信息,请参见generateExplicitRange

    For information about simulating a traditional MPC controller, see模拟

Explicit MPC Generation

Given the constant MPC design parameters and thenx控制法的自变量上的上限和下限,即

x l x ( k ) x u ,

the生成ExplicitMpccommand determinesnr地区。这些区域中的每一个都由不平等约束和相应的控制法常数定义:

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

TheexplicitMPC对象包含常数Hi,Ki,Fi, 和Gifor each region. The Explicit MPC Controller object also holds the original (implicit) design and independent variable bounds. As long asx(k) stays within the specified bounds and you retain allnrregions, the explicit MPC object provides the same optimal MV adjustments,u(k), as the equivalent implicit MPC object.

对细节explicit MPC, see[1]。有关如何生成显式MPC控制器的详细信息,请参见[2]

显式MPC简化

Even a relatively simple explicit MPC controller might require many regions (nr>> 100)完全表征QP解决方案。如果区域数量较大,请考虑以下内容:

  • Visualize the solution using thecommand.

  • Use the简化命令减少区域数量。有时,可以通过对控制法律最优性的影响(或微不足道)进行减少。例如,相邻区域对基本相同FiKiconstants. If so, and if the union of the two regions forms a convex set, they can be merged into a single region.

    另外,您可以消除相对较小的区域或仅保留选定的区域。在操作过程中,如果电流x(k) is not contained in any of the retained regions, the explicit MPC returns a suboptimalu(k), 如下:

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

    Here,j是边界约束的区域的索引Hjx(k) ≤Kj,最少侵犯。

执行

在操作过程中,给定x(k), the explicit MPC controller performs the following steps:

  1. 验证这一点x(k) satisfies the specified bounds,xl≤ x(k) ≤xu。如果没有,控制器将返回错误状态并设置u(k) =u(k–1).

  2. Beginning with regioni= 1, tests the regions one by one to determine whetherx(k) belongs. IfHix(k) ≤Ki, thenx(k) belongs to regioni。如果x(k) belongs to regioni, then the controller:

    • ObtainsFiGifrom memory, and computesu(k) =Fix(k) +Gi

    • Signals successful completion, by returning a status code and the indexi

    • Returns without testing the remaining regions.

    如果x(k)不属于地区i, the controller:

    • 计算违规术语vi, which is the largest (positive) component of the vector (Hix(k) -Ki)。

    • 如果viis the minimum violation for thisx(k), the controller setsj=i和设置vmin=vi

    • The controller then incrementsi并测试下一个区域。

  3. 如果all regions have been tested andx(k) does not belong to any region (for example, due to a numerical precision issue), the controller:

    • ObtainsFjGjfrom memory, and computesu(k) =Fjx(k) +Gj

    • Sets status to indicate a suboptimal solution and returns.

Thus, the maximum computational time per control interval is the time required to test each region, computing the violation term in each case and then calculating the suboptimal control adjustment.

模拟

您可以使用sim或者mpcmovesplicitcommands.

You can use the显式MPC控制器block to connect an explicit MPC to a plant modeled in Simulink®

参考

[1] A. Bemporad,M。Morari,V。Dua和E.N.Pistikopoulos,“受约束系统的显式线性二次调节器”,Automatica,卷。38,不。1,第3–20页,2002年。

[2] A. Bemporad,“一种基于非负最小二乘正方形的多面体计算的多参数二次编程算法”,2014年,提交出版。

看Also

||

相关话题