Está en la página 1de 94

ModelPredictiveControl:BasicConcepts

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)

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+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(&')&+,-

/!

!.!

#!

#!

#"

!.!

what PID would apply

"

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

También podría gustarte