9th IFAC International Symposium on Advances in Automotive 9th IFAC 9th IFAC International International Symposium Symposium on on Advances Advances in in Automotive Automotive Control 9th IFAC International Symposium onAvailable Advancesonline in Automotive Control at www.sciencedirect.com Control Orléans, France, June 23-27, 2019 Control 9th IFAC France, International Orléans, June 23-27, Orléans, France, June Symposium 23-27, 2019 2019 on Advances in Automotive Orléans, France, June 23-27, 2019 Control Orléans, France, June 23-27, 2019
ScienceDirect
IFAC PapersOnLine 52-5 (2019) 471–477
Optimal Optimal Optimal Optimal
Speed Speed and and Gear Gear Shift Shift Control Control Speed and GearTrucks Shift Control Long-haulage Long-haulage Speed and GearTrucks Shift Control Long-haulage Trucks Long-haulage Christofer Sundström ∗,∗∗∗ , Trucks Alexey Voronov ∗∗ , ∗,∗∗∗ , Alexey Voronov ∗ Christofer Sundström ∗,∗∗∗ ,
of of of of
∗∗ ∗∗ ∗ , Christofer Sundström , Alexey Voronov ∗,∗∗∗ , and Adam Lagerberg Olof Lindgärde ∗∗ ∗∗ Christofer Sundström , Alexey Voronov ∗∗ , and Adam ∗∗ , Lagerberg Olof , and Adam Lagerberg Olof Lindgärde Lindgärde ∗,∗∗∗ ∗∗ ∗∗ ∗ , Christofer Sundström , Alexey Voronov Olof Lindgärde , and Adam Lagerberg ∗ ∗∗ ∗∗ RISE Viktoria, Göteborg, Sweden, e-mail:
[email protected], , and Adam Lagerberg Olof Lindgärde ∗ ∗ RISE Viktoria, Göteborg, Sweden, e-mail:
[email protected], Sweden, e-mail:
[email protected], ∗ RISE Viktoria, Göteborg,
[email protected] RISE Viktoria, Göteborg, Sweden, e-mail:
[email protected],
[email protected] [email protected] ∗ ∗∗ ABViktoria, Volvo, Göteborg, Sweden, ∗∗ RISE Göteborg, Sweden,e-mail: e-mail:
[email protected] [email protected],
[email protected] ∗∗ AB Volvo,
[email protected]) Göteborg, Sweden, Sweden, e-mail:
[email protected] Göteborg, e-mail:
[email protected] ∗∗ AB Volvo, AB Volvo, Göteborg, Sweden, e-mail:
[email protected] [email protected] [email protected]) ∗∗∗ ∗∗ Vehicular
[email protected]) Systems, of Electrical Engineering, Linköping ∗∗∗ AB Volvo,
[email protected]) Göteborg,Dept. Sweden, e-mail:
[email protected] ∗∗∗ Vehicular Systems, Dept. of Engineering, Systems, Dept. Linköping, of Electrical ElectricalSweden Engineering, Linköping Linköping ∗∗∗ Vehicular
[email protected]) University, Vehicular Systems, Dept. Linköping, of ElectricalSweden Engineering, Linköping University, Linköping, Sweden University, ∗∗∗ Vehicular Systems, Dept. Linköping, of ElectricalSweden Engineering, Linköping University, University, Linköping, Sweden Abstract: Long haulage trucks consume large amounts of fuel, and fuel savings are desired Long consume large of fuel, are Abstract: Long haulage haulage trucks consumeaspects. large amounts amounts of upcoming fuel, and and fuel fuel savings areis desired desired Abstract: both from economical and trucks environmental When the roadsavings topology known, Long haulage trucks consumeaspects. large amounts of upcoming fuel, and fuel savings areis Abstract: both from economical and environmental aspects. When the upcoming road topology is desired known, both from economical and environmental When the road topology known, the speed and gear shifts can be optimized in order to minimize the fuel consumption by e.g. Long haulage trucks consume large amounts of upcoming fuel, the and fuel fuel savings areis desired Abstract: both from and economical and can environmental aspects. When the roadconsumption topology known, the speed gear shifts be optimized in order to minimize by the speed and gear shifts can be optimized in order to minimize the fuel consumption by e.g. e.g. minimizing thegear braking of can the be truck. Three different optimal control approaches are evaluated both from economical and environmental aspects. When the upcoming road topology is known, the speed and shifts optimized in order to minimize the fuel consumption by e.g. minimizing the braking of the truck. Three different optimal control approaches are evaluated minimizing the for braking of theand truck. Three different optimal control The approaches are evaluated and compared the speed gear shift optimization problem. results are based on the speed and shifts be optimized inoptimization order optimal to minimize theThe fuel results consumption by e.g. minimizing thegear braking of can theand truck. Three different control approaches are evaluated and compared for the speed gear shift problem. are based on and compared for the speed and gear shift optimization problem. The results are based on simulations, but two of the three evaluated solvers are also implemented on-board a truck using and compared for the speed and gear shift optimization problem. The results are based on minimizing the braking of the truck. Threesolvers different optimal control approaches are evaluated simulations, but two of the three evaluated are also implemented on-board a truck using simulations, but two of the three evaluated solvers are also implemented on-board a truck using rapidcompared prototyping tothe investigate the feasibility of such systems. The results indicateare that optimal and for speed and gear shift optimization problem. The results based on simulations, but two of the three evaluated solvers are also implemented on-board a truck using rapid prototyping to investigate investigate thefuel feasibility of such suchmore systems. The resultsthe indicate that optimal rapid prototyping to the feasibility of systems. The results indicate that optimal control of the speed reduces the consumption than finding optimal gear shift simulations, but two of the three evaluated solvers are also implemented on-board a truck using rapid prototyping to investigate the feasibility of such systems. The results indicate that optimal control of the the speed reduces the fuel fuelproblem consumption more than finding the optimal gear state, shift control of reduces the consumption more finding optimal gear shift trajectory. Thespeed overall optimization onethan discrete andthe one continuous control of the speed reduces the consumption than finding the optimal gear shift rapid prototyping to investigate thefuel feasibility ofcontains suchmore systems. The results indicate that optimal trajectory. The overall optimization problem contains one and continuous state, trajectory. The overall optimization problem contains one discrete discrete and one one continuousscheme state, which makes the selection of optimization method complex. A sequential optimization control of the speed reduces the fuel consumption more than finding the optimal gear shift trajectory. The overall optimization problem contains one discrete and one continuous state, which makes the of method complex. A optimization which makes the selection selection of optimization optimization method complex. A sequential sequential optimization scheme where the optimal speedoptimization profile is found using linear programming and theone optimal gearscheme profile trajectory. The overall problem contains one discrete and continuous state, which makes the selection of optimization method complex. A sequential optimization scheme where the optimal speed profile is found using linear programming and the optimal gear profile where theusing optimal speedprogramming profile is found usingsimilar linear results programming and the optimal gear profile is found dynamic shows asAusing dynamic programming for which makes the selection of optimization method sequential where the optimal speedprogramming profile is found using linearcomplex. programming theoptimization optimal gearscheme profile is using dynamic shows similar results as using dynamic programming for is found found using dynamic programming shows similar results assolution usingand dynamic programming for the overall problem simultaneously. One drawback with this is robustness and several where the optimal speed profile is found using linear programming and the optimal gear profile is found using dynamic programming shows similar results as using dynamic programming for the overall problem simultaneously. One drawback with this solution is robustness and several the overall problem simultaneously. One drawback with this solution is robustness and several tuning parameters. The driveability One ofshows thedrawback solutions are found good at the performed on-board the overall problem simultaneously. with this solution is robustness and several is found using dynamic programming similar results as using dynamic programming for tuning parameters. The driveability of the solutions are found good at the performed on-board tuning parameters. The driveability of the solutions are found good at the performed on-board tests. the overall problem simultaneously. One drawback with this solution is robustness and several tuning parameters. The driveability of the solutions are found good at the performed on-board tests. tests. tuning tests. parameters. The driveability of the solutions are found good at the performed on-board © 2019, IFAC (International Federation Automatic Control) Hosting by Elsevier Ltd. All rights reserved. Keywords: intelligent cruise control, oflinear programming, dynamic programming, fuel-optimal tests. Keywords: intelligent cruise control, linear programming, dynamic programming, fuel-optimal Keywords: intelligent cruise control, linear programming, dynamic programming, fuel-optimal control Keywords: intelligent cruise control, linear programming, dynamic programming, fuel-optimal control control control Keywords: intelligent cruise control, linear programming, dynamic programming, fuel-optimal control1. INTRODUCTION et al., 2015; Johannesson et al., 2015; Hadj-Said et al., 2016). 1. INTRODUCTION et et al., 1. et al., al., 2015; 2015; Johannesson Johannesson et al., al., 2015; 2015; Hadj-Said Hadj-Said etnon-linear al., 2016). 2016). However, using convex andet 1. INTRODUCTION INTRODUCTION et al., 2015;when Johannesson et al.,optimization 2015; Hadj-Said etnon-linear al., 2016). However, when using convex optimization and non-linear However, when using convex optimization and programming, gear selection is usually kept in a separate 1. INTRODUCTION et al., 2015;when Johannesson et al.,is 2015; Hadj-Said etnon-linear al., 2016). using convex optimization programming, selection usually in separate The motivation in this work is to minimize the fuel However, programming, gear selection is usually kept keptand in aheuristics separate loop basedwhen on gear e.g. Dynamic Programming or a However, using convex is optimization and non-linear The motivation in work the programming, gear selection usually kept in a separate The motivation in this this work is is to totominimize minimize the fuel fuel loop based on e.g. Dynamic Programming or heuristics consumption to limit the contribution climate change, to loop based e.g. Dynamic Programming or heuristics et on al.,gear 2004; Johannesson et kept al., 2015; Nüesch The motivation in this work is toto the fuel programming, selection isProgramming usually in separate consumption to the contribution climate to loop based on e.g. Dynamic or aheuristics consumption to limit limit theon contribution tominimize climate change, to (Terwen (Terwen et al., 2004; Johannesson et al., 2015; Nüesch reduce our dependency fossil is reserves, and tochange, decrease (Terwen et al., 2004; Johannesson et al., 2015; Nüesch The motivation in this work totominimize the fuel et al., 2014; Elbert et al., 2014). consumption to limit the contribution climate change, to (Terwen et al., 2004; Johannesson et al., 2015; Nüesch loop based on e.g. Dynamic Programming or heuristics reduce our dependency on fossil reserves, and to decrease reduce our dependency on fossil reserves, and toisdecrease et operational costs. The application considered a longet al., al., 2014; 2014; Elbert Elbert et et al., al., 2014). 2014). consumption to limit the contribution to climate change, to reduce our dependency on fossil reserves, and to decrease (Terwen et al., 2004; Johannesson et al., 2015; Nüesch operational costs. The application considered is a longet al., 2014; Elbert et al., 2014). operational costs. on Theanapplication considered is a longhaul heavy truck intercity highway mission. The 1.1 Contributions and outline reduce our dependency on fossil reserves, and toisdecrease operational costs. on Thean application considered a longet al., 2014; Elbert et al., 2014). haul heavy truck intercity highway mission. The haul heavy truck on an intercity highway mission. The 1.1 Contributions Contributions and and outline outline assumption that the route is known in advance, haul heavy is truck on intercity highway mission. The 1.1 operational costs. Thean application considered isincluding a longassumption is the route is advance, 1.1 Contributions and outline assumption is that that thethe route is known known in in advance, including the speed limits and topography, that canmission. be including achieved haul heavy truck on an intercity highway The assumption is that the route is known in advance, including the speed limits the that achieved In this paper different optimal control approaches are Contributions and outline the speedusing limitsa and and the topography, topography, that can can be achieved 1.1 by e.g. navigator. as be a including receding this different optimal are assumption is that thethe route isImplemented known in advance, the speedusing limits and topography, that can be achieved In In this paper paper different optimal control approaches are by e.g. a navigator. Implemented as a receding evaluated and compared for thecontrol speed approaches and gear shift by e.g. using a navigator. Implemented as a receding In this paper different optimal control approaches are horizon, the algorithm requires knowledge only about evaluated and compared for the speed and gear shift by e.g. using a navigator. Implemented as a receding the speed limits and the topography, that can be achieved evaluated and compared for the speed and gear shift horizon, the algorithm requires knowledge only about optimization problem. The results are based on simulations, horizon, the algorithm requires knowledge only about In this paper different optimal control approaches are evaluated and compared for the speed and gear shift immediate nearest horizon of approximately 5-10 km. Being problem. The results are based on simulations, by e.g. using a navigator. Implemented as only akm. receding horizon, the algorithm requires knowledge about optimization problem. The results are based on simulations, immediate nearest horizoneasy of approximately approximately 5-10 Being optimization but two of the three evaluated solvers are also implemented immediate nearest horizon of 5-10 km. Being optimization problem. The results are based on simulations, evaluated and compared for the speed and gear shift on a highway, it is rather to predict the most probable but two of the three evaluated solvers are also implemented horizon, the algorithm requires knowledge only about immediate nearest horizoneasy of approximately 5-10 km. Being on-board but two ofathe threeusing evaluated solvers are alsotoimplemented on aa highway, it rather to most probable vehicle prototyping investigate on highway, it is isprobability rather easy to predict the most probable problem. Therapid results are are based on simulations, but two ofa threeusing evaluated solvers also path, sincenearest the of predict stayingthe at5-10 thekm. highway on-board athe vehicle using rapid prototyping toimplemented investigate immediate horizoneasy of approximately Being optimization on a highway, it is rather to predict the most probable on-board vehicle rapid prototyping to investigate path, since the probability of staying at the highway the feasibility of such systems. In Section 2 the theory of the path, since the probability of staying at The the speed highway two ofathe three evaluated solvers are2also on-board vehicle using rapidIn prototyping toimplemented investigate is higher compared to exit the highway. of but the feasibility of such systems. In Section the theory of the the on a highway, it is rather easy to predict the most probable path, since the probability of staying at the highway the feasibility of such systems. Section 2 the theory of is higher compared to exit the highway. The speed of linear programming (LP) is described as well as the model is higher compared to exit the highway. The speed of on-board a vehicle using rapid prototyping to investigate the feasibility of such systems. In Section 2 the theory of the the vehicle and gearthe optimized so speed that the programming (LP) is described as well as the model is higher compared to exit highway. of linear path, since the selected probability ofare staying at The the highway linear programming (LP) is described as well as the model the vehicle and selected gear are optimized so that the equations used in the optimizations to find the optimal the vehicle and selected gear are optimized so thatsome the the feasibility of such systems. In Section 2find the as theory of the programming (LP) is described as theoptimal model fuel consumption is minimized, while stayingThe within equations used optimizations to the is higher compared to exit highway. of linear the vehicle and selected gearthe are optimized so speed thatsome the equations used in inInthe the optimizations to well find the optimal fuel consumption is minimized, minimized, while staying within some speed trajectory. Section 3described the optimal gearas is the computed fuel consumption is while staying within linear programming (LP) is as well model equations used in the optimizations to find the optimal given speed and driving time limits. The benefits of using speed trajectory. In Section 3 the optimal gear is computed the vehicle and driving selected gear are optimized so that the speed fuel consumption is minimized, while staying within some In Section 3 the(DP) optimal gear is computed given speed time The benefits of using based trajectory. on dynamic given that the speed given speed and and driving time limits. limits. The benefits of speed using used inInprogramming the optimizations to find the optimal speed trajectory. Section 3 the(DP) optimal gear is computed information about future is while e.g. to decrease the based on dynamic programming given that the speed fuel consumption isthe minimized, staying within some equations given speed and driving time limits. The benefits of using based on dynamic programming (DP) given that the speed information about the future is e.g. to decrease the speed profile computed by the linear programming is to be fulfilled. information aboutslope the future isdecrease e.g. to the decrease theofspeed speed trajectory. In Section 3 the optimal gear is computed based on dynamic programming (DP) given that the speed before a downhill and to number gear profile computed by the linear programming is to be fulfilled. given speed and driving time limits. The benefits of using information about the future is e.g. to decrease the speed profile computed by the linear programming is to be fulfilled. before a downhill slope and to decrease the number of gear One benefit with this sequential optimization scheme is that before a downhill slope and to decrease the number of gear profile computed by the linear programming is to be fulfilled. based on dynamic programming (DP) given that the speed shifts. One benefit with this sequential optimization scheme is that before a downhill slope and to decrease the number of gear information about the future is e.g. to decrease the speed the Onecontinuous benefit withstate, this sequential optimization scheme isusing that shifts. i.e. the programming vehicle speed,isis found shifts. profile computed by the linear to be fulfilled. One benefit with this sequential optimization scheme is that the continuous state, i.e. the vehicle speed, is found using before a downhill slope and to decrease the number of gear shifts. the continuous state, i.e. the vehicle speed, is found using This kind of optimization follows the path of Terwen a solver that performs well for such a problem, while the One benefit with this sequential optimization scheme is that the continuous state, i.e. the vehicle speed, is found using This kind of optimization follows the path of Terwen a solver that performs well for such a problem, while the shifts. This of and optimization follows of Terwen solver state, that performs well forgear, suchisa found problem, while the et al. kind (2004), can also be seen the as apath simpler version a discrete i.e. the i.e. selected using a solver the continuous state, the vehicle speed, is found using This kind of optimization follows the path of Terwen a solver that performs well for such a problem, while the et al. (2004), and can also be seen as a simpler version discrete state, i.e. the selected gear, is found using a solver et aal.recent (2004), and can also be seen as aal.simpler version discrete state, well i.e. the selected gear, is found One usingdrawback a solver of benchmark by Eriksson et (2016). Many that performs for this kind of problem. This kind of optimization follows the path of Terwen a solver that performs well for such a problem, while the et al. (2004), and can also be seen as a simpler version discrete state, i.e. the selected gear, is found using a solver of a recent recent benchmark by proposed, Eriksson et et al. (2016). (2016). Many that that performs wellisfor for thisthe kind of problem. problem. One drawback drawback of a benchmark by Eriksson al. Many performs well this kind of One different approaches including Dynamic using this scheme that optimal selection of aal.recent benchmark by proposed, Eriksson et (2016). Many discrete that performs well for thisthe kind of problem. One et (2004), and canwere also be seen as aal.simpler version state, i.e. is the selected gear, isgear found usingdrawback adepend solver different approaches were including Dynamic using this scheme that optimal gear selection depend different approaches wereet proposed, including Dynamic on using this scheme is that the optimal gear depend Programming (Hellström al., 2009, 2010), Mixed-Integer the optimal speed trajectory vice selection verse. of a recent benchmark by Eriksson et al. (2016). Many that performs well thisthe kind ofand problem. One Therefore drawback different approaches were including Dynamic using this scheme isfor that optimal selection depend Programming (Hellström et al., 2010), Mixed-Integer on the optimal speed trajectory and vice verse. Therefore Programming (Hellström et proposed, al., 2009, 2009, 2010), Mixed-Integer on the optimal speed trajectory and gear vice verse. using Therefore it is difficult to find an overall optimal solution this Constrained Optimal Control with modeling in AMPL different approaches were proposed, including Dynamic using this scheme is that the optimal gear selection depend Programming (Hellström et al., 2009, 2010), Mixed-Integer on the optimal speed trajectory and vice verse. Therefore is to overall optimal this Constrained Control with modeling in it is difficult difficult to find finditan anmay overall optimal solution solution using this Constrained Optimal Control with modeling(Murgovski in AMPL AMPL it (Kirches et al.,Optimal 2012), and convex optimization scheme. However, be possible to verse. find ausing solution Programming (Hellström et al., 2009, 2010), Mixed-Integer on the optimal speed trajectory and vice Therefore it is difficult to find an overall optimal solution using this Constrained Optimal Control with modeling in AMPL (Kirches (Kirches et et al., al., 2012), 2012), and and convex convex optimization optimization (Murgovski (Murgovski scheme. scheme. However, However, it it may may be be possible possible to to find find a a solution solution is difficult to finditanmay overall optimal solution this Constrained Control modeling(Murgovski in AMPL it (Kirches et al.,Optimal 2012), and convexwith optimization scheme. However, be possible to find ausing solution (Kirches al., 2012), and convexFederation optimization (Murgovski scheme. possible to find a solution 2405-8963 et © 2019, IFAC (International of Automatic Control) by However, Elsevier Ltd.itAllmay rightsbe reserved. Copyright 2019 IFAC 471 Hosting
Copyright 2019 IFAC 471 Copyright ©under 2019 responsibility IFAC 471Control. Peer review© of International Federation of Automatic Copyright © 2019 IFAC 471 10.1016/j.ifacol.2019.09.075 Copyright © 2019 IFAC 471
2019 IFAC AAC 472 Orléans, France, June 23-27, 2019
Christofer Sundström et al. / IFAC PapersOnLine 52-5 (2019) 471–477
that is close to the global optimal solution. To evaluate whether this is the case, a two dimensional dynamic programming optimization is performed in Section 4, where both the vehicle speed and the gear selection are optimized simultaneously and the global optimal solution is found given the accuracy in the discretization. The comparison of the solutions using these three different optimization methods is the main contribution of this paper. 2. LINEAR PROGRAMMING The optimal speed trajectory is computed using LP in this section. First, the longitudinal vehicle models are described. For a general introduction to vehicle modeling and fuel consumption modeling there are several books, e.g. (Guzzella and Sciarretta, 2013; Eriksson and Nielsen, 2014; Crolla, 2009; Crolla and Mashadi, 2012). The consumed fuel mass, mfuel , for diesel vehicles is proportional to the energy extracted from the fuel, Efuel mfuel =
Efuel cdiesel p
(1)
where cdiesel is the specific energy density of diesel. The p engine efficiency ηe is about 35-45% in modern diesel engines. The energy delivered by the engine is used to propel the vehicle to overcome aerodynamic drag, rolling resistance, and changes in potential energy. Other energy consumers include gear box friction, air conditioning and other auxiliary systems. The fuel power, Pf uel , and a fictive fuel force, Ff uel are used to compute the fuel energy consumed propelling the vehicle during time t1 to t2 or position x1 to x2 t2 x2 Ef uel = Pf uel dt = Ff uel dx (2) t1
x1
The brake force is denoted Fbrk . The losses in the powertrain are lumped into one efficiency η, and the wheel force is computed by (3)
Fwheel = η · Ff uel − Fbrk .
The acceleration of the vehicle is computed by 1 mv˙ = Fwheel − ρa Cd Af v 2 − mgCr cos α − mg sin α (4) 2 Froll
Fair
Fg
where m is the equivalent mass including the vehicle mass and equivalent inertia of rotational components, v the longitudinal speed, ρa the air density, Cd the drag coefficient, Af the vehicle front area, g the gravity constant, Cr the rolling resistance coefficient, and α the road slope. 2
Using the kinetic energy E = mv 2 , the left-hand side of (4) can be rewritten as dx dv dv d mv 2 dE dv =m = mv = = (5) m dt dt dx dx dx 2 dx Including the parameters bair = Ff uel , (3) and (4) becomes
ρ a C d Af m
and Feng = η ·
dE = Feng − Fbrk − bair · E − Froll − Fg dx
(6)
The fuel consumption can be calculated by combining equations (1), (2) and (6). 472
2.1 Constraints There are several constraints to consider in the optimization in addition to the vehicle motion equations presented above. The maximum speed vmax is set to the legal speed limit. A lower speed limit, vmin , is set by the reasonable traffic considerations since driving too slow on a highway is undesirable. The constraints in possible vehicle speeds result in the constraint for kinetic energy (7) Emin ≤ E ≤ Emax Heavy vehicles on the uphills can be severely limited in speed by the available engine power Pmax , which gives an upper bound to the engine force Feng . The model used assumes that it is always possible for the engine to deliver the maximum power, Pmax , by selecting appropriate gear (8) 0 ≤ Feng ≤ Pmax /v There is a maximum time constraint, tref on a mission from position x1 to x2 , or, equivalently, a constraint on the 1 average speed x2t−x ref x2 dt ≤ tref (9) x1
The brake force, including friction disc brakes and retarder, is limited to Fbrk,max as (10) 0 ≤ Fbrk ≤ Fbrk,max Together, equations (1), (2), (6), (7), (8), (9), and (10) form a constrained optimal control problem with objective to minimize mfuel with respect to the control signals Feng (·) and Fbrk (·). The kinetic energy E(·) is the state variable. 2.2 Linearization Several equations in the optimal control problem contain non-linear terms. The problem is linearized to decrease the computational complexity by the use of efficient tools. The powertrain efficiency η is assumed to be constant during highway missions, since the engine mostly operate in the sweet-spot region where the engine efficiency is relatively constant. Equation (9) is rewritten x by introducing a reference speed vref (·) that satisfies x12 vrefdx(x) = tref . The time constraint is rewritten as an integral of the difference between vref and v, i.e. it is becoming a fictive distance constraint x2 x2 x2 v v − vref (v − vref )dt = vref dt = −1 dx ≥ 0 vref vref x1 x1 x1 (11) Performing Taylor expansion of v = 2E/m around mv 2
Eref = 2ref and keeping the first two terms and simplifying the constants results in the constraint x2 E(x) − 1 dx ≥ 0. (12) Eref (x) x1
The constraint that limits the engine force by the maximum engine power is nonlinear in E. A zero-order approximation at vref is used in this paper Pmax (13) Feng (x) ≤ vref (x) 2.3 Solving the optimal control problem There are several methods solving optimal control problems, see introductions by e.g. Betts (2010) and Diehl and Gros
2019 IFAC AAC Orléans, France, June 23-27, 2019
Christofer Sundström et al. / IFAC PapersOnLine 52-5 (2019) 471–477
(2017). Extensive references can be found in reviews by Betts (1998), Conway (2012) and Rao (2014). The direct method for solving the optimal control problem, which discretizes, or transcribes, the problem and numerically finds optimal solution to it is used. The problem is parametrized in both the control variables (Feng , Fbrk ) and the state variable (E), resulting in a collocation scheme (Tsang et al., 1975). Numerical solutions can be found using e.g. Non-Linear Programming (NLP), which in this case simplifies to Linear Programming. These problems are solved very efficiently and with a global optimality guarantee. The optimization horizon is split into N stages, and replace continuous functions E(·), Feng (·) and Fbrk (·) with discrete i i counterparts E i , Feng , and Fbrk , i = 1..N . A trapezoidal rule is used to approximate the differential equation that describes the vehicle dynamics. The step ∆x is allowed to be non-uniform, since it might be beneficial as highlighted by Henzler et al. (2015). The optimization problem is given by minimize
mf uel
E,Feng
s, t.
mf uel
N 1 i = ∆xi Feng η · cdiesel p i=1
i f i = Feng − bair E i − mgcr cos αi −
−mg sin αi , i = 1..N
E i+1 − E i =
1 ∆xi (f i + f i+1 ), i = 1..N − 1 2 Emin ≤ E i ≤ Emax , i = 1..N Pmax i ≤ i , i = 1..N 0 ≤ Feng vref N Ei ( i − 1)∆xi ≥ 0. Eref i=1
where f i corresponds to the derivative
dE dx .
(14)
Due to rough discretization and many approximations, this Linear Program might have multiple solutions that have the same objective value. One way to break this symmetry is to use more precise models and take into account, for example, variations in efficiency. However, a straight forward approach based on heuristics to brake the symmetry is to add a small penalty on the rate of change of kinetic energy or on the rate of change of engine force. The first would improve the passenger comfort and the latter would encourage to keep the stable operating point of the engine. Adding rate penalties preserves the linearity of the problem, and only requires introduction of new auxiliary variables to encode the absolute value. The objective function becomes N N −1 i i+1 i f + βF Feng − Feng , (15) mf uel + βE i=1
i=1
where βE and βF are scaling factors. 2.4 Results
The optimal control problem is solved using FORCES Pro (Domahidi and Jerez, 2014), and the evaluation of the 473
473
Table 1. Fuel savings using LP finding optimal speed profile compared to cc. Mission
Fuel savings
Borås-Landvetter-Borås Gothenburg-Alingsås Sweden Route Kassel-Hamburg
3.2% 4.3% 2.0% 4.9%
fuel consumption reduction using the optimization scheme has been performed using a high accuracy simulation tool developed at Volvo. The existing gear selection algorithm is used and the speed is allowed to deviate five km/h from vref . Four different driving missions have been compared to a conventional cruise controller (cc), and the results are presented in Table 1. The conventional cc is intelligent in the sense that it allows an increase in vehicle speed of maximum five km/h at downhills and uses eco-roll, i.e. using neutral gear at e.g. downhills, to decrease the fuel consumption. However, no prediction is used in the control algorithm for the cc. The fuel savings is in parity with other works performed, and it is clear that the fuel savings increase when the driving mission includes more slopes. Significant effort has been spent implementing the optimal speed controller in a vehicle to evaluate the drivability of the scheme. The test drives show good drivability, but the controller is sensitive to errors in the vehicle parameters such as vehicle mass or aerodynamic drag, especially when eco-roll is selected. The decision whether to use eco-roll or not is performed by heuristics prior to the speed optimization. The uncertainty in the vehicle parameters results in prediction errors in the vehicle speed and what gear to select. One important situation is in the decision whether eco-roll is a suitable solution or not. For example, if the vehicle resistance in reality is higher compared to in the optimization scheme, the vehicle speed becomes lower than predicted, and a gear needs to be engaged to propel the vehicle to reach the predicted speed. However, all in all, the scheme is operating in a good way, and the driving experience is good. In Figure 1 the results driving from Gothenburg-Borås is presented. 2.5 Mixed Integer Linear Programming To model gear-shifting, including eco-roll, a mixed integer linear programming (MILP) model formulation of the problem is introduced using binary variables γi = 1, 0, i = 1..12, indicating if gear i is engaged or not. The forces in each gear will have the following limits rt rt (16) Tmin i · γi ≤ Fi ≤ Tmax i · γi , rw rw where Tmax is the maximum engine torque, Tmin is the minimum engine torque, rti is the transmission ratio of the gear i, and rw is the wheel radius. Since at most one gear γi ≤ 1, the engine force can be selected at a time, i.e. can be modelled as a sum of individual forces: 12 Fi . (17) Feng = i=1
Eco-roll (neutral gear) is modelled by the situation when no gear is engaged, i.e. γi = 0.
Preliminary tests show that available solvers for embedded optimization are not optimized for solving problems with binary and/or integer variables. Relaxations using binary
2019 IFAC AAC 474 Orléans, France, June 23-27, 2019
Christofer Sundström et al. / IFAC PapersOnLine 52-5 (2019) 471–477
3. SPEED AND GEAR OPTIMIZATION
Speed [km/h], Altitude [m], CC on/off
100 90 80 70 60 50 40
Speed CC on Altitude
30 20 10 0 0
5
10
15
20
25
30
35
40
Distance [km]
Fig. 1. Measured speed profiles when the LP solver is implemented in the truck. LP on/off is shown by the lower red line that switches between 0 [off] and 10 [on]. The multi-color line presents altitude and at what segments eco-roll (red), gear 12 (blue), and lower gear than 12 (red) is used. The blue line is the vehicle speed and the dashed black lines the allowed speed boundaries. Model/Tuning parameters
Slope Model/Tuning parameters
Model-based Heuristics
Eco roll
Model/Tuning parameters Speed
LP Solver
Force
(wheels)
DP solver
Gear
Fig. 2. Schematic view of the speed and gear shift controllers. variables for the first Nb stages of the horizon, and for the rest N − Nb stages using continuous variables with bounds [0; 1] are performed. The motivation for such relaxation is that in the MPC setting, only the initial portion of the solution is executed. Then the "expensive" binary variables are computed for the portion that will be executed, and the "cheap" solution based on continuous variables for the rest of the horizon. However, solver performance limits to only a handful binary variables to be found in the optimal solution in real time on-board on the truck, motivating to use Dynamic Programming (DP) for the optimal gear selection. Research finding efficient methods for handling binary variables in embedded optimization is encouraged. Inspiration can be drawn both from MILP world with cutting planes (Marchand et al., 2002) and column generation (Nemhauser, 2012; Vanderbeck, 2005), but potentially also from SAT world (Biere et al., 2009) with SMT (Mistry et al., 2018), pseudo-boolean constraints (Een and Sörensson, 2006) and weighted MaxSAT problems (Martins et al., 2014). 474
The speed optimal problem presented in Section 2 is here extended with the optimal gear selection profile. The idea is to use LP to find the optimal speed trajectory, and DP to find the optimal gear selection trajectory and still fulfill the speed trajectory. DP finds the global optimal solution, and is well suitable for discrete problems. Figure 2 gives an overview of the controller structure that is used. The problem is separated into three stages, one heuristic decision and two optimizations, performed in sequence. The first and second stages are described in Section 2 and includes a decision whether to use eco-roll or not based on heuristics, as well as to find the optimal speed profile for the mission using LP. The third stage, that is added in this section, is to find the optimal gear under the constraint to fulfill the computed speed profile in the second stage. 3.1 Implementation The gear selection optimization is performed at a higher sample rate than the speed optimization. Therefore the input signals computed in the LP solver need to be interpolated before used in the DP solver. The optimization horizon is in general short for the gear optimization compared to the speed optimization. Using dynamic programming, a requirement is that the time is discretized, as well as the states. In this case the time is not uniformly distributed, but instead the time is computed in order to achieve a discretization grid of a specific distance between each sample. This implies that a gear change can only be performed at specific positions. The state for this application is the selected gear, which by nature is a discrete signal. Cost for gear shift In reality, there is a loss of delivered torque during a gear shift. This is not included in the optimization for the gear shift since an additional state would be required to handle this, which increases the computational complexity for the optimization, as well as that the speed profile from LP cannot be fulfilled. The impact of this model simplification is more significant during high engine torques. The way to penalize such gear shifts is to add a cost for a gear shift that is proportional to the delivered torque from the engine, Te Te,k 1 , 0 γk = γk−1 max Wgr,prop cgr,prop,k = Te,max ∆tk 0 γk = γk−1 (18) where the maximum cost for the gear shift is given by Wgr,prop , γ is the selected gear, and Te,max the maximum engine torque. This cost is added to the fuel consumption in one time step in the optimization. To handle the varying time length between the time steps, as mentioned in Section 3.1, this cost is normalized with the time length of the current time step tk . The results of this cost is that it may be preferable to make a gear shift prior to an uphill instead of in the middle of the slope if there is not a big fuel consumption saving making the gear shift in the middle of the slope. However, if the benefit in fuel consumption making the gear shift in the middle of the slope, this will be the optimal gear shifting trajectory. In reality this affects drivability, since a gear shift in the uphill slope affects the vehicle speed more compared to making the gear shift before the slope starts.
Slack in delivered torque At some instances the torque demand from the LP solver is slightly higher than the maximum torque the engine is able to deliver given a specific gear. A strict torque demand constraint would result in a down shift even if this only would be necessary to fulfill the torque demand for a short time. To avoid such down shift a slack parameter is included in the gear optimization that penalizes lack in fulfilling the requested torque from the LP solver as 1 ,0 (20) cTe = max WTe (Te − Te,max ) ∆tk In the parametrization WTe and Wgr,prop are connected and if one of these parameters is changed, also the other parameter needs to be considered. The reason is that there is a trade off between performing a down shift to avoid not fulfilling the torque request from the LP solver, or keeping the current gear resulting in a lower tractive torque at the wheels. Braking To minimize the use of the mechanical brakes, a cost for using these is introduced, implying that a down shift before a downhill slope may be beneficial to increase the engine braking. The mechanical brakes are used when the total braking torque is larger than the negative engine torque, Te,min . The value for Te,min depends on the engine speed, ωe , and is stored in a look-up table. The cost for using the mechanical brakes is computed by (21) cb = max {−Wb (Te,req − Te,min (ωe )) γgr γf , 0} where γf and γgr are the gear ratio in the final gear and gearbox respectively, and Wb is a tuning parameter. Engines equipped with engine valve braking (VEB) is handled in this scheme by modifying the values in the look-up table for Te,min (ωe ). Prediction errors from LP solver There are several reasons for differences between the predicted vehicle speed, and thereby the requested engine torque, compared to reality. One such reason is surrounding traffic, but also limitations in other components within the vehicle powertrain that are not included in the optimization model. One dominating aspect is the time for performing a gear shift. A gearshift usually implies that the vehicle speed is lower compared to the estimated speed, and therefore a higher requested torque is to be delivered to reach the wanted speed, at the same time as the maximum engine torque possibly is decreased due to the lower engine speed. This is not handled in a good way in the DP algorithm since it is assumed that the predicted vehicle speed and torque trajectories are unchanged until the next time the optimal solution is updated. Therefore the vehicle speed, but also the engine speed, may drop even more. To include a robustness to the gear selection algorithm, the predicted speed, vref,k , is compared with the actual speed, vk , and if vk < (vref,k − 475
475
90 80 70 60 22
23
24
25
26
27
28
29
30
31
32
4000 22
23
24
25
26
27
28
29
30
31
32
23
24
25
26
27
28
29
30
31
32
23
24
25
26
27
28
29
30
31
32
20
Gear [-]
There is a cost for gear shifts during braking. The reason for this is similar to the reason for introducing the cost for a gear shift during traction. The modelling error in the vehicle speed is smaller when the gear shift occurs at lower braking torque of the engine. Te,k 1 , 0 γk = γk−1 max −Wgr,b cgr,b,k = Te,min ∆tk 0 γk = γk−1 (19) where Wgr,b is a tuning parameter and Te,min is the minimum engine torque.
Speed [km/h]
Christofer Sundström et al. / IFAC PapersOnLine 52-5 (2019) 471–477
15 10
Torque ice [Nm] Altitude [m]
2019 IFAC AAC Orléans, France, June 23-27, 2019
2000 0
-2000 200 22 100 0 22
Position [km]
Fig. 3. LP and DP solution for speed and gear. Gear 21 indicates eco-roll, i.e. neutral gear. βv ), where βv is a tuning parameter, the lowest possible gear is engaged to get the highest possible engine power. The condition vk < (vref,k − βv ) should not occur during ordinary driving, but act as a functionality to guarantee robustness to the optimization. Therefore, βv should be set to relatively high value. 3.2 Results To avoid interference with safety functions implemented in the component controllers in the complex simulation environment, the evaluation of the LP and DP solution is performed using a simpler truck model compared to the advanced model used in the evaluation in Section 2. This simplified model is based on the same model equations as used in the dynamic programming optimization, that are similar to the model equations described in Section 2. Figure 3 presents a segment from a simulation study driving from Borås-Landvetter-Borås. As can be seen at 31 km a lower gear than 12 is selected. This is common during downhill driving to minimize the use of the mechanical brakes by increasing the engine braking. Furthermore, a downshift is only performed twice during uphill driving. Since the vehicle speed is increased before the hill starts (at 23 and 28km), the downshifts for uphill driving is required after some distance in the uphill driving. Therefore, it is found optimal to wait performing the downshift till the middle of the slope, and not perform it prior to the slope. If the cost for gear shifts is increased, the gear shifts are performed at lower torques, i.e. before the acceleration prior to the hill starts. The uphill driving at 29 km requires a downshift to gear 10. In the gear selection optimization the loss of torque during the gear shift is not considered, which implies that the optimization believes the vehicle can use gear 11 after the first up-shift at 29.2km. However, the loss of speed during the up-shift process results in that this is not the case, and a downshift to gear 10 is performed again. 4. SIMULTANEOUS OPTIMIZATION OF SPEED AND GEAR The benefits of using separate LP and DP is that the computational complexity is low. However, as mentioned
2019 IFAC AAC 476 Orléans, France, June 23-27, 2019
Christofer Sundström et al. / IFAC PapersOnLine 52-5 (2019) 471–477
in Section 3, there are issues first finding the optimal speed trajectory and later finding the optimal gear selection. In this section one optimization using DP is performed finding the speed and gear trajectories at the same time. The time for a gear shift is included and results in a loss of propelling torque from the engine, as well as that there is a fuel cost to increase the engine speed during a down shift. Since this is included in the optimization, the torque slack parameters and the gear change cost parameter introduced in the one dimensional dynamic programming in (18), (19) and (20) are not necessary.
speed [km/h]
90 80 70 60
QP+DP DP
50 20
22
24
26
28
30
32
34
36
20
22
24
26
28
30
32
34
36
20
22
24
26
28
30
32
34
36
20
22
24
26
28
30
32
34
36
20
22
24
26
28
30
32
34
36
22 20
Gear [-]
18
4.1 Objective and main idea
16 14 12
Only minimizing the fuel energy in the cost function would result in a low vehicle speed in order to minimize the aerodynamic drag. To include the driving time in the optimization but still avoid including an additional state for the time, a cost for the time is included in each step in the cost function. The parameter used to find the desired trade off between fuel consumption and time is denoted β. Furthermore, the solution fluctuates in mainly the delivered torque from the engine, but also the vehicle speed. To avoid this, a cost is added for variations in the vehicle speed and the trade-off parameter is denoted α. This part of the cost function is relatively small to not influence the solution too much, but avoid high frequent torque ripple. The cost function propelling the vehicle from position index k to k+1 is ck = mf uel + β · tk + α · |vk − vk+1 | (22) The vehicle speed during uphill driving may be lower than what is allowed during flat road driving. In Section 2 the vehicle speed is preferred to vary between 75km/h and 85km/h. However, during the simulations of BoråsLandvetter-Borås in Figure 3, it is found that the vehicle speed is just above 50km/h during the steepest uphill sequence due to limitations in the maximum engine power. To achieve a feasible solution using the dynamic programming, the vehicle speed grid needs to include lower speeds than the preferred lowest speed, vref,min = 75km/h. A cost is added for vehicle speeds lower than vref,min using a parameter Γ. The value of Γ is supposed high in order to not drive slower than vref,min if this is not absolutely necessary to complete the driving mission. The overall cost function is ck = Wf,k +β·tk +α·|vk −vk+1 |+Γ·max{vref,min −vk+1 , 0} (23) The powertrain model is equal to the model used in Section 2, except from that the engine map is used in the optimization in this case, instead of the affine approximation that is used in the LP solution. 476
Engine torque [Nm]
3000 2000 1000 0 -1000 10
Consumed fuel [liter]
4.2 Implementation
10
8 6 4 2
Altitude [m]
The objective is still to minimize the fuel consumption of the mission. The difference here is that the optimal speed and gear trajectories are computed simultaneously. The problem is discretized in distance. Furthermore, the speed state is discretized. The DP algorithm finds the control signals resulting in the lowest total cost driving from the current position till the end of the prediction horizon. In this approach the time for a gear shift, τgb , is handled, and during this time period the delivered torque from the engine is zero.
200 100 0
position [km]
Fig. 4. Simulation results illustrating differences in solution for sequential optimization of speed and gear (blue), and simultaneous optimization of speed and gear (red). 4.3 Results A simulation is performed where one optimization is computed for the entire driving mission at once. The discretization in distance in the cost-to-go matrix is 10 meters, the minimum speed is 50km/h, vref,min =75km/h and the maximum speed is 85km/h with a step size of 0.5 m/s. The torque discretization is in steps of 25Nm. When the optimal control signals are found, the step size is 0.1 seconds, and a gear shift is assumed to last for one second. The results are shown in Figure 4. The β parameter is tuned so the time for the driving mission is unchanged compared to the LP solution. The lowest vehicle speed is increased compared to the LP+DP solution, while the fuel consumption is slightly decreased. In the figure it can be seen the downshifts to gear 11 and gear 10 takes place earlier than in the LP+DP solution in order to achieve the maximum power from the engine to minimize the vehicle speed reduction during the uphill driving. During downhill driving the simultaneous DP and LP+DP solutions are similar. There are some minor variations in when ecoroll is engaged between the two solutions, but the torque trajectories look similar.
2019 IFAC AAC Orléans, France, June 23-27, 2019
Christofer Sundström et al. / IFAC PapersOnLine 52-5 (2019) 471–477
5. CONCLUSIONS Three different optimization schemes for finding the optimal speed and gear trajectories for a long haulage truck when the up-coming road topology is known are developed and evaluated. The problem consists of both a continuous state and a discrete state. An optimal control scheme only optimizing the speed profile and using a regular gear selection algorithm saves a significant amount of fuel, 3-4% on a common Swedish highway, and more on more hilly roads. The sequential optimization scheme of the speed and gear problem performs similar to the simultaneous optimization. There are pros and cons with these solutions. The benefit using the sequential scheme is the computational efficiency, but the drawback is reduced robustness in the solution regarding the gear profile, since the torque loss during gear shifts is not included in the solution. Furthermore, the solution depends on parameter tuning of several parameters, leading to that it may be difficult to state whether the solution is fuel optimal or not. However, the sequential optimization scheme seems promising. A general finding from the work is that more research is needed regarding simultaneous optimization to reduce the computational complexity, both regarding MILP and DP. REFERENCES Betts, J.T. (1998). Survey of Numerical Methods for Trajectory Optimization. Journal of Guidance, Control, and Dynamics, 21(2), 193–207. Betts, J.T. (2010). Practical Methods for Optimal Control and Estimation Using Nonlinear Programming. Society for Industrial and Applied Mathematics. Biere, A., Heule, M., van Maaren, H., and Walsh, T. (eds.) (2009). Handbook of Satisfiability, volume 185 of Frontiers in Artificial Intelligence and Applications. IOS Press. Conway, B.A. (2012). A Survey of Methods Available for the Numerical Optimization of Continuous Dynamic Systems. Journal of Optimization Theory and Applications, 152(2), 271–306. Crolla, D. (2009). Automotive Engineering: Powertrain, Chassis System and Vehicle Body. ButterworthHeinemann. Crolla, D. and Mashadi, B. (2012). Vehicle Powertrain Systems: Integration and Optimization. Wiley. Diehl, M. and Gros, S. (2017). Numerical Optimal Control (Manuscript in preparation, available from http://www.syscop.de/numericaloptimalcontrol). Domahidi, A. and Jerez, J. (2014). FORCES Professional. embotech GmbH (http://embotech.com/FORCES-Pro). Een, N. and Sörensson, N. (2006). Translating pseudoboolean constraints into SAT. Journal on Satisfiability, Boolean Modeling and Computation, 2, 1–26. Elbert, P., Nuesch, T., Ritter, A., Murgovski, N., and Guzzella, L. (2014). Engine On/Off control for the energy management of a serial hybrid electric bus via convex optimization. IEEE Transactions on Vehicular Technology, 63(8), 3549–3559. Eriksson, L., Larsson, A., and Thomasson, A. (2016). The AAC2016 Benchmark - Look-Ahead Control of Heavy Duty Trucks on Open Roads. IFAC-PapersOnLine, 49(11), 121–127. Eriksson, L. and Nielsen, L. (2014). Modeling and Control of Engines and Drivelines. Wiley. Guzzella, L. and Sciarretta, A. (2013). Vehicle Propulsion Systems. Springer Berlin Heidelberg, Berlin, Heidelberg. 477
477
Hadj-Said, S., Colin, G., Ketfi-Cherif, A., and Chamaillard, Y. (2016). Convex Optimization for Energy Management of Parallel Hybrid Electric Vehicles. IFAC-PapersOnLine, 49(11), 271–276. Hellström, E., Åslund, J., and Nielsen, L. (2010). Design of an efficient algorithm for fuel-optimal look-ahead control. Control Engineering Practice, 18(11), 1318–1327. Hellström, E., Ivarsson, M., Åslund, J., and Nielsen, L. (2009). Look-ahead control for heavy trucks to minimize trip time and fuel consumption. Control Engineering Practice, 17(2), 245–254. Henzler, M., Buchholz, M., and Dietmeyer, K. (2015). Inhomogeneous Model Predictive Control Horizon Discretization for an Urban Truck Energy Efficient Driving Application. In 2015 IEEE 18th International Conference on Intelligent Transportation Systems, volume 2015Octob, 430–436. IEEE. Johannesson, L., Murgovski, N., Jonasson, E., Hellgren, J., and Egardt, B. (2015). Predictive energy management of hybrid long-haul trucks. Control Engineering Practice, 41, 83–97. Kirches, C., Bock, H.G., and Leyffer, S. (2012). Modeling Mixed-Integer Constrained Optimal Control Problems in AMPL. IFAC Proceedings Volumes, 45(2), 1124–1129. Marchand, H., Martin, A., Weismantel, R., and Wolsey, L. (2002). Cutting planes in integer and mixed integer programming. Discrete Applied Mathematics, 123(1-3), 397–446. Martins, R., Manquinho, V., and Lynce, I. (2014). OpenWBO: A Modular MaxSAT Solver,. In Theory and Applications of Satisfiability Testing – SAT 2014, 438– 445. Springer. Mistry, M., D’Iddio, A.C., Huth, M., and Misener, R. (2018). Satisfiability modulo theories for process systems engineering. Computers & Chemical Engineering, 113, 98–114. Murgovski, N., Johannesson, L., Hu, X., Egardt, B., and Sjoberg, J. (2015). Convex relaxations in the optimal control of electrified vehicles. Proceedings of the American Control Conference, 2015-July(3), 2292– 2298. Nemhauser, G. (2012). Column Generation for Linear and Integer Programming. Documenta Mathematica - Extra Volume Optimization Stories, 65–73. Nüesch, T., Elbert, P., Flankl, M., Onder, C., and Guzzella, L. (2014). Convex Optimization for the Energy Management of Hybrid Electric Vehicles Considering Engine Start and Gearshift Costs. Energies, 7(2), 834–856. Rao, A.V. (2014). Trajectory Optimization: A Survey. In H. Waschl, I. Kolmanovsky, M. Steinbuch, and L. del Re (eds.), Optimization and Optimal Control in Automotive Systems, volume 455 LNCIS, 3–21. Terwen, S., Back, M., and Krebs, V. (2004). Predictive powertrain control for heavy duty trucks. In Proceedings of 4th IFAC Conference on Symposium in Automotive Control, 105. Salerno, Italy. Tsang, T.H., Himmelblau, D.M., and Edgar, T.F. (1975). Optimal control via collocation and non-linear programming. International Journal of Control, 21(5), 763–768. Vanderbeck, F. (2005). Implementing Mixed Integer Column Generation. In Column Generation, 331–358. Springer-Verlag, New York.