自适应MPC控制器
模拟自适应时变模型预测控制器
库:
模型预测控制工具箱
描述
的自适应MPC控制器块使用下面的输入信号:
测量装置输出(
莫
)参考或定位点(
裁判
)测量植物干扰(
医学博士
),如果任何
此外,必需的模型
输入信号时指定要使用的预测模型计算最优操纵变量mv
。线性预测模型可以改变在每个控制间隔变化而在运行时真正的植物。预测模型可以表示一个LTI植物用于所有预测步骤(自适应MPC模式)或数组LTI植物对不同预测步骤(时变MPC模式)。两种常见的方法来修改这个模型如下:
给定一个非线性植物模型,线性化在当前的操作点。
使用工厂的数据来估计参数实证linear-time-varying (LTV)模型。
默认情况下,阻止其预测模型的状态估计。由于预测模型参数在运行时改变,静态中使用卡尔曼滤波器MPC控制器块是不合适的。相反,自适应MPC控制器块使用linear-time-varying卡尔曼滤波器(LTVKF)。有关更多信息,请参见自适应政策委员会。
在所有其他方面,自适应MPC控制器块模仿MPC控制器块。包括额外的开销,使用自适应版本MPC控制器块,除非你需要控制非线性植物在范围广泛的操作条件,植物动力学发生显著的变化。
这两个自适应MPC控制器块和多个MPC控制器块让你控制系统在运行时适应不断变化的操作条件。下表列出了使用每一块的优势。
块 | 自适应MPC控制器 | 多个MPC控制器 |
---|---|---|
适应的方法 | 更新预测模型为单个控制器操作条件变化 | 多个控制器设计为不同的操作区域之间切换 |
优势 |
|
|
例子
港口
输入
模型- - - - - -更新工厂模型和名义操作点
总线信号
更新工厂模型和名义操作点,指定为一个总线信号。总线信号模型
轮廓尺寸。在每个控制区间的开始,这个信号修改控制器对象Model.Plant
和Model.Nominal
属性。
的自适应MPC控制器要求工厂模型是一个线性时不变离散时间状态空间对象没有延迟。下面的命令提取了状态矩阵组成的这样一个模型。
[A, B, C, D] = ssdata (mpcobj.Model.Plant)
的目的模型
输入是用新的替换这些矩阵具有相同的尺寸和代表相同的控制区间。您还必须保留的顺序输入,输出和状态变量出现在Model.Plant
控制器的属性。
操作时:
货币政策委员会自适应模式,你连接到总线
模型
尺寸必须包含以下信号,每一个被指定的名称:一个
- - - - - -nx——- - - - - -nx矩阵信号,nx是植物的数量模型。B
- - - - - -nx——- - - - - -nu矩阵信号,nu是植物模型的总数输入(即。,米anipulated variables, measured disturbances, and unmeasured disturbances).C
- - - - - -ny——- - - - - -nx矩阵信号,ny是植物的数量模型输出。D
- - - - - -ny——- - - - - -nu矩阵信号。X
——向量长度的信号nx,更换控制器Model.Nominal.X
财产。Y
——向量长度的信号ny,更换控制器Model.Nominal.Y
财产。U
——向量长度的信号nu,更换控制器Model.Nominal.U
财产。DX
——向量长度的信号nx,更换控制器Model.Nominal.DX
财产。它必须适合使用的离散时间模型假定控制区间。有关更多信息,请参见自适应政策委员会。来计算
DX
值,使用离散时间状态更新功能(f)为您的模型。在这里,uk和xk是各自的输入和当前时间步的状态值。
时变MPC模式下,你连接到总线
模型
尺寸必须包含以下三维总线信号:一个
- - - - - -nx——- - - - - -nx————(p+ 1)矩阵信号B
- - - - - -nx——- - - - - -nu————(p+ 1)矩阵信号C
- - - - - -ny——- - - - - -nx————(p+ 1)D
- - - - - -ny——- - - - - -nu————(p+ 1)矩阵信号X
- - - - - -nx————(p+ 1)矩阵信号Y
- - - - - -ny————(p+ 1)矩阵信号U
- - - - - -nu————(p+ 1)矩阵信号DX
- - - - - -nx————(p+ 1)矩阵信号
在这里,p是控制器预测地平线。对于每一个信号,说明p+ 1的值代表模型和名义条件的每一步预测地平线。有关更多信息,请参见时变MPC。
形成了总线的一个方法是使用总线的创造者(万博1manbetx模型)块。
依赖关系
公共汽车元素的尺寸模型取决于控制器的操作模式。将控制器:
货币政策委员会自适应模式,清除线性时变(LTV)植物参数
时变MPC模式,选择线性时变(LTV)植物参数
裁判- - - - - -参考模型输出值
矩阵行向量|
植物输出参考价值,指定为一个行向量或矩阵信号。
使用相同的参考价值在预测地平线,连接裁判一个行向量的信号NY元素,Ny输出变量的数量。每个元素指定一个输出变量的引用。
不同的引用在预测地平线(预览)k+ 1,k+p,连接裁判一个矩阵信号Ny列和p行。在这里,k当前时间和吗p是预测地平线。每一行包含的引用一个预测地平线的一步。如果你指定不到p行,最后引用用于预测地平线的其余步骤。
莫- - - - - -测量输出
向量
测量输出,指定为一个矢量信号。块使用测量装置输出改善状态估计。如果您的控制器使用默认状态估计,必须测量装置输出连接到莫输入端口。如果你的控制器使用自定义状态估计,你必须连接估计植物状态x (k | k)输入端口。
依赖关系
要启用这个端口,清除使用自定义状态估计,而不是使用内置的卡尔曼滤波器参数。
x (k | k)- - - - - -自定义状态估计
向量
自定义状态估计,指定为一个矢量信号。块使用连接状态估计,而不是估计美国使用内置的估计量。如果您的控制器使用自定义状态估计,必须连接的当前状态估计x (k | k)输入端口。如果您的控制器使用默认状态估计,必须测量的输出连接到莫输入端口。
尽管噪音模型状态(如果有的话)不习惯在MPC优化、自定义状态向量中定义必须包含所有的州mpcstate
对象的控制器,包括植物、干扰和噪声模型。
另一种评估时使用自定义状态估计技术被认为是优于内置的估计或状态完全可测。
依赖关系
要启用这个端口,选择使用自定义状态估计,而不是使用内置的卡尔曼滤波器参数。
医学博士- - - - - -输入
矩阵行向量|
如果你的控制器预测模型测量干扰你必须启用该端口,连接到一个行向量或矩阵信号。
使用相同的测量干扰值预测地平线,连接医学博士一个行向量的信号N医学博士元素,N医学博士是操纵变量的数量。每个元素指定的值测量的干扰。
不同的干扰预测地平线(预览)k时间k+p,连接医学博士一个矩阵信号N医学博士列和p+ 1行。在这里,k当前时间和吗p是预测地平线。每行包含预测地平线一步的干扰。如果你指定不到p+ 1行,最终干扰用于预测地平线的其余步骤。
依赖关系
要启用这个端口,选择测量的干扰参数。
ext.mv- - - - - -控制信号用于工厂之前的控制区间
向量
控制信号用于工厂前面的控制区间,指定为一个向量长度的信号Nmv,在那里Nmv是操纵变量的数量。使用这个输入端口时提高状态估计精度:
你知道你的控制器并不总是控制着植物。
实际的MV信号应用于植物可能不同于控制器所产生的价值,比如在控制信号饱和。
控制器状态估计假设MVs是分段常数。因此,在时间tk,ext.mv值必须包含有效的MVs倍之间tk - 1和tk。例如,如果MVs实际上是在这个区间不同,你可能提供价值评估在定时间tk。
请注意
连接ext.mvMV信号实际应用于植物在前面的控制区间。通常,这些MV信号控制器所产生的价值,尽管这并非总是如此。例如,如果您的控制器脱机和跟踪模式运行(也就是说,控制器输出不是推动工厂),然后喂实际控制信号ext.mv可以帮助实现无扰转移时,控制器将重新上线。
当控制器驱动的工厂,插入一个内存块或单位延迟块反馈MV信号应用于工厂前面的控制区间。这也避免了直接的引线ext.mv尺寸的mv外港,因此防止代数循环模型万博1manbetx®模型。
例如使用外部操纵变量的输入端口无扰转移,明白了与无扰转移开关控制器在线和离线。
依赖关系
要启用这个端口,选择外部操纵变量参数。
开关- - - - - -启用或禁用优化
标量
关掉控制器优化计算,连接开关一个非零的信号。
禁用优化计算减少计算工作当不需要控制器的输出,比如当系统操作手动或另一个控制器接管。然而,控制器继续更新其内部状态估计以通常的方式。因此,只要准备好简历优化计算开关信号返回零。当控制器优化掉,阻止电流通过ext.mv信号控制器的输出。如果ext.mv尺寸不启用,控制器输出值举行优化时禁用。
例如使用外部操纵变量的输入端口无扰转移,明白了与无扰转移开关控制器在线和离线。
依赖关系
要启用这个端口,选择使用外部信号来启用或禁用优化参数。
mv.target- - - - - -被控变量的目标
向量
指定被控变量的目标,使这个输入端口和连接一个矢量信号。让一个给定的被控变量跟踪其指定的目标价值,您还必须指定一个非零调整体重,操纵变量。
提供的mv.target值在运行时应用于预测地平线。
依赖关系
要启用这个端口,选择目标被操纵的变量参数。
ymin- - - - - -最小输出变量约束
向量|矩阵
指定运行时最小输出变量约束,使这个输入端口。如果该端口被禁用,块使用中指定的下界OutputVariables.Min
财产的货币政策委员会
控制器对象。如果一个输出变量没有下界中指定的控制器对象,然后在运行时块忽略相应的连接信号。
改变的范围预测地平线k+ 1,k+p,连接ymin一个矩阵信号Ny列和p行。在这里,Ny是植物的数量输出,k是当前时间,p是预测地平线。每一行包含一个预测地平线的界限一步。如果你指定不到p行,最后一行的界限申请的其余部分预测地平线。如果只有一个输出变量,不超过一个矢量信号p条目连接,然后使用这些条目在预测地平线。
的我
th的列ymin信号对应于我
th工厂产出,取代了OutputVariables .Max(我)
财产的货币政策委员会
在运行时对象。替代行为取决于这两个变量的维度。
标量OutputVariables .Min(我)
在货币政策委员会
对象(一个常数绑定的我
th植物输出用于预测所有步骤)
ymin维 | 替换行为 |
---|---|
标量ymin(单输出,常数绑定) | ymin替换绑定中定义的常数OutputVariables .Min(我) |
列向量ymin(单输出时变约束) | ymin替换绑定中定义的常数OutputVariables .Min(我) 时变约束。 |
行向量ymin(多个输出恒定的范围) | 的我 th元素ymin替换绑定中定义的常数OutputVariables .Min(我) |
矩阵ymin(多个输出时变边界) | 的我 th列ymin替换绑定中定义的常数OutputVariables .Min(我) 时变约束。 |
向量OutputVariables .Min(我)
在货币政策委员会
对象(一个时变的我
th植物有不同的值在不同的预测步骤的输出)
ymin维 | 替换行为 |
---|---|
标量ymin(单输出,常数绑定) | ymin替换第一个有限的进入OutputVariables.Min 和剩余的条目OutputVariables.Min 转变与相同数量的上下位移保留配置文件定义的原始OutputVariables.Min 向量。 |
列向量ymin(单输出时变约束) | ymin取代了时变绑定中定义OutputVariables .Min(我) ,原绑定配置文件就会被丢弃。 |
行向量ymin(多个输出恒定的范围) | 的我 th元素ymin替换第一个有限的进入OutputVariables .Min(我) 和剩余的条目OutputVariables .Min(我) 转变与相同数量的上下位移保留配置文件定义的原始OutputVariables .Min(我) 向量。 |
矩阵ymin(多个输出时变边界)。 | 的我 th列ymin取代了时变绑定中定义OutputVariables .Min(我) ,原绑定配置文件就会被丢弃。 |
依赖关系
要启用这个端口,选择低OV限制参数。
ymax- - - - - -最大输出变量约束
向量|矩阵
指定运行时最大输出变量约束,使这个输入端口。如果该端口被禁用,块使用中指定的上界OutputVariables.Max
财产的货币政策委员会
控制器对象。如果一个输出变量没有控制器对象中指定的上限,然后在运行时块忽略相应的连接信号。
改变的范围预测地平线k+ 1,k+p,连接ymax一个矩阵信号Ny列和p行。在这里,Ny是植物的数量输出,k是当前时间,p是预测地平线。每一行包含一个预测地平线的界限一步。如果你指定不到p行,最后一行的界限申请的其余部分预测地平线。如果只有一个输出变量,不超过一个矢量信号p条目连接,然后使用这些条目在预测地平线。
的我
th的列ymax信号对应于我
th工厂产出,取代了OutputVariables .Max(我)
财产的货币政策委员会
在运行时对象。替代行为取决于这两个变量的维度。
标量OutputVariables .Max(我)
在货币政策委员会
对象(一个常数绑定的我
th植物输出用于预测所有步骤)
ymax维 | 替换行为 |
---|---|
标量ymax(单输出,常数绑定) | ymax替换绑定中定义的常数OutputVariables .Max(我) |
列向量ymax(单输出时变约束) | ymax替换绑定中定义的常数OutputVariables .Max(我) 时变约束。 |
行向量ymax(多个输出恒定的范围) | 的我 th元素ymax替换绑定中定义的常数OutputVariables .Max(我) |
矩阵ymax(多个输出时变边界) | 的我 th列ymax替换绑定中定义的常数OutputVariables .Max(我) 时变约束。 |
向量OutputVariables .Max(我)
在货币政策委员会
对象(一个时变的我
th植物有不同的值在不同的预测步骤的输出)
ymax维 | 替换行为 |
---|---|
标量ymax(单输出,常数绑定) | ymax替换第一个有限的进入OutputVariables.Max 和剩余的条目OutputVariables.Max 转变与相同数量的上下位移保留配置文件定义的原始OutputVariables.Max 向量。 |
列向量ymax(单输出时变约束) | ymax取代了时变绑定中定义OutputVariables .Max(我) ,原绑定配置文件就会被丢弃。 |
行向量ymax(多个输出恒定的范围) | 的我 th元素ymax替换第一个有限的进入OutputVariables .Max(我) 和剩余的条目OutputVariables .Max(我) 转变与相同数量的上下位移保留配置文件定义的原始OutputVariables .Max(我) 向量。 |
矩阵ymax(多个输出时变边界)。 | 的我 th列ymax取代了时变绑定中定义OutputVariables .Max(我) ,原绑定配置文件就会被丢弃。 |
依赖关系
要启用这个端口,选择上层OV限制参数。
umin- - - - - -最小操纵变量约束
向量|矩阵
指定运行时最小操纵变量约束,使这个输入端口。如果该端口被禁用,块使用中指定的下界ManipulatedVariables.Min
财产的货币政策委员会
控制器对象。如果一个操纵变量没有下界中指定的控制器对象,然后在运行时块忽略相应的连接信号。
改变的范围预测地平线k时间k+p1,连接umin一个矩阵信号Nmv列和p行。在这里,Nmv是操纵变量的数量k是当前时间,p是预测地平线。每一行包含一个预测地平线的界限一步。如果你指定不到p行,最后一行的界限申请的其余部分预测地平线。如果只有一个操纵变量,不超过一个矢量信号p条目连接,然后使用这些条目在预测地平线。
的我
th的列umin信号对应于我
th操纵变量,取代了ManipulatedVariables .Max(我)
财产的货币政策委员会
在运行时对象。替代行为取决于这两个变量的维度。
标量ManipulatedVariables .Min(我)
在货币政策委员会
对象(一个常数绑定的我
th操纵变量应用到所有预测步骤)
umin维 | 替换行为 |
---|---|
标量umin(单输出,常数绑定) | umin替换绑定中定义的常数ManipulatedVariables .Min(我) |
列向量umin(单输出时变约束) | umin替换绑定中定义的常数ManipulatedVariables .Min(我) 时变约束。 |
行向量umin(多个输出恒定的范围) | 的我 th元素umin替换绑定中定义的常数ManipulatedVariables .Min(我) |
矩阵umin(多个输出时变边界) | 的我 th列umin替换绑定中定义的常数ManipulatedVariables .Min(我) 时变约束。 |
向量ManipulatedVariables .Min(我)
在货币政策委员会
对象(一个时变的我
th操纵变量不同的值在不同的预测步骤)
umin维 | 替换行为 |
---|---|
标量umin(单输出,常数绑定) | umin替换第一个有限的进入ManipulatedVariables.Min 和剩余的条目ManipulatedVariables.Min 转变与相同数量的上下位移保留配置文件定义的原始ManipulatedVariables.Min 向量。 |
列向量umin(单输出时变约束) | umin取代了时变绑定中定义ManipulatedVariables .Min(我) ,原绑定配置文件就会被丢弃。 |
行向量umin(多个输出恒定的范围) | 的我 th组成部分umin替换第一个有限的进入ManipulatedVariables .Min(我) 和剩余的条目ManipulatedVariables .Min(我) 转变与相同数量的上下位移保留配置文件定义的原始ManipulatedVariables .Min(我) 向量。 |
矩阵umin(多个输出时变边界)。 | 的我 th列umin取代了时变绑定中定义ManipulatedVariables .Min(我) ,原绑定配置文件就会被丢弃。 |
依赖关系
要启用这个端口,选择较低的MV限制参数。
umax- - - - - -最大操纵变量约束
向量|矩阵
指定运行时最大操纵变量约束,使这个输入端口。如果该端口被禁用,块使用中指定的上界ManipulatedVariables.Max
财产的货币政策委员会
控制器对象。如果一个操纵变量没有上界中指定的控制器对象,然后在运行时连接对应的块忽略了信号。
改变的范围预测地平线k时间k+p1,连接umax一个矩阵信号Nmv列和p行。在这里,Nmv是操纵变量的数量k是当前时间,p是预测地平线。每一行包含一个预测地平线的界限一步。如果你指定不到p行,最后一行的界限申请的其余部分预测地平线。如果只有一个操纵变量,不超过一个矢量信号p条目连接,然后使用这些条目在预测地平线。
的我
th的列umax信号对应于我
th操纵变量,取代了ManipulatedVariables .Max(我)
财产的货币政策委员会
在运行时对象。替代行为取决于这两个变量的维度。
标量ManipulatedVariables .Max(我)
在货币政策委员会
对象(一个常数绑定的我
th操纵变量应用到所有预测步骤)
umax维 | 替换行为 |
---|---|
标量umax(单输出,常数绑定) | umax替换绑定中定义的常数ManipulatedVariables .Max(我) |
列向量umax(单输出时变约束) | umax替换绑定中定义的常数ManipulatedVariables .Max(我) 时变约束。 |
行向量umax(多个输出恒定的范围) | 的我 th元素umax替换绑定中定义的常数ManipulatedVariables .Max(我) |
矩阵umax(多个输出时变边界) | 的我 th列umax替换绑定中定义的常数ManipulatedVariables .Max(我) 时变约束。 |
向量ManipulatedVariables .Max(我)
在货币政策委员会
对象(一个时变的我
th操纵变量不同的值在不同的预测步骤)
umax维 | 替换行为 |
---|---|
标量umax(单输出,常数绑定) | umax替换第一个有限的进入ManipulatedVariables.Max 和剩余的条目ManipulatedVariables.Max 转变与相同数量的上下位移保留配置文件定义的原始ManipulatedVariables.Max 向量。 |
列向量umax(单输出时变约束) | umax取代了时变绑定中定义ManipulatedVariables .Max(我) ,原绑定配置文件就会被丢弃。 |
行向量umax(多个输出恒定的范围) | 的我 th元素umax替换第一个有限的进入ManipulatedVariables .Max(我) 和剩余的条目ManipulatedVariables .Max(我) 转变与相同数量的上下位移保留配置文件定义的原始ManipulatedVariables .Max(我) 向量。 |
矩阵umax(多个输出时变边界)。 | 的我 th列umax取代了时变绑定中定义ManipulatedVariables .Max(我) ,原绑定配置文件就会被丢弃。 |
依赖关系
要启用这个端口,选择上层MV限制参数。
E- - - - - -被控变量约束矩阵
矩阵
被控变量约束矩阵,作为指定Nc——- - - - - -Nmv矩阵信号,Nc是混合输入/输出的数量限制和Nmv是操纵变量的数量。
如果您定义E
在货币政策委员会
对象,你必须连接一个信号E输入端口。否则,连接一个零矩阵与正确的大小。
指定运行时混合输入/输出约束,使用E随着输入端口F,G,年代港口。这些约束取代混合输入/输出约束之前设置使用setconstraint
。在混合输入/输出限制的更多信息,见限制输入和输出的线性组合。
混合输入/输出的数量限制在运行时不能改变。因此,Nc必须匹配的行数E
矩阵指定使用setconstraint
。
依赖关系
要启用这个端口,选择自定义约束参数。
F- - - - - -控制输出约束矩阵
矩阵
控制输出约束矩阵,作为指定Nc——- - - - - -Ny矩阵信号,Nc是混合输入/输出的数量限制和Ny是植物的数量输出。如果您定义F
在货币政策委员会
对象,你必须连接一个信号F输入端口与相同数量的行。否则,连接一个零矩阵与正确的大小。
指定运行时混合输入/输出约束,使用F随着输入端口E,G,年代港口。这些约束取代混合输入/输出约束之前设置使用setconstraint
。在混合输入/输出限制的更多信息,见限制输入和输出的线性组合。
混合输入/输出的数量限制在运行时不能改变。因此,Nc必须匹配的行数F
矩阵指定使用setconstraint
。
依赖关系
要启用这个端口,选择自定义约束参数。
G- - - - - -自定义约束向量
行向量
自定义约束向量,指定为一个行向量长度的信号Nc,在那里Nc是混合输入/输出的数量限制。如果您定义G
在货币政策委员会
对象,你必须连接一个信号G输入端口与相同数量的行。否则,连接一个零矩阵与正确的大小。
指定运行时混合输入/输出约束,使用G随着输入端口E,F,年代港口。这些约束取代混合输入/输出约束之前设置使用setconstraint
。在混合输入/输出限制的更多信息,见限制输入和输出的线性组合。
混合输入/输出的数量限制在运行时不能改变。因此,Nc必须匹配的行数G
矩阵指定使用setconstraint
。
依赖关系
要启用这个端口,选择自定义约束参数。
年代- - - - - -测量扰动约束矩阵
矩阵
测量扰动约束矩阵,作为指定Nc——- - - - - -nN矩阵信号,Nc是混合输入/输出的数量限制,然后呢Nv是测量扰动的数量。如果您定义年代
在货币政策委员会
对象,你必须连接一个信号年代输入端口与相同数量的行。否则,连接一个零矩阵与正确的大小。
指定运行时混合输入/输出约束,使用年代随着输入端口E,F,G港口。这些约束取代混合输入/输出约束之前设置使用setconstraint
。在混合输入/输出限制的更多信息,见限制输入和输出的线性组合。
混合输入/输出的数量限制在运行时不能改变。因此,Nc必须匹配的行数G
矩阵指定使用setconstraint
。
依赖关系
要启用这个端口,选择自定义约束参数。这个端口添加只有货币政策委员会
对象有测量的干扰。
y.wt- - - - - -输出变量调整权重
矩阵行向量|
指定运行时输出变量优化权重,使这个输入端口。如果该端口被禁用,块使用优化权重中指定Weights.OutputVariables
它的控制器对象的属性。这些调优权重惩罚偏离参考输出。
如果MPC控制器对象使用恒定的输出调优权重预测地平线,你可以在运行时指定只有恒定输出调整权重。类似地,如果MPC控制器对象使用不同的输出调优权重预测地平线,你可以在运行时指定只有时变输出调整权重
使用常数优化权重预测地平线,连接y.wt一个行向量的信号Ny元素,Ny是输出的数量。每个元素指定一个输出变量非负调优的体重。指定优化权值的更多信息,请参阅调整权重。
不同的调优权重预测地平线k+ 1,k+p,连接y.wt一个矩阵信号Ny列和p行。在这里,k当前时间和吗p是预测地平线。每行包含一个预测地平线步骤的优化权重。如果你指定不到p行,优化权重,最后行申请剩下的预测地平线。更多信息在不同权重预测地平线,明白了时变权重设置和约束与MPC设计师。
依赖关系
要启用这个端口,选择OV权重参数。
u.wt- - - - - -被控变量优化权重
矩阵行向量|
指定运行时被控变量优化权重,使这个输入端口。如果该端口被禁用,块使用优化权重中指定Weights.ManipulatedVariables
它的控制器对象的属性。这些调优权重惩罚偏离MV的目标。
如果MPC控制器对象使用常数被控变量优化权重预测地平线,您可以指定只有不断的被控变量在运行时优化权重。类似地,如果MPC控制器对象使用不同的被控变量优化权重预测地平线,您可以指定只有时变操纵变量在运行时优化权重。
使用相同的调优权重预测地平线,连接u.wt一个行向量的信号Nmv元素,Nmv是操纵变量的数量。每个元素指定为被控变量非负调优的体重。指定优化权值的更多信息,请参阅调整权重。
不同的调优权重预测地平线k时间k+p1,连接u.wt一个矩阵信号Nmv列和p行。在这里,k当前时间和吗p是预测地平线。每行包含一个预测地平线步骤的优化权重。如果你指定不到p行,优化权重,最后行申请剩下的预测地平线。更多信息在不同权重预测地平线,明白了时变权重设置和约束与MPC设计师。
依赖关系
要启用这个端口,选择MV权重参数。
du.wt- - - - - -被控变量率优化权重
矩阵行向量|
指定运行时被控变量率优化权重,使这个输入端口。如果该端口被禁用,块使用优化权重中指定Weights.ManipulatedVariablesRate
它的控制器对象的属性。这些调优权重惩罚大变化的控制动作。
如果MPC控制器对象使用常数控制可变利率调整权重预测地平线,您可以指定只有不断的被控变量在运行时优化率权重。同样,如果MPC控制器对象使用操纵可变利率调整权重变化预测地平线,您可以指定只有时变操纵变量率在运行时优化权重。
使用相同的调优权重预测地平线,连接du.wt一个行向量的信号Nmv元素,Nmv是操纵变量的数量。每个元素指定为被控变量非负调优的体重率。指定优化权值的更多信息,请参阅调整权重。
不同的调优权重预测地平线k时间k+p1,连接du.wt一个矩阵信号Nmv列和p行。在这里,k当前时间和吗p是预测地平线。每行包含一个预测地平线步骤的优化权重。如果你指定不到p行,优化权重,最后行申请剩下的预测地平线。更多信息在不同权重预测地平线,明白了时变权重设置和约束与MPC设计师。
依赖关系
要启用这个端口,选择MVRate权重参数。
ecr.wt- - - - - -松弛变量优化重量
标量
指定运行时松弛变量优化重量,使这个输入端口和连接一个标量信号。如果该端口被禁用,块使用调优中指定的重量Weights.ECR
它的控制器对象的属性。
松弛变量优化重量没有影响,除非你的控制器对象定义的软约束关联ECR值非零。如果有软约束,增加了ecr.wt价值使得这些约束相对困难。控制器然后地方优先减少预测最坏的大小约束违反。
依赖关系
要启用这个端口,选择ECR重量参数。
p- - - - - -预测地平线
正整数
预测地平线,指定为正整数信号。预测地平线信号值必须小于或等于最大预测地平线参数。
在运行时的值p
覆盖默认的控制器对象中指定预测地平线。有关更多信息,请参见在运行时调整视野。
依赖关系
要启用这个端口,选择在运行时调整预测层和控制层参数。
输出
mv- - - - - -最优操纵变量控制行动
列向量
最优操纵变量控制动作,输出为一个列向量长度的信号Nmv,在那里Nmv是操纵变量的数量。
如果解决收敛于局部最优的解决方案(qp.status是积极的),然后呢mv包含最优解。
如果解决失败(qp.status是负的),然后呢mv仍然在其最近的成功解决方案;控制器输出冻结。
如果解算器达到最大迭代次数没有找到一个最佳的解决方案(qp.status是零)和Optimization.UseSuboptimalSolution
控制器的属性是:
真正的
,然后mv包含了次优的解决方案假
,然后mv然后mv仍然在其最近的成功解决方案
成本- - - - - -成本目标函数
负的标量
成本目标函数,输出为负的标量信号。成本量化程度控制器实现其目标。成本计算值使用了MPC成本函数,每一项是offset-free和无量纲。
成本值时才有意义qp.status输出是负的。
依赖关系
要启用这个端口,选择最优成本参数。
qp.status- - - - - -优化状态
整数
优化状态,输出一个整数信号。
如果控制器解决了QP问题对于一个给定的控制区间qp.status输出返回QP解算器迭代计算中使用的数量。这个值是有限的,正整数,计算所需的时间成正比。因此,一个较大的值意味着一块相对缓慢的执行时间间隔。
QP解算器能不能找到一个最佳的解决方案有以下原因:
qp.status=
0
- QP解算器无法找到一个解决方案在迭代中指定的最大数量货币政策委员会
对象。在这种情况下,如果Optimizer.UseSuboptimalSolution
控制器的属性假
块举行mv输出最近的成功解决方案。否则,它使用发现在最后的解算器迭代次优的解决方案。qp.status=
1
- - - QP解算器检测到一个不可行的QP问题。看到监控优化状态检测控制器故障为一个例子,一个大型的、持续的干扰驱动输出变量在其指定的界限。在这种情况下,阻止举行mv输出最近的成功解决方案。qp.status=
2
- QP解算器遇到了数值困难解决严重坏心肠的QP问题。在这种情况下,阻止举行mv输出最近的成功解决方案。
在实时应用程序中,您可以使用qp.status设置警报或采取其他特殊行动。
依赖关系
要启用这个端口,选择优化状态参数。
est.state- - - - - -估计控制器状态
向量
估计控制器控制在每一个瞬间,作为一个矢量信号返回。估计状态包括植物、干扰和噪声模型。如果使用自定义状态估计,这个输出信号有相同的值x (k | k)输入信号。
依赖关系
要启用这个端口,选择估计控制器状态参数。
mv.seq- - - - - -最优操纵变量序列
矩阵
最优操纵变量序列,作为一个矩阵信号返回p+ 1行和Nmv列,p预测地平线和吗Nmv是操纵变量的数量。
第一个p行mv.seq包含从当前时间计算最优操纵变量值k时间k+p1。第一行的mv.seq包含当前的操纵变量值(输出mv)。由于控制器不计算最优控制移动k+p的最后两行mv.seq都是相同的。
依赖关系
要启用这个端口,选择最优控制序列参数。
x.seq- - - - - -最优预测模型的状态序列
矩阵
最优预测模型状态序列,作为一个矩阵信号返回p+ 1行和Nx列,p预测地平线和吗Nx的状态数。
第一行的x.seq包含当前估计状态值,要么从内置的状态估计量或输入自定义状态估计的块x (k | k)。下一个p行x.seq包含计算最优状态值k+ 1,k+p。
依赖关系
要启用这个端口,选择最优状态序列参数。
y.seq- - - - - -最优输出变量序列
矩阵
最优输出变量序列,作为一个矩阵信号返回p+ 1行和Ny列,p预测地平线和吗Ny输出变量的数量。
第一个p行y.seq从当前时间包含计算最优的输出值k时间k+p1。第一行的y.seq计算基于当前估计状态和当前测量干扰(第一行输入医学博士)。由于控制器不计算最优输出值k+p的最后两行y.seq都是相同的。
依赖关系
要启用这个端口,选择最优输出序列参数。
参数
自适应MPC控制器- - - - - -控制器对象
货币政策委员会
对象名称
指定一个货币政策委员会
对象定义了MPC控制器通过输入的名称货币政策委员会
对象设计的名义操作点。在运行时,控制器代替原有的预测模型(一个
,B
,C
,D
)和名义值(U
,Y
,X
,DX
)中指定的数据模型在每个控制即时输入端口。
默认情况下,块假设所有其他控制器对象属性(例如调整权重、约束)是常数。您可以使用的选项覆盖这一假设在线功能部分。
以下限制适用货币政策委员会
控制器对象:
它必须存在于MATLAB®工作区。
其预测模型必须是一个线性时不变离散时间状态空间对象没有延迟。使用
absorbDelay
命令将延迟离散状态。的尺寸一个
,B
,C
,D
矩阵的预测确定所需的尺寸模型
尺寸的信号。
编程使用
块参数:mpcobj |
类型:字符串,特征向量 |
默认值:”“ |
初始控制器状态- - - - - -初始状态
mpcstate
对象名称
指定初始控制器状态。如果你离开这个参数空白,块中定义使用名义值Model.Nominal
财产的货币政策委员会
对象。覆盖默认创建一个mpcstate
对象在你的工作区,并输入它的名字。
使用这个参数,确保控制器状态反映了真正的植物环境的模拟,最好的你的知识。这个初始状态可以不同于名义州中定义货币政策委员会
对象。
如果启用了自定义状态估计,忽略了初始控制器状态参数。
编程使用
块参数:x0 |
类型:字符串,特征向量 |
默认值:”“ |
测量的干扰- - - - - -添加测量扰动输入端口
在
(默认)|从
如果你的控制器测量干扰,必须选择添加这个参数医学博士输出端口的块。
编程使用
块参数:md_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“上” |
外部操纵变量- - - - - -添加外部操纵变量的输入端口
从
(默认)|在
选择要添加这个参数ext.mv输入端口。
编程使用
块参数:mv_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
目标被操纵的变量- - - - - -添加操作变量目标输入端口
从
(默认)|在
选择要添加这个参数mv.target输入端口。
编程使用
块参数:uref_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
最优成本- - - - - -添加成本最优输出端口
从
(默认)|在
选择要添加这个参数成本输出端口的块。
编程使用
块参数:return_cost |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
优化状态- - - - - -添加优化状态输出端口
从
(默认)|在
选择要添加这个参数qp.status输出端口的块。
编程使用
块参数:return_qpstatus |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
估计控制器状态- - - - - -添加估计输出端口
从
(默认)|在
选择要添加这个参数est.state输出端口的块。
编程使用
块参数:return_state |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
最优控制序列- - - - - -添加最优控制序列输出端口
从
(默认)|在
选择要添加这个参数mv.seq输出端口的块。
编程使用
块参数:return_mvseq |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
最优状态序列- - - - - -添加最优状态序列输出端口
从
(默认)|在
选择要添加这个参数x.seq输出端口的块。
编程使用
块参数:return_xseq |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
最优输出序列- - - - - -添加最优输出序列输出端口
从
(默认)|在
选择要添加这个参数y.seq输出端口的块。
编程使用
块参数:return_ovseq |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
使用自定义状态估计,而不是使用内置的卡尔曼滤波器- - - - - -使用自定义状态估计输入端口
从
(默认)|在
选择删除该参数莫输入端口和添加x (k | k)输入端口。
编程使用
块参数:state_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
线性时变(LTV)植物- - - - - -使用自定义状态估计输入端口
(默认)|
在时变MPC控制器操作模式,选择这个选项。当操作在这种模式下,连接一个三维的总线信号模型输入端口
例如,看到的时变MPC控制时变的植物。
编程使用
块参数:isltv_plant |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
低OV限制- - - - - -添加最低OV约束输入端口
从
(默认)|在
选择要添加这个参数ymin输入端口。
编程使用
块参数:ymin_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
上层OV限制- - - - - -添加最大OV约束输入端口
从
(默认)|在
选择要添加这个参数ymax输入端口。
编程使用
块参数:ymax_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
较低的MV限制- - - - - -添加最低MV约束输入端口
从
(默认)|在
选择要添加这个参数umin输入端口。
编程使用
块参数:umin_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
上层MV限制- - - - - -添加最大MV约束输入端口
从
(默认)|在
选择要添加这个参数umax输入端口。
编程使用
块参数:umax_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
自定义约束- - - - - -添加自定义约束的输入端口
从
(默认)|在
选择要添加这个参数E,F,G,年代输入端口。
编程使用
块参数:cc_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
OV权重- - - - - -添加OV优化权重输入端口
从
(默认)|在
选择要添加这个参数y.wt输入端口。
编程使用
块参数:ywt_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
MV权重- - - - - -添加MV优化权重输入端口
从
(默认)|在
选择要添加这个参数u.wt输入端口。
编程使用
块参数:uwt_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
MVRate权重- - - - - -添加MV率优化权重输入端口
从
(默认)|在
选择要添加这个参数du.wt输入端口。
编程使用
块参数:duwt_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
松弛变量的重量- - - - - -添加ECR调整重量输入端口
从
(默认)|在
选择要添加这个参数ecr.wt输入端口。
编程使用
块参数:rhoeps_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
在运行时调整预测层和控制层- - - - - -添加层输入端口
(默认)|
选择要添加这个参数p和米输入端口。
编程使用
块参数:pm_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
最大预测地平线- - - - - -添加层输入端口
10
(默认)|正整数
选择要添加这个参数p和米输入端口。
依赖关系
要启用该参数,选择在运行时调整预测层和控制层参数。
编程使用
块参数:MaximumP |
类型:字符串,特征向量 |
默认值:“10” |
继承采样时间- - - - - -从父母继承块样品时间子系统
从
(默认)|在
选择该参数继承父子系统的样品时间块样品时间。这样做可以有条件地执行这个块函数调用子系统(万博1manbetx模型)或触发子系统(万博1manbetx模型)块。例如,看到的使用MPC控制器块内部函数调用和触发子系统。
请注意
你必须执行函数调用子系统或触发子系统块的采样率控制器。否则,你可以看到意想不到的结果有两个原因。
MV速度向量的第一个元素(这是当前的最后一个值之间的差别的操纵变量)通常是加权和约束假设最后一个MV值发生在过去在样本时间MPC中指定对象,当块执行不同的采样率,这种假设不再成立。
内置的卡尔曼滤波估计使用样本时间MPC中指定对象提供一个当前状态估计MPC优化问题,所以当块执行不同的样品时间,估计国家不再是正确的。
如果你清楚这个参数(默认),样品时间块继承的控制器对象。
查看样本块的时候,在仿真软件模型窗口,万博1manbetx调试选项卡,在信息覆盖,选择颜色或文本。有关更多信息,请参见查看样品的时间信息(万博1manbetx模型)。
编程使用
块参数:SampleTimeInherited |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
使用外部信号来启用或禁用优化- - - - - -增加开关输入端口
从
(默认)|在
选择要添加这个参数开关输入端口。
编程使用
块参数:switch_inport |
类型:字符串,特征向量 |
价值观:“关闭” ,“上” |
默认值:“关闭” |
扩展功能
C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。万博1manbetx
PLC的代码生成
使用仿真软件生成结构化文本代码®PLC编码器™。万博1manbetx
版本历史
介绍了R2014bR2018b:货币政策委员会万博1manbetx块mv.seq
输出端口信号方面已经发生了变化
信号的尺寸mv.seq
输出端口的自适应MPC控制器块已经改变了。以前,这是一个信号p——- - - - - -Nmv矩阵,p预测地平线和吗Nmv是操纵变量的数量。现在,mv.seq
是(p+ 1)——-Nmv矩阵,行p+ 1重复行p。
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。