主要内容

为显式MPC设计工作流

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

传统(隐式)MPC设计

首先为您的应用程序设计一个传统的(隐式)MPC,并在模拟中测试它。主要考虑事项如下:

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

    • nxc控制器状态变量(设备、扰动和测量噪声模型状态)。

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

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

    因此,在创建显式MPC控制器之前,必须将所有其他MPC设计参数固定为特定的值。固定参数包括预测模型(设备、扰动和测量噪声)、尺度因子、视界、惩罚权重、操纵可变目标和约束边界。

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

    有关调优传统MPC控制器的信息,请参见细化

  • 显式MPC不支持参考和测量扰动预览。金宝app在每个控制间隔,电流ny参考和nv测量的扰动信号适用于整个预测范围。

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

    • 当对操纵变量(MV)包含约束时,使用短控制水平或MV阻塞。看到选择采样时间和范围,操纵变量阻塞

    • 避免对工厂产量的限制。如果这样的约束是必要的,考虑将其强加于选定的预测水平步骤,而不是整个预测水平。

  • 为每个变量建立上界和下界nxnxc+ny+nv独立变量。你可能知道一些先验的边界。但是,您必须运行至少记录的模拟nxc当系统在预期条件范围内运行时,控制器处于状态。重要的是不要低估这个范围,因为在这个范围之外的自变量没有明确的MPC控制函数。

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

    有关模拟传统MPC控制器的信息,请参见模拟

显式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对象包含常量HKF,G对于每个区域。显式MPC控制器对象还保存原始(隐式)设计和自变量边界。只要xk)保持在指定的范围内,你保留所有nr区域,显式MPC对象提供相同的最佳MV调整,uk),作为等效的隐式MPC对象。

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

显式MPC简化

即使是相对简单的显式MPC控制器也可能需要许多区域(nr>> 100)完全表征QP溶液。如果区域数量较多,可以考虑以下几点:

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

  • 使用简化命令减少区域数量。有时,这种减少对控制律最优性没有(或可以忽略不计)影响。例如,相邻区域对可能使用本质上相同的方法F而且K常量。如果是这样,并且两个区域的并集形成凸集,则可以将它们合并为单个区域。

    或者,您可以删除相对较小的区域或只保留选定的区域。操作期间,只要xk)保持在指定的范围内,如果当前xk)不包含在任何保留区域中,显式MPC返回次优uk),详情如下:

    u k F j x k + G j

    在这里,j为其边界约束为,Hjxk)≤Kj,是最不受侵犯的。有关详细信息,请参阅下面的部分。

实现

在操作过程中,对于给定的xk),显式MPC控制器执行以下步骤:

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

  2. 从区域开始= 1时,逐个测试区域,判断是否xk)属于。如果Hxk)≤K,然后xk)属于地区.如果xk)属于地区,则控制器:

    • 获得F而且G从记忆,并计算uk) =Fxk) +G

    • 通过返回状态码和索引来表示成功完成

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

    如果xk)不属于该地区,控制器:

    • 计算违例项v的最大(正)分量。Hxk) - - -K).

    • 如果v这是最低限度的违规吗xk),控制器设置j,和集合v最小值v

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

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

    • 获得Fj而且Gj从记忆,并计算uk) =Fjxk) +Gj

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

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

模拟

方法执行命令行模拟sim卡mpcmoveExplicit命令。

您可以使用显式MPC控制器块将显式MPC连接到Simulink中建模的植物金宝app®

参考文献

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

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

另请参阅

||

相关的话题