主要内容

setestimator.

修改模型预测控制器的状态估计器

描述

例子

setestimator(mpcobj.L.m设置用于估计MPC控制器的状态的增益矩阵。有关更多信息,请参阅状态估计方程

setestimator(mpcobj.,'默认')恢复增益矩阵L.m到他们的默认值。默认值是使用的最佳静态增益卡尔姆用于植物,干扰和测量噪声模型mpcobj.

setestimator(mpcobj.,'风俗')指定控制器状态估计将由用户提供的过程执行。此选项抑制了计算L.m。当控制器以这种方式运行时,程序必须提供状态估计值x [n | n]在每个控制间隔的开头到控制器。

例子

全部收缩

使用杆子放置设计估计器,假设线性系统 一种 m = L. 是可解决的。

创建植物模型。

g = tf({1,1,1},{[1 .5 1],[1 1],[。7 .5 1]});

提高这个例子的清晰度,呼叫mpcverbosity.抑制与MPC控制器相关的消息。

old_status = mpcverbosity('离开');

为工厂创建模型预测控制器。将控制器采样时间指定为0.2秒。

mpcobj = mpc(g,0.2);

获取默认状态估计值增益。

[〜,m,a1,cm1] = geteStimator(MPCobj);

计算默认观察者杆。

E = EIG(A1-A1 * M * cm1);ABS(e)
ans =.6×10.9402 0.9402 0.8816 0.8816 0.7430 0.9020

指定更快的观察者杆。

new_poles = [.8 .75 .7 .85 .81];

计算置于观察者杆的状态增益矩阵new_poles.

l =地方(a1',cm1',new_poles)';

地方返回控制器增益矩阵,而您希望计算观察者增益矩阵。使用二元度的原理,这将可控制性与可观察性相关,您可以指定转置A1CM1.作为输入地方。此函数调用产生观察者增益转换。

从状态增益矩阵获取估算器增益。

m = a1 \ l;

指定m作为估算者mpcobj.

setestimator(mpcobj,l,m)

这对, ( 一种 1 C m 1 ),描述植物和干扰模型的组合的整体状态空间必须可观察到状态估算设计成功。在模型预测控制工具箱软件中检查可观察性,两个级别:(1)检查工厂模型的可观察性在建筑在MPC对象的情况下,提供了植物的模型以状态空间形式给出;(2)检查整体扩展模型的可观察性在初始化时在MPC对象中,在所有模型转换为离散时间,无延迟,状态空间形式并组合在一起。

恢复mpcverbosity.

mpcverbosity(old_status);

输入参数

全部收缩

MPC控制器,指定为MPC控制器对象。使用MPC.命令创建MPC控制器。

卡尔曼增益矩阵用于时间更新,指定为矩阵。尺寸L.NX-经过-Nym., 在哪里NX是控制器状态的总数,以及Nym.是测量输出的数量。

如果L.是空的,它默认为l = a * m, 在哪里一种是状态转换矩阵。

卡尔曼增益矩阵用于测量更新,指定为矩阵。尺寸L.NX-经过-Nym., 在哪里NX是控制器状态的总数,以及Nym.是测量输出的数量。

如果m省略或空,它默认为零矩阵,状态估计器成为Luenberger观察者。

算法

全部收缩

状态估计方程

通常,控制器状态是未测量的,并且必须估计。默认情况下,控制器使用稳态Kalman滤波器来源于State Observer。有关更多信息,请参阅控制器状态估计

在开始的时候K.控制间隔,控制器状态估计以下步骤:

  1. 获取以下数据:

    • XCK.|K.-1) - 从先前的控制间隔中估计控制器状态估计,K.-1

    • 行为K.-1) - 实际在工厂中使用的操纵变量(MV)K.-1到K.(假设常数)

    • 选择K.-1) - MPC推荐的最佳MV,并假定在工厂中使用K.-1到K.

    • V.K.) - 电流测量的障碍

    • ymK.) - 电流测量的植物输出

    • B.B.V.- 观察者参数列B.对应K.) 和V.K.)投入

    • Cm- 对应于测量的工厂输出的观察者参数C行

    • D.m- Observer参数的行和列D.对应于测量的工厂输出和测量的干扰输入

    • L.m- 常数卡尔曼增益矩阵

    在计算使用之前,植物输入和输出信号被缩放为无量纲。

  2. 修订XCK.|K.-1)当行为K.-1)和选择K.-1)是不同的。

    X C R. E. V. K. | K. - 1 = X C K. | K. - 1 + B. [ 一种 C T. K. - 1 - O. P. T. K. - 1 ]

  3. 计算创新。

    E. K. = y m K. - [ C m X C R. E. V. K. | K. - 1 + D. m V. V. K. ]

  4. 更新控制器状态估计以进行最新测量。

    X C K. | K. = X C R. E. V. K. | K. - 1 + m E. K.

    然后,该软件使用当前的状态估计XCK.|K.)以间隔解决二次程序K.。解决方案是选择K.),MPC推荐的操纵变量值在控制间隔之间使用K.K.+1。

    最后,该软件准备了假设未知输入的下一个控制间隔,W.IDK.),W.odK.), 和W.NK.)假设它们之间的平均值(零)K.K.+1。该软件预测已知输入和创新的影响,如下所示:

    X C K. + 1 | K. = 一种 X C R. E. V. K. | K. - 1 + B. O. P. T. K. + B. V. V. K. + L. E. K.

在R2014B中介绍