Post on 02-Jan-2016
transcript
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+ +
+
-
-
+
d̂
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