Professional Documents
Culture Documents
Emerging applications
State-based MPC
Conceptual idea of MPC
Optimal control synthesis
Example
Lateral control of a car
Stability
Lecture 15: Industrial MPC
EE392m - Spring 2005
Gorinevsky
Control Engineering
14-1
MPC concept
MPC = Model Predictive Control
Also known as
DMC = Dynamical Matrix Control
GPC = Generalized Predictive Control
RHC = Receding Horizon Control
Control Engineering
14-2
prediction horizon
Plant
RHC
Plant
Model
current dynamic
system states
prediction horizon
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
EE392m - Spring 2005
Gorinevsky
Control Engineering
14-3
Control Engineering
14-4
MPC Advantages
Straightforward formulation, based on well understood
concepts
Explicitly handles constraints
Explicit use of a model
Well understood tuning parameters
Prediction horizon
Optimization problem setup
Control Engineering
14-5
History
First practical application:
DMC Dynamic Matrix Control, early 1970s at Shell Oil
Cutler later started Dynamic Matrix Control Corp.
Control Engineering
14-6
Control Engineering
14-7
Hybrid MPC
discrete and parametric variables
combination of dynamics and discrete mode change
mixed-integer optimization (MILP, MIQP)
Engine control
Large scale operation control problems
Operations management (control of supply chain)
Campaign control
Control Engineering
14-8
Control Engineering
14-9
Missile guidance
Control Engineering
14-10
( y ( ) )
=t +1
+ r (u ( ) u( 1) ) min
2
subject to : u( ) u0
Solution = Optimal Control Synthesis
Control Engineering
14-11
Optimal
control
trajectories
x1
t>N
Optimal control trajectories converge to (0,0)
If N is large, the part of the problem for t > N can be neglected
Infinite-horizon optimal control horizon-N optimal control
EE392m - Spring 2005
Gorinevsky
Control Engineering
14-12
State-based MPC
Receding horizon control; N-step optimal
J =
t+N
( y ( ) )
=t +1
+ r (u ( ) u ( 1) ) min
2
subject to : u( ) u0 ,
x (t + 1) = Ax (t ) + Bu (t )
y (t ) = Cx (t )
Solution Optimal Control Synthesis
Control Engineering
14-13
Predictive Model
Predictive system model
Y = Gx + HU + Fu
Predicted output
y (t + 1)
u (t + 1)
Y =
M
U
=
M
y (t + N )
u(t + N )
Model matrices
CA
G= M
n
CA
0
0
CB
0
H =
M
M
N 2
N 3
CA B CA B
x = x (t )
u = u (t ) computed at
0
K 0 h (1)
h (1)
K 0 h ( 2 )
=
M
O M M
K 0 h( N ) h( N 1)
Control Engineering
Current state
(initial condition)
0
0
O M
K h(1)
K
K
h ( 2)
h (3)
F=
M
(
+
1
)
h
N
14-14
Computations Timeline
Computed at the previous step
u(t) x(t)
u(t+1) x(t+1)
Compute control based
on x(t). Apply it
t+1
time
Control Engineering
14-15
J = Y T Y + rU T D T DU min
subject to : U u0 ,
Y = Gx + HU + Fu
0 0
K 0
K 0
O M
K 0
This is a QP problem
Solution
Control Engineering
14-16
QP solution
QP Problem:
AU b
1
J = U T QU + f T U min
2
T
Q = rD D + H H
f = H T (Gx + Fu )
I
A=
I
U = U (t ) Predicted
control
sequence
1
b = M u0
Control Engineering
14-17
Linear MPC
Nonlinearity is caused by the constraints
If constraints are inactive, the QP problem solution is
U = Q 1 f
u = l TU
1
0
l=
M
0
u = z 1 Kx + z 1 Su
K = l T (rD T D + H T H ) H T G
1
S = l T (rD T D + H T H ) H T F
1
Control Engineering
14-18
Proof.
Use the performance index J as a Lyapunov function. It decreases
along the finite feasible trajectory computed at time t. This
trajectory is suboptimal for the MPC algorithm, hence J decreases
even faster.
EE392m - Spring 2005
Gorinevsky
Control Engineering
14-19
MPC Stability
The analysis could be useful in practice
Theory says a terminal constraint is good
Control Engineering
14-20
u
V
Lane direction
Preview horizon
Control Engineering
14-21
Lateral displacement
a(t)
u(t)
y(t)
x
a (t + 1) = a (t ) + u(t )Ts
y (t + 1) = y (t ) + a (t )VTs + u(t ) 0.5VTs
EE392m - Spring 2005
Gorinevsky
Control Engineering
2
14-22
x (t + 1) = Ax (t ) + Bu(t )
a (t )
1
x (t ) =
A=
y (t )
VTs
Observation: y (t ) = Cx(t )
Formulate predictive model
0
,
Ts
B=
2
0
.
5
VT
s
C = [0 1]
Y = Gx + HU + Fu
MPC optimization problem
T
J = (Gx + HU + Fu ) (Gx + HU + Fu ) + rU T D T DU min
subject to : U u0 ,
Solution:
EE392m - Spring 2005
Gorinevsky
14-23
Impulse Responses
IMPULSE RESPONSE FOR LATERAL ERROR
20
15
10
10
12
14
16
18
20
16
18
20
5
4
3
2
1
0
10
12
Control Engineering
14
14-24
0
-0.5
-1
-1.5
-2
V = 50 mph
Sample time
of 200ms
N = 20
All variables
in SI units
r=1
LATERAL ERROR
0.5
1
0.5
0
-0.5
-1
Control Engineering
4
TIME (sec)
14-25
Control Engineering
14-26