explicit model predictive control - penn engineering ...ese680/archives/ese680-fall2011/...•note:...
TRANSCRIPT
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 1
ExplicitModelPredictiveControl
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
KKTConditionsforOptimality
Whenf,giareconvexfunctionsandhjarelinear,theconditionisalsosufficient2
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
KKT‐GeometricInterpretation
rg1(U1)‐rf(U1)
rg2(U1)
U1
U2
‐rf(U2)rg2(U2)
rg3(U2)
g 3(U)·0
g 1(U)·0
g2 (U)·0
g(U)·0
3
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
KKTConditionsforQP
HaroldW.Kuhn(1925‐)
WilliamKarush(1917‐1997)
AlbertW.Tucker(1905‐1995)
4
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
QPAlgorithms
5
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
MPCComputations•Theon‐lineoptimizationproblemisaQuadraticProgram(QP)
(orLinearProgram,LP)
•Noneedtoreachglobaloptimum(seetheoremproof)
•Algorithms:
‐ Activesetmethods(small/mediumsize)
‐ Interiorpointmethods(largesize)
•Benchmarksoncommercial/publicdomainQP/LPsolvers:
•Note:usingLinearProgramming(LP)for1‐or∞‐norms,controlactionmaybelesssmooththanwithQP
http://plato.la.asu.edu/bench.html
LP optimizer always on a vertex
6
QP optimizer may lie anywhere
feasible set
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
MatlabOptimizationToolbox‐LP
MuchmoreefficientLPsolversareavailable!
(GLPK,CDD,CPLEX,NAG,andmanyothers...)
HybridToolbox
LPSOL
7
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
MatlabOptimizationToolboxQP
MuchmoreefficientQPsolversareavailable!(CPLEX,NAG,DANTZGMP,andmanyothers...)
HybridToolbox
QPSOL
8
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
QPComplexity
•Non‐optimizedDantzig’sroutine(MPCToolboxforMatlab)•TestsinMatlab5.3onPentiumII300MHz
CPUtime
numberofvars1 10 1001ms
10ms
100ms
1s
GeorgeDantzig(1914‐2005)
9
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
ExplicitFormofModelPredictiveControl
viaMultiparametricProgramming
10
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
MPC:ProsandCons
•PRO:systematicdesignapproach–Multivariablesystems– Stateandinputconstraints– Stabilityguarantees–Referencepreview,delays,…
•CON:computationcomplexity!– Largesamplingtime/fasthardware– Softwarereliability
11
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Maindrawbacksofon‐lineimplementation
12
•Computationtimemaybetoolong:okforlargesamplingtimes(>10ms)butnotforfast‐samplingapplications(<1ms).Worst‐caseCPUtimeoftenhardtoestimate
•Requiresrelativelyexpensivehardware(notsuitableoninexpensive8‐bitµ‐controllerswithfewkBRAM)
•Softwarecomplexity:controlprofileu(x)hardtounderstand,solvercodedifficulttocertify(badinsafetycriticalapps)
AnywaytouseMPCwithouton‐linesolvers?
•ExcellentLP/QP/MIP/NLPsolversexisttoday(“LPisatechnology”–S.Boyd)
but...
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
On‐Linevs.Off‐LineOptimization
•On‐lineoptimization:givenx(t)solvetheproblemateachtimestept(thecontrollawu=u(x)isimplicitlydefinedbytheQPsolver)
multi‐parametricQuadraticProgram(mp‐QP)
QuadraticProgram(QP)
•Off‐lineoptimization:solvetheQPforallx(t)tofindthecontrollawu=u(x)explicitly
13
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Multiparametricprogrammingproblem
Giventheoptimizationproblem
determine:
14
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
MultiparametricQuadraticProgramming
•Objective:solvetheQPofflineforallx2XtofindtheMPCcontrollawu=u(x)explicitly
(Bemporadetal.,2002)
•Assumptions: alwayssatisfiedifmpQPcomesfromanoptimalcontrolproblem!
alwayssatisfiedifweightmatrixR>0
15
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
LinearityoftheSolution
From(1):
Insomeneighborhoodofx0,λandUareexplicitaffinefunctionsofx!
KKToptimalityconditions:
From(2):
(Zafiriou,1990)
Fixx02X
x‐space
x0•
X
solveQPtofind
identifyactiveconstraintsat
formmatricesbycollectingactiveconstraints:
16
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
MultiparametricQPalgorithm•Imposeprimalanddualfeasibility:
•Removeredundantconstraints(thisrequiressolvingLP’s):
criticalregionCR0
CR0
x‐space
x0•
•CR0isthesetofallandonlyparametersxforwhichistheoptimalcombinationofactiveconstraintsattheoptimizer
linearinequalitiesinx!
X
from(4)
from(5)
17
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 18
CR0
x‐space
x0• R1
R2
RN
R3
X
R4
Method#1:Splitandproceediteratively
Recursionsterminatebecausecombinationsofactiveconstraintsarefinite
(Bemporad,Morari,Dua,Pistikopoulos,2002)
(Tøndel,Johansen,Bemporad,2003)
Method#2:add/withdrawconstraintsfromactiveset
⇒add
⇒withdraw
Method#3:exploitthefacet‐to‐facetproperty
Stepout²outsideeachfacet,solveQP,getnewregion,iterate. (Baotic,2002)
CR1
(Spjøtvold,Kerrigan,Jones,Tøndel,Johansen,2006)
CR0CR0
x‐space
X
x‐space
(Spjøtvold,2008)
MultiparametricQPalgorithm
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Propertiesofmultiparametric‐QP
continuous,piecewiseaffine
convex,continuous,piecewisequadratic,C1(ifnodegeneracy)
Corollary:ThelinearMPCcontrollerisacontinuouspiecewiseaffinefunctionofthestate
19
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
SetofFeasibleParametersX*
WhyisthesetX*ofparametersforwhichtheQPproblemissolvableaconvexpolyhedralset?
X*istheprojectionofapolyhedronontotheparameterspace.ThereforeX*isapolyhedron.
20
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
MultiparametricConvexProgramming
(Mangasarian,Rosen,1964)
V*andX*maynotbeeasytoexpressanalytically
(Bemporad,Filippi,2003)(approximatesolutionspossible)
21
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
ComplexityReduction
Regionswherethefirstcomponentofthesolutionisthesamecanbejoined(whentheirunionisconvex).(Bemporad,Fukuda,Torrisi,Computational Geometry,2001)
‐2.5 ‐2 ‐1.5 ‐1 ‐0.5 0 0.5 1 1.5 2 2.5‐2.5
‐2
‐1.5
‐1
‐0.5
0
0.5
1
1.5
2
2.5CR1CR2CR3CR4CR5CR6CR7CR8CR9
‐2.5 ‐2 ‐1.5 ‐1 ‐0.5 0 0.5 1 1.5 2 2.5‐2.5
‐2
‐1.5
‐1
‐0.5
0
0.5
1
1.5
2
2.5CR1CR2CR3CR4CR5CR6CR7
22
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
DoubleIntegratorExample
•System:
•Constraints:
•Controlobjective:minimize
•Optimizationproblem:forNu=2
sampling+ZOHTs=1s
(costfunctionisnormalizedbymaxsvd(H))
23
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
mp‐QPsolution
Nu=2
gotodemo/demos/linear/doubleintexp.m (Hyb‐Tbx)
24
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Complexity
Nu=3 Nu=4 Nu=5
Nu=6
0 5 10 15 200
20
40CP
Utime
0 5 10 15 200
100
200
300
#Re
gion
s
#freemoves
(isthenumberofregionsfiniteforNu!1?)25
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Complexity•Worst‐casecomplexityanalysis:
combinationsofactiveconstraints
•Strongestdependenceonthenumberqofconstraints
•StrongdependenceonthenumberNuoffreemoves
•Weakdependenceonthenumbernofparametersx
•Example:
•Usuallythenumberofregionsismuchsmaller,asmanycombinationsofactiveconstraintsareneverfeasibleandoptimalatanyparametervectorx
Dataaveragedover20randomlygeneratedsingle‐inputsingle‐outputsystemssubjecttoinputsaturation(q=2N)
26
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Extensions•Trackingofreferencer(t):
•Rejectionofmeasureddisturbancev(t):
•Softconstraints:
•Variableconstraints:
•Othermodels(hybrid,uncertain)andothernorms()
27
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
ReferenceTracking,MIMOSystem
•System:
•Constraints:
•Controlobjective:
sampling+ZOH(Ts=1s)
gotodemolinear/mimo.m
0 50 100 150 2000
0.2
0.4
0.6
0.8outputy(t),referencer(t)
0 50 100 150 2000.5
0.6
0.7
0.8
0.9
1inputu(t)
N=20Nu=1
(Hyb‐Tbx)
28
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Polyhedralpartitionofthestate‐spaceforu=[00]’andr=[0.630.79]’
MPClaw
State‐spacepartition
ReferenceTracking,MIMOSystem
‐100 ‐80 ‐60 ‐40 ‐20 0 20 40 60 80 100‐100
‐80
‐60
‐40
‐20
0
20
40
60
80
100x‐space
16
23
5
7
89
4
29
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Complexity
averageon20randomSISOsystems(inputsaturation)
•Numberofregions·#combinationsofactiveconstraints
‐Largelydependson#constraints(usuallycombinatorially)
‐Alsodependson#freevariables
‐Weaklydependson#states
#constrai
nts
#states
#regions
ExplicitMPCtypicallylimitedto6‐8freecontrolmovesand8‐12states+references
•Example
30
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Averagetimeon100random3Dparameters(2Nconstraints)
Worst‐casetimeon100random3Dparameters(2Nconstraints)
(IntelCentrino1.4GHz)
Complexity‐QPvs.Explicit
Needtovisitregionsmoreefficientlythanlinearsearch
Needtoreducenumberofregions
31
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Example:AFTI‐16•Linearizedmodel:
gotodemolinear/afti16.m (Hyb‐Tbx)
Explicitcontroller:8parameters,51regions
‐10 ‐8 ‐6 ‐4 ‐2 0 2 4 6 8 10‐10
‐8
‐6
‐4
‐2
0
2
4
6
8
10Sectionwithx=[0000]’,u=[00]’
r1
r2
32
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
MPCofaDCServomotor
V
R
JM
JL
θM
θLT
ρβM
βL
θs
T re
gotodemolinear/dcmotor.m (Hyb‐Tbx)
Explicitcontroller:7parameters,101regions
‐1.5 ‐1 ‐0.5 0 0.5 1 1.5‐3
‐2
‐1
0
1
2
3Sectionwithx1=x4=0,r=[00]’,u=0
x2
x3
33
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
(Bemporad,Borrelli,Glielmo,Vasca,2001)
•ControlObjective
•smallfrictionlosses
•fastengagement
•drivercomfort
•Constraints:
•clutchforce
•clutchforcederivative
•minimumenginespeed
Slipphase:ωe >ωv
Clutchengaged:ωe=ωv=ω
DryClutchEngagement
34
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
LinearMPCDesign•Linearmodelduringslip
+disturbancemodel
•Sampling
T=10ms
•Constraints:0· ¢u·80N,0·u·5000N,x1¸50rad/s,x2¸0
•Controlobjective:
35
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
gotodemo/demos/dryclutch/dryclutch.m (Hyb‐Tbx)
36
MPCTuning
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Q=2,R=1
N=10,Nu=1
Choice:
37
MPCsimulation
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
+LinearObserver
Alternative:explicithybridMPC
•Switchingmodel(slippingmode,engagedmode)•DesignanexplicitMPCcontrollerfortheswitchedsystem
ωerad/s
ωvrad
/s
38
MPCController‐ExplicitSolution
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
• TuneanMPCcontrollerbysimulation,usingtheMPCSimulinkToolbox
• GettheexplicitsolutionoftheMPCcontroller.
• Validatethecontrolleronexperiments.
Task:
39
MPCRegulationofaBallonaPlate
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Ball&plate:experimentalsetup
Ball&PlateSystemHost
Target
Ball&PlateCode Data
u1,u2
a,b
x,y
TCP/IP
40
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
• Specifications:Angle: ‐17deg…+17degPlate: ‐30cm…+30cm InputVoltage:‐10V…+10V Computer:PENTIUM166 SamplingTime:30ms
• Model:LTI14states Constraintsoninputsandstates
y
α
β
x
α'β'
δγ
41
Ball&plate:modelandspecifications
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
MPCTuning
Samplingtime: Ts=30ms
N=50
Nu=2 Nu N
u
1(hard constraint)
5
y
Predictionhorizon:
Freecontrolmoves:
Outputconstrainthorizon:
Inputconstrainthorizon:
Weightonpositionerror:
Weightoninputvoltagechanges:
1(soft constraint)
1
42
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Implementation
•Solvemp‐QPandimplementexplicitMPC
E.g:Real‐TimeWorkshop+xPCToolbox
43
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
ExplicitMPCSolution
x‐MPC:sectionsatαx=0,αx=0,ux=0,rx=18,rα=0
Region1:
Region6:
Region16:
Saturationat‐10
Saturationat+10
LQRController(nearequilibrium)
6
1 166
161
o
x:22Regions,y:23RegionsController:
44
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 45
Ballandplateexperiment
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 46
BallandplateexperimentBallandplateexperimentinLEGO,usingexplicitMPCandHybridToolbox
•20Hzsamplingfrequency
•camerausedforpositionfeedback
•explicitMPCcodedusingintegernumbers
(byDanieleBenedettelli,Univ.ofSiena,July2008)
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
Example‐LaboratoryHelicopter
6states,2inputs
Upper/lowerconstraintsonboth
inputsandtwoofthestates.
Sizeofmp‐QPwithN=3:
dim(U)=6
dim(x)=6
24constraints
Off‐linecomputationtimes: On‐linecomputationtimes:
(Tøndel,2003)
Horizon Time(s) #polyhedra
1 1 33
2 19 395
3 163 2211
Horizon Implicitsolution Explicitsolution
1 19ms 0.3ms
2 20ms 9ms
3 25ms 52ms
47
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
CommentsonExplicitMPC•MultiparametricQuadraticPrograms(mp‐QP)canbesolvedefficiently
•ExplicitsolutionofMPCcontrolleru=f(x)isPiecewiseAffine
Eliminateheavyon‐linecomputationforMPC
MakeMPCsuitableforfast/small/cheapprocesses
•ModelPredictiveControl(MPC)canbesolvedoff‐lineviamp‐QP
48
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
AutomotiveapplicationsofexplicitMPC
Homogeneous Stratified
tractioncontrol
enginecontrol
semiactivesuspensions idlespeedcontrol magneticactuators
(Borrelli,Bemporad,Fodor,Hrovat,2001)
(N.Giorgetti,G.Ripaccioli,AB,I.Kolmanovsky,D.Hrovat,2006)
(DiCairano,Bemporad,Kolmanovsky,Hrovat,2006)
(DiCairano,Yanakiev,Bemporad,Kolmanovsky,Hrovat,2008)
(Giorgetti,Bemporad,Tseng,Hrovat,2005)
49
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
ExplicitMPCforidlespeedcontrol
50
(DiCairano,Yanakiev,Bemporad,Kolmanovsky,Hrovat,2008)
•Fordpickuptruck,V84.6Lgasolineengine
•Process:
‐1 output(enginespeed)toregulate‐2 inputs(airflow,sparkadvance)‐inputdelays
‐regulateenginespeedatconstantrpm‐saturationlimitsonairflowandspark‐lowerboundonenginespeed(¸450rpm)
•Objectivesandspecs:
•Relatedtomostclassicalproblemincontrol:Watt’sgovernor(1787)
•ProblemsuitableforMPCdesign (Hrovat,1996)
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
ExplicitMPCDesignFlow
51
NLSimulinkmodel
MPCsetup(on‐lineQP)
controlspecs
multi‐parametricsolver
Matlabtool:HybridToolbox
predictionmodel
identification
PWAcontrollaw(C‐code)
closed‐loopsimulation
experiments
reviseweights&observer
addintegralaction
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
ExplicitMPCforidlespeed‐Experiments
52
baselinecontroller(linear)
explicitMPC
set‐point
Loadtorque(powersteering) Powersteering+airconditioning
peakreducedby50% convergence10sfaster
(DiCairano,Yanakiev,Bemporad,Kolmanovsky,Hrovat,2008)
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
mpQPinportfoliooptimizationMarkowitzportfoliooptimization
pi=expectedreturnofasseti
§ij=covarianceofassetsi, j
x=expectedminimumreturnofportfolio
zi=moneyinvestedinasseti
Objective:minimizevariance(=risk)
Constraint:guaranteeaminimumexpectedreturn
(Bemporad,NMPCplenary,2008)
53
/54©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09
mpQPinportfoliooptimizationMultiparametricQPsolution
(Bemporad,2008)
54