在运行时调整视野
隐式和自适应MPC控制器,你可以调整预测和控制视野而控制器操作。这样做很有用:
有效地评估在原型在运行时选择不同的地平线
调整视野没有重新部署后植物动态变化显著,如在一个批处理过程
调整视野MATLAB
调整视野从命令行运行时,在每个控制区间,指定以下的属性mpcmoveopt
对象。
PredictionHorizon
——运行时预测地平线信号,指定为一个正整数ControlHorizon
地平线——运行时控制信号,指定为一个正整数或一个向量的正整数
然后您可以通过mpcmoveopt
对象是mpcmove
或mpcmoveAdaptive
。
调整视野万博1manbetx
在仿真万博1manbetx软件®调整的视野MPC控制器或自适应MPC控制器块,选择在运行时调整预测层和控制层参数。这样做增加了以下输入端口块:
p
——运行时预测地平线信号,指定为一个标量整数信号米
地平线——运行时控制信号,指定为一个标量或矢量信号
您必须指定最大预测地平线上使用最大预测地平线参数。这样做可以确保最优序列块的输出端口(mv.seq
,x.seq
,y.seq
)有常数大小p马克斯+ 1行,p马克斯是最大的预测地平线。
代码生成
运行时层优化支持在MATLAB代码生成万博1manbetx®和仿真软万博1manbetx件。生成代码的控制器支持运行时层变化允许你调整你的地平线值在你的控制器硬件部署。万博1manbetx
地平线后调优值,提高计算效率的最终部署控制器,你可以生成代码constant-horizon控制器使用调谐值。
部署和运行时控制器层优化使显著增加计算负载和MPC应用程序的内存占用。如果你计划使用运行时层优化原型只有找到合适的地平线值,优化后,确保禁用这个特性。然后您可以生成代码constant-horizon控制器使用调谐值。
如果您的控制器使用被控变量阻塞和您为控制器,生成代码的大小控制地平线向量必须在运行时保持不变。在这种情况下,你仍然可以优化控制层内的值向量。
请注意
为一个控制器,使用生成代码运行时层调优,你部署硬件目标必须支持动态内存分配。万博1manbetx例如,如果您的嵌入式系统不支持万博1manbetxmalloc
C函数,那么生成的代码将不会运行。
在MATLAB生成代码,设置“UseVariableHorizon”
名称-值参数getCodeGenerationData
来真正的
。在每个控制区间,你可以指定调用前的视野mpcmoveCodeGeneration
。
[configData, stateData onlineData] = getCodeGenerationData (mpcobj,“UseVariableHorizon”,真正的);…onlineData.Horizons。p = 10;onlineData.Horizons。m = 3;[u, stateData] = mpcmoveCodeGeneration (configData, stateData onlineData);
对时变的影响控制器参数和信号
如果您的应用程序使用控制器参数或信号变化预测地平线,调整预测地平线在运行时影响这些时变参数的行为。
约束
如果你在控制器对象定义时变约束,约束的概要文件在预测地平线在运行时不会改变。如果您的运行时预测地平线的价值pr是:
大于的长度约束配置文件中指定的控制器,然后控制器使用的最终价值约束概要文件的其余部分预测地平线
不到的长度约束配置文件中指定的控制器,控制器后截断约束概要文件pr步骤
调整限制的更多信息,请参阅在运行时更新约束和时变权重设置和约束与MPC设计师。
调优权重和预览的信号
不同调优权重或指定信号预览整个预测地平线,你指定行对应于信号阵列预测地平线的步骤。
如果你调整预测地平线在运行时,最佳实践是定义的重量和预览数组N行,N基于最大预测地平线p马克斯根据下面的表格。
在运行时,首先指定pr行每个信号的阵列(pr+ 1行测量干扰)。控制器忽略任何额外的数组中的行。
信号类型 | 命令行用法 | 块的输入端口 | 最大行数N |
---|---|---|---|
MV调整权重 | MVWeights 的属性mpcmoveopt |
u.wt |
p马克斯 |
MV率权重 | MVRateWeights 的属性mpcmoveopt |
du.wt |
p马克斯 |
输出权值 | OutputWeights 的属性mpcmoveopt |
y.wt |
p马克斯 |
参考预览 | 输入mpcmove 或mpcmoveAdaptive |
裁判 |
p马克斯 |
测量扰动预览 | 输入mpcmove 或mpcmoveAdaptive |
医学博士 |
p马克斯+ 1 |
如果指定数组只有不到任何信号pr行(pr+ 1行测量干扰),控制器使用从最后一行的值来预测地平线的其余部分。
优化权值的更多信息,请参阅在运行时调整权重和时变权重设置和约束与MPC设计师。
更多信息预览引用或测量扰动信号,明白了信号预览。
模型和名义上的条件
为一个线性时变MPC控制器,你改变植物模型和名义条件预测地平线通过数组mpcmoveAdaptive
或者是自适应MPC控制器块,每个数组的第一个元素的当前值和每个额外的数组元素对应于一个预测地平线的一步。
如果你调整预测地平线在运行时,最佳实践是定义数组与植物模型和名义条件p马克斯+ 1元素。在运行时,首先指定pr+ 1每个数组元素和控制器忽略了额外的元素。
如果指定数组少于pr+ 1元素,控制器使用最后一个元素的其余部分预测地平线。
线性时变MPC的更多信息,请参阅时变MPC。