generateExplicitMPC

将隐式MPC控制器转换为显式MPC控制器

描述

将传统的隐式模型预测控制器设计转化为显式模型预测控制器,以适应需要快速采样时间的实时应用。

例子

EMPCobj= generateExplicitMPC (MPCobj范围使用指定的参数边界,将传统(隐式)MPC控制器转换为等效的显式MPC控制器。这种计算通常需要大量的计算量,因为在转换过程中要解决多参数二次规划问题。

例子

EMPCobj= generateExplicitMPC (MPCobj范围选择转换MPC控制器使用额外的优化选项。

例子

全部折叠

在传统MPC控制器的基础上,为双集成商装置生成显式MPC控制器。

定义双积分器工厂。

Plant = tf(1,[1 0 0]);

为该工厂创建一个传统的(隐式)MPC控制器,采样时间为0.1,预测水平为10,控制水平为3。

Ts = 0.1;P = 10;M = 3;MPCobj = mpc(plant,Ts,p,m);
- - - >“权重。“mpc”对象的“ManipulatedVariables”属性为空。假设默认值为0.00000。- - - >“权重。“mpc”对象的“ManipulatedVariablesRate”属性为空。假设默认值为0.10000。- - - >“权重。“mpc”对象的OutputVariables属性为空。假设默认值为100000。

要生成显式MPC控制器,必须指定参数范围,如状态值和被操纵变量。为此,生成一个范围结构。然后,将结构中的值修改为所需的参数范围。

range = generateExplicitRange(MPCobj);
——>转换“模型”。将“mpc”对象的“属性”植入状态空间。——>将模型转换为离散时间。假设没有干扰添加到测量输出通道#1。——>”模式。“mpc”对象的“噪声”属性为空。假设每个测量输出通道存在白噪声。
range.State.Min(:) = [-10;-10];range.State.Max(:) = [10;10];range.Reference.Min = -2;range.Reference.Max = 2;range.ManipulatedVariable.Min = -1.1;range.ManipulatedVariable.Max = 1.1;

采用更稳健的约简方法进行计算。使用generateExplicitOptions要创建默认选项集,然后修改polyreduction选择。

opt = generateExplicitOptions(MPCobj);Opt.polyreduction = 1;

生成显式MPC控制器。

EMPCobj = generateExplicitMPC(MPCobj,range,opt)
明确的MPC控制器  --------------------------------------------- 控制器样品时间:0.1(秒)多面区域:1参数的数量:4解决方案简化:没有状态估计:默认卡尔曼增益  --------------------------------------------- “EMPCobj类型。MPC'为原始隐式MPC设计。“EMPCobj类型。范围' for the valid range of parameters. Type 'EMPCobj.OptimizationOptions' for the options used in multi-parametric QP computation. Type 'EMPCobj.PiecewiseAffineSolution' for regions and gain in each solution.

输入参数

全部折叠

传统的MPC控制器,指定为货币政策委员会对象

类创建的结构指定参数边界generateExplicitRange命令。该结构指定了显式MPC控制律所依赖的参数的界限,例如状态值、测量的干扰和被操纵的变量。有关范围参数的详细说明,请参见generateExplicitRange

方法创建的结构中指定的转换计算的优化选项generateExplicitOptions函数。有关这些选项的详细说明,请参见generateExplicitOptions

输出参数

全部折叠

显式MPC控制器,相当于输入的传统控制器,作为一个返回explicitMPC对象。

财产 描述
货币政策委员会 传统(隐式)控制器对象用于生成显式MPC控制器。创建这个MPC控制器使用的是货币政策委员会命令。的第一个参数generateExplicitMPC当您创建显式MPC控制器时。
范围 包含用于生成显式MPC控制器的参数边界的一维结构。这些决定了控制器的有效工作范围。属性自动填充此属性范围输入参数generateExplicitMPC当您创建显式MPC控制器时。看到generateExplicitRange有关此结构的详细信息。
OptimizationOptions 包含用于生成显式MPC控制器的用户可修改选项的1-D结构。属性自动填充此属性选择参数generateExplicitMPC当您创建显式MPC控制器时。看到generateExplicitOptions有关此结构的详细信息。
PiecewiseAffineSolution nr-维结构,其中nr为表示控制律所需的分段仿射(PWA)区域的个数。的元素包含计算最优操纵变量所需的详细信息地区。看到实现
IsSimplified 逻辑开关,指示显式控制律是否已使用简化命令,使显式控制律近似于基本(隐式)MPC控制器。如果控制律未被修改,则显式控制器应准确地再现基本控制器的行为,前提是两者都在由范围财产。

提示

  • 使用显式MPC,您将最有可能在小型控制问题中获得最佳性能,这些问题涉及少量的植物输入/输出/状态以及约束的数量。

  • 在尝试转换之前彻底测试隐式控制器。这有助于确定控制器状态的范围和生成显式控制器所需的其他参数。

  • 方法模拟显式控制器的性能sim卡mpcmoveExplicit命令,或显式MPC控制器Simulink中金宝app的块®

  • generateExplicitMPC在命令窗口中显示进度消息。使用mpcverbosity关闭显示器。

在R2014b中引入