Вы находитесь на странице: 1из 94

/94 2009byA.

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

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

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

A
3
x=b
3

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

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

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

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

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

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

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

I 0 . . . 0

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

L
T
r
b
M
b
L

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

L
T
r
b
M
b
L

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

L
T
r
b
M
b
L

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

Вам также может понравиться