/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 1
ModelPredictiveControl:BasicConcepts
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
ModelPredictiveControl(MPC)
2
Amodeloftheprocessisusedtopredictthefutureevolutionoftheprocesstooptimizethecontrolsignal
processmodel‐basedoptimizer
reference outputinput
measurements
r(t) u(t) y(t)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Recedinghorizonphilosophy
3
•Onlyapplythefirstoptimalmove
Predictedoutputs
ManipulatedInputs
t t+1 t+N
ut+k
r(t)
t+1 t+2 t+N+1
•Attimet+1:Getnewmeasurements,repeattheoptimization.Andsoon…
Advantageofrepeatedon‐lineoptimization:FEEDBACK!
yt+k•Attime t:solveanoptimalcontrolproblemoverafinitefuturehorizonof N steps:
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 4
RecedingHorizon‐Examples
•MPCislikeplayingchess!
•“Rollinghorizon”policiesarealsousedfrequentlyinfinance
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 5
‐predictionmodel
‐costfunction
‐constraints
‐recedinghorizonmechanism
howvehiclemovesonthemap
minimumtime,minimumdistance,etc.
driveonroads,respectone‐wayroads,etc.
event‐based(optimalroutere‐plannedwhenpathislost)
‐disturbances mainlydriver’sinattention!
‐setpoint desiredlocationx=GPSpositionu=navigationcommands
Fastest routeShortest routeAvoid motorwaysWalking routeBicycle routeLimited speed
RecedingHorizon‐Examples
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
GoodModelsfor(MPC)Control
6
•Descriptiveenoughtocapturethemostsignificantdynamicsofthesystem
•Simpleenoughforsolvingtheoptimizationproblem
TRADEOFF
“Makeeverythingassimpleaspossible,butnotsimpler.”—AlbertEinstein
Note:computationalcomplexityandtheoreticalproperties(e.g.stability)dependonchosenmodel/objective/constraints
GoodmodelsforMPC:
Fluidcatalyticcracking(FCC)isthemostimportantconversionprocessusedinpetroleumrefineries.Itiswidelyusedtoconvertthehigh‐boilinghydrocarbonfractionsofpetroleumcrudeoilstomorevaluablegasoline,olefinicgasesandotherproducts
(http://en.wikipedia.org/wiki/Catalytic_cracking)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 7
MPCinIndustry•History:Computercontrol(“Manual”MPC)
Fluidcatalyticcracking(courtesyofShell/M.Morari)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
MPCinIndustry
8
•PresentIndustrialPractice•linearimpulse/stepresponsemodels
•sumofsquarederrorsobjectivefunction
•executedinsupervisorymode
•Particularlysuitedforproblemswith•manyinputsandoutputs•constraintsoninputs,outputs,states•varyingobjectivesandlimitsonvariables(e.g.becauseoffaults)
•History:1979DynamicMatrixControl(DMC)byShell(Motivation:multivariable,constrained)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
MPCinIndustry
9
(Qin,Badgewell,1997)
Hierarchyofcontrolsystemfunctions:
Conventional MPC
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
MPCinIndustry
10
(Qin,Badgewell,2003)
“Forusmultivariablecontrolispredictivecontrol”
TariqSamad,Honeywell(IEEEControlSystemSociety,President)(1997)
(snapshotsurveyconductedinmid‐1999)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
MPCinIndustry
11
Resultsfromarecentsurvey(November7,2005)abouttheuseofMPCtechniques/real‐timeoptimizationinasetofUSindustries:
courtesy:
DoesyourcompanyuseMPC?
706050403020100
45.8%
35.2%
19.0%
Sometimes
Routinely
No
DoyouseeyouruseofMPCaccelerating,stayingconstant,ordeclining?
100806040200
69.8%
28.8%
Increasing
Constant
Decreasing
35302520151050
RefiningChemicalsOil&Gas
OtherPulp&Paper
PowerElectronics
Plastics&Rubber
MetalsCement&Glass
Mining
AutomotiveAerospace
Food&Beverage
MachineryPharmaceuticals
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 ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
ModelPredictiveControlToolboxModelPredictiveControlToolbox
12
•MPCToolbox3.0(Bemporad,Ricker,Morari,1998‐today):
–Object‐orientedimplementation(MPCobject)
–MPCSimulinkLibrary
–MPCGraphicalUserInterface
–RTWextension(codegeneration)[xPCTarget,dSpace,etc.]
–LinkedtoOPCToolboxv2.0.1
Onlylinearmodelsarehandled
http://www.mathworks.com/products/mpc/
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 13
MPCSimulinkLibrary
•SingleMPCandmultipleswicthedMPCblockssupported•Reference/disturbancepreviewandtime‐varyinglimitssupported
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 14
MPCGraphicalUserInterface
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 15
MPCTuningAdvisor
•Hybridmodels:design,simulation,verification
•Controldesignforlinearsystemsw/constraintsandhybridsystems(on‐lineoptimizationviaQP/MILP/MIQP)
•ExplicitMPCcontrol(viamulti‐parametricprogramming)
•C‐codegeneration
•Simulinklibrary
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
HybridToolboxforMATLAB
16
Features: (Bemporad,2003‐2009)
http://www.dii.unisi.it/hybrid/toolbox
2450+downloadrequestssinceOctober2004
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 17
BasicsofConstrainedOptimization
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 18
MathematicalProgramming
Ingeneral,problemisdifficulttosolve
usesoftwaretools
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 19
OptimizationSoftware
http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/
•Taxonomyofmostknownsolvers,fordifferentclassesofoptimizationproblems:
•NetworkEnabledOptimizationServer(NEOS)forremotelysolvingoptimizationproblems:
http://neos.mcs.anl.gov/neos/solvers/
http://www.coin-or.org/
•Goodopen‐sourceoptimizationsoftware
http://plato.la.asu.edu/bench.html
•Comparisononbenchmarkproblems:
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 20
Convexsets
Convexset Nonconvexset
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 21
Convexfunction
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 22
ConvexOptimizationProblem
•Veryefficientnumericalalgorithmsexist
•Globalsolutionattained
•Extensiveusefultheory
•Oftenoccurringinengineeringproblems
•Tractableintheoryandpractice
fandCconvex
Excellentreferencetextbook:“ConvexOptimization”byS.BoydandL.Vandenberghe http://www.stanford.edu/~boyd/cvxbook/
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 23
•AconvexpolyhedronistheintersectionofafinitesetofhalfspacesofRd
•Aconvexpolytopeisaboundedconvexpolyhedron
Polyhedra
A1x=b
1
A 2x=b 2
A3x=b3
•Hyperplanerepresentation:
A 2A1
A3
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 24
LinearProgram
Standardform:‐f
f’x
Slackvariables
GeorgeDantzig(1914‐2005)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 25
LinearProgram
trasformationfrommaxtomin:
Changeinequalitydirection:
ItisalwayspossibletoformulateLPproblemsusing“min”and“·”inequalities
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 26
QuadraticProgram
•ConvexoptimizationifP º 0
•HardproblemifP ² 0
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 27
Mixed‐IntegerLinearProgram
•Somevariablesarecontinuous,somearediscrete(0/1)
•Ingeneral,itisaNP‐hardproblem
•Richvarietyofalgorithms/solversavailable
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 28
Modelinglanguages
•MOSEL,associatedwithcommercialpackageXpress‐MP
•OPL(OptimizationProgrammingLanguage),associatedwithcommercialpackageIlog‐CPLEX
•AMPL(AModelingLanguageforMathematicalProgramming)mostusedmodelinglanguage,supportsseveralsolvers
•GAMS(GeneralAlgebraicModelingSystem)isoneofthefirstmodelinglanguages
•LINGO,modelinglanguageofLindoSystemsInc.
•GNUMathProg,asubsetofAMPLassociatedwiththefreepackageGLPK(GNULinearProgrammingKit)
•FLOPC++opensourcemodelinglanguage(C++classlibrary)
•CVXmatlab‐basedmodelinglanguage(fromStanford)
•YALMIPanothermatlab‐basedmodelinglanguage
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 29
LinearMPC
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
UnconstrainedOptimalControl
•Linearmodel:
•Goal:findthatminimize
istheinputsequencethatsteersthestatetotheorigin“optimally”
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
[computationofcostfunction]
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
UnconstrainedOptimalControl
batchleastsquares
Alternativeapproach:usedynamicprogrammingtofindU*
Theoptimumisobtainedbyzeroingthegradient
andhence
(Riccatiiterations)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 33
ConstrainedOptimalControl•Linearmodel:
ConstrainedOptimalControl
•Constrainedoptimalcontrolproblem(quadraticperformanceindex):
•Constraints:
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 34
ConstrainedOptimalControl
ConvexQUADRATICPROGRAM(QP)
(quadratic)
(linear)
•Optimizationproblem:
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 35
LinearMPCAlgorithm
Predictedoutputs
Manipulated
y(t+k|t)
Inputs
t t+1 t+N
futurepast
u(t+k)
•Applyonlyanddiscardtheremainingoptimalinputs
•SolvetheQPproblem
andletU={u*(0),...,u*(N-1)}bethesolution(=finite‐horizonconstrainedopen‐loopoptimalcontrol)
•Repeatoptimizationattimet+1.Andsoon...
•Get/estimatethecurrentstatex(t)
Attimet:
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 36
UnconstrainedLinearMPC
UnconstrainedlinearMPCisnothingelsethanastandardlinearstate‐feedbacklaw!
Predictedoutputs
ManipulatedInputs
t t+1 t+N
ut+k
r(t)yt+k
•Solution:
•Assumenoconstraints
•Problemtosolveon‐line:
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 37
DoubleIntegratorExample
•System:
•Constraints:
•Controlobjective:min
•Optimizationproblemmatrices:
sampling+ZOHTs=1s
cost:
constraints:
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 38
DoubleIntegratorExample
gotodemo/demos/linear/doubleint.m
seealsompcdoubleint.m(Hyb‐Tbx)
(MPC‐Tbx)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 39
DoubleIntegratorExample
•Addastateconstraint:
•Optimizationproblemmatrices:
cost:
constraints:
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 40
DoubleIntegratorExample
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 41
LinearMPC‐Tracking
•Extendedsystem:letxu(t)=u(t‐1)
Againalinearsystemwithstatesx(t),xu(t)andinputΔu(t)
•Idea:parameterizetheproblemusinginputincrements
•Objective:maketheoutputy(t)trackareferencesignalr(t)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 42
•Note:
LinearMPC‐Tracking
ConvexQuadratic
Program(QP)
•Optimizationproblem:
•Optimalcontrolproblem(quadraticperformanceindex):
sameformulationasbefore(W=CholeskyfactorofweightmatrixQ)
optimizationvector:
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 43
LinearMPC‐Example•Plant:
•Model:
gotodemolinear/example3.m (Hyb‐Tbx)
•Samplingtime:
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 44
LinearMPC‐Example•Performanceindex:
•Closed‐loopMPC:
gotodemolinear/example3.m (Hyb‐Tbx)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 45
LinearMPC‐Example•Constraint0.8·u(t)·1.2(amplitude)
•Constraint‐0.2·Δu(t)·0.2(slew‐rate)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 46
AnticipativeAction
•Referencenotknowninadvance(causal):
•Futurereferencesamples(partially)knowninadvance(anticipatingaction):
gotodemompcpreview.m (MPC‐Tbx)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 47
MeasuredandUnmeasuredDisturbances
LinearmodelforMPCoptimization
(nd(k)=whiteGaussiannoise,nd(t+k|t)=0overthepredictionhorizon)
PlantModel
Outputsy(k)
ManipulatedVariables u(k)
UnmeasuredDisturbances
d(k)
MeasuredDisturbances v(k)
x(k)
DisturbanceModel
nd(k)
x(k)d
moredetailsaboutdisturbancemodelslateron…
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 48
SoftConstraints•TopreventQPinfeasibility,relaxoutputconstraints:
•Infeasibilitycanbedueto:–modelingerrors–disturbances–wrongMPCsetup(e.g.,predictionhorizonistooshort)
²=“panic”variable
Vmin,Vmax=vectorswithentries¸0(thelargertheentry,therelativelysofterthecorrespondingconstraint)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 49
Delays–Method1•Linearmodelw/delays:
•Mapdelaystopolesinz=0:
•ApplyMPCtotheextendedsystem
u(t) = fMPC(x̄(t + !))
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 50
Delays–Method2•Linearmodelw/delays:
•Delay‐freemodel:
•DesignMPCfordelay‐freemodel:
•Computethepredictedstate
•ComputeMPCactionaccordingly: Forbetterclosed‐loopperformanceonecanpredictx(t+¿)withamuchmorecomplexmodelthan(A,B,C)!
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
MPCvs.ConventionalControl
Singleinput/singleoutputcontrolloopw/constraints: equivalentperformancecanbeobtainedwithothersimplercontroltechniques(e.g.:PID+anti‐windup)
MPCallows(inprinciple)UNIFORMITY(i.e.sametechniqueforwiderangeofproblems)
–reducetraining
–reducecost–easierdesignmaintenance
HOWEVER
Satisfyingcontrolspecsandwalkingonwaterissimilar…
botharenotdifficultiffrozen!
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 52
MPCFeatures
•Multivariableconstrained“non‐square”systems(i.e.#inputsand#outputsaredifferent)
•Delaycompensation
•Anticipativeactionforfuturereferencechanges
•“Integralaction”,i.e.nooffsetforstep‐likeinputs
•Substantialon‐linecomputation
•Forsimplesmall/fastsystemsothertechniquesdominate(e.g.PID+anti‐windup)
Pricetopay:
•NewpossibilitiesforMPC:explicitpiecewiselinearforms
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.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 ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 54
•N=1infinitenumberofconstraints!
Feasibility
•Feasibility:GuaranteethattheQPproblemisfeasibleatallsamplingtimest
•Maximumoutputadmissiblesettheory:N<1isenough
•WhenN<1thereisnoguaranteethattheQPproblemwillremainfeasibleatallfuturetimestepst
QUADRATICPROGRAM(QP)
(Gilbert,Tan,IEEETAC,1991),(Kerrigan,Maciejowski,CDC,2000),(Chmielewski,Manousiouthakis,Sys.Cont.Letters,1996)
•Inputconstraintsonly:nofeasibilityissues!
•Hardoutputconstraints:
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 55
Stability
•StabilityisacomplexfunctionoftheMPCparameters N,Q,R,P,umin,umax,ymin,ymax
•StabilityconstraintsandweightsontheterminalstatecanbeimposedoverthepredictionhorizontoensurestabilityofMPC
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 56
ConvergenceResult
(KeerthiandGilbert,1988)(Bemporadetal.,1994)
Proof:UsevaluefunctionasLyapunovfunction
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 57
ConvergenceProof
Globaloptimumisnotneededtoproveconvergence!
Lyapunovfunction
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 58
ConvergenceResult(alittlemoregeneral)
(KeerthiandGilbert,1988)(Bemporadetal.,1994)
Proof:UsevaluefunctionasLyapunovfunction
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 59
ConvergenceProof
Globaloptimumisnotneededtoproveconvergence!
Lyapunovfunction
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 60
ConvergenceProof
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 61
ConvergenceProof
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 62
StabilityConstraints
1.Noconstraint,infiniteoutputhorizon:
(KeerthiandGilbert,1988)(RawlingsandMuske,1993)
3.Relaxedterminalconstraint:
2.End‐pointconstraint:
(KwonandPearson,1977)(KeerthiandGilbert,1988)
4.Contractionconstraint:
(ScokaertandRawlings,1996)
Alltheproofsin(1,2,3)usethevaluefunctionasaLyapunovfunction
(PolakandYang,1993)(Bemporad,1998)
V (t) = minU
J(U, t)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 63
PredictedandActualTrajectories•Evenassumingperfectmodel&nodisturbances:
predictedopen‐looptrajectoriesmaybedifferentfromactualclosed‐loop
trajectories
•Specialcase:forinfinitehorizon,open‐looptrajectoriesandlosed‐looptrajectoriescoincide.ThisfollowsbyBellman’sprincipleofoptimality.
RichardBellman(1920‐1984)
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 ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 64
InputandOutputHorizons
• InputhorizonNucanbeshorterthanoutputhorizonN
• Nu<N=lessdegreesoffreedom,andhence:
– Lossofperformance– Decreasedcomputationtime(QPissmaller)– Feasibilitystillmaintained(constraintsarestillcheckeduptoN)
typicallyNu=1÷10
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 65
MPCandLQR
•ConsidertheMPCcontrollaw:
JacopoFrancescoRiccati(1676‐1754)
(Unconstrained)MPC=LQR
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 66
MPCandLQR•ConsidertheMPCcontrollaw:
•InapolyhedralregionaroundtheorigintheMPCcontrollawisequivalenttotheconstrainedLQRcontrollerwithweightsQ,R
•Thelargerthehorizon,thelargertheregionwhereMPC=LQR
(Chmielewski,Manousiouthakis,1996)
(ScokaertandRawlings,1998)
JacopoFrancescoRiccati(1676‐1754)
MPC=constrainedLQR
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 67
DoubleIntegratorExample
•System:
•Constraints:
•Controlobjective:min
•Optimizationproblem
sampling+ZOHTs=1s
(costfunctionwasnormalizedbymaxsvd(H))
solutionofalgebraicRiccatiequation
LQgain
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 68
Example:AFTI‐16
•Linearizedmodel:
afti16.m
gotodemo/demos/linear/afti16.m (Hyb‐Tbx)
(MPC‐Tbx)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 69
Example:AFTI‐16
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 70
Example:AFTI‐16
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 71
Example:AFTI‐16
UNSTABLE!!!
UnconstrainedMPC
+actuatorsaturation±25o(=linearcontroller,¼LQR)
Saturationneedstobeconsideredinthecontroldesign!
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 72
Saturation
•Saturationneedstobeconsideredinthecontroldesign
linearcontroller
plant
sat
uv=Kx x
•MPCtakesitintoaccountautomatically(andoptimally)
MPCcontroller
plant
sat
uv=f(x)=u x
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 73
TuningGuidelines
• Weights:thelargertheratioWy/WΔuthemoreaggressivethecontroller
• Inputhorizon:thelargerNu,themore“optimal”butthemorecomplexthecontroller
• Outputhorizon:thesmallerN,themoreaggressivethecontroller
• Limits:controllerlessaggressiveif¢umin,¢umaxaresmall
AlwaystrytosetNuassmallaspossible!
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 74
Scaling• Humansthinkinfiniteprecision...
• Computersdonot!
• Numericaldifficultiesmayariseifvariablesassumeverysmallorverylargevalues
Example:y12 [‐1e‐4,1e‐4](V)y22 [‐1e4,1e4](Pa)
useinstead:y12 [‐0.1,0.1](mV)y22 [‐10,10](kPa)
•Ideallyallvariablesshouldrangein[‐1,1].Forexample,onecanreplacey
withy/ymax
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 75
ObserverDesigninMPC
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 76
ObserverDesignforMPC
Plant
Observer
OptimizerReference
weneedtouseastateobserver
•Fullstatex(t)maynotbeavailable
•Evenifavailable,noiseshouldbefilteredout
•Stateofpredictionmodelmaybedifferentfromplantmodelx(t)(e.g.:modelreduction,identification)
r(t) measuredoutputs
stateestimate
u(t) y(t)
x(t)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 77
ModelforObserverDesign
measurementnoisemodel
m(k)
yu(k)
ym(k)
u(k)
v(k)
d(k)
Plantmodel
CVs(ControlledVariables)
MVs(ManipulatedVariables)
UMDs(UnmeasuredDisturbances)
MDs(MeasuredDisturbances)
Unmeasureddisturbance
model
Measurementnoisemodel
+ +MOs
(MeasuredOutputs)
(UnmeasuredOutputs)
whitenoiseinnovations
whitenoiseinnovations
nm(k)
nd(k)
•Note:meas.noisemodelnotneededforoptimization!
unmeasureddisturbancemodel
zm(k)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 78
ObserverDesign•Measurementupdate
•Timeupdate
•NOTE:separationprincipleholds!(undercertainassumptions)(Muske,Meadows,Rawlings,ACC94)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 79
KalmanFilterDesign
•FullmodelfordesigningobservergainM
•nd(k):representssourceformodelingerrors
•nm(k):representssourceformeasurementnoise
•nu(k):whitenoiseonallinputsuaddedforsolvabilityoftheRiccatiequation
RudolfEmilKalman(1930‐)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 80
IntegralActioninMPC
(andnotonlyinMPC)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 81
OutputIntegrators
•Introduceoutputintegratorsasadditionaldisturbancemodels
•Undercertainconditions,observer+controllerprovidezerooffsetinsteady‐state
PlantmodelUnmeasured
disturbancemodel
Measurementnoisemodel
+ +
whitenoiseinnovations
whitenoiseinnovations
OutputIntegrators
+
whitenoiseinnovations
+
ni(k)
m(k)
yu(k)
ym(k)
u(k)
v(k)
d(k)
nm(k)
nd(k) zm(k)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 82
IntegratorsandSteady‐StateOffsets
yu(k) u(k)
v(k)
d(k)
Plantmodel
OutputIntegrators
+
whitenoiseinnovations
+
ni(k)
ym(k)
Ddm
•Moregenerally,addintegratorsonstates+outputs:
•Usetheabovemodel+meas.noisemodeltodesignanobserver(e.g.Kalmanfilter)
Ddmd(k)
•Mainidea:observermakes
)thecombinationmakes
MPCmakes
(estimationerror)
(predictedtrackingerror)
(actualtrackingerror)
•Explanation:compensatesmodelmismatchinsteady‐state
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 83
•Idea:addintegralsofmeasuredoutputsasadditionalstates(similartolinearstate‐feedbackcase)
•Extendedpredictionmodel:
•Implementation:
Errorfeedback
(Kwakernaak,1972)
•Explanation:ifclosed‐loopasymptoticallystable)q(k)!cost.andhencey(k)!r(k)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 84
•Idea:ApplyMPCastheset‐pointgeneratortolinearfeedbackloops(e.g.:PID)
ReferenceGovernor
(Bemporad,1997)
‐Localfeedbackdesignedforstability,disturbanceattenuation,goodtracking,withouttakingcareofconstraints
‐Actualreferencew(t)generatedon‐linebyanMPCalgorithmtotakecareofconstraintsObjective:
ReferenceGovernor
Localw(k)
Plant y(k)¼r(k)
r(k)
x(k)
Feedback
PrimalSystem
u(k) c(k)desiredreference
actualreference
controlinput constrained
outputs
measuredoutputs
estimatedplantstate+controllerstate
•Separationofproblems:
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 85
• UnconstrainedMPCgain+linearobserver=lineardynamicalsystem(=2d.o.f.dynamiccontroller)
• Closed‐loopMPCanalysiscanbeperformedusingstandardfrequency‐domaintools(e.g.Bodeplotsforsensitivityanalysis)
u(t) ym(t)
r(t)
Plant
MPC
x(t)
xe(t) ^
MPCfrequencyanalysis(inactiveconstraints)
InMPCTbx:ss(mpc)ortf(mpc)returntheLTIdiscrete‐timeformofthelinearized(=noconstraints)MPCobject
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 86
•Giventhecontrolleru=Kx,findweightsQ,R,PfortheMPCproblemsuchthat
thatis,theMPCcontrollercoincideswithKfvwhentheconstraintsarenotactive
•QPmatrices:
Controllermatchingproblem
!!I 0 . . . 0
"H!1F = Kfv
(DiCairano,Bemporad,ECC’09)
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 87
•Open‐loopprocess:
•Desiredcontroller(PID):
•State‐spaceform:
•Constraints:
Controllermatchingproblem‐Example
controllermatchingbasedoninverseLQR
! " #! #"!$!
!#!
!
#!
$!
%&'(&')*+,-
! " #! #"!.!
!/!
!$!
!
$!
/!
01(&')&+,-
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 88
what PID would applymatched MPC
Note:it’snottriviallyasaturationofPIDcontroller.Inthiscasesat(PID)leadstoinstability
Controllermatchingproblem‐Example
addoutputconstrainty(k)≥-5
! " #! #"!$!
!#!
!
#!
$!
%&'(&')*+,-
! " #! #"!.!
!/!
!$!
!
$!
/!
01(&')&+,-
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 89
Example:MPCofaDCServomotor
mpcmotor.m
gotodemo/demos/linear/dcmotor.m (Hyb‐Tbx)
(MPC‐Tbx)
V
R
JM
JL
µM
µLT
rbM
bL
µs
Tre
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 90
DCServomotor‐Model
0
0 5 10 15
StepResponse
Time(sec)
V
R
JM
JL
µM
µLT
rbM
bL
µs
Tre
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 91
DCServomotor:Specs
V
R
JM
JL
µM
µLT
rbM
bL
µs
Tre
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 92
DCServomotor:Exercise
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 93
DCServomotor:MPC
/94©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 94
DCServomotor:MPC