动态矩阵控制
第 9 章 动态矩阵控制
9.1 阶跃响应模型及其辨识 9.2 算法原理
9.2.1 单入单出情形 9.2.2 单入单出情形:另一种推导方式 9.2.3 多入多出情形 9.2.4 MATLAB工具箱的说明 9.3 约束的处理
动态矩阵控制和模型算法控制有很多共同之处。 因为它是基于系统阶跃响应的算法,模型算法控制 基于脉冲响应模型,而得到了脉冲响应模型等价于 得到了阶跃响应模型。但是,动态矩阵控制采用增 量算法,因此在消除稳态余差方面非常有效。当然, 与动态矩阵控制相比,模型算法控制也有其优点, 如抗干扰能力。
考虑开环稳定系统。在每一时刻 k ,要确定从该时刻起 的 M 个控制增量 u(k),u(k 1| k), , u(k M 1| k)使被控对象在其 作用下未来 P个时刻的输出预测值y(k 1| k), y(k 2 | k), , y(k P | k) 尽可能接近给定的期望值 ys (k i), i 1, , P。这里,M 、P分别 称为控制时域与优化时域。为了使问题有意义,通常规定
sim1
sim2
siml
9.1 阶跃响应模型及其辨识
为估计阶跃响应系数,可将系统(以SISO为例)写成如式(9.1.3)的形式并首先估计 hl 。
N
y(k) hlu(k l)
(9.1.3)
l 1
其中, y(k) y(k) y(k 1) ,hl sl sl1 。sl 由式(9.1.4)给出。
y0 (k | k) y0 (k 1| k), y0 (k 2 | k), , y0 (k P | k)T
u(k | k) u(k), u(k 1| k), , u(k M 1| k)Τ
l
sl hj j 1
(9.1.4)
为估计参数,一般建议将一些变量成比例地放大或缩小,使得所有变量的值在一个数量级上。然
后将数据写成式(9.1.5)的形式:
Y XΘ
(9.1.5)
其中Y 包含所有输出信息(对开环稳定过程为 y(k));X 包含所有输入信息(u(k ));Θ
包含所有要估计的参数。
9.2 算法原理
y(k i | k) y(k i | k) fi (k), i {1,2, , P}
将经式(9.2.4)~式(9.2.5)校正后的输出预测值写成矢量形式为
y(k | k) y0 (k | k) Au(k | k)
其中
y(k | k) y(k 1| k), y(k 2 | k), , y(k P | k)T
u1(k),u2 (k), ,um (k) 的历史数据为
yi (1)
yi
yi
(2)
yi
(3)
u1(1) u2 (1)
u
u1 u1
(2) (3)
u2 (2) u2 (3)
,
um (1)
um
(2)
Hale Waihona Puke um(3)可估计系统的阶跃响应
si11 si21
si12
si 22
si1l si2l
了DMC的模型参数,向量 s s1, s2, , sN T称为模型向量,N则称为建
模时域。阶跃响应曲线如图9.1.1所示。
9.1 阶跃响应模型及其辨识
s
sl
sN
s N 1
s2
s1
012
l
N N 1 k
图9.1.1 阶跃响应曲线
据此,可以计算在任意输入下的系统输出为
N
y(k) sl u(k l) sN 1u(k N 1) l 1
M ≤P≤N 。尽管求得了 M 个控制输入增量,仅仅第一个值 u(k) 是实际实施的。
9.2.1 单入单出情形
P 在时刻 k ,利用式(9.1.1)可得到未来 个时刻的模型输出预测值为
y(k 1| k) y0 (k 1| k 1) s1u(k)
y(k M | k) y0 (k M | k 1) sM u(k) sM 1u(k 1| k) s1u(k M 1| k)
y(k M 1| k) y0 (k M 1| k 1) sM 1u(k) sM u(k 1| k) s2u(k M 1| k)
y(k P | k) y0 (k P | k 1) sPu(k) sP1u(k 1| k) sPM 1u(k M 1| k)
9.2.1 单入单出情形
得到如下的阶跃响应系数矩阵:
s11l s12l
Sl
s21l
s22l
s1ml
s2ml
sr1l sr 2l
srml
s i 其中 ijl 为针对第 j 个输入和第 个输出的第个阶跃响应系数。
9.1 阶跃响应模型及其辨识
在MATLAB MPC Toolbox中,给出了MISO模型的辨识方法。给定输出 yi (k) 和输入
(9.1.1)
9.1 阶跃响应模型及其辨识
其中 u(k l) u(k l) u(k l 1) 。注意:当 sN sN1 时式(9.1.1)等价于
N 1
y(k) slu(k l) sNu(k N ) l 1
(9.1.2)
r 阶跃响应模型式(9.1.1)只能用于开环稳定对象。对具有个m 输入和 个输出的MIMO过程,可以
其中
N
y0 (k i | k 1) s ju(k i j) sN1u(k i N 1) j i1 N i si ju(k j) sN 1u(k i N 1) j 1 N i si1u(k 1) (si j si j1)u(k j), i {1, 2, , P} j2 为假设当前和未来时刻控制作用不变时的输出预测值。
9.1 阶跃响应模型及其辨识
假设系统处于稳态,在单位阶跃输入 u 作用下,时不变SISO系
统的输出响应如下:
{0, s1, s2 , , sN , sN 1, }
这里假设系统输出恰好在变化N步后达到稳态,这样对象的动态信息
就可以近似地用有限集{s1, s2 , , sN } 加以描述。这个集合的参数构成
另记
(k) y(k) y0 (k | k 1)
N
其中 y0 (k | k 1) s1u(k 1) (s j s j1)u(k j) j2
(9.2.1)
(9.2.2) (9.2.3)
9.2.1 单入单出情形
记
y0 (k i | k) y0 (k i | k 1) fi (k), i {1,2, , P}