50% found this document useful (2 votes)
288 views94 pages

MPC

This document provides an overview of Model Predictive Control (MPC). It discusses how MPC uses a model of the process to predict future outputs and optimize control inputs by solving an optimal control problem over a finite horizon while respecting constraints. Only the first optimal input is applied and the process is repeated at the next time step. The document also discusses MPC applications in industry, related software tools, and optimization solvers.

Uploaded by

stathiss11
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
50% found this document useful (2 votes)
288 views94 pages

MPC

This document provides an overview of Model Predictive Control (MPC). It discusses how MPC uses a model of the process to predict future outputs and optimize control inputs by solving an optimal control problem over a finite horizon while respecting constraints. Only the first optimal input is applied and the process is repeated at the next time step. The document also discusses MPC applications in industry, related software tools, and optimization solvers.

Uploaded by

stathiss11
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 94

/94 2009byA.

Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
1
ModelPredictiveControl:BasicConcepts
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
ModelPredictiveControl(MPC)
2
Amodeloftheprocessisusedtopredictthefutureevolution
oftheprocesstooptimizethecontrolsignal
process
modelbased
optimizer
reference output
input
measurements
r(t)
u(t) y(t)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
Recedinghorizonphilosophy
3
Onlyapplytherstoptimalmove
Predictedoutputs
Manipulated
Inputs
t
t+1
t+N
u
t+k
r(t)
t+1 t+2 t+N+1
Attimet+1:Getnewmeasurements,repeattheoptimization.Andsoon

Advantageofrepeatedonlineoptimization:FEEDBACK!
y
t+k
Attime t:solveanoptimalcontrol
problemoveranitefuturehorizon
of N steps:
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
4
RecedingHorizonExamples
MPCislikeplayingchess!
Rollinghorizonpoliciesare
alsousedfrequentlyinnance
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
5
predictionmodel
costfunction
constraints
recedinghorizonmechanism
howvehiclemovesonthemap
minimumtime,
minimumdistance,etc.
driveonroads,respectonewayroads,etc.
eventbased
(optimalroutereplannedwhenpathislost)
disturbances mainlydriversinattention!
setpoint desiredlocation
x=GPSposition
u=navigationcommands
Fastest route
Shortest route
Avoid motorways
Walking route
Bicycle route
Limited speed
RecedingHorizonExamples
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
GoodModelsfor(MPC)Control
6
Descriptiveenoughtocapturethemostsignicant
dynamicsofthesystem
Simpleenoughforsolvingtheoptimizationproblem
T
R
A
D
E

O
F
F
Makeeverythingassimpleaspossible,butnotsimpler.
AlbertEinstein
Note:computationalcomplexityandtheoreticalproperties(e.g.
stability)dependonchosenmodel/objective/constraints
GoodmodelsforMPC:
Fluidcatalyticcracking(FCC)is
themostimportantconversion
processusedinpetroleum
reneries.Itiswidelyusedto
convertthehighboiling
hydrocarbonfractionsof
petroleumcrudeoilstomore
valuablegasoline,olenicgases
andotherproducts
(http://en.wikipedia.org/wiki/Catalytic_cracking)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
7
MPCinIndustry
History:Computercontrol(ManualMPC)
Fluidcatalyticcracking
(courtesyofShell/M.Morari)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
MPCinIndustry
8
PresentIndustrialPractice
linearimpulse/stepresponsemodels
sumofsquarederrors
objectivefunction
executedinsupervisorymode
Particularlysuitedforproblemswith
manyinputsandoutputs
constraintsoninputs,outputs,states
varyingobjectivesandlimitsonvariables
(e.g.becauseoffaults)
History:1979DynamicMatrixControl(DMC)byShell
(Motivation:multivariable,constrained)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
MPCinIndustry
9
(Qin,Badgewell,1997)
Hierarchyofcontrolsystemfunctions:
Conventional MPC
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
MPCinIndustry
10
(Qin,Badgewell,2003)
Forusmultivariablecontrolispredictivecontrol
TariqSamad,Honeywell(IEEEControlSystemSociety,President)(1997)
(snapshotsurveyconductedinmid1999)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
MPCinIndustry
11
Resultsfromarecentsurvey(November7,2005)abouttheuseofMPCtechniques/
realtimeoptimizationinasetofUSindustries:
courtesy:
DoesyourcompanyuseMPC?
70 60 50 40 30 20 10 0
45.8%
35.2%
19.0%
Sometimes
Routinely
No
DoyouseeyouruseofMPCaccelerating,
stayingconstant,ordeclining?
100 80 60 40 20 0
69.8%
28.8%
Increasing
Constant
Decreasing
35 30 25 20 15 10 5 0
Rening
Chemicals
Oil&Gas
Other
Pulp&Paper
Power
Electronics
Plastics&Rubber
Metals
Cement&Glass
Mining
Automotive
Aerospace
Food&Beverage
Machinery
Pharmaceuticals
24.3%
20.6%
15.4%
11.0%
5.1%
5.1%
5.1%
2.9%
2.2%
2.2%
1.5%
1.5%
0.7%
0.7%
0.7%
0.7%
Industrialareaofrespondentstothesurvey:
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
ModelPredictiveControlToolbox
ModelPredictiveControlToolbox
12
MPCToolbox3.0(Bemporad,Ricker,Morari,1998today):
Objectorientedimplementation(MPCobject)
MPCSimulinkLibrary
MPCGraphicalUserInterface
RTWextension(codegeneration)
[xPCTarget,dSpace,etc.]
LinkedtoOPCToolboxv2.0.1
Onlylinearmodelsarehandled
http://www.mathworks.com/products/mpc/
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
13
MPCSimulinkLibrary
SingleMPCandmultipleswicthedMPCblockssupported
Reference/disturbancepreviewandtimevaryinglimitssupported
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
14
MPCGraphicalUserInterface
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
15
MPCTuningAdvisor
Hybridmodels:design,simulation,verication
Controldesignforlinearsystemsw/constraints
andhybridsystems(onlineoptimizationviaQP/MILP/MIQP)
ExplicitMPCcontrol(viamultiparametricprogramming)
Ccodegeneration
Simulinklibrary
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
HybridToolboxforMATLAB
16
Features:
(Bemporad,20032009)
http://www.dii.unisi.it/hybrid/toolbox
2450+downloadrequests
sinceOctober2004
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
17
BasicsofConstrainedOptimization
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
18
MathematicalProgramming
Ingeneral,problemisdiculttosolve
usesoftwaretools
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
19
OptimizationSoftware
http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/
Taxonomyofmostknownsolvers,fordierentclassesof
optimizationproblems:
NetworkEnabledOptimizationServer(NEOS)forremotely
solvingoptimizationproblems:
http://neos.mcs.anl.gov/neos/solvers/
http://www.coin-or.org/
Goodopensourceoptimizationsoftware
http://plato.la.asu.edu/bench.html
Comparisononbenchmarkproblems:
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
20
Convexsets
Convexset
Nonconvexset
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
21
Convexfunction
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
22
ConvexOptimizationProblem
Veryecientnumericalalgorithmsexist
Globalsolutionattained
Extensiveusefultheory
Oftenoccurringinengineeringproblems
Tractableintheoryandpractice
fandCconvex
Excellentreferencetextbook:ConvexOptimizationbyS.Boyd
andL.Vandenberghe http://www.stanford.edu/~boyd/cvxbook/
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
23
Aconvexpolyhedronistheintersectionofanite
setofhalfspacesofR
d
Aconvexpolytopeisaboundedconvexpolyhedron
Polyhedra
A
1 x
=
b
1
A
2
x
=
b 2

A
3
x=b
3

Hyperplanerepresentation:
A
2
A
1
A
3
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
24
LinearProgram
Standardform:
f
fx
Slackvariables
GeorgeDantzig
(19142005)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
25
LinearProgram
trasformation
frommaxtomin:
Changeinequality
direction:
ItisalwayspossibletoformulateLPproblems
usingminandinequalities
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
26
QuadraticProgram
ConvexoptimizationifP 0

HardproblemifP 0
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
27
MixedIntegerLinearProgram
Somevariablesarecontinuous,somearediscrete(0/1)
Ingeneral,itisaNPhardproblem
Richvarietyofalgorithms/solversavailable
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
28
Modelinglanguages
MOSEL,associatedwithcommercialpackageXpressMP
OPL(OptimizationProgrammingLanguage),associatedwith
commercialpackageIlogCPLEX
AMPL(AModelingLanguageforMathematicalProgramming)
mostusedmodelinglanguage,supportsseveralsolvers
GAMS(GeneralAlgebraicModelingSystem)isoneoftherst
modelinglanguages
LINGO,modelinglanguageofLindoSystemsInc.
GNUMathProg,asubsetofAMPLassociatedwiththe
freepackageGLPK(GNULinearProgrammingKit)
FLOPC++opensourcemodelinglanguage(C++classlibrary)
CVXmatlabbasedmodelinglanguage(fromStanford)
YALMIPanothermatlabbasedmodelinglanguage
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
29
LinearMPC
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
UnconstrainedOptimalControl
Linearmodel:
Goal:ndthatminimize
istheinputsequencethatsteersthe
statetotheoriginoptimally
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
[computationofcostfunction]
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
UnconstrainedOptimalControl
batchleast
squares
Alternativeapproach:usedynamicprogrammingtondU*
Theoptimumisobtainedbyzeroingthegradient
andhence
(Riccatiiterations)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
33
ConstrainedOptimalControl
Linearmodel:
ConstrainedOptimalControl
Constrainedoptimalcontrolproblem(quadraticperformanceindex):
Constraints:
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
34
ConstrainedOptimalControl
ConvexQUADRATICPROGRAM(QP)
(quadratic)
(linear)
Optimizationproblem:
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
35
LinearMPCAlgorithm
Predicted
outputs
Manipulated
y(t+k|t)
Inputs
t t+1
t+N
future past
u(t+k)
Applyonlyanddiscardtheremainingoptimalinputs
SolvetheQPproblem
andletU={u
*
(0),...,u
*
(N-1)}bethesolution
(=nitehorizonconstrainedopenloopoptimalcontrol)
Repeatoptimizationattimet+1.Andsoon...
Get/estimatethecurrentstatex(t)
Attimet:
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
36
UnconstrainedLinearMPC
UnconstrainedlinearMPCisnothingelsethanastandard
linearstatefeedbacklaw!
Predictedoutputs
Manipulated
Inputs
t
t+1
t+N
u
t+k
r(t)
y
t+k
Solution:
Assumenoconstraints
Problemtosolveonline:
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
37
DoubleIntegratorExample
System:
Constraints:
Controlobjective:min
Optimizationproblemmatrices:
sampling+ZOH
T
s
=1s
cost:
constraints:
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
38
DoubleIntegratorExample
gotodemo/demos/linear/doubleint.m
seealsompcdoubleint.m
(HybTbx)
(MPCTbx)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
39
DoubleIntegratorExample
Addastateconstraint:
Optimizationproblemmatrices:
cost:
constraints:
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
40
DoubleIntegratorExample
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
41
LinearMPCTracking
Extendedsystem:letx
u
(t)=u(t1)
Againalinearsystemwithstatesx(t),x
u
(t)andinputu(t)
Idea:parameterizetheproblemusinginputincrements
Objective:maketheoutputy(t)trackareferencesignalr(t)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
42
Note:
LinearMPCTracking
Convex
Quadratic
Program(QP)
Optimizationproblem:
Optimalcontrolproblem(quadraticperformanceindex):
sameformulationasbefore(W=CholeskyfactorofweightmatrixQ)
optimization
vector:
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
43
LinearMPCExample
Plant:
Model:
gotodemolinear/example3.m (HybTbx)
Samplingtime:
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
44
LinearMPCExample
Performanceindex:
ClosedloopMPC:
gotodemolinear/example3.m (HybTbx)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
45
LinearMPCExample
Constraint0.8u(t)1.2(amplitude)
Constraint0.2u(t)0.2(slewrate)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
46
AnticipativeAction
Referencenotknowninadvance
(causal):
Futurereferencesamples(partially)
knowninadvance(anticipatingaction):
gotodemompcpreview.m
(MPCTbx)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
47
MeasuredandUnmeasuredDisturbances
Linearmodel
forMPC
optimization
(n
d
(k)=whiteGaussiannoise,n
d
(t+k|t)=0overthepredictionhorizon)
Plant
Model
Outputs
y(k)
ManipulatedVariables
u(k)
Unmeasured
Disturbances
d(k)
MeasuredDisturbances
v(k)
x(k)
Disturbance
Model
n
d
(k)
x(k)
d
moredetailsaboutdisturbancemodelslateron
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
48
SoftConstraints
TopreventQPinfeasibility,relaxoutputconstraints:
Infeasibilitycanbedueto:
modelingerrors
disturbances
wrongMPCsetup(e.g.,predictionhorizonistooshort)
=panicvariable
V
min
,V
max
=vectorswithentries0(thelargertheentry,the
relativelysofterthecorrespondingconstraint)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
49
DelaysMethod1
Linearmodelw/delays:
Mapdelaystopolesinz=0:
ApplyMPCtotheextendedsystem
u(t) = f
MPC
( x(t +))
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
50
DelaysMethod2
Linearmodelw/delays:
Delayfreemodel:
DesignMPCfordelayfreemodel:
Computethepredictedstate
ComputeMPCactionaccordingly:
Forbetterclosedloopperformance
onecanpredictx(t+)withamuch
morecomplexmodelthan(A,B,C)!
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
MPCvs.ConventionalControl
Singleinput/singleoutputcontrolloopw/constraints:

equivalentperformancecanbeobtainedwithother
simplercontroltechniques(e.g.:PID+antiwindup)
MPCallows(inprinciple)UNIFORMITY
(i.e.sametechniqueforwiderangeofproblems)
reducetraining
reducecost
easierdesignmaintenance
HOWEVER
Satisfyingcontrolspecsandwalkingonwaterissimilar
botharenotdicultiffrozen!
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
52
MPCFeatures
Multivariableconstrainednonsquaresystems
(i.e.#inputsand#outputsaredierent)
Delaycompensation
Anticipativeactionforfuturereferencechanges
Integralaction,i.e.noosetforsteplikeinputs
Substantialonlinecomputation
Forsimplesmall/fastsystemsothertechniquesdominate
(e.g.PID+antiwindup)
Pricetopay:
NewpossibilitiesforMPC:explicitpiecewiselinearforms
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
53
MPCTheory
HistoricalGoal:ExplainthesuccessofDMC
PresentGoal:Improve,simplify,andextendindustrialalgorithms
Areas:
LinearMPC:linearmodel
NonlinearMPC:nonlinearmodel
RobustMPC:uncertain(linear)model
HybridMPC:modelintegratinglogic,dynamics,
andconstraints
Issues:
Feasibility
Stability(Convergence)
Computations
(Mayne,Rawlings,Rao,Scokaert,2000)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
54
N=1innitenumberofconstraints!
Feasibility
Feasibility:GuaranteethattheQPproblemisfeasibleatallsamplingtimest
Maximumoutputadmissiblesettheory:N<1isenough
WhenN<1thereisnoguaranteethattheQPproblem
willremainfeasibleatallfuturetimestepst
QUADRATIC
PROGRAM(QP)
(Gilbert,Tan,IEEETAC,1991),(Kerrigan,Maciejowski,CDC,2000),
(Chmielewski,Manousiouthakis,Sys.Cont.Letters,1996)
Inputconstraintsonly:nofeasibilityissues!
Hardoutputconstraints:
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
55
Stability
StabilityisacomplexfunctionoftheMPCparameters
N,Q,R,P,u
min
,u
max
,y
min
,y
max
Stabilityconstraintsandweightsontheterminalstatecanbeimposedover
thepredictionhorizontoensurestabilityofMPC
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
56
ConvergenceResult
(KeerthiandGilbert,1988)(Bemporadetal.,1994)
Proof:UsevaluefunctionasLyapunovfunction
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
57
ConvergenceProof
Globaloptimumisnotneededtoproveconvergence!
Lyapunovfunction
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
58
ConvergenceResult(alittlemoregeneral)
(KeerthiandGilbert,1988)(Bemporadetal.,1994)
Proof:UsevaluefunctionasLyapunovfunction
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
59
ConvergenceProof
Globaloptimumisnotneededtoproveconvergence!
Lyapunovfunction
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
60
ConvergenceProof
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
61
ConvergenceProof
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
62
StabilityConstraints
1.Noconstraint,inniteoutputhorizon:
(KeerthiandGilbert,1988)(RawlingsandMuske,1993)
3.Relaxedterminalconstraint:
2.Endpointconstraint:
(KwonandPearson,1977)(KeerthiandGilbert,1988)
4.Contractionconstraint:
(ScokaertandRawlings,1996)
Alltheproofsin(1,2,3)usethevaluefunction
asaLyapunovfunction
(PolakandYang,1993)(Bemporad,1998)
V (t) = min
U
J(U, t)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
63
PredictedandActualTrajectories
Evenassumingperfectmodel&nodisturbances:
predictedopenlooptrajectoriesmaybe
dierentfromactualclosedloop
trajectories
Specialcase:forinnitehorizon,openlooptrajectoriesandlosedloop
trajectoriescoincide.ThisfollowsbyBellmansprincipleofoptimality.
RichardBellman
(19201984)
0 t
x(t)
x
*
(t+1|t)
t+N
=x(t+2)
x
*
(t+2|t)
=x(t+1)
x
*
(t+2|t+1)
0
0

optimalstatex
*
(t)
optimalinputu
*
(t)
x
*
(t)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
64
InputandOutputHorizons
InputhorizonN
u
canbeshorterthanoutputhorizonN

N
u
<N=lessdegreesoffreedom,andhence:
Lossofperformance
Decreasedcomputationtime(QPissmaller)
Feasibilitystillmaintained(constraintsarestillcheckeduptoN)
typicallyN
u
=110
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
65
MPCandLQR
ConsidertheMPCcontrollaw:
JacopoFrancesco
Riccati(16761754)
(Unconstrained)MPC=LQR
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
66
MPCandLQR
ConsidertheMPCcontrollaw:
InapolyhedralregionaroundtheorigintheMPCcontrollawisequivalentto
theconstrainedLQRcontrollerwithweightsQ,R
Thelargerthehorizon,thelargertheregionwhereMPC=LQR
(Chmielewski,Manousiouthakis,1996)
(ScokaertandRawlings,1998)
JacopoFrancesco
Riccati(16761754)
MPC=constrainedLQR
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
67
DoubleIntegratorExample
System:
Constraints:
Controlobjective:min
Optimizationproblem
sampling+ZOH
T
s
=1s
(costfunctionwasnormalizedby
maxsvd(H))
solutionofalgebraicRiccatiequation
LQgain
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
68
Example:AFTI16
Linearizedmodel:
afti16.m
gotodemo/demos/linear/afti16.m
(HybTbx)
(MPCTbx)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
69
Example:AFTI16
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
70
Example:AFTI16
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
71
Example:AFTI16
UNSTABLE!!!
UnconstrainedMPC
+actuatorsaturation25
o
(=linearcontroller,LQR)
Saturationneedstobeconsideredinthecontroldesign!
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
72
Saturation
Saturationneedstobeconsideredinthecontroldesign
linear
controller
plant
sat
u
v=Kx
x
MPCtakesitintoaccountautomatically(andoptimally)
MPC
controller
plant
sat
u
v=f(x)=u
x
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
73
TuningGuidelines
Weights:thelargertheratioW
y
/W
u
themoreaggressivethecontroller
Inputhorizon:thelargerN
u
,themoreoptimalbutthemorecomplexthecontroller
Outputhorizon:thesmallerN,themoreaggressivethecontroller

Limits:controllerlessaggressiveifu
min
,u
max
aresmall
AlwaystrytosetN
u
assmallaspossible!
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
74
Scaling
Humansthinkinniteprecision...
Computersdonot!
Numericaldicultiesmayariseifvariablesassumeverysmallorverylargevalues
Example:y
1
2 [1e4,1e4](V)
y
2
2 [1e4,1e4](Pa)
useinstead:y
1
2 [0.1,0.1](mV)
y
2
2 [10,10](kPa)
Ideallyallvariablesshouldrangein[1,1].Forexample,onecanreplacey
withy/y
max
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
75
ObserverDesigninMPC
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
76
ObserverDesignforMPC
Plant
Observer
Optimizer
Reference
weneedtouseastateobserver
Fullstatex(t)maynotbeavailable
Evenifavailable,noiseshouldbelteredout
Stateofpredictionmodelmaybedierentfromplantmodelx(t)
(e.g.:modelreduction,identication)
r(t)
measured
outputs
stateestimate
u(t) y(t)
x(t)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
77
ModelforObserverDesign
measurementnoisemodel
m(k)
y
u
(k)
y
m
(k)
u(k)
v(k)
d(k)
Plant
model
CVs(ControlledVariables)
MVs(ManipulatedVariables)
UMDs
(Unmeasured
Disturbances)
MDs(MeasuredDisturbances)
Unmeasured
disturbance
model
Measurement
noise
model
+
+
MOs
(MeasuredOutputs)
(Unmeasured
Outputs)
whitenoise
innovations
whitenoise
innovations
n
m
(k)
n
d
(k)
Note:meas.noisemodelnotneededforoptimization!
unmeasureddisturbancemodel
z
m
(k)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
78
ObserverDesign
Measurementupdate
Timeupdate
NOTE:separationprincipleholds!(undercertainassumptions)
(Muske,Meadows,Rawlings,ACC94)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
79
KalmanFilterDesign
FullmodelfordesigningobservergainM
n
d
(k):representssourceformodelingerrors
n
m
(k):representssourceformeasurementnoise
n
u
(k):whitenoiseonallinputsuaddedforsolvabilityoftheRiccatiequation
RudolfEmil
Kalman
(1930)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
80
IntegralActioninMPC
(andnotonlyinMPC)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
81
OutputIntegrators
Introduceoutputintegratorsasadditionaldisturbancemodels
Undercertainconditions,observer+controllerprovidezeroosetin
steadystate
Plant
model
Unmeasured
disturbance
model
Measurement
noise
model
+
+
whitenoise
innovations
whitenoise
innovations
Output
Integrators
+
whitenoise
innovations
+
n
i
(k)
m(k)
y
u
(k)
y
m
(k)
u(k)
v(k)
d(k)
n
m
(k)
n
d
(k)
z
m
(k)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
82
IntegratorsandSteadyStateOsets
y
u
(k)
u(k)
v(k)
d(k)
Plant
model
Output
Integrators
+
whitenoise
innovations
+
n
i
(k)
y
m
(k)
D
dm
Moregenerally,addintegratorsonstates+outputs:
Usetheabovemodel+meas.noisemodeltodesignanobserver
(e.g.Kalmanlter)
D
dm
d(k)
Mainidea:observermakes
)thecombinationmakes
MPCmakes
(estimationerror)
(predictedtrackingerror)
(actualtrackingerror)
Explanation:compensatesmodelmismatchinsteadystate
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
83
Idea:addintegralsofmeasuredoutputsasadditionalstates(similartolinear
statefeedbackcase)
Extendedpredictionmodel:
Implementation:
Errorfeedback
(Kwakernaak,1972)
Explanation:ifclosedloopasymptoticallystable)q(k)!cost.
andhencey(k)!r(k)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
84
Idea:ApplyMPCasthesetpointgeneratortolinearfeedbackloops
(e.g.:PID)
ReferenceGovernor
(Bemporad,1997)
Localfeedbackdesignedforstability,disturbanceattenuation,goodtracking,
withouttakingcareofconstraints
Actualreferencew(t)generatedonlinebyanMPCalgorithmtotakecareofconstraints

Objective:
Reference
Governor
Local
w(k)
Plant
y(k)r(k)
r(k)
x(k)
Feedback
PrimalSystem
u(k)
c(k)
desired
reference
actual
reference
control
input constrained
outputs
measuredoutputs
estimatedplantstate+controllerstate
Separationofproblems:
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
85
UnconstrainedMPCgain+linearobserver=lineardynamicalsystem
(=2d.o.f.dynamiccontroller)
ClosedloopMPCanalysiscanbeperformedusingstandard
frequencydomaintools(e.g.Bodeplotsforsensitivityanalysis)
u(t) y
m
(t)
r(t)
Plant
MPC
x(t)
x
e
(t)
^
MPCfrequencyanalysis(inactiveconstraints)
InMPCTbx:ss(mpc)ortf(mpc)returntheLTIdiscretetimeformofthelinearized
(=noconstraints)MPCobject
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
86
Giventhecontrolleru=Kx,ndweightsQ,R,PfortheMPCproblem
suchthat
thatis,theMPCcontrollercoincideswithK
fv
whentheconstraints
arenotactive
QPmatrices:
Controllermatchingproblem

I 0 . . . 0

H
1
F = K
fv
(DiCairano,Bemporad,
ECC09)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
87
Openloopprocess:
Desiredcontroller(PID):
Statespaceform:
Constraints:
ControllermatchingproblemExample
controller
matching
basedon
inverseLQR
0 5 10 15
!20
!10
0
10
20
output y(k)
0 5 10 15
!60
!40
!20
0
20
40
input u(k)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
88
what PID would apply
matched MPC
Note:itsnottriviallyasaturationofPIDcontroller.Inthiscase
sat(PID)leadstoinstability
ControllermatchingproblemExample
addoutputconstrainty(k)-5
0 5 10 15
!20
!10
0
10
20
output y(k)
0 5 10 15
!60
!40
!20
0
20
40
input u(k)
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
89
Example:MPCofaDCServomotor
mpcmotor.m
gotodemo/demos/linear/dcmotor.m
(HybTbx)
(MPCTbx)
V
R
J
M
J
L

L
T
r
b
M
b
L

s
T
r
e
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
90
DCServomotorModel
0
0 5 10 15
StepResponse
Time(sec)
V
R
J
M
J
L

L
T
r
b
M
b
L

s
T
r
e
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
91
DCServomotor:Specs
V
R
J
M
J
L

L
T
r
b
M
b
L

s
T
r
e
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
92
DCServomotor:Exercise
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
93
DCServomotor:MPC
/94 2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
94
DCServomotor:MPC

You might also like