94
/94 © 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09 1 Model Predictive Control: Basic Concepts

Model Predictive Control: Basic Concepts...2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09 /94 Model Predictive Control (MPC) 2 A model of the

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

/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