Professional Documents
Culture Documents
Nonlinear Quadratic Dynamic Matrix Control With State Estimation
Nonlinear Quadratic Dynamic Matrix Control With State Estimation
2
Outline
Introduction
Linear and Nonlinear QDMC
Algorithm Formulation with State Estimation
Example
Tuning parameters
Conclusions
3
Introduction
Model predictive control (MPC)
Dynamic matrix control (DMC; Cutler and baker ,
1979)
An extension of DMC to handle constraints explicitly
as linear inequalities was introduced by Garcia and
Morshedi (1986) and denoted as quadratic dynamic
matrix control (QDMC).
Garcia (1984) proposed an extension of QDMC to
nonlinear processes.
4
Linear and nonlinear QDMC
Linear QDMC utilizes a step or impulse response
model of the process, and NLQDMC utilizes the
model of the process represented by nonlinear
ordinary differential equations.
These approximations are necessary in order for the
on-line optimization to be a single QP at each
sampling point.
5
Algorithm formulation with state estimation
x f x, u
y h x
6
Algorithm formulation with state estimation(cont’d)
7
Effect of future manipulated variables
– Step 1: Linearize the x f x, u at xˆ (k k 1) and u(k-1)
to obtain
x̂ Ak xˆ Bk u
y Ck xˆ
where
Ak f x x xˆ k k 1 ,u u k 1
Bk f u x xˆ k k 1 ,u u k 1
C k h x x xˆ k k 1
8
Effect of future manipulated variables(cont’d)
xˆ j 1 k xˆ j k u j
y j C k xˆ j
9
Effect of future manipulated variables(cont’d)
P n y nu
Si ,k C k k
i 1
k
Si , k R
i 1
10
Computation of filter gain
– Step 4: Compute the steady-state Kalman gain using the
recursive relation (Åström and Wittenmark, 1984):
where Pjk is the state covariance at iteration j for the model obtained
by linearization at sampling point k. P∞k is the steady-state value of
state covariance for that model.
11
Effect of past manipulated variables
– Step 5: The effect of past inputs on future output
predictions, y*(k+1), y*(k+2), ..., y*(k+P) is computed
follows. Here the superscript * indicates that input values in
the future are kept constant and equal to u(k-1).
Set xˆ k k 1 xˆ k k 1
Define d k k y k h xˆ k k 1
Assume d k i k d k k i 1, 2, , P
For i = 1, 2, ..., P, successively integrate x f x, u over one
sampling time xˆ k kfrom
1 xˆ k k 1 u k ,with
i 1 k 1 u k 1
k d k k k i k 1
and Kthen add toxˆ obtain Addition of Kkd provides
correction to the state. We can then write
y k i h xˆ k i k 1 i 1, 2, , P
12
Output prediction
– Step 6: The predicted output is computed as the sum of the
effect of past and future manipulated variables and the
future predicted disturbances.
l
yˆ k l y k l S i ,k u k l i d k k
i 1
Future
Past effect Future effect disturbances
l 1, 2, , P
13
Optimization
– Optimization.
k P
min
u k 1 , , u k M 1 yˆ l r l
T
2 yˆ l r l
l k 1
u l 1 2 u l 1
T
l 1, 2, , P
14
Optimization(cont’d)
The above optimization problem with constraints can
be written as a standard quadratic programming
problem:
1
min J U T GU g T U
U 2
Subject to
DT U b
where
U u k u k M 1
T
16
NLQDMC Simulation Procedure
x f x, u
y h x
x̂ Ak xˆ Bk u
y C k xˆ
Algebraic loop
Algebraic loop Ts Discretization
Compute the step
Compute the xˆ j 1 k xˆ j k u j response
Kalman filter gain coefficients
y j Ck xˆ j
Kk S i ,k
i
C k kj 1 k
j 1
Effect of past
x f x, u
manipulated
Integration
y h x variable
F
Output prediction
ŷ
State variables x f x, u
Integration
x y h x
Controlled variables
17 y
Example
For the reaction A + B ↔ P the rate of decomposition
of B is
k1CB
rB
1 k2C B
2.0
x1
x2
19
Example(cont’d)
– u1 is the inlet flow rate with condensed B,
– u2 is the inlet flow rate with dilute B,
– x1 is the liquid height in the tank,
– x2 is the concentration of B in the reactor.
The control problem is simulated with the values
– k1 = 1.0, k2 = 1.0,
– CB1 = 24.9, and CB2 = 0.1.
20
Multi-equilibrium points at steady state
Multi-equilibrium points of CB
110
108
106
At u1=1.0, u2=1.0
104
102
100
x
98
α = [ 100, 0.6327 ]
96 Middle steady state
94
β = [ 100, 2.7870 ]
92 Upper steady state
γ = [ 100, 7.0747 ]
90
0 1 2 3 4 5 6 7 8 9 10
21 x
2
Simulation results
A setpoint change from an initial condition of xl0 =
40.00 and x20 = 0.1 to the unstable steady-state point
with values at x1 = 100.00 and x2 = 2.787.
22
110
100
90
80
Level
70
60
50
40
0 5 10 15 20 25 30 35 40
Time(min)
23
8
5
Conc.
0
0 5 10 15 20 25 30 35 40
Time(min)
24
Simulation results(cont’d)
The plant is running at the unstable steady state.
Consider a step disturbance of 0.5 unit in u1.
25
100.5
100.4
100.3
Level
100.2
100.1
100
99.9
0 5 10 15 20 25 30 35 40
Time(min)
26
2.96
2.94
2.92
2.9
2.88
Conc.
2.86
2.84
2.82
2.8
2.78
0 5 10 15 20 25 30 35 40
Time(min)
27
Tuning parameters
System parameter
– Sampling time
Tuning parameters
– Prediction horizon
Longer horizons tend to produce more aggressive control action and
more sensitive to disturbances.
– Control horizon
Shortening the control horizon relative to the prediction horizon
tend to produce less aggressive controllers, slower system response
and less sensitive to disturbances
– Penalty weights
28
Some problems of NLQDMC
Truncation error in NLQDMC
Different sampling times
If system has large different responses in each loop
Tuning problem in NLQDMC
29
Optimization based of tuning method
30
Optimization based of tuning method(cont’d)
31
Conclusion
The proposed algorithm stabilizes open-loop unstable
plants and The incorporation of a Kalman filter also
results in better disturbance rejection when compared
to Garcia's algorithm.
The major advantage of the proposed algorithm
compared to the nonlinear programming approaches is
that only a single quadratic program is solved on-line
at each sampling time.
The use of the software package CONSOLE can
obtain solution to an off-line optimization to tune the
NLQDMC parameters.
32