动态矩阵控制算法DMC
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
⎡ y%0 (k +1| k) ⎤
y%P0
(k
)
=
⎢ ⎢
M
⎥ ⎥
⎢⎣ y%0 (k + P | k)⎥⎦
⎢ ⎢
M
A = ⎢⎢⎢aMM
O L
0⎤
⎥
⎥
a1
⎥ ⎥
⎥
⎢⎣ aP L aP−M +1 ⎥⎦
A是由阶跃响应系数 ai 组成的 P × M 矩阵,称为动态矩阵。
性能指标写成向量形式:min J (k) =
k+N
20
输出预测 (2) – 零状态响应
k时刻:控制有一增量△v(k),计算未来时刻的输出值
y%i (k + i | k) = y%0 (k + i | k) + ai Δu (k )
i = 1,L, N
线性叠加原理
21
输出预测 (3) – 输出预测值
在 M 个连续的控制增量作用 Δu(k),L, Δu(k + M −1) 下, 未来各时刻的输出值为:
wP (k)
−
y% PM
(k)
2 Q
+
ΔU M
2 R
其中 wP(k) =[w(k +1) L w(k + P)]T Q = diag(q1,L, qP ), R = diag(r1,L, rM )
29
无约束优化问题求解 (3)
min J (k) =
wP (k)
−
y% PM
(k)
2 Q
+
ΔU M
2 R
到下一时刻,提出类似的优化问题,求解Δu(k +1)
Δu (k ) = cT ΔU M (k ) = c1T (4A4T Q4A2+ 4R )4−1 A4T3Q [wP (k ) − y% P0 (k )] (3) dT
其中,M 维行向量 cT = [1 0 L 0] 表示取首元素的运算 P 维行向量 dT = cT (ATQA + R)−1 ATQ [d1,L, dP ] 为控制向量
11
预备知识
LTI 系统的描述(2)
System
u(k)
y(k)
u = 1(k) = {1 1 1 L} y = {a(k)} = {a0 a1 a2 L}
系统能否由a(k)唯一确定?换言之,a(k) 是否足以 描述系统?
12
预备知识
System
u(k)
y(k)
u = 1(k) = {1 1 1 L} y = {a(k)} = {a0 a1 a2 L}
(1)
s.t. y% PM ( k ) = y% P0 ( k ) + AΔ u M ( k )
(2)
将式(2)代入式(1)可得:
min J (k) =
wP (k )
−
y% P0
(k)
−
AΔU M
(k)
2 Q
+
ΔU M
2 R
由极值必要条件 dJ (k) dΔUM (k) = 0 可得:
ΔU M (k ) = ( AT QA + R)−1 AT Q ⎡⎣wP (k ) − y%P0 (k )⎤⎦ 获得 Δu(k ),L , Δu(k + M − 1) 的最优值。
– 输入输出模型 – 假设未来输入预测未来输出
• 滚动时域优化 • 反馈校正
16
DMC - 预测模型
输入
预测模型
输出
如何根据当前已知信息和假设未来输入预测系统未来输出?
阶跃响应 + 比例叠加原理
输出预测
17
DMC - 预测模型
阶跃响应 + 比例叠加原理
输出预测
模型预测值:自由项(零输入响应) + 强迫项(零状态响 应)
18
阶跃响应采样
{1,1,1,L}
=
{0, a1, a2, a3,L}
• 测量对象单位阶跃响应的采样值 ai = a(iT ) i = 1, 2,L, T为采样周期
• 对于渐近稳定对象,N步之后对象稳定,即 aN = as = a (∞)
• 对象动态信息可近似为有限集合 {a1, a2,L, aN }
6
预备知识
系统特性 线性 齐次 时不变
7
预备知识
LTI 系统的描述(1)
System
u(k)
y(k)
u(k) = δ (k) = {1 0 0 L} y(k) := h(k) = {h0 h1 h2 L}
系统能否由h(k)唯一确定?换言之,h(k) 是否足以描述 系统?
8
预备知识
System
i =1
j =1
其中 qi , rj 为权系数,分别表示对跟踪误差及控制量变化的抑 制。
25
优化问题 (1)
无约束优化问题:
P
M
∑ ∑ min J (k) = qi [w(k + i) − y%M (k + i | k)]2 + rjΔu2 (k + j −1)
i =1
j =1
∑ s.t. y%M (k + i | k) = y%0 (k + i | k) +
Lecture 2 动态矩阵控制算法 (DMC)
回顾- 预测控制基本原理
• 三个基本原理 ¾ 预测模型 ¾ 滚动优化 ¾ 反馈校正
2
回顾- 预测控制基本原理
• 预测模型
输入
预测模型
输出
- 模型表达:输入(包括操作变量和可测扰动)输出之间 的定量关系
- 模型结构:无限制、阶跃/脉冲响应、传递函数、状态方 程等
∑ y(k) =h0u(k)+h1u(k−1)+L+hku(0) = hiu(k−i)
i=0
i=0
10
预备知识
System
u(k)
y(k)
u = {u(0) u(1) L u(k) L L} y = {y(0) y(1) L y(k) L L}
k
y(k) =∑hiu(k−i) i=0
系统可由hi 唯一确定
k
k
∑ ∑ a(k) = hiu(k−i) = hi hi =a(i)−a(i−1) =ai −ai−1
i=0
i=0
系统可由 a(k)唯一确定.
13
预备知识
y(0) =h0u(0) y(1) =h0u(1)+h1u(0) y(2) =h0u(2)+h1u(1)+h2u(0)
k
k
∑ ∑ y(k) = hiu(k−i) = hk−iu(i)
0.3
0.25
0.2
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
4
预备知识
系统 ¾ 输入 x(t) 或 x(k) ¾ 输出 y(t) 或 y(k)
System
x(t)
y(t)
5
预备知识
动态系统描述 常微分方程 传递函数 脉冲响应 阶跃响应 频率响应 状态方程 等
ΔUM (k) = [Δu(k),L, Δu(k + M −1)]T
28
无约束优化问题求解 (2)
首先,写出预测模型向量形式:
y% PM ( k ) = y% P0 ( k ) + AΔ u M ( k )
⎡ a1
⎡ y%M (k +1| k) ⎤
其中
y%PM
(k
)
=
⎢ ⎢
M
⎥ ⎥
⎢⎣ y%M (k + P | k)⎥⎦
24
优化目标函数
每一时刻,确定从该时刻起的 M 个控制增量 Δu(k),L, Δu(k + M −1) 使得被控对象在其作用下:
未来 P 个时刻: y%M (k + i | k) → w(k + i) Δu → 0
因此,k 时刻优化性能指标(惩罚跟踪误差与调节幅度):
P
M
∑ ∑ min J (k) = qi [w(k + i) − y%M (k + i | k)]2 + rjΔu2 (k + j −1)
∑ ∑ = hiΔu(0) + hiΔu(1) +L + h0Δu(k)
i=0
i=0
k
k
∑ ∑ = ak−iΔu(i) = aiΔu(k − i)
i=0
i=0
14
主要内容
• DMC算法
– 预测模型 – 滚动优化 – 反馈校正
• 单变量DMC算法设计 • DMC参数设计
15
动态矩阵控制
• 预测模型
min( i =1
M
,i
)
ai
−
j
+1
×
Δu
(k
+
j −1)
求优化变量:ΔUM (k) = [Δu(k),L, Δu(k + M −1)]T
26
优化问题 (2)
Leabharlann Baidu
约束优化问题:
P
M
∑ ∑ min J (k) = qi [w(k + i) − y%M (k + i | k)]2 + rjΔu2 (k + j −1)
∑ y%M (k + i | k) = y%0 (k + i | k) +
min( j =1
M
,i )
ai−
j +1
×
Δu
(k
+
j −1),
i = 1,L, N
22
预测控制基本原理
• 预测模型 • 滚动时域优化
– 以滚动方式对未来有限时域进行优化 – 在线计算并实现当前控制作用
• 反馈校正
23
DMC - 滚动时域优化
u(k)
y(k)
u = δ (k) := {1 0 0 L} y = {h(k)} = {h0 h1 h2 L}
u = {u(0) 0 0 L} y = {h0u(0) h1u(0) h2u(0) L}
u = {0 1 0 L}
y = {0 h0 h1 h2 L}
u = {0 u(1) 0 L} y = {0 h0u(1) h1u(1) h2u(1) L}
AT Q( y%P0 (k) + AΔUM (k) − wP (k)) + RΔUM = 0
ΔU M (k ) = ( AT QA + R)−1 AT Q ⎡⎣wP (k ) − y%P0 (k )⎤⎦
31
滚动实施
DMC只取即时控制增量Δu(k) 构成实际控制 u(k) u(k) = u(k −1) + Δu(k)
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)} = ?
y(0) =h0u(0)
y(1) =h0u(1)+h1u(0)
k
y(2) =h0u(2)+h1u(1)+h2u(0)
k
y(k) =∑hiu(k −i)
27
无约束优化问题求解 (1)
思路:代入预测方程,对控制向量求导
P
M
∑ ∑ min J (k) = qi [w(k + i) − y%M (k + i | k)]2 + rjΔu2 (k + j −1)
i =1
j =1
∑ s.t. y%M (k + i | k) = y%0 (k + i | k) +
i =1
j =1
∑ s.t. y%M (k + i | k) = y%0 (k + i | k) +
min( i =1
M
,i
)
ai−
j +1
×
Δu(k
+
j −1)
yimin ≤ y%M (k + i | k) ≤ yimax
Δu jmin ≤ Δu(k + j −1) ≤ Δu j max
求优化变量:ΔUM (k) = [Δu(k),L, Δu(k + M −1)]T
min( M i =1
,i
)
ai
−
j
+1
×
Δu
(k
+
j
−1)
∑ ∑ ∑ P
J (k) = qi ⎡⎣w(k + i) − ( y%0 (k + i | k) +
min( M ,i) i =1
ai−
j +1
×
Δu(k
+
j −1))⎤⎦2 +
M
rjΔu2 (k +
j −1)
i =1
j =1
dJ (k) dΔu j (k) = 0
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 )} = ?
9
预备知识
u={u(0) 0 0 L} y ={h0u(0) h1u(0) h2u(0) L}
u={0 u(1) 0 L} y ={0 h0u(1) h1u(1) h2u(1) L}
i=0
i=0
k
∑ y(k) =h0u(k)+h1u(k−1)+L+hku(0) = hiu(k−i) i=0
hi = a(i) − a(i −1) = ai − ai−1 系统可由 a(k)唯一确定.
k
k
i
∑ ∑ ∑ y(k) = hk−iu(i) = hk−i Δu( j)
i=0
i=0
j=0
k
k −1
• 向量 a = [a1,L, aN ]T称为模型向量,N为建模时域
19
输出预测 (1) - 零输入响应
• 在 k 时刻,假设控制作用保持不变时,对未来N 个时刻的输出有初始预测值 y%0 (k + i | k) i = 1, 2,L, N
注意:
k k
y%0 (k + N | k) = y%0 (k + N +1| k) = L = y%0 (∞ | k)
- 模型功能:根据当前已知信息和假设未来输入预测系统 未来输出
- 模型作用:作为不同控制策略下比较控制效果的基础
3
预备知识
信号 ¾ 连续信号 x(t) ¾ 离散信号 x(k)
0.35
0.3
0.25
0.2
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
30
无约束优化问题求解 (4)
J (k) =
wP (k)
−
y% P0
(k)
−
AΔU M
(k)
2 Q
+
ΔU M
2 R
( ) ( ) J(k) = wP(k) − y%P0 (k) − AΔUM (k) T Q wP(k) − y%P0 (k) − AΔUM (k) + ΔUMT RΔUM
dJ (k) d Δu j (k) = 0