第7章模型预测控制2SISOExample.ppt_图文

第七章 模型预测控制算法 之一~5

杨根科 上海交通大学自动化系
2013年3月

专业课件

1

内容提要
? 概述 ? 动态矩阵控制 ——例子与参数选择 ? 动态矩阵控制的进一步讨论 ? 模型算法控制 ? 应用

专业课件

2

模型预测控制, idea
Basic concept for Model Predictive Control

专业课件

3

1 动态矩阵控制
Receding Horizon Control concept(Model predictive controlGorinevsky, ) 2005

? At each time step, compute control by solving an openloop optimization problem for the prediction horizon
? Apply the first value of the computed control sequence ? At the next time step, get the system state and re-compute

专业课件

4

1 动态矩阵控制——一个例子

算法

(1) 离线计算

N;
阶跃响应系数 a1,a2,…,aN 优化校正参数 h1,h2,…,hP 优化控制参数 d1,d2,…,dP (2) 初始化
初始值

(3) 在线计算

Y(k)更新规律;优化控制量Δu (k),Δu M(k)

专业课件

5

1 动态矩阵控制——一个例子
算法 (1)建模过程
方法1:仿真 y(k) = –0.5y(k – 1) + u(k – 3)

初始化 y(k)=0, u(k) =0, k <0;
阶跃响应模型
u(k) =1, k>=0; y(k) = –0.5y(k – 1) + u(k – 3), k>=0;

专业课件

6

1 动态矩阵控制——一个例子
算法 (1)建模过程
方法2:数据测量

专业课件

7

1 动态矩阵控制

? 采样周期=0.1000

? plant =[a1;a2;…;a16] ?=

?

0

?

0

?

1.0000

?

0.5000

?

0.7500

?

0.6250

?

0.6875

?

0.6563

?

0.6719

?

0.6641

?

0.6680

?

0.6660

?

0.6670

?

0.6665

?

0.6667

?

0.6666

专业课件

8

1 动态矩阵控制

(2) 优化控制

P

M

? ? min J (k) ? qi (W (k ? i) ? yM (k ? i | k))2 ? ri ? ?u(k ? i ?1)2

i ?1

i ?1

? 没有约束时(控制量,受控量),得到

?uM (k) ? ( AT QA ? R)?1 AT Q ?[WP (k) ? ~yPo (k)]

专业课件

9

1 动态矩阵控制

?uM (k) ? ( AT QA ? R)?1 AT Q ?[WP (k) ? ~yPo (k)]

?0

0

0

0

0?

? 这里

? ?

0

0

? 1.0000 0

0

0

0

0

0

? ?

0?

P,N=16?, M=5; ? ?

0.5000

1.0000

0

0

? 0.7500 0.5000 1.0000 0

0

? ?

0?

?

?

Q=I ; R=I 16*16

? 0.6250 0.7500 0.5000 1.0000 0 ?

5*5

? ?

0.6875

0.6250

0.7500

0.5000

1.0000 ??

A

?

? ?

?

0.6563 0.6719

0.6875 0.6563

0.6250 0.6875

0.7500 0.6250

0.5000 ? 0.7500 ??

? 0.6641 0.6719 0.6563 0.6875 0.6250?

? ?

0.6680

0.6641

0.6719

0.6563

0.6875 ??

? 0.6660 0.6680 0.6641 0.6719 0.6563?

?

?

? 0.6670 0.6660 0.6680 0.6641 0.6719?

? 0.6665 0.6670 0.6660 0.6680 0.6641?

?

?

? ??

0.6667 0.6665 0.6670 专业课件
0.6666 0.6667 0.6665

0.6660 0.6670

0.6680 ? 0.6660??

10

1 动态矩阵控制

? A=[a,[0;a(1:15)],[0;0;a(1:14)],[0;0;0;a(1:13)],[0;0;0;0;a(1:12)]]

?0

0

0

0

0?

? ?

0

0

0

0

0

? ?

? 1.0000 0

0

0

0?

? ?

0.5000

1.0000

0

0

0

? ?

? 0.7500 0.5000 1.0000 0

0?

?

?

? 0.6250 0.7500 0.5000 1.0000 0 ?

? ?

0.6875

0.6250

0.7500

0.5000

1.0000 ??

A

?

? ?

?

0.6563 0.6719

0.6875 0.6563

0.6250 0.6875

0.7500 0.6250

0.5000 ? 0.7500 ??

? 0.6641 0.6719 0.6563 0.6875 0.6250?

? ?

0.6680

0.6641

0.6719

0.6563

0.6875 ??

? 0.6660 0.6680 0.6641 0.6719 0.6563?

?

?

? 0.6670 0.6660 0.6680 0.6641 0.6719?

? 0.6665 0.6670 0.6660 0.6680 0.6641?

?

?

? ??

0.6667 0.6666

0.6665 0.6670 专业课件 0.6667 0.6665

0.6660 0.6670

0.6680 ? 0.6660??

11

1 动态矩阵控制

( AT QA ? R)?1 AT Q ?

?0 0 0.42 0.05 0.09 0.01 0 0 0 0 0 0 0 0 0 0 ?

??0

0

-0.16 0.39 0.01 0.06 -0.02 0.02 0

0.01 0

0.01 0.01 0.01 0.01 0.01??

?0 0 -0.15 -0.19 0.35 -0.02 0.03 0 0.02 0.01 0.01 0.01 0.01 0.01 0.01 0.01?

??0

0

-0.07 -0.17 -0.22 0.29 -0.1 0.1 0

0.05 0.02 0.04 0.03 0.03 0.03 0.03??

??0

0

-0.05 -0.08 -0.21 -0.28 0.22 -0.03 0.09 0.03 0.06 0.05 0.05 0.05 0.05 0.05??

d ? (1, 0, 0, 0, 0)( ATQA ? R)?1 ATQ ?

?0

0

0.42 0.05 0.09 0.01 0

0

0

0

0

0

0

0

0

0?

专业课件

12

1 动态矩阵控制
?uM (k) ? ( AT QA ? R)?1 AT Q ?[WP (k) ? ~yPo (k)]
d ? (1, 0, 0, 0, 0)( ATQA ? R)?1 ATQ ?u(k) ? d ?[WP (k) ? yPo (k)]

专业课件

13

1 动态矩阵控制
? 备注:初始化时计算
WP (k) ? ?! yPo (k) ? ??

专业课件

14

1 动态矩阵控制

? ?

备注:初始化时计算

k=k0

yPo (k )

?

? y(k

? ?

y(k

?

?1| k) ?2| k)

? ? ? ?

? ?

y(k

?

P

|

k

)??

N

? y( j) ? ai?u( j ? i) ? aNu( j ? N ?1)

i?1 N

? y( j | k0 ) ? ai?u( j ? i) ? aNu( j ? N ?1)

i ?1

专业课件

15

1 动态矩阵控制
? k=k0 yPM (k ) ? yP0 (k ) ? A ? ?uM (k )
? 特别
yP1 (k ) ? yP0 (k ) ? a ? ?u(k )

专业课件

16

1 动态矩阵控制

(3) 反馈校正
? 预测误差(一步控制?u(k)后的预测与实际值之差)
y(k ?1)

e(k ?1) ? y(k ?1) ? y1(k ?1| k)]

? 校正权系数

ycor (k ? i | k ?1) ? y1(k ? i | k) ? e(k ?1) i ? 1, 2,..., P(N )

or

ycor (k ?1) ? y1(k) ? e(k ?1)

专业课件

17

1 动态矩阵控制

3 反馈校正 (校正哪个量? 预测模型!)

? t=(k+1)T时刻误差校正后的输出预测

? y(k ?1?1| k ?1) ?

? ycor (k ?1 | k ?1)

ycor

(k

? 1)

?

? ?

?

?

? ?

yN 0 (k

? 1)

?

? ?

y(k

?

N

|

k

? 1)

? ? ?

?? ycor (k ? N | k ?1)??

? ?

y(k

?

1

?

N

|

k

?

1)??

? t=(k+1)T误差校正后系统在后续N时刻输出预测

?0 1 0 ? 0 0?

? ?

0

0

1?0

0

? ?

~yN 0 (k ? 1) ? S~ycor (k ? 1);

?? ? ? ? ? ??

S

?

? ?

0

0

0?1

0

?; ?

?0 0 0 ? 0 1?

?

?

?? 0 0 专0业课?件 0 1 ??

18

1 动态矩阵控制

(3) 反馈校正
? 预测误差(一步控制?u(k)后的预测与实际值之差)
y(k ?1)

e(k ?1) ? y(k ?1) ? y1(k ?1| k)]

? 校正权系数
~ycor (k ? i | k ? 1) ? ~y1(k ? i | k ) ? hi e(k ? 1) i ? 1,2,..., P(N )

or ~ycor (k ? 1) ? ~y1(k ) ? he(k ? 1)

专业课件

19

1 动态矩阵控制 (19/22)

3 反馈校正 ? t=(k+1)T时刻误差校正后的系统的输出预测

?~ycor (k ?1 | k ?1) ?

~ycor (k ?1) ? ???

??;

??~ycor (k ? N | k ?1)??

?h1 ? h ? ??? ??;
??hN ??

h1 ? 1

? 误差校正后的系统,在t=(k+1+i)T的输出预测

?0 1 0 ? 0 0?

? ?

0

0

1?0

0

? ?

~yN 0 (k ? 1) ? S~ycor (k ? 1);

?? ?

S

?

? ?

0

0

? 0

?? ?1

??

0

?; ?

?0 0 0 ? 0 1?

?

?

?? 0 专0业课0件 ? 0 1 ??

20

内容提要
? 概述 ? 动态矩阵控制 ——例子与参数选择 ? 动态矩阵控制的进一步讨论 ? 模型算法控制 ? 应用

专业课件

21

1 动态矩阵控制 -参数选择

? 动态矩阵控制原理与算法
? 控制结构组成 ? 优化策略 ? 反馈校正 ? 算法

? 设计参数选择

? 采样周期

? 优化时域长度

? 控制时域长度

? 权矩阵

? 误差校正向量

专业课件

22

1 动态矩阵控制-参数选择
? 动态矩阵控制算法
? 模型参数ai: 阶跃响应(关键模型) ? 控制系数di : 反馈校正(便利) (d1, d2, , dP ) ? (1,0, ,0)(ATQA ? R)?1 ATQ ? 校正参数hi : (人为确定?)

? 原始设计参数选择
? 采样周期:T ? 优化时域长度: P ? 控制时域程度: M ? 权矩阵: Q, R ? 误差校正向量, h

专业课件

23

1 动态矩阵控制 -参数选择

? 采样周期:T

? 大的采样周期有利于控制稳定,

? 不利于克服扰动

(1) 香农采样定理 Th<=pi/wmax; wmax---信号最大震荡频率
(2) 模型时域N=20~50, Th>=T>=Tl (下限,运算速 度)(系统固有的)

? 优化时域长度: P=30~120

? 控制时域长度M较短: 控制量不受压制;大的P得到 一个稳定的控制

P

? 对于任意控制时域长度M, 通过加大权矩阵 R控制达

? a s

ai qi

i ?1

? 0到稳定,但是P满足

专(业as课是件 a(t)的稳态值)

24

1 动态矩阵控制 -参数选择

? 控制时域程度: M,
? 加大M快速性强,动态性,预见性好 ? 加大M稳定性差; ? 增大P与减少M一致,固定M, 只对P整定 ? M是 AT QA ? R 的维数,求逆!

? 权矩阵: Q

? q1=…=qP=q; or q1=…=qP1=0 and qP1+1=…=qP=q
? 权矩阵: R

? r1=…=rM=r; or r1<r<r2
? 权矩阵: h

? h1=1, h2=…=hN=h; or hi=1+h+h2+…+hi-1

专业课件

25

1 动态矩阵控制 -参数选择

1. N and T These parameters should be selected so that N T > open-loop settling time. Typical values of N:

2. Prediction Horizon, P ? Increasing P results in less aggressive control action Set P = N + M , 30 < P < 120

3. Control Horizon, M ? Increasing M makes the controller more aggressive and increases computational effort, typically 5 < M < 20

4. Weighting matrices Q and R ? Diagonal matrices with largest elements corresponding to most important variables

专业课件

26

1 动态矩阵控制 –Matlab仿真
mpcdoubleint.m
仿真模型实现方法; 方法1:Simulink 方法2:

专业课件

27

1 动态矩阵控制 –Matlab仿真

专业课件

28

1 动态矩阵控制 –Matlab仿真
mpcdoubleint.m
仿真模型实现方法; mpc_doubleinta mpc_doubleintb mpc_doubleintc mpc_doubleintd mpc_doubleintE

专业课件

29


相关文档

模型预测控制ppt
第7章模型预测控制系统的计算机辅助设计-PPT精选文档
第5章模型预测控制-PPT精选文档
神经网络模型预测控制器PPT课件
第七章物流系统预测与控制-PPT精选文档
第二章 自动控制系统的数学模型.ppt
2019年数据模型与决策第7章时序分析与动态预测.ppt
第7章 模型预测控制系统的计算机辅助设计 MATLAB控制系统设计与仿真 教学课件-PPT文档资料
控制工程基础ppt课件第二章 数学模型.
2019年第7章 模型预测控制系统的计算机辅助设计 MATLAB控制系统设计与仿真 教学课件.ppt
学霸百科
电脑版 | 学霸百科