Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
1 /94
ModelPredictiveControl(MPC)
modelbased
optimizer
reference
r(t)
process
input
output
u(t)
y(t)
measurements
Amodeloftheprocessisusedtopredictthefutureevolution
oftheprocesstooptimizethecontrolsignal
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
2 /94
Recedinghorizonphilosophy
Attime t:solveanoptimalcontrol
problemoveranitefuturehorizon
of N steps:
yt+k
r(t)
Predictedoutputs
Manipulated
Inputs
t+N
t t+1
t+1
ut+k
t+2
t+N+1
Onlyapplytherstoptimalmove
Attimet+1:Getnewmeasurements,repeattheoptimization.Andsoon
Advantageofrepeatedonlineoptimization:FEEDBACK!
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
3 /94
RecedingHorizonExamples
MPCislikeplayingchess!
Rollinghorizonpoliciesare
alsousedfrequentlyinnance
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
4 /94
RecedingHorizonExamples
predictionmodel
howvehiclemovesonthemap
constraints
driveonroads,respectonewayroads,etc.
disturbances
mainlydriversinattention!
setpoint
desiredlocation
costfunction
minimumtime,
minimumdistance,etc.
recedinghorizonmechanism
eventbased
(optimalroutereplannedwhenpathislost)
2009byA.Bemporad
x=GPSposition
u=navigationcommands
Fastest route
Shortest route
Avoid motorways
Walking route
Bicycle route
Limited speed
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
5 /94
GoodModelsfor(MPC)Control
Note:computationalcomplexityandtheoreticalproperties(e.g.
stability)dependonchosenmodel/objective/constraints
GoodmodelsforMPC:
Descriptiveenoughtocapturethemostsignicant
dynamicsofthesystem
F
F
O
E
D
A
TR
Simpleenoughforsolvingtheoptimizationproblem
Makeeverythingassimpleaspossible,butnotsimpler.
AlbertEinstein
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
6 /94
MPCinIndustry
History:Computercontrol(ManualMPC)
Fluidcatalyticcracking
(courtesyofShell/M.Morari)
Fluidcatalyticcracking(FCC)is
themostimportantconversion
processusedinpetroleum
reneries.Itiswidelyusedto
convertthehighboiling
hydrocarbonfractionsof
petroleumcrudeoilstomore
valuablegasoline,olenicgases
andotherproducts
(http://en.wikipedia.org/wiki/Catalytic_cracking)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
7 /94
MPCinIndustry
History:1979DynamicMatrixControl(DMC)byShell
(Motivation:multivariable,constrained)
PresentIndustrialPractice
linearimpulse/stepresponsemodels
sumofsquarederrors
objectivefunction
executedinsupervisorymode
Particularlysuitedforproblemswith
manyinputsandoutputs
constraintsoninputs,outputs,states
varyingobjectivesandlimitsonvariables
(e.g.becauseoffaults)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
8 /94
MPCinIndustry
Hierarchyofcontrolsystemfunctions:
Conventional
MPC
(Qin,Badgewell,1997)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
9 /94
MPCinIndustry
(snapshotsurveyconductedinmid1999)
(Qin,Badgewell,2003)
Forusmultivariablecontrolispredictivecontrol
TariqSamad,Honeywell(IEEEControlSystemSociety,President)(1997)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
10 /94
MPCinIndustry
Resultsfromarecentsurvey(November7,2005)abouttheuseofMPCtechniques/
realtimeoptimizationinasetofUSindustries:
DoyouseeyouruseofMPCaccelerating,
stayingconstant,ordeclining?
Industrialareaofrespondentstothesurvey:
Pharmaceuticals
Machinery
0.7%
0.7%
Food&Beverage
Aerospace
Automotive
0.7%
0.7%
1.5%
Decreasing
Constant
1.5%
2.2%
2.2%
Mining
Cement&Glass
Metals
Increasing
2.9%
Plastics&Rubber
Electronics
Power
5.1%
5.1%
69.8%
20
40
60
80
100
DoesyourcompanyuseMPC?
5.1%
Pulp&Paper
28.8%
11.0%
Other
Oil&Gas
15.4%
19.0%
No
20.6%
Chemicals
Rening
24.3%
0
10
15
20
25
30
35
35.2%
Routinely
45.8%
Sometimes
courtesy:
2009byA.Bemporad
10
20
30
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
40
50
60
70
11 /94
ModelPredictiveControlToolbox
ModelPredictiveControlToolbox
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/
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
12 /94
MPCSimulinkLibrary
SingleMPCandmultipleswicthedMPCblockssupported
Reference/disturbancepreviewandtimevaryinglimitssupported
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
13 /94
MPCGraphicalUserInterface
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
14 /94
MPCTuningAdvisor
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
15 /94
HybridToolboxforMATLAB
Features:
(Bemporad,20032009)
Hybridmodels:design,simulation,verication
Controldesignforlinearsystemsw/constraints
andhybridsystems(onlineoptimizationviaQP/MILP/MIQP)
ExplicitMPCcontrol(viamultiparametricprogramming)
Ccodegeneration
Simulinklibrary
2450+downloadrequests
sinceOctober2004
http://www.dii.unisi.it/hybrid/toolbox
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
16 /94
BasicsofConstrainedOptimization
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
17 /94
MathematicalProgramming
Ingeneral,problemisdiculttosolve
usesoftwaretools
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
18 /94
OptimizationSoftware
Taxonomyofmostknownsolvers,fordierentclassesof
optimizationproblems:
http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/
NetworkEnabledOptimizationServer(NEOS)forremotely
solvingoptimizationproblems:
http://neos.mcs.anl.gov/neos/solvers/
Comparisononbenchmarkproblems:
http://plato.la.asu.edu/bench.html
Goodopensourceoptimizationsoftware
http://www.coin-or.org/
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
19 /94
Convexsets
Convexset
2009byA.Bemporad
Nonconvexset
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
20 /94
Convexfunction
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
21 /94
ConvexOptimizationProblem
fandCconvex
Veryecientnumericalalgorithmsexist
Globalsolutionattained
Extensiveusefultheory
Oftenoccurringinengineeringproblems
Tractableintheoryandpractice
Excellentreferencetextbook:ConvexOptimizationbyS.Boyd
http://www.stanford.edu/~boyd/cvxbook/
andL.Vandenberghe
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
22 /94
Polyhedra
Aconvexpolyhedronistheintersectionofanite
setofhalfspacesofRd
Aconvexpolytopeisaboundedconvexpolyhedron
A2
2
b
=
x
2
A
A3x=b3
1 x=
A3
b1
Hyperplanerepresentation:
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
23 /94
LinearProgram
GeorgeDantzig
(19142005)
Standardform:
f
fx
Slackvariables
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
24 /94
LinearProgram
trasformation
frommaxtomin:
Changeinequality
direction:
ItisalwayspossibletoformulateLPproblems
usingminandinequalities
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
25 /94
QuadraticProgram
ConvexoptimizationifP 0
HardproblemifP 0
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
26 /94
MixedIntegerLinearProgram
Somevariablesarecontinuous,somearediscrete(0/1)
Ingeneral,itisaNPhardproblem
Richvarietyofalgorithms/solversavailable
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
27 /94
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
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
28 /94
LinearMPC
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
29 /94
UnconstrainedOptimalControl
Linearmodel:
Goal:ndthatminimize
istheinputsequencethatsteersthe
statetotheoriginoptimally
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
/94
[computationofcostfunction]
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
/94
UnconstrainedOptimalControl
Theoptimumisobtainedbyzeroingthegradient
batchleast
squares
andhence
Alternativeapproach:usedynamicprogrammingtondU*
(Riccatiiterations)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
/94
ConstrainedOptimalControl
Linearmodel:
Constraints:
Constrainedoptimalcontrolproblem(quadraticperformanceindex):
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
33 /94
ConstrainedOptimalControl
Optimizationproblem:
(quadratic)
(linear)
ConvexQUADRATICPROGRAM(QP)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
34 /94
LinearMPCAlgorithm
past
future
Predicted
outputs y(t+k|t)
Manipulated
Inputs u(t+k)
t t+1
Attimet:
t+N
Get/estimatethecurrentstatex(t)
SolvetheQPproblem
andletU={u*(0),...,u*(N-1)}bethesolution
(=nitehorizonconstrainedopenloopoptimalcontrol)
Applyonlyanddiscardtheremainingoptimalinputs
Repeatoptimizationattimet+1.Andsoon...
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
35 /94
UnconstrainedLinearMPC
Assumenoconstraints
r(t)
yt+k
Predictedoutputs
Problemtosolveonline:
Manipulated ut+k
Inputs
t t+1
t+N
Solution:
UnconstrainedlinearMPCisnothingelsethanastandard
linearstatefeedbacklaw!
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
36 /94
DoubleIntegratorExample
System:
sampling+ZOH
Ts=1s
Constraints:
Controlobjective:min
Optimizationproblemmatrices:
cost:
constraints:
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
37 /94
DoubleIntegratorExample
gotodemo/demos/linear/doubleint.m
seealsompcdoubleint.m
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
(HybTbx)
(MPCTbx)
38 /94
DoubleIntegratorExample
Addastateconstraint:
Optimizationproblemmatrices:
cost:
constraints:
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
39 /94
DoubleIntegratorExample
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
40 /94
LinearMPCTracking
Objective:maketheoutputy(t)trackareferencesignalr(t)
Idea:parameterizetheproblemusinginputincrements
Extendedsystem:letxu(t)=u(t1)
Againalinearsystemwithstatesx(t),xu(t)andinputu(t)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
41 /94
LinearMPCTracking
Optimalcontrolproblem(quadraticperformanceindex):
optimization
vector:
Note:
sameformulationasbefore(W=CholeskyfactorofweightmatrixQ)
Optimizationproblem:
Convex
Quadratic
Program(QP)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
42 /94
LinearMPCExample
Plant:
Samplingtime:
Model:
gotodemolinear/example3.m
2009byA.Bemporad
(HybTbx)
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
43 /94
LinearMPCExample
Performanceindex:
ClosedloopMPC:
gotodemolinear/example3.m
2009byA.Bemporad
(HybTbx)
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
44 /94
LinearMPCExample
Constraint0.8u(t)1.2(amplitude)
Constraint0.2u(t)0.2(slewrate)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
45 /94
AnticipativeAction
Futurereferencesamples(partially)
knowninadvance(anticipatingaction):
gotodemompcpreview.m
2009byA.Bemporad
Referencenotknowninadvance
(causal):
(MPCTbx)
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
46 /94
MeasuredandUnmeasuredDisturbances
ManipulatedVariables
u(k)
MeasuredDisturbances
v(k)
nd(k) Disturbance
d(k)
Model
x(k)
d
Plant
Model
y(k) Outputs
Unmeasured
Disturbances
x(k)
Linearmodel
forMPC
optimization
(nd(k)=whiteGaussiannoise,nd(t+k|t)=0overthepredictionhorizon)
moredetailsaboutdisturbancemodelslateron
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
47 /94
SoftConstraints
TopreventQPinfeasibility,relaxoutputconstraints:
=panicvariable
Vmin,Vmax=vectorswithentries0(thelargertheentry,the
relativelysofterthecorrespondingconstraint)
Infeasibilitycanbedueto:
modelingerrors
disturbances
wrongMPCsetup(e.g.,predictionhorizonistooshort)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
48 /94
DelaysMethod1
Linearmodelw/delays:
Mapdelaystopolesinz=0:
ApplyMPCtotheextendedsystem
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
49 /94
DelaysMethod2
Linearmodelw/delays:
Delayfreemodel:
DesignMPCfordelayfreemodel:
Computethepredictedstate
ComputeMPCactionaccordingly:
u(t) = fMPC(
x(t + ))
2009byA.Bemporad
Forbetterclosedloopperformance
onecanpredictx(t+)withamuch
morecomplexmodelthan(A,B,C)!
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
50 /94
MPCvs.ConventionalControl
Singleinput/singleoutputcontrolloopw/constraints:
equivalentperformancecanbeobtainedwithother
simplercontroltechniques(e.g.:PID+antiwindup)
HOWEVER
MPCallows(inprinciple)UNIFORMITY
(i.e.sametechniqueforwiderangeofproblems)
reducetraining
reducecost
easierdesignmaintenance
Satisfyingcontrolspecsandwalkingonwaterissimilar
botharenotdicultiffrozen!
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
/94
MPCFeatures
Multivariableconstrainednonsquaresystems
(i.e.#inputsand#outputsaredierent)
Delaycompensation
Anticipativeactionforfuturereferencechanges
Integralaction,i.e.noosetforsteplikeinputs
Pricetopay:
Substantialonlinecomputation
Forsimplesmall/fastsystemsothertechniquesdominate
(e.g.PID+antiwindup)
NewpossibilitiesforMPC:explicitpiecewiselinearforms
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
52 /94
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)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
53 /94
Feasibility
QUADRATIC
PROGRAM(QP)
Feasibility:GuaranteethattheQPproblemisfeasibleatallsamplingtimest
Inputconstraintsonly:nofeasibilityissues!
Hardoutputconstraints:
WhenN<1thereisnoguaranteethattheQPproblem
willremainfeasibleatallfuturetimestepst
N=1innitenumberofconstraints!
Maximumoutputadmissiblesettheory:N<1isenough
(Gilbert,Tan,IEEETAC,1991),(Kerrigan,Maciejowski,CDC,2000),
(Chmielewski,Manousiouthakis,Sys.Cont.Letters,1996)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
54 /94
Stability
StabilityisacomplexfunctionoftheMPCparameters
N,Q,R,P,umin,umax,ymin,ymax
Stabilityconstraintsandweightsontheterminalstatecanbeimposedover
thepredictionhorizontoensurestabilityofMPC
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
55 /94
ConvergenceResult
(KeerthiandGilbert,1988)(Bemporadetal.,1994)
Proof:UsevaluefunctionasLyapunovfunction
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
56 /94
ConvergenceProof
Lyapunovfunction
Globaloptimumisnotneededtoproveconvergence!
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
57 /94
ConvergenceResult(alittlemoregeneral)
(KeerthiandGilbert,1988)(Bemporadetal.,1994)
Proof:UsevaluefunctionasLyapunovfunction
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
58 /94
ConvergenceProof
Lyapunovfunction
Globaloptimumisnotneededtoproveconvergence!
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
59 /94
ConvergenceProof
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
60 /94
ConvergenceProof
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
61 /94
StabilityConstraints
1.Noconstraint,inniteoutputhorizon:
(KeerthiandGilbert,1988)(RawlingsandMuske,1993)
2.Endpointconstraint:
(KwonandPearson,1977)(KeerthiandGilbert,1988)
3.Relaxedterminalconstraint:
(ScokaertandRawlings,1996)
4.Contractionconstraint:
(PolakandYang,1993)(Bemporad,1998)
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
62 /94
PredictedandActualTrajectories
Evenassumingperfectmodel&nodisturbances:
x*(t+2|t+1)
x(t)
x*(t+2|t)
predictedopenlooptrajectoriesmaybe
dierentfromactualclosedloop
trajectories
=x(t+1)
x*(t+1|t)
=x(t+2)
t+N
Specialcase:forinnitehorizon,openlooptrajectoriesandlosedloop
trajectoriescoincide.ThisfollowsbyBellmansprincipleofoptimality.
optimalstatex*(t)
x*(t)
optimalinputu*(t)
0
2009byA.Bemporad
RichardBellman
(19201984)
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
63 /94
InputandOutputHorizons
InputhorizonNucanbeshorterthanoutputhorizonN
Nu<N=lessdegreesoffreedom,andhence:
Lossofperformance
Decreasedcomputationtime(QPissmaller)
Feasibilitystillmaintained(constraintsarestillcheckeduptoN)
typicallyNu=110
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
64 /94
MPCandLQR
ConsidertheMPCcontrollaw:
JacopoFrancesco
Riccati(16761754)
(Unconstrained)MPC=LQR
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
65 /94
MPCandLQR
ConsidertheMPCcontrollaw:
JacopoFrancesco
Riccati(16761754)
InapolyhedralregionaroundtheorigintheMPCcontrollawisequivalentto
theconstrainedLQRcontrollerwithweightsQ,R
MPC=constrainedLQR
(Chmielewski,Manousiouthakis,1996)
(ScokaertandRawlings,1998)
Thelargerthehorizon,thelargertheregionwhereMPC=LQR
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
66 /94
DoubleIntegratorExample
System:
sampling+ZOH
Ts=1s
Constraints:
Controlobjective:min
LQgain
solutionofalgebraicRiccatiequation
Optimizationproblem
(costfunctionwasnormalizedby
maxsvd(H))
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
67 /94
Example:AFTI16
Linearizedmodel:
gotodemo/demos/linear/afti16.m
afti16.m
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
(HybTbx)
(MPCTbx)
68 /94
Example:AFTI16
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
69 /94
Example:AFTI16
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
70 /94
Example:AFTI16
UnconstrainedMPC
(=linearcontroller,LQR)
+actuatorsaturation25o
UNSTABLE!!!
Saturationneedstobeconsideredinthecontroldesign!
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
71 /94
Saturation
Saturationneedstobeconsideredinthecontroldesign
linear
controller
v=Kx
plant
sat
MPCtakesitintoaccountautomatically(andoptimally)
MPC
controller
v=f(x)=u
plant
sat
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
72 /94
TuningGuidelines
Weights:thelargertheratioWy/Wuthemoreaggressivethecontroller
Inputhorizon:thelargerNu,themoreoptimalbutthemorecomplexthecontroller
Outputhorizon:thesmallerN,themoreaggressivethecontroller
Limits:controllerlessaggressiveifumin,umaxaresmall
AlwaystrytosetNuassmallaspossible!
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
73 /94
Scaling
Humansthinkinniteprecision...
Computersdonot!
Numericaldicultiesmayariseifvariablesassumeverysmallorverylargevalues
Example:y12 [1e4,1e4](V)
y22 [1e4,1e4](Pa)
useinstead:y12 [0.1,0.1](mV)
y22 [10,10](kPa)
Ideallyallvariablesshouldrangein[1,1].Forexample,onecanreplacey
withy/ymax
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
74 /94
ObserverDesigninMPC
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
75 /94
ObserverDesignforMPC
r(t)
Reference
Optimizer
u(t)
x(t)
stateestimate
Plant
y(t)
measured
outputs
Observer
Fullstatex(t)maynotbeavailable
Evenifavailable,noiseshouldbelteredout
Stateofpredictionmodelmaybedierentfromplantmodelx(t)
(e.g.:modelreduction,identication)
weneedtouseastateobserver
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
76 /94
ModelforObserverDesign
u(k)
MVs(ManipulatedVariables)
v(k)
MDs(MeasuredDisturbances)
nd(k)
whitenoise
innovations
Unmeasured
disturbance
model
d(k)
Plant
model
CVs(ControlledVariables)
(Unmeasured
Outputs)
yu(k)
UMDs
(Unmeasured
Disturbances)
nm(k)
whitenoise
innovations
unmeasureddisturbancemodel
zm(k)
Measurement
noise
model
m(k) +
ym(k)
MOs
(MeasuredOutputs)
measurementnoisemodel
Note:meas.noisemodelnotneededforoptimization!
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
77 /94
ObserverDesign
Measurementupdate
Timeupdate
NOTE:separationprincipleholds!(undercertainassumptions)
(Muske,Meadows,Rawlings,ACC94)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
78 /94
KalmanFilterDesign
FullmodelfordesigningobservergainM
RudolfEmil
Kalman
(1930)
nd(k):representssourceformodelingerrors
nm(k):representssourceformeasurementnoise
nu(k):whitenoiseonallinputsuaddedforsolvabilityoftheRiccatiequation
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
79 /94
IntegralActioninMPC
(andnotonlyinMPC)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
80 /94
OutputIntegrators
u(k)
v(k)
nd(k)
whitenoise
innovations
Unmeasured
disturbance
model
d(k)
Plant
model
yu(k)
zm(k)
+
+
ni(k)
whitenoise
innovations
Output
Integrators
nm(k)
whitenoise
innovations
Measurement
noise
model
m(k)
ym(k)
Introduceoutputintegratorsasadditionaldisturbancemodels
Undercertainconditions,observer+controllerprovidezeroosetin
steadystate
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
81 /94
IntegratorsandSteadyStateOsets
Moregenerally,addintegratorsonstates+outputs:
yu(k)
u(k)
v(k)
Plant
model
ym(k)
+
+
ni(k)
whitenoise
innovations
Output
Integrators
d(k)
Ddm
Ddmd(k)
Usetheabovemodel+meas.noisemodeltodesignanobserver
(e.g.Kalmanlter)
Mainidea:observermakes
MPCmakes
)thecombinationmakes
(estimationerror)
(predictedtrackingerror)
(actualtrackingerror)
Explanation:compensatesmodelmismatchinsteadystate
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
82 /94
Errorfeedback
Idea:addintegralsofmeasuredoutputsasadditionalstates(similartolinear
(Kwakernaak,1972)
statefeedbackcase)
Extendedpredictionmodel:
Implementation:
Explanation:ifclosedloopasymptoticallystable)q(k)!cost.
andhencey(k)!r(k)
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
83 /94
ReferenceGovernor
Idea:ApplyMPCasthesetpointgeneratortolinearfeedbackloops
(Bemporad,1997)
(e.g.:PID)
actual
reference
w(k)
r(k)
desired
reference
Reference
Governor
control
input
u(k)
Local
Feedback
constrained
outputs
c(k)
Plant
y(k)r(k)
measuredoutputs
PrimalSystem
x(k)
estimatedplantstate+controllerstate
Separationofproblems:
Localfeedbackdesignedforstability,disturbanceattenuation,goodtracking,
withouttakingcareofconstraints
Actualreferencew(t)generatedonlinebyanMPCalgorithmtotakecareofconstraints
Objective:
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
84 /94
MPCfrequencyanalysis(inactiveconstraints)
UnconstrainedMPCgain+linearobserver=lineardynamicalsystem
(=2d.o.f.dynamiccontroller)
ClosedloopMPCanalysiscanbeperformedusingstandard
frequencydomaintools(e.g.Bodeplotsforsensitivityanalysis)
u(t)
Plant
x(t)
MPC
^
xe(t)
ym(t)
r(t)
InMPCTbx:ss(mpc)ortf(mpc)returntheLTIdiscretetimeformofthelinearized
(=noconstraints)MPCobject
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
85 /94
Controllermatchingproblem
(DiCairano,Bemporad,
ECC09)
Giventhecontrolleru=Kx,ndweightsQ,R,PfortheMPCproblem
suchthat
"
I 0 . . . 0 H 1 F = Kf v
thatis,theMPCcontrollercoincideswithKfvwhentheconstraints
arenotactive
QPmatrices:
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
86 /94
ControllermatchingproblemExample
Openloopprocess:
Constraints:
Desiredcontroller(PID):
Statespaceform:
controller
matching
basedon
inverseLQR
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
87 /94
ControllermatchingproblemExample
%&'(&')*+,-
%&'(&')*+,-
$!
$!
#!
#!
!#!
!#!
!$!
"
#!
#"
!$!
"
01(&')&+,/!
$!
$!
!$!
!$!
!/!
!/!
"
matched MPC
#"
#!
#"
01(&')&+,-
/!
!.!
#!
#!
#"
!.!
"
addoutputconstrainty(k)-5
Note:itsnottriviallyasaturationofPIDcontroller.Inthiscase
sat(PID)leadstoinstability
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
88 /94
Example:MPCofaDCServomotor
R
e
Tr
s
JM
bM r
L
JL
bL
gotodemo/demos/linear/dcmotor.m
mpcmotor.m
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
(HybTbx)
(MPCTbx)
89 /94
DCServomotorModel
R
V
Tr
s
JM
bM r
L
JL
bL
StepResponse
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
10
Time(sec)
15
90 /94
DCServomotor:Specs
R
V
Tr
s
JM
bM r
L
JL
bL
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
91 /94
DCServomotor:Exercise
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
92 /94
DCServomotor:MPC
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
93 /94
DCServomotor:MPC
2009byA.Bemporad
ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09
94 /94