Chapter 6 Model Predictive Control

Preview:

DESCRIPTION

Chapter 6 Model Predictive Control. Prof. Shi-Shang Jang National Tsing-Hua University Chemical Engineering Department. Historical Development. Questions: Given a system what are the absolute limitations to output control? How can one make use of a process model and account for model error? - PowerPoint PPT Presentation

Citation preview

Chapter 6Model Predictive Control

Prof. Shi-Shang JangNational Tsing-Hua University

Chemical Engineering Department

2

Historical Development

Questions:–Given a system what are the absolute limitations to

output control?

–How can one make use of a process model and account for model error?

• Smith Predictor(1955)

• Feedforward Control

• Inferential Control (1975, 1979)

• Dynamic Matrix Control (Shell, 1979)

• Model Algorithmic Control (France, 1979)

• Internal Model Control (Garcia and Morari, 1982)

3

Criteria for Controller Quality

Regulatory Behavior – Compensation for (unmeasured disturbances)

Servo Behavior- Follow set point changes (fast, smooth, no offset)

Robustness-Controller should be effective when there are modeling errors (both structure and parameters)

4

Criteria for Controller Quality-Continued

Constraints- Ability to deal with constraints on inputs and states (no windup)

Remark: 90% of loops can be handled by PID type controllers.

5

Internal Model Control (IMC) Structure

GI

Gm

GPys

e

d

y

ym

u+ +

+

-

-

+

e=ys-y+ym

6

Analysis of Internal Model Structure

From the block diagram:

)(1

)(1

mpI

Is

mpI

sIp

GGG

Gdyu

GGG

dyGGdy

7

Properties of IMC (Principles of Internal Model Control)

1. (Dual Stability) If the model is perfect, stability of controller and plant is sufficient for overall system stability

Proof: If Gp=Gm, then

y=GpGI(ys-d)+d

u=(ys-d) GI

Use IMC only on stable systems, unstable systems can be stabilized by feedback control

Constraints on inputs has no effect on stability

8

Properties of IMC (Principles of Internal Model Control)- continued

2. (Prefect Control) If model is perfect and invertible, and GI=Gp

-1, then y=ys for any d Notes: (1) This is “optimal control”. (2) Suppose Gp

-1 is not realizable, then it is recommended to factor this transfer function into two terms: Gp(s)=G+(s)G-(s) where G+(s) is not realizable contains all time delays and RHP zeros. In this case the “best” controller possible is: GI(s)=G-

-1(s), this controller minimizes sum of the square of the errors in output.

(3) This suggests the design of F(s) as GI=Gp

-1 F(s) such that GI(s) realizable.

9

Example

)()(

)()()()(

)(

)()(

1 sFesN

sDsFsGsG

esD

sNsG

DspI

Dsp

Which is realizable if we choose:

n

Ds

s

esF

1)(

Where n=degree of D(s)-degree of N(s)>0, is chosen

10

Properties of IMC (Principles of Internal Model Control)- continued

3. Zero Offset

There is no offset if we choose:

GI(0)=1/Gm(0)

Pf:

)0(

)0()0()0(1

)0()0()0()0()0()0(1)0(

s

mpI

sIpIm

y

GGG

yGGdGGy

a. This means the output will attain the set point exactly in presence of persistent disturbances and set-point changes - integral feedback

b. Note that this is true even if the model is imperfect.

11

Properties of IMC (Principles of Internal Model Control)- continued

4. Comparison with Feedback ControllerIf we choose

Then we get classical output feedback control. Note that GI(s) in the closed loop transfer function of the following:

mc

cI GG

GsG

1

Gc(S)

Gm(S)

+-

e(s) m(s)

12

Properties of IMC (Principles of Internal Model Control)- continued

Joining this with the IMC block diagram we get

which reduced to a classical feedback control:

Gc(S)

Gp(S)

+-

e(s) m(s) Gc(S)

Gp(S)

+-

ys

dy(s)

+-

Gc Gp+-

ys(s)d

13

Properties of IMC (Principles of Internal Model Control)- continued

Notes:

(a)

may be looked upon as a “poor” approximation to Gm-1(s). For

large Kc, this approximation gets better.

(b) Note the similarity of this structure to Smith Predictor also approximates the invertible part of Gm

-1(s).

(c) This feedback structure implies use of a filter:

mc

cI GG

GsG

1

sGsG

sGsGsF

mc

mc

1

14

On-Line Tuning of IMC

1. Choose a process model through plant tests

2. Choose a filter to make GI(s) realizable

3. Decrease untill system becomes oscillatory. Brosilow recommends the following time constant: (where u=min. filter constant; Pu=period of oscillation)

4. If /D<1, then IMC will yield better performance than a PID controller. If 1< /D<2; then IMC and PID are competitive.

n

Ds

sesF

1

2

422/1

2222

uuu

n PP

15

Computation of Approximate Inverses In practice, it is easier to find an approximate

inverse of the process transfer function in the time domain (using discrete models).

Time Domain View: Given the past history of inputs to the process and

current estimate of the disturbance, compute the current and future inputs which will make the output follow the desired set point.

Limitation in Practice:1. The future will be limited to a finite time horizon (3-4

times time-constant of system.2. Attention must be limited to values of output at discrete

times.

16

Summary of MPC MPC consists of three blocks:

• Process model• A controller (approximate inverse)• A filter

Advantages:• Quality of response depends on controller design• Robustness depends on filter• Stability is not an issue• Implementation is straight forward• On-line tuning can be provided by the filter time

constant

17

Computation of Approximate Inverses - Continued

3. Values of ‘all’ future inputs may be limited to a few in the immediate future.

4. Problem must be solved every so often (at discrete sampling times) when new estimates of disturbance become available.

5. We must limit the size and velocity of control input variations.

6. On-line computations should be kept to a minimum.7. Smooth transfer between auto/manual should be

possible.8. It should be recognize constraints on inputs.9. There should be operator adjustable constant(s) to

account for plant/model mismatch.

18

Review of least-square problem

Given a set of equations:

Ax=b+e We seed a solution which minimizes

iei2

The solution is given by:

x=(ATA)-1ATb We term (ATA)-1AT to be pseudo inverse of

matrix A

19

A Discrete Input Plant Model

1123

121)(

)(

)()()(

)()(

zzhzhzhhzD

zN

Let

zdzmzzD

zNzy

NN

Note that N/D is actually the impulse response of the system m(z)=1 without delay

h1 h2h3 h4

h5h6 h7

t

y(t)

20

Example: G(s)=1/(s+1)3

global mm=1;TSPAN=[0 1];Y0=[0 0 0];Y_real=[];Y_sample=[];T_real=[];T_sample=[0];Y_model=[0];for i=1:29 [T,Y] = ODE45('model_3',TSPAN,Y0);TSPAN=[TSPAN(2),TSPAN(2)+1];Y0(1)=Y(end,1);Y0(2)=Y(end,2);Y0(3)=Y(end,3);TT=T(end);Y_real=[Y_real;Y(:,1)];T_real=[T_real;T];m=0;T_sample=[T_sample,TT];Y_model=[Y_model,Y0(1)];end

function dy=model_3(t,y)global mdy(1)=y(2);dy(2)=y(3);dy(3)=-3*y(3)-3*y(2)-y(1)+m;dy=dy';

21

Example: G(s)=1/(s+1)3 - continuedTSPAN=[0 1];mm=zeros(1,29);Y0=[0 0 0];Y_real=[];Y_sample=[];T_real=[];T_sample=[0];Y_pred=[0];for i=1:50 m=randn(1,1); for i=1:28 mm(29-i+1)=mm(29-i); end mm(1)=m;[T,Y] = ODE45('model_3',TSPAN,Y0);TSPAN=[TSPAN(2),TSPAN(2)+1];Y0(1)=Y(end,1);Y0(2)=Y(end,2);Y0(3)=Y(end,3);TT=T(end);Y_real=[Y_real;Y(:,1)];T_real=[T_real;T];yp=Y_model*mm';Y_pred=[Y_pred,yp];T_sample=[T_sample,TT];end

22

A Discrete Input Plant Model

mΛmAy

ˆˆ

0

00

000

000

00

0

forecast ahead stepfour example,for

0Let

2

1

32

31

2

3

1

21

321

4321

1

2

3

4

11211

Nk

k

k

N

N

N

N

k

k

k

k

k

k

k

k

NkNkkk

m

m

m

hhh

hh

h

h

m

m

m

m

h

hh

hhh

hhhh

y

y

y

y

mhmhmhy

23

A Discrete Input Plant Model-Continued

N

i

ll zdzmzhzzy

Then

1

11 )()()(

)()()(

)()()()( 1

zdzmzG

zdzmzHzzy

This expresses y in terms of past inputs m; i.e.:

dy

dmhmhmhy

k

NkNkkk

1

11211

ˆ

24

Approximate Inversion

1ˆmin 222

1

2

)1(),...,1(),(

lkmlkylky ld

P

il

Mkmkmkm

Since we cannot make y(t)=yd(t) exactly, we pose the following leastsquare minimization problem:

subject to the above process model:

)1()()1(

)()()(1

11

PkmMkmMkm

zdzmzhzzyN

i

ll

No control changes beyond M

25

The Solution

The previous problem can be solved based on a Quadratic Programming solver or using previous pseudo-inverse of matrix approach.

26

MPC-Servo Control (A Feed-forward Approach) Want yk+1=yk+2=…=yd

mΛyAm

mΛmAy

d1

d

ˆ

0

00

000

000

00

0 2

1

32

31

2

3

1

21

321

4321

Nk

k

k

N

N

N

N

k

k

k

k

d

d

d

d

m

m

m

hhh

hh

h

h

m

m

m

m

h

hh

hhh

hhhh

y

y

y

y

P=4; M=4

27

MPC-Servo Control (A Feed-forward Approach) -Example

time time

Y_re

alY_sam

ple

P=4; M=4

28

MPC-Servo Horizon Control (A Feed-forward Approach) Want yk+1=yk+2=…=yd, but mk+1=mk+2=mk+3

mΛyAm

mΛmAy

d

d

)(ˆ

0

00

000

0

2

1

32

3

1

1

21

321

4321

pinv

m

m

m

hhh

hh

h

h

m

m

h

hh

hhh

hhhh

y

y

y

y

Nk

k

k

N

N

N

N

k

k

d

d

d

d

P=4; M=2

29

MPC-Servo Horizon Control (A Feed-forward Approach) Want yk+1=yk+2=…=yd, but mk+1=mk+2=mk+3

P=4; M=2

Time

Respons

e

30

MPC-Regulation Control (A Feedback Approach)

kk

Nk

k

k

N

N

N

N

k

k

k

k

d

d

d

d

yyd

d

d

d

m

m

m

hhh

hh

h

h

m

m

m

m

h

hh

hhh

hhhh

y

y

y

y

ˆ

ˆ

ˆ

0

00

000

000

00

0 2

1

32

31

2

3

1

21

321

4321

dmΛyAm

dmΛmAy

d1

d

P=4; M=4

31

MPC-Regulation Control (A Feedback Approach)

kk

Nk

k

k

N

N

N

N

k

k

d

d

d

d

yyd

pinv

m

m

m

hhh

hh

h

h

m

m

h

hh

hhh

hhhh

y

y

y

y

ˆ

)(ˆ

ˆ

0

00

000

0

2

1

32

3

1

1

21

321

4321

dmΛyAm

dmΛmAy

d

d

P=4; M=2

32

MPC-Regulation Control (A Feedback Approach)

Time

Respons

e

Time

Respons

e

M=4M=2

33

Multi-variable Discrete Input Plant Model

mΛmAy

ˆˆ

0

00

000

0

00

000

0

00

000

0

00

000

000

00

0

000

00

0

000

00

0

000

00

0

forecast ahead stepfour example,for

0Let

2

22

21

1

12

11

22223

222

22223

22224

22225

21213

212

21213

21214

21215

12123

122

12123

12124

12125

11113

112

11113

11114

11115

2

21

22

23

1

11

12

13

221

222

221

223

222

221

224

223

222

221

211

212

211

213

212

211

214

213

212

211

121

122

121

123

122

121

124

123

122

121

111

112

111

113

112

111

114

113

112

111

21

22

23

24

11

12

13

14

21

1221

122

2121

11

1111

112

1111

11

Nk

k

k

Nk

k

k

N

N

N

N

N

N

N

N

N

N

N

N

N

N

N

N

k

k

k

k

k

k

k

k

k

k

k

k

k

k

k

k

NkNkkNkNkkk

m

m

m

m

m

m

hhh

hh

hh

hh

hhh

hh

hh

hh

hhh

hh

hh

hh

hhh

hh

hh

hh

m

m

m

m

m

m

m

m

h

hh

hhh

hhhh

h

hh

hhh

hhhh

h

hh

hhh

hhhh

h

hh

hhh

hhhh

y

y

y

y

yy

y

y

mhmhmhmhmhmhy

34

HotCold

LT

TT

Examples of Multivariable Control:Control of a Mixing Tank

MV’s: Flow of Hot Stream CV’s: Level in the tank Flow of Cold Stream Temperature in the tank

35

Example- Mixing Tank Problem

Time

Heig

ht

36

Example- Mixing Tank Problem

Tem

perature

Time

37

Dynamic Matrix Control (DMC)

Time

Respons

e Respons

e

Time

a1 a2 a3

a4,….

h1 h2 h3 h4,….

Step response Pulse response

38

Dynamic Matrix Control (DMC)- Continued

)1(

1

)(1

)(

1

1)(Let

)()()(

11

123

121

1

2321

1211

1

21123

121

1

1

123

1211

1

1

11

zaaah

zazazaaz

zdzhhhzhhhz

zzzhzhzhhz

zdz

zhzhzhhzzy

zzm

zdzmzhzzy

llll

NN

NN

NN

N

i

ll

39

Dynamic Matrix Control (DMC)- Continued

dmamamamay

zdzmzazzy

Finally

zmzmz

But

zdzmzzazzy

NN

N

i

ll

N

i

ll

11302111

1

11

1

1

111

)()()(

)(1

)()(1)(

Effect of the pastdisturbance

40

Dynamic Matrix Control (DMC)- Continued

3 11 2 3 4

2 21 2 3

1 31 2

2 31

0 0 0

0 00

00 0

0 0 0

ˆ

ˆ

d k N k

d k N k

d k N

d k N k N

y m a ma a a a d

y m a ma a a d

y m a aa a

y m a a a ma d

d

d

1d

y A m Λ m d

m A y Λ m d

ˆk ky y

P=4; M=4

Dynamic Matrix Control (DMC)- Continued

41

1

1 3 2 4 1 2

1 3 3

2 3

2 3

0 0 0

0 0

0 0

0

ˆ

ˆ ( )

ˆ

d N k

d k N k

d k N

d N k N

k k

k k

y a m d

y a a a a m a m d

y a a m a a

y a a a m d

m m

pinv

d y y

d

d

y A m Λ m d

m A y Λ m d

P=4; M=2

42

Tuning Procedures

Sampling time (T): stability is not affected by T. Larger T leads to less variations in m, but deteriorates system performance in presence of frequent disturbances

Horizon for m (M): Choosing M=P (perfect control) leads to severe oscillation in m(t). Reducing M, leads to a more desired response

43

Tuning Procedures - Continued

Input penalty parameter : Increasing makes system more sluggish and nonzero lead to offset, but can be compensated by adding integral control algorithm itself.

Optimization horizon, P: increasing P gets better inverse for system of order n, P>2n is generally sufficient.

44

Summary - Continued

Model Predictive Control (MPC) is the major existed advanced process control in chemical engineering industrial

The modeling in the MPC is crucial The tuning of MPC using M (horizon of

suppression) is the most effective for stability. All other parameters may also frequently implement to improve the control quality

Recommended