MPC
vs.
Conventional
Con
Single
input/single
output
control
l
equivalent
performance
can
be
ob
simpler
control
techniques
(e.g.:
P
HOW
MPC
allows
(in
principle)
UNIFO
(i.e.
same
technique
for
wide
ra
–
reduce
training
–
reduce
cost
–
easier
design
maintenance
Satisfying
control
specs
and
walking
o
both
are
not
difficult
if
frozen
!
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
ntrol
loop
w/
constraints:
btained
with
other
PID
+
anti‐windup)
WEVER
ORMITY
ange
of
problems)
on
water
is
similar
…
/94
emi
di
Produzione
‐
A.a.
2008/09
MPC
Features
•
Multivariable
constrained
“non‐square”
(i.e.
#inputs
and
#outputs
are
different)
•
Delay
compensation
•
Anticipative
action
for
future
reference
•
“Integral
action”,
i.e.
no
offset
for
step‐
Price
to
pay:
•
Substantial
on‐line
computation
•
For
simple
small/fast
systems
other
tech
(e.g.
PID
+
anti‐windup)
•
New
possibilities
for
MPC:
explicit
piece
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
”
systems
52 /94
changes
‐like
inputs
hniques
dominate
ewise
linear
forms
emi
di
Produzione
‐
A.a.
2008/09
MPC
Theory
•
Historical
Goal:
Explain
the
succe
•
Present
Goal:
Improve,
simplify,
a
•
Areas:
•
Linear
MPC:
linear
model
•
Nonlinear
MPC:
nonlinear
mod
•
Robust
MPC:
uncertain
(linea
•
Hybrid
MPC:
model
integrati
and
constraints
•
Issues:
–
Feasibility
–
Stability
(Convergence)
–
Computations
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
ess
of
DMC
and
extend
industrial
algorithms
del
ar)
model
ing
logic,
dynamics,
(Mayne,
Rawlings,
Rao,
Scokaert,
2000) 53 /94
emi
di
Produzione
‐
A.a.
2008/09
Feasibility
•
Feasibility:
Guarantee
that
the
QP
proble
•
Input
constraints
only:
no
feasibility
issue
•
Hard
output
constraints:
•
When
N<1
there
is
no
guarantee
th
will
remain
feasible
at
all
future
time
s
•
N=1
infinite
number
of
con
•
Maximum
output
admissible
set
theo
(Gilbert,
Tan,
IEEE
TAC,1991),
(Kerrigan,
Maciejowski,CDC,2
(Chmielewski,
Manousiouthakis,
Sys.
Cont.
Letters,
1996)
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
QUADRATIC
PROGRAM
(QP)
em
is
feasible
at
all
sampling
times
t
es
!
hat
the
QP
problem
54 /94
steps
t
nstraints
!
ory:
N<1
is
enough
2000),
emi
di
Produzione
‐
A.a.
2008/09
Stability
•
Stability
is
a
complex
function
of
the
MPC
N,
Q,
R,
P,
umin,
umax,
ymin,
ymax
•
Stability
constraints
and
weights
on
the
t
the
prediction
horizon
to
ensure
stability
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
C
parameters
terminal
state
can
be
imposed
over
of
MPC
emi
di
Produzione
‐
A.a.
2008/09 55 /94
Convergence
Result
(Keerthi
Proof:
Use
value
function
as
Lyapun
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
and
Gilbert,
1988)(Bemporad
et
al.,
1994) 56 /94
nov
function
emi
di
Produzione
‐
A.a.
2008/09
Convergence
Proof
Global
optimum
is
not
needed
to
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
Lyapunov
function
o
prove
convergence
! 57 /94
emi
di
Produzione
‐
A.a.
2008/09
Convergence
Result
(a
little
(Keerthi
Proof:
Use
value
function
as
Lyapun
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
e
more
general)
and
Gilbert,
1988)(Bemporad
et
al.,
1994) 58 /94
nov
function
emi
di
Produzione
‐
A.a.
2008/09
Convergence
Proof
©
2009
by
A.
Bemporad Global
optimum
is
no
Controllo
di
Processo
e
dei
Siste
Lyapunov
function
ot
needed
to
prove
convergence
! 59 /94
emi
di
Produzione
‐
A.a.
2008/09
Convergence
Proof
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
emi
di
Produzione
‐
A.a.
2008/09 60 /94
Convergence
Proof
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
emi
di
Produzione
‐
A.a.
2008/09 61 /94
Stability
Constraints
1.
No
constraint,
infinite
output
horizon:
(Keerthi
and
Gilbert,
1988)
(Rawlings
and
Muske,
1993)
2.
End‐point
constraint:
(Kwon
and
Pearson,
1977)
(Keerthi
and
Gilbert,
1988)
3.
Relaxed
terminal
constraint:
(Scokaert
and
Rawlings,
1996)
4.
Contraction
constraint:
(Polak
and
Yang,
1993)
(Bemporad,
1998)
All
the
proofs
in
(1,2,3)
use
the
value
fun
as
a
Lyapunov
function
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
nction V (t) = min J(U, t) 62 /94
U
emi
di
Produzione
‐
A.a.
2008/09
Predicted
and
Actual
Traj
•
Even
assuming
perfect
model
&
no
distu
prx(t)
x*(t+2|t+1) =x(t+2)
x*(t+2|t)
x*(t+1|t) =x(t+1) t+N
0t
•
Special
case:
for
infinite
horizon,
open
trajectories
coincide.
This
follows
by
B
optimal
state
x*(t)
x*(t)
0τ
optimal
input
u*(t)
0 τ
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
jectories
urbances:
redicted
open‐loop
trajectories
may
be
different
from
actual
closed‐loop
trajectories
n‐loop
trajectories
and
losed‐loop
Bellman’s
principle
of
optimality.
emi
di
Produzione
‐
A.a.
2008/09 Richard
Bellman
(1920
‐
1984)
63 /94
Input
and
Output
Horizon
• Input
horizon
Nu
can
be
shorter
than
ou
• Nu<N
=
less
degrees
of
freedom,
and
h
– Loss
of
performance
– Decreased
computation
time
(QP
is
smaller
– Feasibility
still
maintained
(constraints
are
s
typically
N
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
ns
utput
horizon
N 64 /94
hence:
r)
still
checked
up
to
N)
Nu=1÷10
emi
di
Produzione
‐
A.a.
2008/09
MPC
and
LQR
•
Consider
the
MPC
control
law:
(Unconstraine
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
Jacopo
Francesco
Riccati
(1676
‐
1754)
ed)
MPC
=
LQR 65 /94
emi
di
Produzione
‐
A.a.
2008/09
MPC
and
LQR
•
Consider
the
MPC
control
law:
•
In
a
polyhedral
region
around
the
origin
t
the
constrained
LQR
controller
with
weig
MPC
=
const
•
The
larger
the
horizon,
the
larger
the
reg
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
Jacopo
Francesco
Riccati
(1676
‐
1754)
the
MPC
control
law
is
equivalent
to
ghts
Q,R
trained
LQR (Chmielewski,
Manousiouthakis,
1996)
(Scokaert
and
Rawlings,
1998)
gion
where
MPC=LQR
emi
di
Produzione
‐
A.a.
2008/09 66 /94
Double
Integrator
Examp
•
System: sampling
+
Ts=1
s
•
Constraints:
•
Control
objective:
min
•
Optimization
problem
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
ple
+
ZOH
s
LQ
gain
solution
of
algebraic
Riccati
equation
(cost
function
was
normalized
by
max
svd(H))
emi
di
Produzione
‐
A.a.
2008/09 67 /94
Example:
AFTI‐16
•
Linearized
model:
go
to
demo
/demos/linea
afti16.m
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
ar/afti16.m (Hyb‐Tbx)
m (MPC‐Tbx)
emi
di
Produzione
‐
A.a.
2008/09 68 /94
Example:
AFTI‐16
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
emi
di
Produzione
‐
A.a.
2008/09 69 /94
Example:
AFTI‐16
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
emi
di
Produzione
‐
A.a.
2008/09 70 /94
Example:
AFTI‐16
Unconstrained
MPC
(=linear
contro
+
actuator
saturation
±25o
Saturation
needs
to
be
considered
i
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
oller,
¼
LQR)
UNSTABLE
!!!
in
the
control
design
! 71/94
emi
di
Produzione
‐
A.a.
2008/09
Saturation
•
Saturation
needs
to
be
considered
in
the
linear v=Kx
controller
sa
•
MPC
takes
it
into
account
automatically
(
MPC v=f(x)=u
controller
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
e
control
design plant x
u
at
(and
optimally)
u plant x
sat
72 /94
emi
di
Produzione
‐
A.a.
2008/09
Tuning
Guidelines
• Weights:
the
larger
the
ratio
Wy/WΔu
the
more
a
• Input
horizon:
the
larger
Nu,
the
more
“optimal”
• Output
horizon:
the
smaller
N,
the
more
aggres
• Limits:
controller
less
aggressive
if
¢umin,
¢umax
©
2009
by
A.
Bemporad Always
try
to
set
Nu
Controllo
di
Processo
e
dei
Siste
aggressive
the
controller
”
but
the
more
complex
the
controller
ssive
the
controller
x
are
small
as
small
as
possible
! 73 /94
emi
di
Produzione
‐
A.a.
2008/09
Scaling
• Humans
think
infinite
precision
...
• Computers
do
not
!
• Numerical
difficulties
may
arise
if
variab
Example:
y1
2 [‐1e‐4,1e‐4]
(V)
y2
2 [‐1e4,1e4]
(Pa)
use
instead:
y1
2 [‐0.1,0.1]
(mV)
y2
2 [‐10,10]
(kPa)
•
Ideally
all
variables
should
range
in
[‐1,1
with
y/ymax
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
bles
assume
very
small
or
very
large
values
1].
For
example,
one
can
replace
y
emi
di
Produzione
‐
A.a.
2008/09 74 /94
Observer
Design
in
MPC
©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste
emi
di
Produzione
‐
A.a.
2008/09 75 /94