Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009...

55
/55 © 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09 1 Examples of hybrid MPC

Transcript of Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009...

Page 1: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 1

ExamplesofhybridMPC

Page 2: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 2

HybridMPCforcruisecontrol

GOAL:

commandgearratio,gaspedal,andbrakestotrackadesiredspeedandminimizeconsumption

Page 3: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 3

HybridModel•Vehicledynamics

•Transmissionkinematics

discretizedwithsamplingtime

M=enginetorque

ω =enginespeed

i=gear

=vehiclespeed

=brakeforce

=tractionforce

Page 4: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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!)

Page 5: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 5

HybridModel

•Gearselection(tractionforce):

dependsongear#i

defineauxiliarycontinuousvariables:

similarly,alsorequires6auxiliarycontinuousvariables

•Gearselection(engine/vehiclespeed):

•Gearselection: foreachgear#i,

defineabinaryinput

Page 6: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 6

HysdelModel

gotodemo/demos/cruise/init.m

Page 7: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 8: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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)

Page 9: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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)

Page 10: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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)

Page 11: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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)

Page 12: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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)

Page 13: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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)

Page 14: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 14

TractionControlSystem

Page 15: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 15

Controllersuitableforreal‐timeimplementation

Improvedriver'sabilitytocontrolavehicleunderadverseexternalconditions(wetoricyroads)

MLDhybridframework+optimization‐basedcontrolstrategy

Modelnonlinear,uncertain,constraints

VehicleTractionControl

Page 16: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 16

TireForceCharacteristics

Page 17: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 17

•Tiretorqueτtisafunctionof

slipΔω androadsurface

adhesioncoefficientµ

•Mechanicalsystem

•Manifold/fuelingdynamics

Δωwheelslip

(Borrelli,Bemporad,Fodor,Hrovat,2006)

SimpleTractionModel

Page 18: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 19: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 20: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 20

•Controlobjective:

•Constraints:•Limitsontheenginetorque:

•Note:alogicconstraint(hysteresis)maybealsotakenintoaccount

Performanceandconstraints

Page 21: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 22: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 22

•504regions•20mssamplingtime•Pentium266Mhz+Labview

2000FordFocus2.0l4‐cylengine5‐speedmanualtransmission

indooricearena(µ¼0.2)

Experiments

Page 23: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 23

HybridControlofaDISCEngine

(N.Giorgetti,G.Ripaccioli,Bemporad,I.KolmanovskyandD.Hrovat)

(Photo:CourtesyMitsubishi)

Page 24: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 25: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 26: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 27: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 28: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 29: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 29

IntegralAction

Integratorsontorqueerrorandair‐to‐fuelratioerrorareaddedtoobtainzerooffsetsinsteady‐state:

Simulationbasedonnonlinearmodelconfirmszerooffsetsinsteady‐state

(despitethemodelmismatch)

braketorqueandair‐to‐fuelreferences

=samplingtime

Page 30: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 30

where:

and:

N =controlhorizon

x(t)=currentstate

Referencevaluesareautomaticallygeneratedfromτrefandλrefbynumericalcomputationsbasedonthenonlinearmodel

MPCofDISCengine

Page 31: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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; } }}

Page 32: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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λ

sετ sελ

MPC‐Torquecontrolmode

Page 33: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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)

Page 34: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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)

Page 35: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 36: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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)

Page 37: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 38: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 38

ExplicitHybridMPCofSemiactiveSuspensions

(jointworkwithN.Giorgetti,H.E.Tseng,D.Hrovat)

Page 39: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 40: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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.

Page 41: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 41

Sub‐OptimalSASuspensions

SteepestGradient(SGM):

“Improvetheactionofapassivesuspension”

SGM16%betterthanclipped‐LQR

Shocktestofinitialcondition

Clipped‐LQRisatleast16%fromthetrueoptimal

Page 42: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

-

Page 43: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

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:

Page 44: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 44

Constraints1)Passivitycondition:

x4‐x2

fok

ok

no

no

2)Maxdissipationpower:

3)Saturation:

-

where

Page 45: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 46: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 46

HybridPWAModel•PWAmodel

•4continuousstates

•1continuousinput

•2polyhedralregions

>>P=pwa(S);

Page 47: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 47

SimulationinSimulink

Page 48: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 49: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 49

PerformanceSpecs

tire deflession

suspension deflession

vertical acceleration

terminal weight(Riccati matrix)

Page 50: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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.>>

Page 51: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 51

Closed‐loopMPCinSimulink

Page 52: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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

Page 53: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 53

ExplicitHybridMPC

GeneratedC‐code

Page 54: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/55©2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzione‐A.a.2008/09 54

QuestofOptimalSemi‐ActiveSuspensions

Page 55: Examples of hybrid MPCcse.lab.imtlucca.it/~bemporad/teaching/cpsp/slides/2009/5-hybrid... · 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione ‐ A.a. 2008/09

/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