You are on page 1of 94

ModelPredictiveControl:BasicConcepts

2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 1 /94


ModelPredictiveControl(MPC)

modelbased
optimizer process

reference input output

r(t) u(t) y(t)

measurements

Amodeloftheprocessisusedtopredictthefutureevolution
oftheprocesstooptimizethecontrolsignal

2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 2 /94


Recedinghorizonphilosophy
yt+k
Attime t:solveanoptimalcontrol r(t)
problemoveranitefuturehorizon
Predictedoutputs
of N steps:
ut+k
Manipulated
Inputs
t t+1 t+N

t+1 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!

x=GPSposition
setpoint desiredlocation
u=navigationcommands

costfunction minimumtime,
Fastest route
minimumdistance,etc. Shortest route
Avoid motorways
recedinghorizonmechanism Walking route
Bicycle route
eventbased Limited speed
(optimalroutereplannedwhenpathislost)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 5 /94
GoodModelsfor(MPC)Control
Note:computationalcomplexityandtheoreticalproperties(e.g.
stability)dependonchosenmodel/objective/constraints

GoodmodelsforMPC:
Descriptiveenoughtocapturethemostsignicant
dynamicsofthesystem

E O FF
TRA D

Simpleenoughforsolvingtheoptimizationproblem

Makeeverythingassimpleaspossible,butnotsimpler.
AlbertEinstein
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 6 /94
MPCinIndustry
History:Computercontrol(ManualMPC)

Fluidcatalyticcracking(FCC)is
themostimportantconversion
processusedinpetroleum
reneries.Itiswidelyusedto
convertthehighboiling
hydrocarbonfractionsof
petroleumcrudeoilstomore
Fluidcatalyticcracking valuablegasoline,olenicgases
(courtesyofShell/M.Morari) 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,
Industrialareaofrespondentstothesurvey: stayingconstant,ordeclining?

Pharmaceuticals 0.7%
0.7% Decreasing
Machinery
Food&Beverage 0.7%
Aerospace 0.7%
Automotive 1.5% Constant 28.8%
Mining 1.5%
Cement&Glass 2.2%
2.2% Increasing 69.8%
Metals
Plastics&Rubber 2.9%
Electronics 5.1% 0 20 40 60 80 100
Power 5.1%
Pulp&Paper 5.1% DoesyourcompanyuseMPC?
Other 11.0%
Oil&Gas 15.4%
No 19.0%
Chemicals 20.6%
Rening 24.3%

0 5 10 15 20 25 30 35 Routinely 35.2%

Sometimes 45.8%

courtesy: 0 10 20 30 40 50 60 70

2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 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 Nonconvexset

2009byA.Bemporad 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
andL.Vandenberghe http://www.stanford.edu/~boyd/cvxbook/

2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 22 /94


Polyhedra
Aconvexpolyhedronistheintersectionofanite
setofhalfspacesofRd
Aconvexpolytopeisaboundedconvexpolyhedron

b
x= 2
A 2
A
A2 1

A
1 x=
b1
A3x=b3 A3

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
andhence squares

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 t+N
Attimet:
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
yt+k
Assumenoconstraints r(t)
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 (HybTbx)
seealsompcdoubleint.m (MPCTbx)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 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 (HybTbx)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 43 /94
LinearMPCExample
Performanceindex:

ClosedloopMPC:

gotodemolinear/example3.m (HybTbx)
2009byA.Bemporad 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) Referencenotknowninadvance
knowninadvance(anticipatingaction): (causal):

gotodemompcpreview.m (MPCTbx)

2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 46 /94


MeasuredandUnmeasuredDisturbances
ManipulatedVariables u(k)

MeasuredDisturbances v(k)
Plant y(k) Outputs

Model
nd(k) Disturbance d(k)
Model Unmeasured
Disturbances
x(k)
d 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:
Forbetterclosedloopperformance
onecanpredictx(t+)withamuch
u(t) = fMPC(x(t + ))
morecomplexmodelthan(A,B,C)!
2009byA.Bemporad 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)

Alltheproofsin(1,2,3)usethevaluefunction V (t) = min J(U, t)


U
asaLyapunovfunction
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 62 /94
PredictedandActualTrajectories
Evenassumingperfectmodel&nodisturbances:

x(t) x*(t+2|t+1) =x(t+2) predictedopenlooptrajectoriesmaybe


dierentfromactualclosedloop
x*(t+2|t)
trajectories
x*(t+1|t) =x(t+1)
0 t t+N

Specialcase:forinnitehorizon,openlooptrajectoriesandlosedloop
trajectoriescoincide.ThisfollowsbyBellmansprincipleofoptimality.
optimalstatex*(t)

x*(t)

0
optimalinputu*(t)

0 RichardBellman
(19201984)

2009byA.Bemporad 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 (HybTbx)
afti16.m (MPCTbx)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 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 v=Kx u x
plant
controller
sat

MPCtakesitintoaccountautomatically(andoptimally)

MPC v=f(x)=u u x
plant
controller
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) u(t) y(t)


measured
Optimizer Plant
Reference outputs

x(t)
Observer
stateestimate

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) Plant CVs(ControlledVariables)


yu(k)
model
(Unmeasured
Outputs)
nd(k) Unmeasured d(k)
disturbance
UMDs
whitenoise model (Unmeasured
innovations
Disturbances)

zm(k)
nm(k) Measurement m(k) + +
whitenoise
noise
MOs
ym(k)
model (MeasuredOutputs)
innovations

unmeasureddisturbancemodel 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)
yu(k)
v(k) Plant
nd(k) Unmeasured d(k) model + zm(k)
disturbance
whitenoise model +
innovations

ni(k) Output
Integrators
whitenoise
innovations

nm(k) Measurement +
whitenoise
noise
model
+ ym(k)
innovations m(k)

Introduceoutputintegratorsasadditionaldisturbancemodels
Undercertainconditions,observer+controllerprovidezeroosetin
steadystate

2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 81 /94


IntegratorsandSteadyStateOsets
Moregenerally,addintegratorsonstates+outputs:
u(k) yu(k)
v(k) Plant
model + ym(k)
+

ni(k) d(k)
Output
Integrators
Ddm
whitenoise
innovations Ddmd(k)

Usetheabovemodel+meas.noisemodeltodesignanobserver
(e.g.Kalmanlter)

Mainidea:observermakes (estimationerror)

MPCmakes (predictedtrackingerror)

)thecombinationmakes (actualtrackingerror)

Explanation:compensatesmodelmismatchinsteadystate
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 82 /94
Errorfeedback
Idea:addintegralsofmeasuredoutputsasadditionalstates(similartolinear
statefeedbackcase) (Kwakernaak,1972)

Extendedpredictionmodel:

Implementation:

Explanation:ifclosedloopasymptoticallystable)q(k)!cost.
andhencey(k)!r(k)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 83 /94
ReferenceGovernor
Idea:ApplyMPCasthesetpointgeneratortolinearfeedbackloops
(e.g.:PID) (Bemporad,1997)

actual control
reference input constrained
outputs
r(k) w(k) c(k)
Local u(k)
desired
reference Feedback y(k)r(k)
Reference Plant
measuredoutputs
Governor

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 ym(t)


x(t)

MPC
^
xe(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(&')&+,- 01(&')&+,-
/! /!

$! $!

! !

!$! !$!

!/! !/!

!.! !.!
! " #! #" ! " #! #"

what PID would apply addoutputconstrainty(k)-5


matched MPC

Note:itsnottriviallyasaturationofPIDcontroller.Inthiscase
sat(PID)leadstoinstability

2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 88 /94


Example:MPCofaDCServomotor
R
M Tr
V e s T L
JM
bM r JL
bL

gotodemo/demos/linear/dcmotor.m (HybTbx)
mpcmotor.m (MPCTbx)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 89 /94
DCServomotorModel
R
M Tr
V e s T L
JM
bM r JL
bL

StepResponse

0 5 10 15
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 Time(sec) 90 /94
DCServomotor:Specs
R
M Tr
V e s T L
JM
bM r 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

You might also like