当控制器操作时,它使用它的当前状态,xc,作为预测的基础。根据定义,状态向量如下:
在这里,
xc控制器状态是否包含nxp+nxid+nxod+nxn状态变量。
xp植物模型的状态向量是长度吗nxp.
xid输入扰动模型是否为状态向量,长度nxid.
xod输出扰动模型是否为状态向量,长度nxod.
xn测量噪声模型的状态向量,长度nxn.
因此,变量组成xc表示下列MPC系统图中出现的模型。
有些状态向量可能是空的。如果不是,它们将出现在每个模型中定义的序列中。
默认情况下,控制器使用最新的工厂测量值自动更新其状态。看到状态估计获取详细信息。或者,自定义状态估计特性允许您使用外部过程更新控制器状态,然后将这些值提供给控制器。看到自定义状态估计获取详细信息。
将图中所示的模型组合起来,就产生了状态观察者:
MPC控制器使用状态观测器的方式如下:
观察者的输入信号是被操纵和测量的无量纲植物的干扰输入,以及干扰和噪声模型的白噪声输入:
观察者的输出是ny无量纲植物输出。
从图中定义四个模型的参数来看,观察者的参数为:
在这里,植物和输出扰动模型被重新排序,以便测量输出先于未测量输出。
通常,控制器的状态是不可测量的,必须进行估计。默认情况下,控制器使用由状态观测器派生的稳态卡尔曼滤波器。
开始的时候k在控制区间时,控制器状态估计步骤如下:
需准备以下数据:
xc(k|k- 1) -控制器状态估计从以前的控制区间,k1
u行为(k- 1) -操纵变量(MV)实际使用的工厂k1到k(假定常数)
u选择(k- 1) - MPC推荐的最优MV,并假设在工厂中使用k1到k
v(k) -电流测量扰动
y米(k) -当前测量的工厂输出
Bu,Bv-观察者参数列B对应于u(k),v(k)输入
C米-观测器参数C的行数,对应于测量的植物输出
Dmv-观察者参数的行和列D与被测植物输出和被测扰动输入相对应
l,米-常数卡尔曼增益矩阵
工厂的输入和输出信号被缩放为无量纲在使用之前的计算。
修改xc(k|k1)当u行为(k1)和u选择(k1)是不同的。
计算出创新。
更新控制器状态估计以说明最新的测量结果。
然后,软件使用当前状态估计xc(k|k)来求解该二次规划k.解决方案是u选择(k), mpc推荐的可操作变量值在控制间隔之间使用k和k+ 1。
最后,软件为下一个控制区间做准备,假设未知输入,wid(k),wod(k),wn(k)假设它们的平均值(零)k和k+ 1。该软件预测了已知输入和创新的影响如下:
模型预测控制工具箱™软件使用卡尔曼
命令来计算卡尔曼估计器增益l和米.以下假设适用:
状态观测器的参数一个,B,C,D定常。
控制器,xc可检测。(如果不是,或者观察者在数值上接近不可检测,则卡尔曼增益计算失败,生成错误消息。)
随机输入wid(k),wod(k),wn(k)是独立的白噪声,均为零均值和单位协方差。
附加白噪声wu(k),wv(k)的相同特性增加到无量纲u(k),v(k)分别输入。这在某些情况下提高了估计器的性能,例如当被试模型开环不稳定时。
在不失一般性的情况下,设置u(k),v(k)输入为零。随机输入对控制器状态和被测设备输出的影响为:
在这里,
的输入卡尔曼
命令是状态观察员参数一个,C米,协方差矩阵如下:
在这里,E{…}denotes the expectation.
模型预测控制需要预测未来工厂的无噪音输出,用于优化。这是状态观察器的一个关键应用(见状态观测器).
控制时间间隔k,需要准备的数据如下:
p-预测水平(控制区间数,大于等于1)
xc(k|k) -控制器状态估计(见状态估计)
v(k) -电流测量干扰输入(MDs)
v(k+我|k) -预测未来的MDs,其中我= 1:p1。如果你没有使用MD预览,那么v(k+我|k) =v(k).
一个,Bu,Bv,C,Dv-状态观察者常数,其中Bu,Bv,Dv表示B和D输入对应矩阵u和v.Du零矩阵是因为没有直接馈通吗
预测假设未知白噪声输入为零(他们的期望)。此外,预计的工厂产出是无噪音的。因此,所有涉及测量噪声状态的项从状态观测器方程中消失。这相当于把最后一个归零nxn的元素xc(k|k).
根据以上数据和简化后的结果,第一步状态观测器预测:
继续连续的步骤,我= 2:p,国家观察员预测:
在任何步骤,我= 1:p,预测的无噪音工厂产量为:
所有这些方程都使用无因次的植物输入和输出变量。看到指定规模因素.方程也假定零偏移。包含非零偏移很简单。
为了更快的计算,MPC控制器使用上述方程的另一种形式,在控制器初始化期间计算和存储常数项。看到QP矩阵.