如何在GEKKO中为模型预测控制MPC包括测量偏差校正?

时间:2019-04-16 16:00:55

标签: gekko

我需要在MPC计算中包括偏差校正项。这是每个时刻模型预测与测量之间的差异。如何在GEKKO中指定?

1 个答案:

答案 0 :(得分:1)

GEKKO有一个名为 BIAS 的调整参数,可以为您提供所需的信息。引用GEKKO documentation on BIAS

  

BIAS 是加法因子,其中包含当前测量值和控制器初始状态之间的差异。 FSTATUS 确定要使用多少原始度量来更新 MEAS 的值。反馈状态为0表示不应使用该测量,并且 BIAS 值保持在初始值0。反馈状态为1时,将使用所有测量来更新 MEAS < / em>。介于0和1之间的反馈状态会用LSTVAL和新测量值的小部分贡献来更新 MEAS 。从MEAS和无偏模型预测( Model_u )更新BIAS的值。

     

BIAS = MEAS - Model_u

     

BIAS 添加到地平线中的每个点,并且控制器目标函数将偏差模型( Model_b )驱动到请求的设置点范围。

     

Model_b = Model_u + BIAS

     

还可以通过直接设置选项BIAS选项并将 FSTATUS 设置为0(关闭)来将 BIAS 的值设置为外部值。

因此,如果要自动将模型预测与测量值对齐,请将模型中每个CV的反馈状态设置为1(model_name.variable_name.FSTATUS = 1)。

您也可以在每次进行新测量时自己计算偏差校正项,方法是从相应的新测量值中减去相应时间步长上一个MPC周期的预测值。