动态矩阵控制算法(DMC)
• 滚动时域优化 • 反馈校正
16
DMC - 预测模型
输入
预测模型
输出
如何根据当前已知信息和假设未来输入预测系统未来输出? 阶跃响应 + 比例叠加原理 输出预测
17
DMC - 预测模型
阶跃响应 + 比例叠加原理 输出预测
模型预测值:自由项(零输入响应) + 强迫项(零状态响 应)
18
阶跃响应采样
u = {u (0) 0 0 L} u = {0 1 0 L} u = {0 u (1) 0 L}
u = {0 L 0 u (k ) 0 L} y = {L 0 h0u (k ) h1u (k ) h2u (k ) L} u = {u (0) u (1) L u (k ) L L}
y := { y (k )} = ?
29
无约束优化问题求解 (3)
% min J (k ) = wP (k ) − yPM (k )
2 Q
+ ΔU M
2 R
(1) (2)
s .t .
% % y PM ( k ) = y P0 ( k ) + A Δ u M ( k )
将式(2)代入式(1)可得:
% min J ( k ) = wP ( k ) − y P0 ( k ) − AΔU M ( k )
% min J (k ) = ∑ qi [ w(k + i ) − yM (k + i | k )] + ∑ rj Δu 2 (k + j − 1)
2 i =1 j =1
P
M
其中 q i , r j 为权系数,分别表示对跟踪误差及控制量变化的抑 制。
25
优化问题 (1)
无约束优化问题:
% min J ( k ) = ∑ qi [ w( k + i ) − yM ( k + i | k ) ] + ∑ rj Δu 2 ( k + j − 1)
k
y(k)
y (1) L y (k ) L L}
y(k) = ∑hu(k −i) i
i=0
系统可由hi 唯一确定
11
预备知识
LTI 系统的描述(2)
System
u(k)
u = 1(k ) = {1 1 1 L}
y(k)
y = {a(k )} = {a0 a1 a2 L}
系统能否由a(k)唯一确定?换言之,a(k) 是否足以 描述系统?
min( M ,i )
ai − j +1 × Δu (k + j − 1)
求优化变量:ΔU M (k ) = [ Δu (k ),L , Δu (k + M − 1) ]T
27
无约束优化问题求解 (1)
思路:代入预测方程,对控制向量求导
% min J ( k ) = ∑ qi [ w( k + i ) − yM ( k + i | k ) ] + ∑ rj Δu 2 ( k + j − 1)
预备知识
y(0) = hu(0) 0 y(1) = hu(1) +hu(0) 0 1 y(2) = hu(2) +hu(1) +hu(0) 0 1 2 y(k) = hu(k) +hu(k −1) +L+hu(0) = ∑hu(k −i) 0 1 k i
i=0 k
y(k) = ∑hu(k −i) = ∑hk−iu(i) i
• 反馈校正
23
DMC - 滚动时域优化
24
优化目标函数
每一时刻,确定从该时刻起的 M 个控制增量 Δu ( k ),L , Δu ( k + M − 1) 使得被控对象在其作用下:
% 未来 P 个时刻: yM (k + i | k ) → w(k + i )
Δu → 0
因此,k 时刻优化性能指标(惩罚跟踪误差与调节幅度):
System
u(k) y(k)
h1 h2 L}
u (k ) = δ (k ) = {1 0 0 L} y (k ) := h(k ) = {h0
系统能否由h(k)唯一确定?换言之,h(k) 是否足以描述 系统?
8
预备知识 System
u(k)
u = δ (k ) := {1 0 0 L}
y(k)
y = {h(k )} = {h0 y = {0 h0 h1 h1 h2 L} y = {h0u (0) h1u (0) h2u (0) L} h2 L} y = {0 h0u (1) h1u (1) h2u (1) L}
A是由阶跃响应系数 ai 组成的 P × M 矩阵,称为动态矩阵。
% 性能指标写成向量形式:min J (k ) = wP (k ) − yP (k ) + ΔU M Q
M
2
2 R
其中 wP (k) = [ w(k +1) L w(k + P)]
T
Q = diag (q1 ,L , qP ), R = diag (r1 ,L , rM )
Lecture 2 动态矩阵控制算法 (DMC)
回顾- 预测控制基本原理
• 三个基本原理 预测模型 滚动优化 反馈校正
2
回顾- 预测控制基本原理
• 预测模型
输入
预测模型
输出
- 模型表达:输入(包括操作变量和可测扰动)输出之间 的定量关系 - 模型结构:无限制、阶跃/脉冲响应、传递函数、状态方 程等 - 模型功能:根据当前已知信息和假设未来输入预测系统 未来输出 - 模型作用:作为不同控制策略下比较控制效果的基础
20
输出预测 (2) – 零状态响应
k时刻:控制有一增量△v(k),计算未来时刻的输出值
% yi (k + i | k ) = % y0 (k + i | k ) + ai Δu (k ) i = 1,L , N
线性叠加原理
21ห้องสมุดไป่ตู้
输出预测 (3) – 输出预测值
在 M 个连续的控制增量作用 Δu (k ),L , Δu (k + M − 1) 下, 未来各时刻的输出值为:
2 Q
+ ΔU M
2 R
由极值必要条件 dJ (k ) d ΔU M (k ) = 0 可得:
% ΔU M ( k ) = ( AT QA + R ) −1 AT Q ⎡ wP ( k ) − yP0 ( k ) ⎤ ⎣ ⎦
i =0 k i =0
k
k −1
系统可由 a(k)唯一确定.
= ∑ ak −i Δu (i ) =∑ ai Δu (k − i )
i =0 i =0
14
k
主要内容
• DMC算法
– 预测模型 – 滚动优化 – 反馈校正
• 单变量DMC算法设计 • DMC参数设计
15
动态矩阵控制
• 预测模型
– 输入输出模型 – 假设未来输入预测未来输出
i=0 i=0
k
k
hi = a (i ) − a (i − 1) = ai − ai −1
y (k ) = ∑ hk −i u (i ) = ∑ hk −i ∑ Δu ( j )
i =0 i =0 j =0
k
k
i
= ∑ hi Δu (0) + ∑ hi Δu (1) + L + h0 Δu (k )
12
预备知识 System
u(k)
y(k)
a1 a2 L}
u = 1(k ) = {1 1 1 L} y = {a (k )} = {a0
k k
a(k) = ∑hu(k −i) = ∑hi hi = a(i) −a(i −1) = ai −ai−1 i
i=0 i=0
系统可由 a(k)唯一确定.
13
T
19
输出预测 (1) - 零输入响应
• 在 k 时刻,假设控制作用保持不变时,对未来N % 个时刻的输出有初始预测值 y0 (k + i | k ) i = 1, 2,L , N
k k
k+N
注意:
% % % y0 (k + N | k ) = y0 (k + N + 1| k ) = L = y0 (∞ | k )
3
预备知识
信号
0.35 0.3 0.25 0.2
连续信号 x(t)
0.15 0.1 0.05 0 -0.05 -0.1 -0.15 0 0.5 1 1.5 2 2.5 3 3.5 4
0.35
离散信号 x(k)
0.3 0.25 0.2 0.15 0.1 0.05 0 -0.05 -0.1 -0.15
i=0 k
y ={hu(0) hu(0) hu(0) L } 0 1 2 y ={0 hu(1) hu(1) hu(1) L } 0 1 2
y := { y (k )} = ?
k
y(k) = ∑hu(k −i) i
i=0
10
预备知识 System
u(k)
u = {u (0) u (1) L u (k ) L L} y = { y (0)
% % yM (k + i | k ) = y0 (k + i | k ) + ∑ j =1
min( M ,i )
ai − j +1 × Δu (k + j − 1), i = 1,L , N
22
预测控制基本原理
• 预测模型 • 滚动时域优化
– 以滚动方式对未来有限时域进行优化 – 在线计算并实现当前控制作用