Professional Documents
Culture Documents
Model Predictive Control: Prof. Shi-Shang Jang National Tsing-Hua University Chemical Engineering Department
Model Predictive Control: Prof. Shi-Shang Jang National Tsing-Hua University Chemical Engineering Department
Model Predictive Control: Prof. Shi-Shang Jang National Tsing-Hua University Chemical Engineering Department
2
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)
3
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.
4
Internal Model Control (IMC)
Structure
d
+ e u + +
ys GI GP y
-
ym - +
Gm
d̂
e=ys-y+ym
5
Analysis of Internal Model
Structure
From the block diagram:
G p GI y s d
yd
1 GI (G p Gm )
u
ys d GI
1 GI (G p Gm )
6
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
7
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.
8
Example
N ( s) Ds
G p ( s) e
D( s )
D( s) Ds
GI ( s) G p1 ( s) F ( s) e F ( s)
N ( s)
e Ds
F (s)
s 1 n
9
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: y(0) 1 Gm (0)GI (0)d (0) G p (0)GI (0) ys (0)
1 GI (0) G p (0) Gm (0)
ys (0)
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.
10
Properties of IMC (Principles of
Internal Model Control)- continued
Gm(S)
11
Properties of IMC (Principles of
Internal Model Control)- continued
e(s)+ m(s) d
ys + Gc(S) Gc(S) y(s)
-
-
Gp(S) Gp(S) +
-
12
Properties of IMC (Principles of
Internal Model Control)- continued
Notes:
(a) G s Gc
1 Gc Gm
I
Gc s Gm s
F s
1 Gc s Gm s
13
On-Line Tuning of IMC
1. Choose a process model through plant tests
2. Choose a filter F s e Ds to make GI(s)
realizable s 1n
4
1/ 2
2 2
n 2
Pu2 Pu2
u
2
4. If /D<1, then IMC will yield better performance than a PID
controller. If 1< /D<2; then IMC and PID are competitive.
14
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.
15
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
16
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.
17
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
18
A Discrete Input Plant Model
N ( z )
y( z) z m( z ) d ( z )
D( z )
Let
N ( z)
D( z )
h1 h2 z 1 h3 z 2 hN z N 1 z 1
Note that N/D is actually the impulse response of the system m(z)=1
without delay
y(t)
h3 h4
h1 h2 h5
h6 h7
t
19
Example: G(s)=1/(s+1)3
global m
m=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 m
dy(1)=y(2);
dy(2)=y(3);
dy(3)=-3*y(3)-3*y(2)-y(1)+m;
dy=dy';
20
Example: G(s)=1/(s+1)3 -
continued
TSPAN=[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
21
A Discrete Input Plant Model
yk 1 h1mk h2 mk 1 hN mk N 1
Let 0
for example, four step ahead forecast
yk 4 h1 h2 h3 h4 mk 3 hN 0 0 mk 1
0
y 0 h h2 h3 mk 2 hN 0 mk 2
0
k 3 1
yk 2 0 0 h1
h2 mk 1 h3 hN 0
k 1 0 0
y 0 h1 mk h2 h3 hN mk N
yˆ Am ˆ Λm
22
A Discrete Input Plant Model-
Continued
y ( z ) z 1 H ( z )m( z ) d ( z )
G ( z )m( z ) d ( z )
Then
N
y( z) z 1
h z
i 1
l
l 1
m( z ) d ( z )
yk 1 h1mk h2 mk 1 hN mk N 1 d
yˆ k 1 d
23
Approximate Inversion
Since we cannot make y(t)=yd(t) exactly, we pose the following least
square minimization problem:
P
min
m ( k ), m ( k 1),..., m ( k M 1)
l d
2
y k l ˆ
y k l 2
l m k l 1
2 2
i 1
N
y( z) z 1
h z
i 1
l
l 1
m( z ) d ( z )
24
The Solution
The previous problem can be solved
based on a Quadratic Programming
solver or using previous pseudo-inverse
of matrix approach.
25
MPC-Servo Control (A Feed-forward
Approach) Want yk+1=yk+2=…=yd
yd h1 h2 h3 h4 mk 3 hN 0 0 0 mk 1
y 0 h h2 h3 mk 2 hN 0 0 mk 2
d 1
yd 0 0 h1 h2 mk 1 h3 hN 0
yd 0 0 0 h1 mk h2 h3 hN mk N
y d Am Λ m
ˆ A 1 y d Λ m
m
P=4; M=4
26
MPC-Servo Control (A Feed-
forward Approach) -Example
Y_real
Y_sample
time time
P=4; M=4
27
MPC-Servo Horizon Control (A Feed-
forward Approach) Want
yk+1=yk+2=…=yd, but mk+1=mk+2=mk+3
yd h1 h2 h3 h4 hN 0 0 mk 1
0
y h h m 0 mk 2
d 1 2 h3 hN 0
k 1
yd h1 h2 mk h3 hN 0
d
y 0 h1 h2 h3 hN mk N
y d Am Λ m
mˆ pinv ( A)y d Λ m
P=4; M=2
28
MPC-Servo Horizon Control (A Feed-
forward Approach) Want
yk+1=yk+2=…=yd, but mk+1=mk+2=mk+3
Response
Time
P=4; M=2
29
MPC-Regulation Control (A
Feedback Approach)
yd h1 h2 h3 h4 mk 3 hN 0 0 mk 1 d
0
y 0 h h h3 mk 2 hN 0 0 mk 2 d
d 1 2
yd 0 0 h1 h2 mk 1 h3 hN 0
yd 0 0 0 h1 mk h2 h3 hN mk N d
y d Am
ˆ Λm d
ˆ A 1 y d Λ m d
m
d yk yˆ k
P=4; M=4
30
MPC-Regulation Control (A
Feedback Approach)
yd h1 h2 h3 h4 hN 0 00 mk 1
y h h m hN 0 0 mk 2
h
d 1 2 3 k 1
yd h1
h2 mk h3 hN 0
d
y 0 h1 h2 h3 hN mk N
y d Amˆ Λm d
mˆ pinv ( A)y d Λ m d
d yk yˆ k
P=4; M=2
31
MPC-Regulation Control (A
Feedback Approach)
Response
Response
Time Time
M=2 M=4
32
Multi-variable Discrete Input
Plant Model
Let 0
for example, four step ahead forecast
y1k 4 h111 h211 h311 h411 h112 h212 h312 h412 m1k 3 h511 h11N 0 0 0 h512 h12
N 0 0 0 m1k 1
1 1 11 11 12 1
yk 3 0 h111 h211 h311 0 h112 h212 h312 mk 2 h4 hN 0 0 h4 h12
N 0 0 mk 2
y1k 2 0 0 h111 h211 0 0 h112 h212 m1k 1 h311 hN 11
0 h312 h12 0
1 1 1
N
11
yk 1 0 0 0 h111 0 0 0 h112 mk h2 h311 h11 h212 h312 h12 mk N
m 2 h 21 h 21
N N
y 2 h 21 h221 h321 h421 h122 h222 h322 h422 0 0 0 h522 hN22 0 0 0 mk21
k2 4 1 k 3 5 N
yk 3 0 h121 h221 h321 0 h122 h222 h322 mk 2 h4
2 21
hN21 0 0 h422 hN22 0 0 mk2 2
y2 0 2
k2 2 0 h121 h221 0 0 h122 h222 mk 1 h3
21
hN21 0 h322 hN22 0
yk 1 0 0 0 h121 0 0 0 h122 mk2 h221 h321 hN21 h222 h322 hN22 mk2 N
yˆ Am
ˆ Λm
33
Examples of Multivariable Control:
Control of a Mixing Tank
Hot
Cold
LT
TT
34
Example- Mixing Tank Problem
Height
Time
35
Example- Mixing Tank Problem
Temperature
Time
36
Dynamic Matrix Control (DMC)
Response
Response
a4,….
a3 h1 h2 h3 h4,….
a1 a2
Time
Time
Step response Pulse response
37
Dynamic Matrix Control (DMC)-
Continued
N
y( z) z 1
h z
i 1
l
l 1
m( z ) d ( z )
1
Let m( z )
1 z 1
y( z) z
1 h1 h2 z
1
h3 z 2 hN z N 1
d ( z)
1
1 z
z 1 h1 h2 z 1 h3 z 2 hN z N 1 1 z 1 z 2
z 1 h h h z h h h z d z
1 1 2
1
1 2 3
2
z 1 a a z a z a z
1 2
1
3
2
N
N 1
hl al al 1 al (1 z 1 )
38
Dynamic Matrix Control (DMC)-
Continued
N
y( z) z 1
l
a
i 1
z l 1
1 z 1
m( z ) d ( z )
But
1 z m( z ) mz
1
Finally
N
y( z) z 1
l m( z ) d ( z )
a z
i 1
l 1
39
Dynamic Matrix Control (DMC)-
Continued
yd a1 a2 a3 a4 mk 3 aN 0 0 0 mk 1 d
y 0 a1 a2 a3 mk 2 aN 0 0 mk 2 d
d
yd 0 0 a1 a2 mk 1 a3 aN 0
yd 0 0 0 a1 mk a2 a3 aN mk N d
y d Am
ˆ Λm d
ˆ A 1 y d Λm d
m
d yk yˆ k
P=4; M=4
40
Dynamic Matrix Control (DMC)-
Continued
yd aN 0 0 0 mk 1 d
y a a a2 a4 mk 1 0 mk 2 d
d 1 3
aN 0
yd 0
a1 a3 mk a3 aN 0
yd a2 a3 aN mk N d
mk 2 mk 30
y d Am ˆ Λm d
ˆ pinv( A) y d Λm d
m
d yk yˆ k
P=4; M=2
41
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
42
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.
43
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
44