Adaptive cruise controller design: a comparative assessment for PWA systems Hybrid control problems for vehicle dynamics and engine control. Cagliari, PhD Course on discrete event and hybrid systems Daniele Corona May 16, 2007 1
Outline Introduction Model & problem description Algorithms & methodologies Comparison features Implementation & Results Conclusions May 16, 2007 2
Introduction ACC benchmark setup Hybrid Systems framework PWA systems: internally forced switchings MPC- and PI-based controllers Comparison of performances computation numerical physical robustness May 16, 2007 3
Outline Introduction Model & problem description Algorithms & methodologies Comparison features Implementation & Results Conclusions May 16, 2007 4
Cruise controller Regulate to a desired speed Disconnection when brake pedal is hit No concerns on collision avoidance May 16, 2007 5
ACC set up: adaptive cruise controller ements Comfort Driving Road safety Goals of the ACC Reduce emissions Reduce mechanical stress Reduce traffic jam May 16, 2007 6
ACC set up: adaptive cruise controller replacements Platoon of 2 communicating vehicles Sensor communication follower leader d safe Security distance x 1 η 1 distance and speed adaptation physical/safety constraints May 16, 2007 7
Model of the vehicle Continuous time DE, mixed integer nonlinear m s(t) + (cṡ 2 (t) + µ mg)sgn(ṡ(t)) = b(j, ṡ)u(t) Gear shift model traction force and road load (N) 5000 4000 3000 2000 1000 LOAD GEAR I GEAR II GEAR III GEAR IV GEAR V GEAR VI May 16, 2007 8 0 0 10 20 30 40 50 60 ground velocity m/s
Model of the vehicle b(j, ṡ) = T e(w)p(j) R ṡ = wr p(j) Gear Transmission Traction force Min. vel. Max. vel. j rate p(j) b(j) (N) (m/s) (m/s) I 14.203 4057 3.94 9.46 II 10.310 2945 5.43 13.04 III 7.407 2116 7.56 18.15 IV 5.625 1607 9.96 23.90 V 4.083 1166 13.70 32.93 VI 2.933 838 19.10 45.84 May 16, 2007 9
Model of the vehicle Numerical values Parameter Description Numerical value Unit m Mass of vehicle 800 kg R Average wheel radius 0.28 m c Viscous coefficient 0.5 kg/m µ Coulomb friction coefficient (dry asphalt) 0.01 g Gravity acceleration 9.8 m/s 2 w min Minimum engine rotational speed 105 rad/s w max Maximum engine rotational speed 630 rad/s State space representation x [s, ṡ] T = [x 1, x 2 ] T ẋ = f(x) + B(j, x)u May 16, 2007 10
Constraints: state Position Velocity Acceleration 0 x 1 (t) η 1 (t) + d safe Collision avoidance v min (j) x 2 (t) v max (j) Safety and mechanical stress a dec,comf ẋ 2 (t) a acc,comf Safety and comfort related, reduced emissions May 16, 2007 11
Constraints: control Throttle position u min u(t) u max Gear shift pos. Normalized throttle position 1 j(t) 6 Physical constraint Increment gear shift pos. j(t + ) j(t) 1 Mechanical stress, reduced emissions May 16, 2007 12
Constraints: numerical values Parameter Description Numerical value Unit x 1,min Minimum position 0 m x 1,max Maximum position 3000 m x 2,min Minimum velocity 2.0 m/s x 2,max Maximum velocity 40.0 m/s d safe Security pos. overshoot 10.0 m a acc Comfort acceleration 2.5 m/s 2 a dec Comfort deceleration 2.0 m/s 2 u max Maximum throttle/brake 1 May 16, 2007 13
Problem: scenario Track front vehicle position and velocity η [η 1, η 2 ] T Nominal scenario: horizontal drive, low traffic density, constant velocity 2000 Reference Trajectories Position (m) 1500 1000 500 0 0 10 20 30 40 50 60 70 Time (s) 16 Velocity (m/s) 15.5 15 14.5 May 16, 2007 14 14 0 10 20 30 40 50 60 70 Time (s)
Problem: objectives and indicators Reduce tracking error ε(t) x(t) η(t) Reduce variation of control input u(t) u(t + ) u(t) Reduction of gear usage j(t) j(t + ) j(t) May 16, 2007 15
Problem: performance Definition of a performance Performance index (discrete time formulation) J(θ(k), ũ cl, j cl ) k Q x ε(k) 1 + Q u u(k) 1 + Q j j(k) 1 Control problem: Minimize J over the hybrid control input ũ cl, j cl, Within the given constraints, Under the given scenario and initial conditions θ(k) May 16, 2007 16
Problem: controller set-up lacements u(k), j(k) x(k) Controller Model Disturbances Ω(k) η(k) Reference May 16, 2007 17
MPC: an overview MPC: Model Predictive Control Richalet et al. and Cutler & Ramaker 1970 Multivariable process control = Technology with well defined operating constraints MPC met successful attention: 1. Flexible to handle diverse processes, including non-minimum phase, unstable, delayed, slow and fast 2. Easy to tune: few parameters govern the optimization 3. MPC systematically handles constraints arising from physical limitation and design specifications 4. MPC handles structural changes, sensor failures, parameters, etc., via sample-based readaptation May 16, 2007 18
MPC: an overview May 16, 2007 19 MPC: Model Predictive Control MPC is industrially preferred in multivariable processes to traditional controller H, PID, LQ H, LQ, apply to unconstrained MIMO system PID apply to SISO system unconstrained, tuning issues Cons of MPC: Detailed reliable model of the process Enormous variety of paradigms Stability and robustness conditions: difficult to derive Strictly a discrete-time
MPC: an overview MPC: Model Predictive Control All MPC-based techniques require 5 ingredients 1. Process and disturbance model 2. Performance/Objective 3. Constraints 4. Optimization 5. Receding horizon principle May 16, 2007 20
MPC: an overview 1: Process and disturbance model Prediction of the output signal over a pre-specified model x k+1 = Ax k + Bv k + Dw k + Ee k y k = Cx k + D 1 w k + E 1 e k e, w: noise and known disturbances {A, B, D, E, C, D 1, E 1 }: PREDICTION MODEL Approximation of the process Build the sequence y k+1, y k+2,..., y k+n at TIME k May 16, 2007 21
MPC: an overview Cost criterion: 2: Performance/Objective J(θ(k), ũ) = N j=1 ẑ T k+jγ(j)ẑ k+j N: Prediction horizon, N c : Control horizon, Γ(j): Selection matrix, θ: initial and past conditions GPC: ẑ is reference error & input variation u LQPC: ẑ is Qx & Ru. May 16, 2007 22
MPC: an overview 3: Constraints General concept: push the system as close as possible to limit without violation Feasible Set Inequality constraints k: State/Output constraints: x m x(k) x M, y m y(k) y M Input constraints k: u m u(k) u M Equality constraints (examples): Control horizon: u(k + j) = 0 j N c Stability condition/ End target: x(k + N) = x f May 16, 2007 23
MPC: an overview MPC problem: minimize 4: Optimization J(θ(k), ũ) = N ẑk+jγ(j)ẑ T k+j j=1 over decision variable u and subject to Model x k+1 = Ax k + Bv k + Dw k + Ee k y k = Cx k + D 1 w k + E 1 e k and Constraints Linear model and constraints convex QP problem (Polynomial) Norm 1 or : convex LP problem (Polynomial) May 16, 2007 24
MPC: an overview 5: Receding Horizon principle 1. At step k: Compute optimal control sequence ũ = [u 1, u 2,..., u N ] 2. Plug into the process u 1 3. Set k k + 1 and update θ(k) θ(k + 1) 4. Go to 1 past future setpoint r predicted outputs y computed control inputs u k k+1 k+ N c k+ N p control horizon prediction horizon May 16, 2007 25
MPC: an overview Brief discussion 1. Online procedure: time sample issue 2. Model mismatch: robustness 3. Stability 1. Offline version (Bemporad, TAC Dec. 2002) 2. Robustness (Morari, CPC III, Elsevier, 1986) 3. Stability (Mosca, Prentice Hall, 1995) May 16, 2007 26
MPC: an overview Offline version MPC optimization online QP(LP) problem J(θ) = min u u T Hu s.t. Cu W + Sθ where θ Θ explicit solution (Bemporad, Automatica 38, 2002) u (θ) = F i θ + G i θ Ω i, where Ω i is a polyhedral partition of Θ May 16, 2007 27
MPC: an overview Offline version Solution Ω i, F i, G i is stored in a look-up table Pros: Online computation reduces to browse this table and compute u (θ) = F i θ + G i, measured current θ Cons: inaccurate, untractable for its size (number of regions), not robust to model variations May 16, 2007 28
PWA systems Definition A PWA system is commonly defined as x k+1 = A i x k + B i u k + f i y k = C i x k + D i u k + g i x k R n, u k R m, with Ω i {(x k, u k ) : H i x k + K i u k L i }, i = 1,..., N < and Ω 1, Ω 2,..., Ω N is a Convex Polyhedral Partition of Υ R n+m N Convex Polyhedral Partition: Ω i Υ, AND Ω i Ω j May 16, 2007 29 i=1
PWA systems Motivation Approximation of nonlinear functions Model of plants with mixed integer behavior PSfrag replacements x Υ Ω 1 Ω 3 Ω 2 May 16, 2007 30 u
MPC-PWA MPC applied to PWA systems If prediction model is PWA Mixed integer program 1. Brute force: integer enumeration 2. B&B (Branch and Bound) search 3. Appropriate PWA MLD transformation May 16, 2007 31
PWA to MLD Convert (equivalence) P W A MLD May 16, 2007 32
PWA to MLD Convert (equivalence) P W A MLD MLD state equation x(k + 1) = Ax(k) + Bv(k) + F v(k) = [u c (k), u d (k)] Mixed integer control variable May 16, 2007 32
PWA to MLD Solve a MILP at each time step k J (θ(k)) = min c ṽ ṽ s.t. Lṽ G E 0 θ(k) May 16, 2007 33
Outline Introduction Model & problem description Algorithms & methodologies Comparison features Implementation & Results Conclusions May 16, 2007 34
Algorithms & methodologies: group 1 Nonlinear approaches PSfrag replacements Online hybrid nonlinear MPC: Prediction model cv 2 max x k+1 = f(x k ) + B(j)u k Offline optimally tuned PI: coefficients V (x 2 ) k P = k P (x, ε), k I = k I (x, ε) 0 v min x 2 v max k P, k I cements 0 x 1, x 2, ε 1, ε 2 May 16, 2007 35
Algorithms & methodologies: group 2 PSfrag replacements Piecewise Affine approaches Online MPC based on MLD cv 2 max Offline MPC based on MLD Online MPC linear approx. with α β gears V (x 2 ) Online MPC tangent approx. with gears 0 v min x 2 v max May 16, 2007 36
PSfrag replacements Algorithms & methodologies: group 3 Linear MPC approaches Online tangent approx. with averaged traction force Offline gain scheduled cv 2 max v max x 2 cv 2 max cv 2 max cements m 5 m 6 m 3 m 4 0 x 2 v min v max 0 m 2 m 1 v min v max x 2 May 16, 2007 37
Algorithms & methodologies Summary of methods: 1. Hybrid nonlinear MPC: NMPC 2. PWA-MPC: MLD-on 3. PWA-MPC offline: MLD-off 4. PWA-MPC linear approximation: GLA 5. PWA-MPC tangent approximation: GTA 6. Lin. MPC online: BTA 7. Lin. gain-scheduled MPC: BGS 8. Proportional-Integral action: PI May 16, 2007 38
Algorithms & methodologies Problem class, On/Offline, Complexity: Method Program class Online Complexity Hybrid nonlinear MPC: NMPC MINLP Y NP-H PWA-MPC: MLD-on MILP Y NP-H PWA-MPC offline: MLD-off mpmilp N NP-H PWA-MPC linear approximation: GLA MILP Y NP-H PWA-MPC tangent approximation: GTA MILP Y NP-H Lin. MPC online: BTA LP Y P Lin. gain-scheduled MPC: BGS mplp N NP-H Proportional-Integral action: PI NLP N NP May 16, 2007 39
Outline Introduction Model & problem description Algorithms & methodologies Comparison features Implementation & Results Conclusions May 16, 2007 40
Comparison features Four groups of comparison features for the considered ACCs Computational Programming Physical solution Effect of disturbances May 16, 2007 41
Outline Introduction Model & problem description Algorithms & methodologies Comparison features Implementation & Results Conclusions May 16, 2007 42
Approximations Traction force Function b(j, x 2 ) b(j), {b(1),..., b(6)}. 6 ( Compute (β 0, β 1 ) arg min b(j) (β0 + jβ 1 ) ) 2 β 0,β 1 j=1 b(j) b j β 0 + jβ 1 Traction Force (N) 4500 4000 3500 3000 2500 2000 1500 Exact values Lin. appr. traction force and road load (N) 5000 4000 3000 2000 LOAD GEAR I GEAR II GEAR III GEAR IV GEAR V GEAR VI 1000 1000 500 1 2 3 4 5 6 Gear 0 0 10 20 30 40 50 60 ground velocity m/s May 16, 2007 43
Approximations Gear encoding in binary vars Three binary variables δ i {0, 1} 3 j = 1 + 2 i 1 δ i i=1 b j u = (β 0 + β 1 )u + β 1 δ 1 u + 2β 1 δ 2 u + 4β 1 δ 3 u May 16, 2007 44 Gear j I II III IV V VI δ 1 0 1 0 1 0 1 δ 2 0 0 1 1 0 0 δ 3 0 0 0 0 1 1
Approximations Gear shifting Value of the current velocity: v L (j) ṡ v H (j) Multiple options for the same speed More integer variables Linear approximation v 0 + v 1 j ṡ v 0 + v 1 (j + 1) based on 6X (v 0, v 1 ) arg min γ L `vl (j) (v 0 +jv 1 ) 2 +γh v 0,v 1 j=1 6X `vh (j) (v 0 +(j +1)v 1 ) 2 j=1 50 45 40 Low exact High exact High appr. Low appr. 35 Shift speed (m/s) 30 25 20 15 10 5 0 1 2 3 4 5 6 Gear May 16, 2007 45
Details NMPC Prediction Model Simulation Model x(k + 1) = x(k) + f(x(k))t + B j T u(k) (B j ) 2 (β 0 + β 1 ) + β 1 δ 1 + 2β 1 δ 2 + 4β 1 δ 3 The MPC Problem becomes J (θ(k)) = min ỹ f(ỹ) s.t. g(ỹ) E θ θ(k) ỹ: control and dummy variables g, E θ : feasible region θ: parameters (initial conditions and future reference) Complexity: non-convex constraints, integer variables Solver: MINLP B&B Fletcher and Leyffer, 1994 May 16, 2007 46
Details MLD Prediction Model PWA system PSfrag replacements A 1 x(k) + F 1 + B j u(k) if x 2 (k) < α x(k + 1) = A 2 x(k) + F 2 + B j u(k) if x 2 (k) α, cv 2 max 0 v max J (θ(k)) = min c ỹ s.t. Eỹ G + E θ θ(k) ỹ ỹ: MI variable, E, G, E θ : operational and MLD constraints ṡ May 16, 2007 47
Details PI Industrial realization of ACC Desired acceleration Proportional Integral action a d (k) = k I ε 1 (k) + k P ε 2 (k) ε(k) = x(k) η(k): tracking error k P = k P (x, ε) and k I = k I (x, ε) Throttle, gear and braking: achieve a d (k) (Model based) k P (x, ε) = K 1 (x 2 ) K 2 (ε 1 ) K 1 (x 2 ) = a 1 + b 1 e σ 1(x 2 (k)) K 2 (ε 1 ) = a 2 + b 2 e σ 2(ε 1 (k)) K 3 (x 2 ) = a 3 + b 3 e σ 3(x 2 (k)) May 16, 2007 48 k I (x, ε) = K 3 (x 2 ) a i, b i, σ i, i = 1, 2, 3: Optimal for the NOMINAL scenario
Implementation data Description Tracking error weight matrix Q x Numerical value 2 3 4 1 0 5 0 0.1 Input variation weight matrix Q u 0.1 Gear-shift variation weight matrix Q j 0.01 Prediction horizon N p 2 Control horizon N c 2 Sampling time T Simulation time 1 s 75 s Throttle initial position 0 Initial gear State initial condition Leading vehicle speed I [0, 5] T 15 m/s May 16, 2007 49
Results: computational features Computational time Method Max online time (s) Avg online time (s) Offline time (s) NMPC 0.52 0.33 0.035 MLD-on 0.0521 0.0478 0.057 MLD-off 0.0074 0.0052 3480 GLA 0.051 0.042 0.053 GTA 0.052 0.042 0.042 BTA 0.036 0.035 0.051 BGS 0.00048 0.00007 630.52 PI 0.00019 0.00013 2.11 10 4 May 16, 2007 50
Results: computational features On line time consumption for the NMPC method 1.2 1 Computation time (s) 0.8 0.6 0.4 0.2 0 0 10 20 30 40 50 60 70 80 Simulation time k May 16, 2007 51
Results: computational features Memory usage and tractable prediction horizon N p Method Online memory (Mb) Offline memory (Mb) Max. tractable N p NMPC 0.33+opt. 0.05 2 MLD-on 0.46+opt. 0.09 10 MLD-off 16.6 0.46+opt. 3 GLA 0.36+opt. 0.06 29 GTA 0.36+opt. 0.05 31 BTA 0.22+opt. 0.004 >70 BGS 4.09 0.08+opt. 5 PI 0 0 May 16, 2007 52
Results: solution features Cost, acceleration and input variation Method Cost Max/Min acc. (m/s 2 ) Max/Min u NMPC 132.65 2.34/1.86 1.16/1.53 MLD-on 120.97 2.46/1.79 0.73/1.06 MLD-off 116.56 2.46/1.79 1.18/1.12 GLA 138.35 2.42/1.83 0.78/1.24 GTA 142.65 2.39/1.86 1.16/1.53 BTA 60.68 3.5/1.39 1.01/1.01 BGS 73.62 3.5/1.35 0.99/1.07 PI 104.91 4.93/2.89 1.52/2.00 May 16, 2007 53
Results: solution features Output trajectory overshoots and transient duration Method Pos. (m) Vel. (m/s) 5% Transient (s) # gear-sw. NMPC 6.58 6.4 16 6 MLD-on 5.08 5.98 15 6 MLD-off 4.18 5.8 15 4 GLA 7.68 6.49 17 6 GTA 7.56 6.7 17 6 BTA 5.84 3.22 6 2 BGS 5.89 3.3 6 2 PI 0.5 6.24 10 4 May 16, 2007 54
Results: solution features Output and control input obtained for the NMPC method (a) 10 (b) 10 3 Position error (m) 5 0 5 10 15 20 0 20 40 60 Simulation time k Velocity error (m/s) 5 0 5 10 0 20 40 60 Simulation time k Acceleration (m/s 2 ) 2 1 0 1 2 20 40 60 Simulation time k (c) 1 6 Control input 0.5 0 0.5 1 0 20 40 Simulation time k 60 Gear evolution 5 4 3 2 1 0 5 10 15 20 Simulation time k 25 30 May 16, 2007 55
Results: solution features Output and control input obtained for the BTA method 8 6 4 6 4 3 Position error (m) 4 2 0 Velocity error (m/s) 2 0 2 Acceleration (m/s 2 ) 2 1 0 1 2 20 40 60 Simulation time k 4 10 20 30 40 50 60 70 Simulation time k 2 20 40 60 Simulation time k 1 6 0.5 5 Control input 0 Gear evolution 4 3 0.5 2 1 10 20 30 40 50 60 70 Simulation time k 1 10 20 30 40 50 60 70 Simulation time k May 16, 2007 56
Results: solution features Output and control input obtained for the PI method 10 10 Position error (m) 0 10 20 30 20 40 60 Simulation time k Velocity error (m/s) 5 0 5 10 20 40 60 Simulation time k Acceleration (m/s 2 ) 4 2 0 2 20 40 60 Simulation time k 1 6 Control input 0.5 0 0.5 Gear evolution 5 4 3 2 1 20 40 60 Simulation time k 1 20 40 60 Simulation time k May 16, 2007 57
Results: disturbances Two types of disturbances Ω(k): PSfrag 1. replacements Due to measurement error (1 meter on positioning and 0.1 m/s on velocity) 2. Due to model variation (different road conditions, load) u(k), j(k) x(k) Controller Model Disturbances Ω(k) η(k) Reference May 16, 2007 58
Results: disturbances Measurement error Ω(k): 1 Position error (m) 0.5 0 0.5 1 10 20 30 40 50 60 70 Simulation time k 0.1 Velocity error (m/s) 0.05 0 0.05 0.1 10 20 30 40 50 60 70 Simulation time k May 16, 2007 59
Results: disturbances Effect of violations due to model mismatch and the two types of disturbances Method violations violations (dist.) violations (mdl. var.) gear-sw. (dist.) NMPC 0 0 0 6 MLD-on 0 2 0 6 MLD-off 0 2 2 4 GLA 0 1 0 28 GTA 0 0 0 6 BTA 3 3 3 2 BGS 3 3 4 2 PI 6 27 6 38 May 16, 2007 60
Results: disturbances PI method with disturbances Position error (m) 10 0 10 20 30 20 40 60 Simulation time k Velocity error (m/s) 10 5 0 5 10 20 40 60 Simulation time k Acceleration (m/s 2 ) 4 2 0 2 20 40 60 Simulation time k Control input 1 0.5 0 0.5 1 20 40 60 Simulation time k Gear evolution 6 5 4 3 2 1 0 20 40 60 80 Simulation time k May 16, 2007 61
Results: summary High model degree of approximation: high performance vs. high complexity Offline: fast and flexible, exposed to model variation, robust against different scenarios Offline: reliable on real time (no complex processes), lower economical impact (no optimizer on board) Violations: PI very high performance but unreliable on constraints, potential instability on the discrete dynamics May 16, 2007 62
Outline Introduction Model & problem description Algorithms & methodologies Comparison features Implementation & Results Conclusions May 16, 2007 63
Conclusion Summary Set up the benchmark Chosen the algorithms Defined the comparison issues Model description, hybrid PWA Algorithms implementation Collection of the results May 16, 2007 64
Conclusion Related works: Theoretical issues: stability on tracking? (CCA 2006) Robust MPC min max performance? (CDC 2006) Related activities: Proving ground of ACC with 4 cars platooning (PI), with TNO Master of Science thesis May 16, 2007 65
Conclusion Future research: Extend the comparison to more general systems Prepare an experimental set-up for field trial simulations Analyze other ad hoc methods, tailored for nonlinear systems Investigate other PWA methods in literature Test on multi-agent framework the platooning ACC w. more than 2 vehicles... May 16, 2007 66