主要内容

setEstimator

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

描述

例子

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

setEstimator(mpcobj,'默认')恢复增益矩阵lm对于他们的默认值。默认值是使用Kalmd对于工厂,干扰和测量噪声模型mpcobj

setEstimator(mpcobj,'风俗')指定控制器状态估计将通过用户提供的过程执行。此选项抑制计算lm。当控制器以这种方式运行时,该程序必须提供州估计值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 .6 .81];

计算一个将观察者杆放置在的状态增益矩阵new_poles

l = plot(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控制器。

Kalman在时间更新中获得矩阵,指定为矩阵。尺寸lnX-经过-nYM, 在哪里nX是控制器状态的总数,以及nYM是测量输出的数量。

如果l是空的,默认为l = a*m, 在哪里一个是国家转变矩阵。

Kalman获得的测量更新矩阵,指定为矩阵。尺寸lnX-经过-nYM, 在哪里nX是控制器状态的总数,以及nYM是测量输出的数量。

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

算法

全部收缩

状态估计器方程

通常,控制器状态是未测量的,必须估算。默认情况下,控制器使用源自状态观察者的稳态卡尔曼滤波器。有关更多信息,请参阅控制器状态估计

在开始k控制间隔,根据以下步骤估算控制器状态:

  1. 获取以下数据:

    • XC((k|k–1) - 先前控制间隔的控制器状态估计,k–1

    • 行为((k–1) - 工厂中实际使用的操纵变量(MV)k–1 tok(假定常数)

    • 选择((k–1) - MPC推荐的最佳MV,并假定在工厂中使用k–1 tok

    • v((k) - 当前测量的干扰

    • ym((k) - 当前测量的植物产量

    • b,,,,bv- 观察者参数的列b对应于((k) 和v((k)输入

    • Cm- 观察者参数C的行,对应于测量的植物产量

    • dMV- 观察者参数的行和列d对应于测量的植物产量和测量的干扰输入

    • l,,,,m- 恒定的卡尔曼获得矩阵

    在计算之前,将工厂输入和输出信号缩放为无量纲。

  2. 修订XC((k|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

    然后,软件使用当前状态估计XC((k|k)以间隔解决二次程序k。解决方案是选择((k),在控制间隔之间使用的MPC启用可操作变量值kk+1。

    最后,该软件为下一个控制间隔做准备,假设未知输入,wID((k),wOD((k), 和wn((k)在时间之间假设其平均值(零)kk+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中引入