当控制器运行时,它使用当前状态,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- 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选择(k-1)是不同的。
计算创新。
更新控制器状态估计以考虑最新的测量。
然后,软件使用当前状态估计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) -预测未来的md,其中我= 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矩阵.