The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09 /94 Model Predictive Control

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by , 2017-02-03 08:10:03

Model Predictive Control: Basic Concepts - Penn Engineering

2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09 /94 Model Predictive Control

Quadratic
Program

•
Convex
optimization
if
P º 0
•
Hard
problem
if
P ² 0

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

0 26 /94

emi
di
Produzione
‐
A.a.
2008/09

Mixed‐Integer
Linear
Pro

•
Some
variables
are
continuous
•
In
general,
it
is
a
NP‐hard
probl
•
Rich
variety
of
algorithms/solv

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

ogram

s,
some
are
discrete
(0/1)
lem
vers
available

emi
di
Produzione
‐
A.a.
2008/09 27 /94

Modeling
languages

•
MOSEL,
associated
with
commercial
pa
•
OPL
(Optimization
Programming
Langu




commercial
package
Ilog‐CPLEX


•
AMPL
(A
Modeling
Language
for
Mathe




most
used
modeling
language,
support

•
GAMS
(General
Algebraic
Modeling
Sys




modeling
languages
•
LINGO,
modeling
language
of
Lindo
Sys

•
GNU
MathProg,
a
subset
of
AMPL
assoc




free
package
GLPK
(GNU
Linear
Program
•
FLOPC++
open
source
modeling
languag

•
CVX
matlab‐based
modeling
language
(

•
YALMIP
another
matlab‐based
modelin

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

ackage
Xpress‐MP 28 /94
uage),
associated
with

ematical
Programming)
ts
several
solvers
stem)
is
one
of
the
first

stems
Inc.
ciated
with
the
mming
Kit)
ge
(C++
class
library)
(from
Stanford)

ng
language

emi
di
Produzione
‐
A.a.
2008/09

Linear
MPC

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

emi
di
Produzione
‐
A.a.
2008/09 29 /94

Unconstrained
Optimal
C

•
Linear
model:

•
Goal:
find








































that
min












































































is

state
to
the
origin
“optimally”

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

Control

nimize


the
input
sequence
that
steers
the


emi
di
Produzione
‐
A.a.
2008/09 /94

[computation
of
cost
fun

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

nction]

emi
di
Produzione
‐
A.a.
2008/09 /94

Unconstrained
Optimal
C

The
optimum
is
obtained
by
zeroing
the


and
hence

Alternative
approach:
use
dynamic
progr
(Riccati
iterations)

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

Control


gradient

batch
least

squares

ramming
to
find
U* /94

emi
di
Produzione
‐
A.a.
2008/09

Constrained
Optimal
Con

•
Linear
model:

•
Constraints:

•
Constrained
optimal
control
problem
(q

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

ntrol

quadratic
performance
index):

emi
di
Produzione
‐
A.a.
2008/09 33 /94

Constrained
Optimal
Con

•
Optimization
problem:

Convex
QUADRATI

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

ntrol

(quadratic)
(linear)
IC
PROGRAM
(QP)

emi
di
Produzione
‐
A.a.
2008/09 34 /94

Linear
MPC
Algorithm

past


At
time
t:
•
Get/estimate
the
current
state
x(t)


•
Solve
the
QP
problem



and
let
U={u*(0),...,u*(N-1)}
be
the



(=finite‐horizon
constrained
open‐loo

•
Apply
only




























and
discar

•
Repeat
optimization
at
time
t+1.
An

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

future Predicted y(t+k|t)
outputs
t t+1
IMnpauntips uula(tte+dk)

t+N




solution
op
optimal
control)

rd
the
remaining
optimal
inputs 35 /94
nd
so
on
...

emi
di
Produzione
‐
A.a.
2008/09

Unconstrained
Linear
MP

•
Assume
no
constraints
•
Problem
to
solve
on‐line:

•
Solution:

Unconstrained
linear
MPC
is
not
linear
state‐feedback
law
!

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

PC

r(t) yt+k

Predicted
outputs

MaInnippuutlsated ut+k

t t+1 t+N

thing
else
than
a
standard


emi
di
Produzione
‐
A.a.
2008/09 36 /94

Double
Integrator
Examp

•
System: sampling
+
Ts=1
s
•
Constraints:
•
Control
objective:
min

•
Optimization
problem
matrices:

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

ple

+

ZOH

s

cost: 37 /94
constraints:

emi
di
Produzione
‐
A.a.
2008/09

Double
Integrator
Examp

go
to
demo

/demos/linea
see
also

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

ple

ar/doubleint.m (Hyb‐Tbx)
o
mpcdoubleint.m (MPC‐Tbx)

emi
di
Produzione
‐
A.a.
2008/09 38 /94

Double
Integrator
Examp

•
Add
a
state
constraint:

•
Optimization
problem
matrices:

cost: Controllo
di
Processo
e
dei
Siste
constraints:

©
2009
by
A.
Bemporad

ple

emi
di
Produzione
‐
A.a.
2008/09 39 /94

Double
Integrator
Examp

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

ple

emi
di
Produzione
‐
A.a.
2008/09 40 /94

Linear
MPC
‐
Tracking

•
Objective:
make
the
output
y(t)
track
a
r
•
Idea:
parameterize
the
problem
using
in

•
Extended
system:
let
xu(t)=u(t‐1)

Again
a
linear
system
with
states
x(t),
xu

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

reference
signal
r(t)
nput
increments

u(t)
and
input
Δu(t) 41 /94

emi
di
Produzione
‐
A.a.
2008/09

Linear
MPC
‐
Tracking

•
Optimal
control
problem
(quadratic
performanc

•
Note:

same
formulation
as
before
(W

•
Optimization
problem:

Convex
 Controllo
di
Processo
e
dei
Siste
Quadratic

Program
(QP)

©
2009
by
A.
Bemporad

ce
index):

optimization

vector:

W=Cholesky
factor
of
weight
matrix
Q)

emi
di
Produzione
‐
A.a.
2008/09 42 /94

Linear
MPC
‐
Example

•
Plant:

•
Sampling
time:

•
Model:

go
to
demo
linear/example3

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

3.m (Hyb‐Tbx)

emi
di
Produzione
‐
A.a.
2008/09 43 /94

Linear
MPC
‐
Example

•
Performance
index:

•
Closed‐loop
MPC:

go
to
demo
linear/example3

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

3.m (Hyb‐Tbx)

emi
di
Produzione
‐
A.a.
2008/09 44 /94

Linear
MPC
‐
Example

•
Constraint
0.8
·
u(t)
·
1.2
(amplitude)

•
Constraint
‐0.2
·
Δu(t)
·
0.2
(slew‐rate

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

e)

emi
di
Produzione
‐
A.a.
2008/09 45 /94

Anticipative
Action

•
Future
reference
samples
(partially)



known
in
advance
(anticipating
action):

go
to
demo

mpcpreview.

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

•
Reference
not
known
in
advance


(causal):

.m (MPC‐Tbx) 46 /94

emi
di
Produzione
‐
A.a.
2008/09

Measured
and
Unmeasured

Manipulated
Variables u(k) Pla
Measured
Disturbances v(k) Mo

nd(k) Disturbance d(k)
Unmeasured
Model Disturbances

xd
(k)

Linear
model
for
MPC
optimization

(nd(k)
=
white
Gaussian
noise,
nd(t+k|t)=0
over

more
details
about
disturbanc

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

d
Disturbances

ant y(k) Outputs
odel

x(k)

r
the
prediction
horizon) 47 /94

ce
models
later
on
…

emi
di
Produzione
‐
A.a.
2008/09

Soft
Constraints

•
To
prevent
QP
infeasibility,
relax
outpu


²
=
“panic”
variable


Vmin,
Vmax
=
vectors
with
entries
¸0
(the
la


relatively
softer
the
corresponding
constrai

•
Infeasibility
can
be
due
to:

–
modeling
errors

–
disturbances
–
wrong
MPC
setup
(e.g.,
prediction
horizo

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

ut
constraints:


arger
the
entry,
the 48 /94
int)

on
is
too
short)

emi
di
Produzione
‐
A.a.
2008/09

Delays
–
Method
1

•
Linear
model
w/
delays:

•
Map
delays
to
poles
in
z=0:

•
Apply
MPC
to
the
extended
system

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

emi
di
Produzione
‐
A.a.
2008/09 49 /94

Delays
–
Method
2

•
Linear
model
w/
delays:

•
Delay‐free
model:

•
Design
MPC
for
delay‐free
model:
•
Compute
the
predicted
state

•
Compute
MPC
action
accordingly:
u(t) = fMPC(x¯(t + τ ))

©
2009
by
A.
Bemporad Controllo
di
Processo
e
dei
Siste

For
better
closed‐loop
performance

one
can
predict
x(t+¿)
with
a
much

more
complex
model
than
(A,B,C)
!

emi
di
Produzione
‐
A.a.
2008/09 50 /94


Click to View FlipBook Version