Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Optimal Cruise Control

Tiago Nuno Miguéns Rijo Branco Jorge

Abstract: An algorithm for solving the cruise control problem of transferring the speed of a vehicle
between two values in a fixed interval of time using a predefined sequence of gears is presented. This
is a hybrid dynamic optimization problem since the control variables include both a continuous variable
(fuel flow) and a discrete variable (the gear to apply at each instant). The solution is given in the form
of a hybrid optimal control algorithm that computes the optimal switching times between gears using
Dynamic Programming and the optimal fuel profile between successive gear boundaries using a gradient
algorithm to approximate the optimum conditions. In order to reduce the search of the optimal switching
times to a search in a finite dimension graph, a procedure based on a changing grid is used. The algorithm
is illustrated by a simulation using a diesel one-dimensional car model.

Keywords: Hybrid Optimization, Cruise Control, Optimal Control, Automotive.

1. INTRODUCTION ent algorithm that provides an approximation to the conditions


provided by Pontryagin’s Optimum Principle.
Both economic and environmental concerns are boosting the This report is organized as follows: after this introduction that
research in vehicle cruise control for both minimum fuel con- motivates the problem, briefly reviews the relevant references
sumption and to reduce pollutant emissions Hashimoto et al. and states the work contribution and organization, the car
(2006). Improving the performance in this respect is increas- model used is described in section 2. Section 3 presents some
ingly seen by car manufacturers as a competitive advantage. results obtained for the minimum-fuel speed transfer problem
This and other factors such as security, together with major using 1 gear, as well as solution feasibility and sensitivity
progress in sensors and reliability of automotive electronics is studies. Section 4 describes the hybrid dynamic optimization
boosting the incorporation of sophisticated control systems in procedure and section 5 provides a simulation example in
cars, with the volume of software incorporated in the design which its convergence is illustrated. Finally, section 6 draws
growing exponentially. Depending on the type of system con- conclusions. For the sake of completeness a gradient algorithm
sidered, cruise control provides help to the driver in selecting to approximate the solution of the optimal control problem
the optimal fuel flow for manoeuvres that may range from with terminal constraints is described in the appendix. This is
vehicle speed management or to move from the current point to the original version taken from Bryson and Ho (1975). The
the target destination using GPS and terrain map information. modified algorithm, used in this work, is fully described in the
While some of the simplest functions may be currently found in main dissertation document. This is one of the building blocks
relatively unexpensive cars, the area is the subject of research. of the hybrid dynamic optimization proposed.
Recent papers address cruise control using optimal control, Dy-
namic Programming or Predictive Control techniques Gause-
meier et al. (2010); Kolmanovsky and Filev (2010); Luu et al.
(2010); Saerens et al. (2010). Cruise control for speed transfer 2. ONE-DIMENSIONAL NONLINEAR CAR MODEL
is a hybrid optimization problem since the manipulated vari-
ables are both continuous (fuel flow) and discrete (gear ratio). This section describes a one-dimensional model for a diesel car,
In the last decade progress was made in methods for solving this with the following inputs:
type of problems, but the resulting algorithms usually require a
high computational load Bemporad and Morari (2010); Bem- • fuel flow as controlled input [L/s];
porad and Giorgetti (2006); Hedlund and Rantzer (1999). As • selected gear (manual gearbox is assumed);
such, works on cruise control rely mostly on heuristic methods. • terrain inclination [rad] and wind speed [m/s] as distur-
bances.
The main contribution of this work consists of a dynamic opti-
mization based procedure to determine a suboptimal solution The main output of the model is the car speed. Other quantities
to the optimal switched systems state transfer problem, in a available from this model are:
fixed interval of time, with given plant dynamics sequence. The (1) engine rotational speed [rad/s];
procedure is applied to the cruise control speed transfer prob- (2) engine torque [N m];
lem with minimum fuel-consumption and using a predefined (3) engine power [kW ];
sequence of gears. (4) fuel consumption [L/100km].
Where the explicit computation of the optimal control is The dynamic model is build from elementary physical princi-
needed, it is obtained by applying a recursive numerical gradi- ples using information publicly available for a Toyota Avensis
⋆ This work has been performed within the framework of activity 2.4.1 – Smart 2.0 D-4D SW for a 2007 model. All physical quantities are
drive control of project SE2A - Nanoelectronics for Safe, Fuel Efficient and measured in SI units. Table 1 lists the values used for model
Environment Friendly Automotive Solutions, ENIAC initiative. parameters.
Engine efficiency curves in engine torque/speed space Engine torque values in speed/fuel flow space
400

5500
350
5000
300
Engine torque [Nm]

4500

250 4000

Engine speed [rpm]


3500
200
3000
150
2500

100
2000

50 1500

1000
0
1000 2000 3000 4000 5000
500
Engine speed [rpm]
0 1 2 3 4 5 6 7
Fuel flow [L/s] x 10
−3

Fig. 1. Efficiency level-curves with maximum torque curve.


Fig. 2. Torque level-curves in engine speed/fuel flow space.
2.1 Engine model 2.2 Transmission

The engine model assumes an input diesel flow u(t) measured The transmission links the wheels and the engine together
in liters per second. The total power P is given by using a gear box. Its role is to increase torque and decrease
wheel speed to match the operational range of the engine. The
P (t) = Eu(t). (1)
transmission also introduces internal drag that depends on the
where E is the total energy density of diesel fuel. A consider- engine speed. In the model developed here, the internal drag
able percentage of this power is dissipated in thermal losses, does not only model the transmission itself, but also all the load
and only a part is available as mechanical power, Pm , given by at the engine shaft.

Pm (t) = η Te (t), we (t) × P (t). (2) The torque output available at the car wheels is given by

where Te and ωe are the engine torque and speed and η is the Tw (t) = ri rf Te (t) − α − βωe (t) (5)
efficiency. The engine torque output is given by where ri is the gear ratio for gear i, rf is the final drive ratio
 and α, β are drag coefficients.
Pm (t) η Te (t), we (t) × P (t)
Te (t) = = (3) Engine rotational speed, measured in [rad/s], is obtained from
ωe (t) ωe (t)
wheel speed by gear ratio conversion and is given by
Equation (3) constitutes an algebraic loop, since efficiency η ωe (t) = ri rf ωw (t) (6)
and engine torque values are computed based on each other,
which makes computations more taxing. To overcome this, the 2.3 Traction force and wheels
torque value as a function of we (t) and u(t) can be numerically
computed, by solving the algebraic loop (3) offline. The wheels are modeled as a rotational to linear movement
converter neglecting inertia and drag. Wheel rotational speed,
For the purposes of this work, it was assumed that efficiency measured in [rad/s], is given by
level-curves on the (Te , we ) plane are elliptical (figure 1),

ωw (t) = v(t) (7)
(Te − cT )2 (we − cw )2
 
 Λ
η Te , we = χ − θ + (4)
lT lw where Λ is the wheel perimeter. The used tire dimensions
are 205/55R16, corresponding to a perimeter of Λ = 1.9852
for a reasonable choice of the parameters cT , lT , cw and lw . meters.
Constants χ and θ perform a linear transformation, making the
elliptic surface concavity face downwards instead of upwards. Similarly, the traction force is obtained from the torque applied
Constant χ is the value of the maximum efficiency, i.e. when by the engine at the wheels
(Te , we ) = (cT , cw ) then η = χ. 2π
F (t) = Tw (t) (8)
In this specific case a closed-form solution for computing Te (t) Λ
can be easily derived by replacing (4) in (3). 2.4 Car dynamic model
From the data available for this engine, it is known that it
achieves a maximum torque of 310 Nm at 1800-2400 rpm. The evolution of the car speed depends of the forces applied.
Below and above this operational range the torque is reduced. The forces considered are: traction force F (t), gravitational
It is also known that a maximum power of 93kW is attained force and aerodynamic drag Fa (t).
3
at 3600 rpm, implying a torque T = 93×10 60 1
3600 2π ≈ 246.7 v̇(t) = −9.8 sin(θ) + (F (t) − Fa (t)) (9)
Nm at that speed. From this scarce data, a maximum torque m
curve was designed as shown in figure 1. For any given engine where θ is the terrain inclination. Aerodynamic drag is assumed
speed, admissible engine torque values lie below this curve. The to be given by
numerical solution of equation (3) given the efficiency function 1 2
(4) is represented in figure 2. Fa (t) = ρACd v(t) − vwind (t) (10)
2
parameter value units 2.6
−3
x 10 Control signal u(t)

m 1500 Kg 2.4

Fuel flow [L/s]


2.2
ρ 1.2 kg/m3 2

A 2.29 m2 1.8

1.6
Cd 0.29 - 1.4
0 2 4 6 8 10 12 14 16 18 20
P 1.9852 m Time [s]
Car speed
α 35 Nm 90

Car speed [Km/h]


β 0.07 N m/rad.s−1 85

E 40.8e6 J/L 80

Table 1. Non-linear car model parameter values 75

70
0 2 4 6 8 10 12 14 16 18 20
Time [s]

gear ratio value


r1 3.818
Fig. 3. Optimal control and state trajectory for a MFST problem
r2 1.913
r3 1.218
from 70 to 90 Km/h in 20 seconds
r4 0.860
Feasibility regions for gear 4 with v0 = 15 Km/h
r5 0.790 100

r6 0.673
90
rf 3.240
80
Table 2. Non-linear car model gear ratio values
70

Time interval ∆T [s]


Feasible region
where ρ is the air density, A is the frontal area of the vehicle, 60

Cd is the drag coefficient, and m is the car mass. 50

40

Table 1 contains the values used for the nonlinear car model 30

parameters. For the purposes of modeling the transmission, a 20 Non−feasible region


six-speed manual gear box is used. Table 2 shows the published
10
gear ratios of the gear box along with the final drive ratio.
0
0 20 40 60 80 100 120 140 160 180
Speed variation ∆ [Km/h]
v
3. MINIMUM-FUEL SPEED TRANSFER USING 1 GEAR
Fig. 4. Feasible and unfeasible regions for speed transfer prob-
The minimum-fuel speed transfer (MFST) problem consists of lems using gear 4 with initial speed x0 = 15 Km/h
transferring the car speed from a given initial value, x0 at time
t0 , to a desired target value, xf at the terminal time tf , while torque will be obtained from the engine at all times, since
minimizing fuel consumption. Let the car dynamic model (9) the torque will always be saturated according to the maximum
be represented by the nonlinear state-space model torque curve (figures 1 and 2). By starting out at a given speed,
ẋ(t) = f (x(t), u(t)) (11) x0 , and varying ∆T we can obtain different terminal speeds xf ,
where the state, given by the car speed, is scalar. In order and plot ∆T against ∆V . The region below the ∆T (∆V ) curve
to minimize fuel consumption, let the performance index to is referred to as the unfeasible region, in the sense that those
minimize be Z tf speed transfer values are impossible to achieve in so little time.
The region above the curve is referred to as the feasible region.
J= u(t)dt (12)
t0 Figure 4 shows the feasible and unfeasible regions, as well
where u(t), the fuel-flow, is always a positive value. To com- as the ∆T (∆V ) curve, when performing speed transfers using
plete the MFST problem formulation, we must specify the gear 4 with initial speed x0 = 15 Km/h. We remark that there
terminal speed value in the form of a constraint is a maximum speed that the car can achieve. This physical
ψ(x(tf ), tf ) = x(tf ) − xf = 0 (13) limit results from the fact that the maximum torque tends
to decrease at high engine speed values - regardless of the
where xf is the target speed at the terminal time. All the fol-
instantaneous fuel flow value - coupled with the aerodynamic
lowing results were obtained by applying the PMP optimiza-
tion algorithm that is fully described in the main dissertation drag the car is subject to at such high speeds. This effect is
clearly visible in figure 5, which shows the car speed, engine
document. For reference, the algorithm on which the PMP
speed and engine torque signals obtained when the maximum
optimization algorithm is based on is presented in appendix A.
instantaneous fuel value is injected for 120 seconds, while
Consider now the simple example of transferring the car speed using gear 4 and starting with initial speed x0 = 15 Km/h.
from x0 = 70 Km/h at t0 = 0 seconds to xf = 90 Km/h Notice that the torque and maximum torque curves completely
at tf = 20 seconds, using gear 4. The optimal result for this overlap, meaning that the engine torque is always saturated.
problem is represented in figure 3. Notice also that in the second half of the interval, as the engine
speed increases, the value of the engine torque decreases. Since
When attempting to perform a speed transfer of ∆V = xf −
the car is still gaining speed, the aerodynamic drag is also
x0 , the specified time interval, ∆T = tf − t0 , may not be increasing. The combination of both effects, i.e. lower torque
long enough for a feasible solution to be found. However, the
and higher aerodynamic drag, lead the car speed to reach an
procedure to obtain a curve that relates a given speed transfer
equilibrium at approximately 176.5 Km/h.
value ∆V and the minimum time interval needed to perform it
is trivial. If the maximum possible fuel-flow is injected into the Often when trying to solve the MSVT problem the solution
engine for the whole time interval ∆T , the maximum possible requires high engine torque values. At some time instant, if the
Car speed x 10
−3 Fuel flow
200 5
Speed [Km/h]

Resulting control signal

Fuel flow [L/s]


150 4
Torque saturation threshold
100 3

50 2

0
0 20 40 60 80 100 120 1
0 2 4 6 8 10 12 14 16 18 20
Time [s] Time [s]
Engine speed Car speed
6000
100
Speed [rpm]

Speed [Km/h]
4000
80

2000
60

0
0 20 40 60 80 100 120 40
Time [s] 0 2 4 6 8 10 12 14 16 18 20

Engine torque Time [s]


400 Engine torque
Torque 350
Torque [Nm]

300 Maximum torque Torque

Torque [Nm]
300
200
Maximum torque
250

100 200

0 150
0 20 40 60 80 100 120
100
Time [s] 0 2 4 6 8 10 12 14 16 18 20
Time [s]

Fig. 5. Maximum fuel injection results for ∆T = 120 seconds,


gear 4 and initial speed x0 = 15 Km/h Fig. 6. Fuel flow and corresponding car speed and engine torque
obtained as the solution to the minimum-fuel speed trans-
fer problem from 42 Km/h to 100 Km/h in 20 seconds,
engine torque is saturated, the derivative of the dynamics with
using gear 5
respect to fuel flow is null, fu (x(t), u(t)) = 0, i.e. a change
in the fuel flow value does not affect the dynamics because the
parameter variation [%]
engine torque is saturated. It is thus possible for the solution to m −5.67 to 3.49
become stuck before feasibility can be achieved. For example, A −3.31 to 3.11
if the initial control signal estimate u(t) is such that the engine Λ 10.8 to −5.32
torque is always saturated and the corresponding terminal state α −1.98 to 1.81
is unfeasible (i.e. the terminal constraints are not met using this β −1.05 to 1.03
estimate of the control signal), then HuΨ (t) = 0, ∀t ∈ [t0 , tf ] ⇒ rf −6.63 to 7.29
δuη (t) = 0, ∀t ∈ [t0 , tf ] and thus the initial control signal Table 3. Sensitivity analysis results: total percent
estimate will not suffer any changes. In this case, the solution to variations of the terminal car speed when varying
the problem cannot be found. Other situations occur where the the parameter under study −25% to 25% around
gradient signal δuη is only partially null due to the maximum the nominal value.
torque saturation, which might still hinder the effort to obtain
the optimal solution. An example of this is represented in figure to 25% of its nominal value and compute the optimal control
6. The solution is indeed feasible, but unnecessarily high values to perform a given speed transfer with final speed x∗f using
of fuel-flow are used in order to achieve it. Above the torque
saturation threshold curve the torque is already saturated, so an the non-nominal value, θ̃. Afterwards, we apply the resulting
increase in fuel-flow does not alter the state trajectory. A simple control signal to the plant with the nominal parameter value θ∗
workaround is to post-process the resulting fuel-flow signal by and register the achieved terminal speed x˜f . We then plot the
saturating it with the torque saturation threshold curve, which percent car speed variation 100 × (x˜f − x∗f )/x∗f against the
would yield the same state trajectory and require less fuel. percent parameter variation 100 × (θ̃ − θ∗ )/θ∗ . Figure 7 shows
the curve obtained for the sensitivity study of parameter Λ (car
This issue is especially troublesome if the torque saturates at the wheel perimeter), when attempting a speed transfer between
beginning of the simulation time interval ([t0 , tf ]): the control x0 = 60 Km/h and xf = 150 Km/h in 90 seconds using gear 5.
signal u(t) will remain unchanged at those times, which means The remaining results are summarized in table 3. The parameter
that the torque will remain saturated. On the contrary, if the this method is most sensitive to is the car wheel perimeter, Λ.
torque saturates at a time instant t1 > t0 , we will still have In a real situation, wheel perimeter variations could be caused
δuη (t1 ) = 0, but then the control signal in the interval [t0 , t1 ] by tire wear or tire pressure variations and this could degrade
might still suffer changes that may lead the torque to become the performance of the controller. In those cases, a calibration
not saturated at t1 . system that compensates the variations in the wheel perimeter
In order to evaluate the impact of uncertainties over the model value might be deployed to aid the controller in computing and
parameter values, a sensitivity analysis study was performed. applying the correct optimal control signal.
In a real situation, when requested to perform a velocity trans-
fer the car computer would solve the corresponding optimal 4. HYBRID DYNAMIC OPTIMIZATION ALGORITHM
control problem and apply the solution control signal, u∗ (t),
in open loop. For that reason, it is important to understand The car dynamic model (9) may be represented by the nonlinear
how a variation in any of the car model parameters affects the state-space model
resulting terminal speed. This study is done assuming that the
car dynamics (9) correctly models the behavior of the real car. ẋ(t) = fi (x(t), u(t), t), i = 1, ..., N (14)
Only one gear is used for the speed transfer. In order to obtain a where the state, given by the car speed, is scalar and the fi
sensitivity curve for a given parameter, we vary the value of that are vector fields corresponding to each of the gears i, for i =
parameter (keeping all other parameters constant) for −25% 1, ..., N where N is the number of gears.
Sensitivity analysis for parameter R
12
Candidate time values grid
10
X4
8
f3
Terminal speed variation [%]

6 X3

State value
4 f2
X
2 2

0
f1
X
1
−2 | | | | | | | |
1 1 1 2 2 3 3 1
−4 t1 t2 t3 t2 t3 t2 t3 t4
−6
Time
−25 −20 −15 −10 −5 0 5 10 15 20 25
Parameter "R" variation [%]

Corresponding graph
Fig. 7. Sensitivity curve for parameter Λ (car wheel perimeter)
for a speed transfer with initial speed x0 = 60 Km/h and t1 t1
2 3
terminal speed xf = 150 Km/h in 90 seconds, using gear
5
1 2 2 1
The following procedure consists of an algorithm to find a t1 t2 t3 t4
suboptimal solution for the optimal switched dynamics state
transfer problem, i.e. making the state change from an initial
value x0 at t0 to a desired target value xf at the final time tf , t3 t3
2 3
where t0 and tf are given and fixed. The algorithm is based on f1 f2 f3
dynamic optimization in that the desired state transfer, x0 to xf , X1 X2 X3 X4
is broken up into smaller state transfer problems, one for each State value
distinct dynamics. The sequence of dynamics equations and
the state values at which a switch between dynamics equations
occur are given. The performance index, to minimize has the
form Z tf Fig. 8. Candidate time values for a switched dynamics opti-
mization problem with 3 plants, f1 , f2 and f3
J= L(x(t), u(t))dt (15)
t0
where x(t) and u(t) are the state and control vectors at some In the sequel, when referring to tji , we will use the notion of
time t, respectively. In the case of the minimum fuel problem, time value and node interchangeably, since the lower index i
the lagrangian is given by L = u(t). Let already indicates that this is a time value belonging to state
Xi i = 1, ..., N + 1 (16) value Xi .
be the state values at which a switch between plant dynamics The total procedure can be separated into three phases:
occurs, which are given and fixed, such that the plant dynamics
fi apply when performing state value transfers from Xi to 1. Define graph nodes and arcs
Xi+1 . The initial and final state values are x0 and xf . The Nodes: The initial and final state values correspond to two
dynamic optimization procedure consists of finding the optimal nodes, t0 and tf , respectively. For the remaining state values,
switching instants X2 , ..., XN , define a set of candidate nodes (18), such that
t∗i , i = 1, ..., N + 1 (17) t1i < t1i+i and tM i Mi+1
< ti+1 , for i = 2, ..., N , i.e. the first
i
in respect to the chosen state values Xi , where t∗i corresponds to and last candidate nodes of switch i must be smaller than the
the time instant at which the state value Xi occurs. Naturally, first and last candidate nodes of switch i + 1 (see figure 8).
the first and last time instants are t∗1 ≡ t0 and t∗N +1 ≡ tf .
In order to determine the remaining N − 1 optimal switching Arcs: Acceptable arcs on the graph are all those that connect a
instants, a set of Mi candidate time values is defined node at switch Xi with another node at the following switch
Xi+1 , and such that the time of the former node is strictly
tji , j = 1, ..., Mi (18) smaller than the time of the latter.
at which each of the N − 1 intermediate state values Xi , i =
2, ..., N are attained. 2. Compute optimal control, and corresponding cost, for all
arcs in graph
This defines a grid of state/time values that can also be rep-
resented as an oriented graph, as shown in figure 8. The cost For each arc connecting nodes tji and tki+1 , compute the optimal
of each arc of the graph is computed by (15), where the inte- i+1,k
control signal ui,j using the algorithm described in Appendix
gration interval corresponds to the time interval where that arc Bryson and Ho (1975), and the corresponding performance
is defined. The optimal switching instants (in respect to all the index value Ji,ji+1,k
, for performing the optimal state value
candidates) are computed as those for which the total cost for transfer from Xi to Xi+1 . If a given arc is impossible, e.g. the
transferring the state value from x0 at t0 to xf at tf is minimum. corresponding state transfer cannot be accomplished in the time
Having computed all the N + 1 optimal switching instants, the
interval that spans between tji and tki+1 , the cost of that arc is
resulting set of instants can be adjusted and refined by creating set to +∞.
new sets of candidate time values (18) and repeating the same
procedure. 3. Determine optimal path and corresponding cost
The maximum-cost path that connects the first and last nodes, *
Iteration 1 (J = 0.029023)
t0 and tf , is the optimal path with respect to the candidate 70
Optimal state trajectory
nodes established in 1. The nodes that make up the optimal path 65

correspond to the optimal switching instants (17). To compute 60


the optimal path, a dynamic programming approach is defined

Car speed [Km/h]


as follows. For any given node tji there is an optimal path that 55

connects that node to the final node tf . Let u∗tj be the optimal 50
i

tji
control signal that connects to the next node on its optimal 45

path and Jt∗j the cost of the whole optimal path connecting tji 40
i
to tf . The dynamic programming approach consists of going 35

through all state values backwards, from XN to X1 , and for


each node solving 0 5 10 15
Time [s]
n o
i+1,k
u∗tj = argmin Ji,j + Jt∗k . (19)
i
ui+1,k
i+1 Fig. 9. Candidate time values and optimal path after iteration 1
i,j

*
where the first term inside the brackets corresponds to the cost Iteration 2 (J = 0.028874)
70
of going from tji to tki+1 and the second term corresponds to the Optimal state trajectory
65
optimal cost of going from tki+1 to the final node tf . The optimal
cost of the node, Jt∗j , is then computed as the sum of both terms 60

Car speed [Km/h]


i
inside the brackets when (19) is achieved. The optimal decision 55

for node tji , i.e. the node tki+1 for which (19) is achieved, is also 50

registered. 45

When all nodes on the graph have been labeled with the optimal 40
cost to go an the optimal decision, the total optimal cost for
35
the state transfer problem is J ∗ ≡ Jt∗0 . The optimal path can
be easily reconstructed by starting from the first node t0 and 0 5 10 15
recursively jumping to the optimal decision until the final node Time [s]
tf is reached. Finally, the total optimal control signal u∗ can be
recovered from the individual optimal control signals along the Fig. 10. Candidate time values and optimal path after iteration
optimal path. 2
It is remarked that the solution is suboptimal in the sense that *
Iteration 3 (J = 0.028828)
the switching state values Xi are fixed and that the global 70
Optimal state trajectory
optimum may not be found. 65

Having determined the optimal nodes, i.e. the optimal switching 60


Car speed [Km/h]

instants (17), the process can be repeated by going back to 1 55


and choosing new candidate nodes nearer to the optimal ones
computed in this iteration. 50

45

40

5. RESULTS FOR THE MINIMUM-FUEL SPEED 35

TRANSFER PROBLEM WITH 3 GEARS


0 5 10 15
Time [s]

In this section, the hybrid dynamic optimization algorithm is


applied to solve the minimum fuel speed transfer (MFST) Fig. 11. Candidate time values and optimal path after iteration
problem for the non-linear car model, using a predefined set of 3 3
gears. Here, the MFST problem was considered with t0 = 0 and 6. CONCLUSIONS
tf = 15 seconds, with initial and final car speeds v0 = 30 Km/h
and vf = 70 Km/h, such that gear 2 is used when 30 ≤ v < 40,
The minimum-fuel speed transfer problem was presented and
gear 3 is used when 40 ≤ v < 55 and gear 4 is used when
55 ≤ v < 70. Terrain inclination and wind speed were assumed explored. Solution feasibility and plant parameter sensitivity
to be null. analysis were made. Also discussed was the solution degrada-
tion due to the maximum torque effect. A hybrid dynamic opti-
After 13 iterations, the resulting optimal switching instants mization algorithm for solving the minimum fuel speed transfer
are t∗2 = 1.227 seconds and t∗3 = 8.365 seconds with a problem in cruise control is presented. The algorithm proposed
corresponding performance index value of J ∗ = 28.74 × 10−3 . relies on a changing grid of possible instants to switch between
The evolution of the performance index along iterations of the gears and combines Dynamic Programming with Constrained
hybrid dynamic optimization algorithm is shown in figure 14. Optimal Control. The algorithm is formulated for first order
The resulting optimal control signal is shown in figure 15. hybrid systems but may be extended to higher orders at the
*
Iteration 4 (J = 0.028826) x 10
−3 Resulting optimal control signal
70 3.5

65

3
60
Car speed [Km/h]

55

Fuel flow [L/s]


2.5
50

45
Optimal state trajectory 2
40

35
1.5

0 5 10 15
Time [s]
1
0 5 10 15
Time[s]
Fig. 12. Candidate time values and optimal path after iteration
4 Fig. 15. Resulting optimal control for the speed transfer prob-
*
Iteration 13 (J = 0.028743) lem.
70
427.
65
Bryson, A. E., and Ho, Y. C. (1975). Applied Optimal Control.
60 Hemisphere, New York.
Bryson, A. E. (1999). Dynamic Optimization. Addison-Wesley.
Car speed [Km/h]

55
Ferreau, H. J., Lorini, G. and Diehl, M. (2006). Fast nonlinear
50 model predictive control of gasoline engines. Proc. 2006
45
IEEE Int. Conf. on Control Applications, Munich, Germany,
Optimal state trajectory 2754-2759.
40
Gausemeir, S., K.-P. Jaker and A. Trachtler (2010). Multi-
35 objective Optimization of a Vehicle Velocity Profile by
Means of Dynamic Programming. Prep. IFAC Symp. Ad-
0 5 10 15 vances in Automotive Control, AAC2010, Munich, Germany.
Time [s]
Hashimoto, S. , Okuda, H., Okada, Y., Adachi, S., Niwa, S.
and Kajitani, M. (2006). An engine control systems design
Fig. 13. Candidate time values and optimal path after iteration for low emission vehicles by generalised predictive control
13 based on identified model. Proc. 2006 IEEE Int. Conf. on
Performance index value along iterations Control Applications, Munich, Germany, 2411-2416.
0.029
Hedlund, S. and A. Rantzer (1999). Optimal Control of Hybrid
0.029 Systems. Proc. 38th CDC, Phoenix, Arizona, 3972-3977.
Performance index value (J)

Kolmanovsky, I. V. and D. P. Filev (2010). Terrain and traffic


0.0289
Optimized Vehicle Speed Control. Prep. IFAC Symp. Ad-
0.0289
vances in Automotive Control, AAC2010, Munich, Germany.
Luu, H. T., L.Nouvelire and S. Mammar (2010). Dynamic
0.0288 Programming for fuel consumption optimization on light
vehicle. Prep. IFAC Symp. Advances in Automotive Control,
0.0288
AAC2010, Munich, Germany.
0.0287 Saerens, B., J. Vandersteen, T. Persoons, M. Diehl and E. Van
den Bulck (2009). Minimization of the fuel consumption of a
0.0287
0 2 4 6 8 10 12 14 gasoline engine using dynamic optimization. Applied Energy
Iteration number 86:1582-1588.

Fig. 14. Evolution of the performance index value along 9 Appendix A. ITERATIVE SOLUTION FOR THE OPTIMAL
iterations of the hybrid dynamic optimization procedure CONTROL PROBLEM WITH TERMINAL CONSTRAINTS
expense of computational load. In turn, this may be reduced
Let
by replacing the gradient algorithm to solve state transfer with
constant dynamics by more efficient algorithms Ferreau et al. ẋ = f (x, u, t), t ∈ [t0 , tf ], x(t0 ) = x0 (A.1)
(2006). describe the nonlinear time-varying dynamics of a plant, with
given initial condition x0 , where x(t) ∈ Rn and u(t) ∈ Rm are
REFERENCES the state and input vectors at time t, respectively, and
Z tf
Bemporad, A. and N. Giorgetti (2006). Logic-Based Solu- J = φ(x(tf ), tf ) + L(x(t), u(t), t)dt (A.2)
tion Methods for Optimal Control of Hybrid Systems. IEEE t0
Trans. Autom. Control, 51(6):963-976. a performance index to maximize. A minimization problem
Bemporad, A. and M. Morari (1999). Control of systems inte- can also be formulated by maximizing the performance index
grating logic, dynamics and constraints. Automatica, 35:407- Jmin = −J.
The optimal control problem with terminal constraints consists Evaluate ψ at the terminal time and compute the gradient
in finding the input signal u∗ (t), t ∈ [t0 , tf ], for which the signals δuk (t) and δuη (t) for all t ∈ [t0 , tf ]
plant exhibits a state trajectory x∗ (t) such that the terminal state δuk (t) = [HuΦ (t) + ν T HuΨ (t)]T
value, x∗ (tf ), verifies a set of terminal constraint functions, in
the form of q restriction equations, δuη (t) = [HuΨ (t)]T Q−1 ψ(tf )
"
ψ1 (x(tf ), tf )
# " #
0 where δuk (t) allows improvement in the performance index
ψ(x(tf ), tf ) = ··· = ··· (A.3) value, and δuη (t) allows improvement of satisfying the ter-
ψq (x(tf ), tf ) 0 minal constraints i.e. allows feasibility of the optimal control
signal u(t) with respect to the terminal state constraint function
and such that the performance index value, J, is maximum. ψ.
An iterative numerical algorithm for obtaining the optimal con- 6. Compute and update the estimate of the optimal control
trol signal under these circumstances is now described Bryson signal
and Ho (1975). An initial estimate for the optimal control sig-
nal must be provided. Each iteration consists of the following Compute the control correction signal δu(t)
steps: δu(t) = −kδuk (t) − ηδuη (t)
1. Integrate state equation and update the estimate of the optimal control signal
Using the current estimate of the optimal control signal, u(t) ∈ u(t) ← u(t) + δu(t)
Rm , integrate the state equation A.1 to obtain the state evolution choosing k < 0 (k > 0) if maximizing (minimizing) the
x(t) ∈ Rn from t0 to tf . performance index, and 0 < η ≤ 1.
2. Integrate co-state equations 7. Evaluate stop criteria
Let λΦ (t), an (n×1) vector, and λΨ (t), an (n×q) matrix, be co- Compute the root-mean-square value of δu(t) using the stan-
state variables. Define the corresponding Hamiltonian functions dard definition s
as 1
Z tf
T
H Φ (λΦ , x, u, t) = L(x, u, t) + λΦ f (x, u, t), (δu)rms = [δu(t)]2 dt
t f − t 0 t0
T
H Ψ (λΨ , x, u, t) = λΨ f (x, u, t),
The algorithm stops if (δu)rms is smaller than a specified
and integrate backwards, from tf to t0 , the adjoint equations
threshold, or if the maximum number of iterations is reached.
∂L T ∂f
−[λ̇Φ ]T = HxΦ = + λΦ ,
∂x ∂x
T ∂f
−[λ̇Ψ ]T = HxΨ = λΨ ,
∂x
for which the terminal co-state conditions are
λΦ (tf ) = φTx (x(tf ), tf ),
λΨ (tf ) = ψxT (x(tf ), tf ).
3. Compute Hamiltonian partial derivatives
Compute the Hamiltonian functions partial derivatives with
respect to the control signal u for all t ∈ [t0 , tf ],
∂L T ∂f
HuΦ = + λΦ
∂u ∂u
Ψ Ψ T ∂f
Hu = λ
∂u
Hu (t) is a (1 × m) vector and HuΨ (t) is a (q × m) matrix.
Φ

4. Compute Lagrange multiplier vector ν


Compute ν (q × 1 vector)
ν = −Q−1 g
where Z tf
g= HuΨ (t)[HuΦ (t)]T dt
t0
is a (q × 1) vector and
Z tf
Q= HuΨ (t)[HuΨ (t)]T dt
t0
is a (q × q) matrix.
5. Compute gradient signals

You might also like