第7章模型预测控制1SISO.ppt_图文

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

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

专业课件

1

内容提要
? 概述 ? 动态矩阵控制 ? 动态矩阵控制的进一步讨论 ? 模型算法控制 ? 应用

专业课件

2

思想

? Z域设计(直接设计) ? 时域设计
? 现代控制理论(基于状态空间):如最优控 制、极点配置等
? 应用航空航天(理想环境)
? 工业过程控制(基于模型预测):预测控制!
? 石油、化工、发电等 ? 先进控制算法

专业课件

3

工业过程特点

? 数学模型的非精确性

? 不确定性、随机性、参数时变性

? material, energy balances

? flow dynamics

? physical properties (often unknown)

? thermodynamics

? 多变量系统

? 控制算法的可实施性

? 历史,。。。

? 脉冲响应与阶跃响应;滚动

专业课件

4

模型预测控制, 动态复杂性

? Figure: Two processes exhibiting unusual dynamic behavior. (a) change in base level due to a step change in feed rate to a distillation column(分裂蒸馏塔). (b) steam temperature change due to switching on soot blower (吹灰器) in a boiler.

专业课件

5

采用动态矩阵控制的前提假设

? 系统是线性定常稳定的

? 在阶跃输入激励下系统输出在有限个周期内

可以到达稳态

y1:temperature

Y (s) ? F (s)U (s),

1

lim y(t) ? y(0) ? lim sY (s) ? lim sF(s)U (s) ? lim sF(s) ? F(0)

t ??

s?0

s?0

s?0

s

time

u1: power

[ak pk ? ? a1 p ? a0]y(t) ? [bj p j ? ? b1 p ? b0]u(t), pu(t) u?(t)

[Akqk ? ? A1q ? A0]y(t) ? [Bjq j ? ? B1q ? B0]u(t),qu(t) ? u(t ?1)

pu(t) u?(t) ? u(t) ? u(t ?T ) ,T ? 1 T

专业课件

time

6

基于动态矩阵控制的建模方法

? DMC是建立在阶跃响应基础上(机理模型!)

? 在阶跃输入激励下系统输出在有限个周期内

可以到达稳态

y1:temperature

?

v

?

?v1 ? ?v1

(1) v2 (1)?vNv (2) v2 (2)?vN

(1) ? ?
v (2)?

??v1

(3)

v2

(3)?

v

Nv

(3)

? ?

??

?

??

Y

?

? y(1) ?

? ?

y(2)??

? y(3)?

? ?

?

? ?

u1: power

time

从历史数据直接 辩识与设计控制系统

专业课件

time

7

模型预测控制, 方法

? Model Predictive Control (MPC) – regulatory controls that use an explicit dynamic model of the response of process variables to changes in manipulated variables to calculate control “moves”.

? Control moves are intended to force the process variables to follow a pre-specified trajectory from the current operating point to the target.

? Base control action on current measurements

and future

专业课件

8

模型预测控制,优点

? Optimal controller is based on minimizing error from set point

? Basic version uses linear model, but there are many possible models

? Corrections for unmeasured disturbances, model errors are included

? Single step and multi-step versions

? Treats multivariable control,

? Feedforward control

专业课件

9

模型预测控制,优点/特点

? Processes are difficult to control with standard PID algorithm – long time constants, substantial time delays, inverse response, etc.

? There is substantial dynamic interaction among controls, i.e., more than one manipulated variable has a significant effect on an important process variable.

? Constraints (limits) on process variables and

manipulated variables are important for

normal control.

专业课件

10

模型预测控制

? Techniques developed by industry:

1. Dynamic Matrix Control (DMC)

-

Shell Development Co.,

Cutler and Ramaker (1980),

-

Cutler later formed DMC, Inc.

-

DMC acquired by Aspentech

in 1997.

2. Model Algorithmic Control (MAC)

? ADERSA/GERBIOS, Richalet

et al (1978)

? Over 4000 applications of MPC since 1980 (Qin and Badgwell, 2003).

专业课件

11

模型预测控制, 优点/特点

? Time-delay compensation techniques predict process output one time delay ahead.
? Here we are concerned with predictive control techniques that predict the process output over a longer time horizon. (e.g., open-loop response time).

专业课件

12

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

专业课件

13

模型预测控制, 优点/特点

General Characteristics
? Targets (set points) selected by real-time optimization software based on current operating and economic conditions
? Minimize square of deviations between predicted future outputs and specific reference trajectory to new targets
? Discrete step response model
? Framework handles multiple input, multiple output (MIMO) control problems.

专业课件

14

模型预测控制, 优点/特点

? Can include equality and inequality constraints on controlled and manipulated variables

? Solves a quadratic programming problem at each sampling instant

? Disturbance is estimated by comparing the actual controlled variable with the model prediction

? Usually implements the first move out of M

calculated moves 专业课件

15

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

? 动态矩阵控制原理与算法
? 预测模型控制结构 ? 优化策略 ? 反馈校正 ? 算法

? 设计参数选择

? 采样周期

? 优化时域长度

? 控制时域程度

? 权矩阵

? 误差校正向量

专业课件

16

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

? DMC依靠对象的阶跃响应

? 控制结构组成

? 预测模型

模型截断

aN

aN-1

a1

a2

a3

1

2

3

N-1

N

离散的阶跃响应

专业课件

17

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

? Step Response Models

? Step response models are based on the following idea. Assume that the system is at rest. For a linear timeinvariant single-input single-output (SISO) system let the output change for a unit input change be given by

? {0, a1, a2, . . . , aN, aN, . . .}

? Here we assume that the system settles exactly after

N steps. The step response {a1, a2, . . . , aN}
constitutes a complete model of the system, which

allows us to compute the system output for any input

? sequence: 可加性

N

y(k) ? ai ?u(k ? i) ? aN u(k ? N ?1)

i?1 专业课件

18

1 动态矩阵控制 (5/22)
? 预测模型
对象的动态特性通过动态系数{a1, a2, …, aN}来描述 ? {a1, a2, …, aN}是阶跃响应在采样时刻
t=T,2T,…,NT的值 ? (ai step response coefficients) ? (ai+1-ai impulse response coefficients)
? N的选择应该使ai~as, (j>N), as是阶跃响应终止值

专业课件

19

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

For example

if the discrete system description (sampling

time T = 0.1) is

y(k) Y (t) |t?kT , T

y(k) = –0.5y(k –
then the transfer

1) + u(k
function

– is

3)

y(k)

? y(k T

?1)

?

?1 T

G(Z )

?

1

?

Z ?3 0.5Z

?1

?

1

?

Z ?1 0.5Z

?1

Z ?2

专业课件

20

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

? The following commands generate the step response model for this system and plot it:

num = [0 1];

den = [1 0.5];

delt1 = 0.1;

delay = 2;

% why don’t we choose 3 ?

g = poly2tfd(num,den,delt1,delay) ; %% Other function/format

% Set up the model in tf format

tfinal = 1.6;

delt2 = delt1;

nout = 1;

plant = tfd2step(tfinal,delt2,nout,g) ;

% Calculate the step response %%

plotstep(plant)

% Plot the step response(u1,y1)

专业课件

21

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

专业课件

22

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

? plant =

?

0 ---a1

?

0 ---a2

?

1.0000---a3

?

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---a16

?

?

1.0000 --- nout(i) = 1 if output i is stable.

?

1.0000 --- ny

?

0.1000 --- delt2

专业课件

23

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

? 预测模型
? 线性系统的可加性,可以由a=[a1, a2, …, aN]T描述 ? 假设t=kT有一个控制增量Δu(k),后面控制量不变 ? 在采样时刻t=(k+1)T, (k+2)T,…, (k+N)T的值

? ~y 0 (k ? 1 | k ) ?

~y N 0 (k )

?

? ?

~y 0

(k

??

? 2 | k)

? ? ?

? ??

~y 0

(k

?

N

|

? k )??

~yN1(k ) ? ~yN 0 (k ) ? a?u(k )

? ~y1 (k ? 1 | k ) ?

~y N1 (k )

?

? ?

~y1

(k

??

? 2 | k)

? ? ?

? ??

~y1

(k

?

N

|

? k )??

专业课件

24

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

? Note that
y1 (k ? 1 | k ) y1 (k ? 2 | k )

? y0 (k ? 1 | k ) ? ? y0 (k ? 2 | k ) ?

a1?u(k ) a2?u(k )

y1 (k ? N ?1 | k ) ? y0 (k ? N ?1 | k ) ? aN ?1?u(k )

y1 (k ? N | k )

? y0 (k ? N | k ) ? aN ?u(k )

~yN1(k ) ? ~yN 0 (k ) ? a?u(k )

专业课件

25

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

? 1 预测模型 (基于线性化假设)

? 假设t=kT,(k+1)T,…, (k+M-1)T 有控制增量Δu(k), Δu(k+1), … ,Δu(k+M-1); 后面控制量不变

? 在采样时刻t=(k+1)T, (k+2)T,…, (k+P)T的值 (滚动)

? ~y0 (k ? 1 | k ) ?

~y P0 (k )

?

? ?

~y0

(

k

??

?

2

|

k)

? ? ?

? ??

~y0

(

k

?

P

|

? k )??

? ~yM (k ? 1 | k ) ?

~y PM

(k )

?

? ?

~y M

??

(k

?

2

|

k)

? ? ?

? ??

~y M

(k

?

P

|

? k )??

~yPM (k ) ? ~yP0 (k ) ? A ? ?uM (k )

??u(k )

?

?uM (k ) ? ???

??;

???u(k ? M ? 1)??

? a1

A

?

? ?

a2

??

? ?aP

0

0

0?

a1

0

0

? ?

?

?

??

aP ?1

?

? aP ?M ?1 ?

专业课件

26

1 动态矩阵控制 (13/22)
? Note that

y1(k ?1| k) y1(k ? 2 | k)

? y0 (k ?1| k) ? a1?u(k) ? y0 (k ? 2 | k) ? a2?u(k) ? a1?u(k ?1)

y1(k ? N ?1| k) ? y0 (k ? N ?1| k) ? aN?1?u(k) ? ? a1?u(k ? N ? 2) y1(k ? N | k) ? y0 (k ? N | k) ? aN ?u(k) ? aN?1?u(k ?1) ? ? a1?u(k ? N ?1)

yPM (k ) ? yP0 (k ) ? A ? ?uM (k )

专业课件

27

1 动态矩阵控制 (14/22)
? 2 优化策略(误差小,代价小)

? 期望轨迹:WP (k) ? ?W (k ?1),...,W (k ? P)?T ? 优化控制变量:ΔuM(k) ? 期望指标:误差小,控制量小,即

P

? (W (k ? i) ?
? ? min J (k) ?

yPM

(k ? i
qi (W

| k))2,
(k ? i)

? (W
? yMi?(1k ?

(k
i|

k?)i))2??yMM(kri

? i | k))2
?u(k ? i

?1)2

i ?1

M

i ?1

? ?u(k ? i ?1)2, ? ?u(k ? i ?1)2

专业课件

28

i ?1

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

? 2 优化策略(误差小,代价小)

? 权矩阵:

?q1 ?

Q ? Diag[q1,

,

qP

]

?

? ?

q2

? ??

?

?r1

?

?

?,R ? ?

r2

?

?

qP

? ??

? ??

?

?

?

?

rM

? ??

? 期望轨迹:WP (k) ? ?W (k ?1),...,W (k ? P)?T ? 优化控制变量:ΔuM(k)

? 期望指标(无约束问题) :误差小,控制量小,即

P

M

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

i ?1

i ?1

or

min J (k) ?

WP (k) ? ~yPM (k)

2 Q

?

?uM (k)

2 R

专业课件

29

1 动态矩阵控制 (14/22)
? 优化策略问题

P

M

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

i ?1

i ?1

? 应该有控制变量约束?其它?

? 如何求解?

专业课件

30

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

? 优化策略——当为无约束问题时

? 优化控制量:ΔuM(k)

P

M

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

i ?1

i ?1

P

M

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

i ?1

i ?1

min J (k) ? [WP (k) ? ( yPo (k) ? A ? ?uM (k))]T ? Q ?[WP (k) ? ( yPo (k) ? A ? ?uM (k))] ? ?uM (k) ? R ? ?uM (k)

?J (k) ? 0 ??uM (k)

?J (k) ??uM (k)

?

2 AT Q

?[WP (k)

?

( yPo (k)

?

A?

?uM

(k))] ?

2R

?

?uM

(k)

?

0

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

Note that

? ?x

( Ax) ? AT

专业课件

31

1 动态矩阵控制 (16/22)
? 优化控制——结果
? t=kT时刻解的最优控制增量序列
?uM (k) ? ( AT QA ? R)?1 AT Q ?[WP (k) ? ~yPo (k)]

专业课件

32

1 动态矩阵控制 (16/22)
? 优化控制——解释
? 这就是t=kT时刻解的最优控制增量序列

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

? 优化控制量: Δu M(k) = [Δu (k); …; Δu (k+M-1)]

? t=kT,

u (k) = u (k-1)+ Δu (k);

? t=(k+1)T, u (k+1) = u (k)+ Δu (k+1);

?…

? t=(k+M-1)T, u (k+M-1) = u (k+M-2)+ Δu (k+M-1);

? t=(k+M)T, u (k+M) = u (k+M-1);

? t=(k+M+1)T, u (k+M+1) = u (k+M); u (k+M+j) = u (k+M).

专业课件

33

1 动态矩阵控制 ()

W(k)

yM(k+3|k)

W(k+2)

?3

W(k+3)

W(k+1) ?1

?2 yM(k+2|k)

yM(k+1|k)

W(k+M-1)

W(k+P) w
?P yM(k+P|k)

P189 图7-3 DMC的 优化策略

k

k+1

k+2

k+M-1

k+P

t/T

u(k)

u(k+1)

Δ u(k+2)

Δ u(k+3)

Δ u(k+1)

u(k+2)

u(k+3)

u(k-1) Δ u(k)

k

k+1

k+2

u(k+M-1) Δ u(k+M-1)

u(k+P)

k+M-1 专业课件 k+P

t/T

34

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

专业课件

35

1 动态矩阵控制 (16+/22)

? 优化控制——运行

? t=kT时刻解的最优控制增量序列

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

?u(k) ? ?1,0, ,0??uM (k)

? 优化控制——循环运行?

? t=(k+1)T时刻解的最优控制增量序列
?uM (k ?1) ? ( ATQA ? R)?1 ATQ ?[WP (k ?1) ? yPo (k ?1)]

?u(k ?1) ? (1, 0, , 0)?uM (k ?1)

专业课件

36

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

3 反馈校正

? 原因

? 模型误差 ? 非线性特性 ? 干扰
? 方法
? 动态调整

?u(k) ? cT ?uM (k), ?u(k) ? cT ( AT QA ? R)?1 ATQ ?[WP (k ) ? yPo (k )], cT ? [1, 0,..., 0],

?
[d1, d2 ,..., dP ]? cT ( ATQA ? R)?1 ATQ 可离线计算!

?u(k) ? [d1, d2,..., dP ]?[WP (k) ? yPo (k)]

专业课件

37

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

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)

专业课件

38

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

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

? t=(k+1)T时刻误差校正后的系统在t=(k+i)T,

(i=1,2,…,N)的输出预测

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

~ycor (k ?1) ? ???

??;

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

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

h1 ? 1

? t=(k+1)T时刻误差校正后的系统,在t=(k+1+i)T,

(i=1,2,…,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 ??

39

1 动态矩阵控制 (20/22)
3 反馈校正
? Though m control moves are calculated, only the first one (?u(k)) is implemented. At the
next sampling interval, new values of the measured output are obtained, the control horizon is shifted forward by one step, and the same computations are repeated.
? “moving horizon” or “receding horizon.”

专业课件

40

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

4 算法 (1) 离线计算

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

(3) 在线计算

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

专业课件

41

1 动态矩阵控制 (22/22)
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

专业课件

42


相关文档

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