Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009...
Transcript of Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009...
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 1
ExamplesofhybridMPC
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 2
HybridMPCforcruisecontrol
GOAL:
commandgearratio,gaspedal,andbrakestotrackadesiredspeedandminimizeconsumption
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 3
HybridModel•Vehicledynamics
•Transmissionkinematics
discretizedwithsamplingtime
M=enginetorque
ω =enginespeed
i=gear
=vehiclespeed
=brakeforce
=tractionforce
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 4
HybridModel
1000 2000 3000 400060
80
100
120
140
160
180•Maxenginetorque:
Piecewise‐linearization
(PWLToolbox,Julián,2000)
•Minenginetorque
requires:4binaryauxvariables4continuousauxvariables
•Enginetorque
(Note:inthiscasePWLfunctionisconvex)couldbehandledbylinearconstraintswithoutintroducinganybinaryvariable!)
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 5
HybridModel
•Gearselection(tractionforce):
dependsongear#i
defineauxiliarycontinuousvariables:
similarly,alsorequires6auxiliarycontinuousvariables
•Gearselection(engine/vehiclespeed):
•Gearselection: foreachgear#i,
defineabinaryinput
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 6
HysdelModel
gotodemo/demos/cruise/init.m
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 7
HybridModel
•MLDmodel
•2continuousstates:x, v
•2continuousinputs:M,Fb
•6binaryinputs:gR,g1,g2,g3,g4,g5
•1continuousoutput:v
•4auxiliarybinaryvars:
•16auxiliarycontinuousvars:
(enginetorque,brakeforce)
(vehiclespeed)
(gears)
(vehiclepositionandspeed)
(6tractionforce,6enginespeed,4PWLmaxenginetorque)
(PWLmaxenginetorquebreakpoints)
•96mixed‐integerinequalities
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 8
•Max‐speedcontroller
HybridController
MILPoptimizationproblem
(x(t)isirrelevant)
0
50
100
150
200
250
LinearconstraintsContinuousvariablesBinaryvariablesParametersTimetosolvemp‐MILP(SunUltra10)Numberofregions
9618101
45s11
(Parameters:RenaultClio1.9DTIRXE)
Objective:maximizespeed
(toreproducemaxaccelerationplots)
v(t)
x(t)
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 9
HybridController•Max‐speedcontroller
0 50 1000
50
100
150
200Velocity (km/h)
0 50 1000
1000
2000
3000
4000
5000
6000Engine speed (rpm)
Time (s)
0 50 1000
50
100
150
200Engine Torque (Nm)
Time (s)
0 50 1001
2
3
4
5Gear
0 50 1000
10
20
30
40
50
60Power (kW)
Time (s)
0 50 100-1
-0.5
0
0.5
1
Fraction of Max Torque (Nm)
0 50 100-1
-0.5
0
0.5
1Road Slope (deg)
Time (s)
0 50 100-1
-0.5
0
0.5
1Brakes (Nm)
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 10
HybridController
•Trackingcontroller
0 40 80 120 160 2000
50
100
150
200
250
MILPoptimizationproblemLinearconstraintsContinuousvariablesBinaryvariablesParametersTimetosolvemp‐MILP(PC850Mhz)Numberofregions
9819102
43s49
gotodemo/demos/cruise/init_exp.m
vd(t)
v(t)
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 11
HybridController
•Trackingcontroller
0 100 2000
20
40
60
80
100
120Velocity (km/h), Desired velocity (km/h)
0 100 2000
1000
2000
3000
4000
5000
6000Engine speed (rpm)
Time (s)
0 100 200-200
-100
0
100
200Engine Torque (Nm)
Time (s)
0 100 2001
2
3
4
5Gear
0 100 200-100
-50
0
50
100Power (kW)
Time (s)
0 100 200-1
-0.5
0
0.5
1
Fraction of Max Torque (Nm)
0 100 200-6
-4
-2
0
2
4
6Road Slope (deg)
Time (s)
0 100 2000
2000
4000
6000
8000
10000Brakes (Nm)
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 12
HybridController
•Smoothertrackingcontroller
0 40 80 120 160 2000
50
100
150
200
250
MILPoptimizationproblem
LinearconstraintsContinuousvariablesBinaryvariablesParametersTimetosolvemp‐MILP(PC850Mhz)Numberofregions
10019102
47s54
vd(t)
v(t)
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 13
HybridController•Smoothertrackingcontroller
0 100 2000
20
40
60
80
100
120Velocity (km/h), Desired velocity (km/h)
0 100 2000
1000
2000
3000
4000
5000
6000Engine speed (rpm)
Time (s)
0 100 200-200
-100
0
100
200Engine Torque (Nm)
Time (s)
0 100 2001
2
3
4
5Gear
0 100 200-100
-50
0
50
100Power (kW)
Time (s)
0 100 200-1
-0.5
0
0.5
1
Fraction of Max Torque (Nm)
0 100 200-6
-4
-2
0
2
4
6Road Slope (deg)
Time (s)
0 100 2000
2000
4000
6000
8000
10000Brakes (Nm)
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 14
TractionControlSystem
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 15
Controllersuitableforreal‐timeimplementation
Improvedriver'sabilitytocontrolavehicleunderadverseexternalconditions(wetoricyroads)
MLDhybridframework+optimization‐basedcontrolstrategy
Modelnonlinear,uncertain,constraints
VehicleTractionControl
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 16
TireForceCharacteristics
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 17
•Tiretorqueτtisafunctionof
slipΔω androadsurface
adhesioncoefficientµ
•Mechanicalsystem
•Manifold/fuelingdynamics
Δωwheelslip
(Borrelli,Bemporad,Fodor,Hrovat,2006)
SimpleTractionModel
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 18
Torque
Mixed‐Logical
Dynamical(MLD)
HybridModel
(discretetime)
Slip
Torque
µ
PWAApproximationµ Slip
HYSDEL
Nonlineartiretorqueτt=f(Δω ,µ)
(PWLToolbox,Julian,2000)
Hybridmodel
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 19
MLDmodel
State x ( t) 4 variables
Input u (t) 1 variable
Aux. Binary vars δ(t) 1 variable
Aux.Continuousvarsz(t) 3 variables
TheMLDmatricesareautomaticallygeneratedinMatlabformatbyHYSDEL
gotodemo/demos/traction/init.m
Mixed‐integerinequalities 14
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 20
•Controlobjective:
•Constraints:•Limitsontheenginetorque:
•Note:alogicconstraint(hysteresis)maybealsotakenintoaccount
Performanceandconstraints
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 21
Whe
elSpe
eds,[r
ad/s]
15
10
5
0
20
9630 12
Engine
Tor
queCo
mman
d,[N
m]
150
100
50
0
200
Time,[s]9630 12
Contro
llerR
egion 25
20
15
10
5
0
30
(250msdelayfromcommandedtoactualenginetorqueinitialoverspin)
controller istriggered ON
average driven wheel speed
target speed
average non-driven wheel speed
Experimentalresults
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 22
•504regions•20mssamplingtime•Pentium266Mhz+Labview
2000FordFocus2.0l4‐cylengine5‐speedmanualtransmission
indooricearena(µ¼0.2)
Experiments
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 23
HybridControlofaDISCEngine
(N.Giorgetti,G.Ripaccioli,Bemporad,I.KolmanovskyandD.Hrovat)
(Photo:CourtesyMitsubishi)
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 24
Objective:DevelopacontrollerforaDirect‐InjectionStratifiedCharge(DISC)enginethat:
•Automaticallychoosesoperatingmode(homogeneous/stratified)
•Cancopewithnonlineardynamics
•Handlesconstraints(onA/Fratio,air‐flow,spark)
•Achievesoptimalperformance(trackingofdesiredtorqueandA/Fratio)
Homogeneous Stratified
DISCenginecontrolproblem
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 25
Twodistinctregimes:
Periodicalcleaningoftheaftertreatmentsystemneeded(λ=14.00,homogeneousregime)
normal purge
•Modeisswitchedbychangingfuelinjectiontiming(late/early)
•Betterfueleconomyduringstratifiedmode
Regime fuelinjection air‐to‐fuelratio
Homogeneouscombustion
intakestroke λ=14.64
Stratifiedcombustion
compressionstroke
λ>14.64
thestratifiedoperationcanonlybesustainedinarestrictedpartoftheengineoperatingrange
DISCengine
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 26
Constraintson:
Air‐to‐fuelratio(duetoengineroughness,misfiring,smokeemiss.)
Sparktiming(toavoidexcessiveengineroughness)
Massflowrateonintakemanifold(constraintsonthrottle)
• Dynamicequationsarenonlinear• Dynamicsandconstraintsdependonregimeρ
‐States:intakemanifoldpressure(pm)‐Outputs:Air‐to‐fuelratio(λ),torque(τ), max‐brake‐torquesparktiming(δmbt)
‐Continuousinputs:sparkadvance(δ),air flow(Wth),fuelflow(Wf)
‐Binaryinput:sparkcombustionregime(ρ)
‐Disturbance:enginespeed(ω)[measured]
DISCengine
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 27
NonlinearmodeloftheenginedevelopedandvalidatedatFord
with
whereθa,θb,δmbtarefunctionsofλ,δandρ
•Intakemanifoldpressure:
•In‐cylinderAir‐to‐Fuelratio:
•Enginetorque:
✓Goodforsimulation
✖Notsuitableforoptimization‐basedcontrollersynthesis
Assumptions:‐noEGR(exhaustgasrecirculation)rate,‐enginespeed=2000rpm.
functionsofpm
(Kolmanovsky,Sun,…)
DISCdynamics
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 28
DYNAMICS(intakepressure,air‐to‐fuelratio,torque):
CONSTRAINTSon:
•Definitionoftwooperatingpoints;•Linearizationofnonlineardynamics;•Timediscretizationofthelinearmodels.
•Air‐to‐FuelRatio:λmin(ρ)·λ(t)· λmax(ρ);
•Massofairthroughthethrottle:0·Wth·K;
•Sparktiming:0· δ(t)· δmbt(λ,ρ)
ρ‐dependentdynamic
equations
ρ−dependentconstraints
Hybridsystemwith2modes(switchingaffinesystem)
HybridizationofDISCmodel
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 29
IntegralAction
Integratorsontorqueerrorandair‐to‐fuelratioerrorareaddedtoobtainzerooffsetsinsteady‐state:
Simulationbasedonnonlinearmodelconfirmszerooffsetsinsteady‐state
(despitethemodelmismatch)
braketorqueandair‐to‐fuelreferences
=samplingtime
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 30
where:
and:
N =controlhorizon
x(t)=currentstate
Referencevaluesareautomaticallygeneratedfromτrefandλrefbynumericalcomputationsbasedonthenonlinearmodel
MPCofDISCengine
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 31
DISCEngine‐HYSDELList
SYSTEM hysdisc{ INTERFACE{ STATE{ REAL pm [1, 101.325]; REAL xtau [-1e3, 1e3]; REAL xlam [-1e3, 1e3]; REAL taud [0, 100]; REAL lamd [10, 60]; } OUTPUT{ REAL lambda, tau, ddelta; } INPUT{ REAL Wth [0,38.5218]; REAL Wf [0, 2]; REAL delta [0, 40]; BOOL rho; } PARAMETER{ REAL Ts, pm1, pm2; … } } IMPLEMENTATION{ AUX{ REAL lam,taul,dmbtl,lmin,lmax; } DA{ lam={IF rho THEN l11*pm+l12*Wth... +l13*Wf+l14*delta+l1c ELSE l01*pm+l02*Wth+l03*Wf... +l04*delta+l0c };
taul={IF rho THEN tau11*pm+... tau12*Wth+tau13*Wf+tau14*delta+tau1c ELSE tau01*pm+tau02*Wth... +tau03*Wf+tau04*delta+tau0c };
dmbtl ={IF rho THEN dmbt11*pm+dmbt12*Wth... +dmbt13*Wf+dmbt14*delta+dmbt1c+7 ELSE dmbt01*pm+dmbt02*Wth... +dmbt03*Wf+dmbt04*delta+dmbt0c-1};
lmin ={IF rho THEN 13 ELSE 19}; lmax ={IF rho THEN 21 ELSE 38}; } CONTINUOUS{ pm=pm1*pm+pm2*Wth; xtau=xtau+Ts*(taud-taul); xlam=xlam+Ts*(lamd-lam); taud=taud; lamd=lamd; } OUTPUT{ lambda=lam-lamd; tau=taul-taud; ddelta=dmbtl-delta; } MUST{ lmin-lam <=0; lam-lmax <=0; delta-dmbtl <=0; } }}
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 32
pm
t
l
Wth
Wf d
r
MPC
Weights:
SolveMIQPproblem(mixed‐integerquadraticprogram)tocomputeu(t)
(prevents unneeded chattering)
main emphasis on torque
qτ qλ
rρ
sετ sελ
MPC‐Torquecontrolmode
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 33
[Nm]
Time (s)
Air‐to‐FuelRatioEngineBrakeTorque
Combustionmode
•ControlhorizonN=1;
•SamplingtimeTs=10ms;
•PCXeon2.8GHz+Cplex9.1
¼ 3mspertimestep
14(PurgeLeanNOxTrap)
ω = 2000rpm
SimulationResults(nominalenginespeed)
homogeneous
stratified
Time (s)
Time (s)
Time (s)
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 34
[Nm]
Air‐to‐FuelRatioEngineBrakeTorque
Enginespeed
HybridMPCdesignisquiterobustwithrespecttoenginespeedvariations
20ssegmentoftheEuropeandrivecycle(NEDC)
SimulationResults(varyingenginespeed)
Time (s)
Time (s) Time (s)
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 35
[Nm]
Time (s)
Air‐to‐FuelRatio
Time (s)
EngineBrakeTorque
Time (s)
Enginespeed
HybridMPCdesignisquiterobustwithrespecttoenginespeedvariations
20ssegmentoftheEuropeandrivecycle(NEDC)
Controlcodetoocomplex
(MILP)!notimplementable!
SimulationResults(varyingenginespeed)rpm
[Nm]
Time (s)
Time (s)Time (s)
4Nm
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 36
ExplicitMPCController
N=1(controlhorizon)
42partitions
•TimetocomputeexplicitMPC:¼3s;
•SamplingtimeTs=10ms;
•PCXeon2.8GHz+Cplex9.1
! 8µspertimestep
Explicitcontrollaw:
where:
Cross‐sectionbytheτref‐λrefplane
ρ=0
ρ=1
¼ 3msonµ−controllerMotorolaMPC55543kbRAM(custommadeforFord)
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 37
ExplicitMPCController(N=2)
N=2(controlhorizon)
747partitions
Explicitcontrollaw:
where:
EngineBrakeTorque Air‐to‐FuelRatio
Closed‐loopN=1 Adequate!Closed‐loopN=2
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 38
ExplicitHybridMPCofSemiactiveSuspensions
(jointworkwithN.Giorgetti,H.E.Tseng,D.Hrovat)
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 39
QuestofOptimalSemi‐ActiveSuspensions
ClippedOptimal
tiredeflection
suspensiondeflection
Cmax
Cmin
C=f(x)/(x4‐x2),wheref(x)istheoptimalactivesuspensionforce
C=sat[f(x)/(x4‐x2)]
x4sprungmassvelocity
x2unsprungmassvelocity
Optimal =?
ForSemi‐ActivewithVariableDamping,f(x)=C*(x4‐x2)
Ms=suspendedmassMus=unsprungmass
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 40
QuestofOptimalSemi‐ActiveSuspensions
Showedexistencebyposingastwopointboundaryproblem,Hrovat,Margolis,andHubbard,1988.
ShowedtheoptimalsolutioncanbesolvedfromthreeRiccatiEquations(statedependentswitching),ButsuenandHedrick,1989.
Showedtheoptimalsolution(ofunsaturatedcomponent)maintainsa‘linear’(varyinggain)feedbackform,TsengandHedrick,1994.
ShowedClippedOptimalcannotbetheoptimalthroughacounterexample,TsengandHedrick,1994.
DoesClosedLoopFormOptimalSolutionExist?
N.Giorgetti,A.Bemporad,H.E.Tseng,andD.Hrovat,“Hybridmodelpredictivecontrolapplicationtowardsoptimalsemi‐activesuspension,”InternationalJournalofControl,vol.79,no.5,pp.521–533,2006.
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 41
Sub‐OptimalSASuspensions
SteepestGradient(SGM):
“Improvetheactionofapassivesuspension”
SGM16%betterthanclipped‐LQR
Shocktestofinitialcondition
Clipped‐LQRisatleast16%fromthetrueoptimal
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 42
HybridModel
SemiactiveSuspensions
Quarter‐carmodel
1)Passivitycondition:
(1),(2)arenonlinear&nonconvexphysicalconstraints
x4‐x2
f
ok
ok
linearmodel
no
no
Constraints:
2)Maxdissipationpower:
3)Saturation:
tiredeflection
suspensiondeflection
-
J =!
(qx1x21 + qx3x
23 + x2
4)dt
=!
(x!Qx + x24)dt
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 43
Model
•Output:
•State‐spacemodel
•Time‐discretization:
•Cost:
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 44
Constraints1)Passivitycondition:
x4‐x2
fok
ok
no
no
2)Maxdissipationpower:
3)Saturation:
-
where
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 45
HYSDELModel/* Semiactive suspension system (C) 2003-2005 by A.Bemporad, D.Hrovat, E.Tseng, N.Giorgetti*/
SYSTEM suspension { INTERFACE { STATE { REAL x1 [-0.05,0.05]; REAL x2 [-5,5]; REAL x3 [-0.2,0.2]; REAL x4 [-2,2]; } INPUT{ REAL u [-10,10]; /* m/s^2 */ } OUTPUT { REAL y; } PARAMETER { REAL A1dot,A2dot,A3dot,A4dot,B4dot,ws; REAL A11,A12,A13,A14,B1,A21,A22,A23,A24,B2; REAL A31,A32,A33,A34,B3,A41,A42,A43,A44,B4; }}
IMPLEMENTATION { AUX { BOOL sign; BOOL usign; REAL F; } AD { sign = x4-x2<=0; usign = u<=0; } DA { F={ IF sign THEN u-(2*25.5*ws)*(x4-x2) ELSE -u+(2*25.5*ws)*(x4-x2)}; } OUTPUT { y=A1dot*x1+A2dot*x2+A3dot*x3 +A4dot*x4+B4dot*u; } CONTINUOUS { x1 = A11*x1+A12*x2+A13*x3+A14*x4+B1*u; x2 = A21*x1+A22*x2+A23*x3+A24*x4+B2*u; x3 = A31*x1+A32*x2+A33*x3+A34*x4+B3*u; x4 = A41*x1+A42*x2+A43*x3+A44*x4+B4*u; } MUST { sign -> usign; ~sign -> ~usign; F>=0; } } }
>>S=mld('semiact3',Ts)
>>[X,T,D,Z,Y]=sim(S,x0,U);
gettheMLDmodelinMatlab
simulatetheMLDmodel
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 46
HybridPWAModel•PWAmodel
•4continuousstates
•1continuousinput
•2polyhedralregions
>>P=pwa(S);
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 47
SimulationinSimulink
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 48
•Apply(firstoptimalcontrolmove)anddiscardtheremainingoptimalinputs);
•Attimetsolvewithrespecttothefinite‐horizonopen‐loop,optimalcontrolproblem:
Predictedoutputs
Manipulated
y(t+k|t)
Inputs
t t+1 t+T
futurepast
u(t+k)
•Repeatthewholeoptimizationattimet+1
ModelPredictive(MPC)Control
ControlStrategy:MPC
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 49
PerformanceSpecs
tire deflession
suspension deflession
vertical acceleration
terminal weight(Riccati matrix)
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 50
HybridMPC‐Example
>>[XX,UU,DD,ZZ,TT]=sim(C,S,r,x0,Tstop);
>>C=hybcon(S,Q,N,limits,refs);
>>refs.y=1; % weights output #1>>Q.y=Ts*rx4d;% output weight…>>Q.norm=2; % quadratic costs>>N=1; % optimization horizon>>limits.umin=umin;>>limits.umax=umax;
>> C
Hybrid controller based on MLD model S <semiact3.hys> [2-norm]
4 state measurement(s) 1 output reference(s) 1 input reference(s) 4 state reference(s) 0 reference(s) on auxiliary continuous z-variables 4 optimization variable(s) (2 continuous, 2 binary) 13 mixed-integer linear inequalitiessampling time = 0.01, MIQP solver = 'cplex' Type "struct(C)" for more details.>>
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 51
Closed‐loopMPCinSimulink
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 52
ExplicitHybridMPC
>>E=expcon(C,range,options);
>> E
Explicit controller (based on hybrid controller C) 4 parameter(s) 1 input(s) 8 partition(s)sampling time = 0.01 The controller is for hybrid systems (tracking)[2-norm]
This is a state-feedback controller. Type "struct(E)" for more details.>>
Sectioninthe(x3,x4)‐spaceforx1=x2=0
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 53
ExplicitHybridMPC
GeneratedC‐code
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 54
QuestofOptimalSemi‐ActiveSuspensions
/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 55
PerformanceIndex
N=1,SameCostValue!
•Simulationswithroadnoise.
•Initialconditionx(0)=[0000]’
•SimulationtimeT=20s,samplingtimeTs=10ms
Explicitsolution(N=1,x1=x2=0):
•HorizonN=1:sameasClipped‐LQR!
•ForincreasingN:betterclosed‐loopperformance
SimulationResults