# Fuel-Efficient Driving Strategies for Heavy-Duty Vehicles: A Platooning Approach Based on Speed Profile Optimization

Authors: Sina Torabi; Mattias Wahde
Journal: Journal of Advanced Transportation
 (2018)

---

## Abstract

A method for reducing the fuel consumption of a platoon of heavy-duty vehicles (HDVs) is described and evaluated in simulations for homogeneous and heterogeneous platoons. The method, which is based on speed profile optimization and is referred to as P-SPO, was applied to a set of road profiles of 10 km length, resulting in fuel reduction of 15.8% for a homogeneous platoon and between 16.8% and 17.4% for heterogeneous platoons of different mass configurations, relative to the combination of standard cruise control (for the lead vehicle) and adaptive cruise control (for the follower vehicle). In a direct comparison with MPC-based approaches, it was found that P-SPO outperforms the fuel savings of such methods by around 3 percentage points for the entire platoon, in similar settings. In P-SPO, unlike most common platooning approaches, each vehicle within the platoon receives its own optimized speed profile, thus eliminating the intervehicle distance control problem. Moreover, the P-SPO approach requires only a simple vehicle controller, rather than the two-layer control architecture used in MPC-based approaches.


---

## Body

## 1. Introduction

Heavy-duty vehicles (HDVs) account for about a quarter of road transport emissions and around 5% of total EuropeanCO2 emissions [1]. Moreover, the demand for transportation of goods is expected to increase in the coming years. In order to deal with increasingly strict limitations on greenhouse gas emissions in the European Union (as well as all around the world), and also to cope with the likely increase in fossil fuel prices, HDV manufacturers and freight transportation sectors are under pressure to reduce fuel consumption. Heavy-duty vehicles driving at small intervehicle distances, a configuration known asplatooning, can exhibit reduced fuel consumption through reduced air drag. For this reason, the research on platooning has gained interest from both industry and academia recently. Moreover, apart from the economical and environmental benefits of platooning, there is also the potential of reducing traffic congestion by better utilization of current transportation infrastructures.In early attempts for controlling a vehicle platoon, the combination of cruise control (CC) and adaptive cruise control (ACC) was used. In this approach, the lead vehicle maintains a constant speed, using its cruise control, while the following vehicles in the platoon maintain a constant distance to the vehicle in front, using their adaptive cruise control [2–5]. Considering that the aerodynamic drag is responsible for as much as a quarter of the total fuel consumption, on flat roads the CC+ACC approach for platooning leads to fuel-optimal performance since it allows the vehicles to drive with short intervehicle distances. However, on a typical road, withvarying topography, this approach could lead to excessive acceleration and braking during uphill and downhill segments of a road in order to maintain the set speed, or the intervehicle distance. Such accelerations increase the vehicle’s fuel consumption significantly [6, 7] making the approach unsuitable for nonflat roads. Therefore, it is necessary to consider the impact of road topography in order to fully exploit the fuel saving potential of platooning. This can be achieved by allowing the speed of the vehicles to vary when driving on typical roads by generating fuel-efficient speed profiles, i.e., profiles representing the vehicle’s speed as a function of its position along the road.Platooning generally concerns optimization of the longitudinal dynamics of all the vehicles involved, in order to maximize fuel efficiency while guaranteeing safety. Most platooning work to date has been focused on generating a fuel-optimal platooning algorithm for the follower vehicles while the lead vehicle follows a fuel-efficient speed reference using, for instance, look-ahead control (LAC) [8–10]. These platooning controllers are, mostly, designed based on the model predictive control (MPC) framework that uses dynamic programming to compute an optimal speed reference over a short horizon (2-4 km) for the lead vehicle to follow, while the other vehicles follow the lead vehicle using a spacing policy, of which there are different kinds [11–13]. Since the speed reference is updated frequently (every few seconds [8, 10, 14, 15]), these methods require computationally heavy calculations to be performed iteratively during driving.In recent MPC-based approaches for platooning in which the impact of road topography on fuel efficiency has been considered [9, 10], all vehicles follow the same speed profile, which is generated taking into account the characteristics and limitations of all vehicles. In [9], on a synthetic road of 4 km length (with one uphill segment followed by a downhill segment), the fuel consumption of the platoon was reduced by 14% on the downhill segment of the road and 0.7% during the uphill segment, relative to the combination of CC and ACC. In [10], fuel savings of around 13% (depending on the platoon configuration) were obtained, relative to each vehicle’s fuel consumption when using CC, driving over a 45 km section of a typical Swedish highway.An alternative approach, however, is to generate an optimal lead vehicle speed profile for a longer horizon. In our previous work [16], Caltagirone et al. showed that speed profile optimization (SPO) with respect to fuel consumption by using a simple stochastic optimization algorithm can reduce the fuel consumption by 15% (on average) for the entire platoon. The main advantage of using SPO, compared to MPC-based methods, is that SPO does not require iterative online computations: once the speed profiles have been generated, over the entire horizon, they can be used without any further calculations.Much of our earlier work was, in fact, focused on the fuel consumption of asingle vehicle. Using simulations, in [16], it was found that, with SPO, the lead vehicle achieved higher fuel saving than with MPC-based methods. The potential fuel saving of speed profile optimization, for a single truck, was further investigated in our paper [17], which involved both simulations and thorough testing with real vehicles. In that paper, a more direct comparison was made between SPO and MPC-based methods. In cases where larger speed variations were allowed, in real vehicles (and in simulations) the proposed SPO method obtained 11% savings, compared to typical savings of 3 to 7% (depending on the road) obtained with MPC-based methods. In addition, in the more difficult case of a narrower speed range, the proposed SPO method reduced fuel consumption by 6%, compared to the 3% achieved using an MPC-based controller, in the exact same road and with the same allowed speed range. Moreover, in the same paper, it was shown that, despite the simplicity of the implemented longitudinal model of the HDV, the fuel savings results obtained withreal HDVs were similar to those obtained in the simulations.This paper, however, is mainly focused on HDVplatooning based on SPO, and will introduce a method referred to as Platooning SPO (P-SPO). As in [9, 10, 18], both homogeneous platoons and heterogeneous platoons will be considered. Here, a homogeneous platoon is defined as a platoon consisting of identical vehicles. In a heterogeneous platoon, the vehicles may differ with respect to their masses, engine types, etc. even though, here, only differences in mass will be considered. For heterogeneous platoons, in the approach proposed here (and contrary to the common leader-follower approaches in, for example, [9, 10]), an optimized speed profile is assigned to each vehicle. Each vehicle then follows its profileindependently of the other vehicles. These profiles are optimized together, using agenetic algorithm [19] and considering primarily safety and then fuel efficiency, of the entire platoon. Moreover, in this work, it is assumed that, during the simulations, the platoon’s motion is not affected by other traffic, an assumption that is common in studies involving platooningmethods (see, e.g., [9, 10, 20]).


## 2. Road and Speed Profile Representation

In this paper, as in [17], both the road profiles and the speed profiles are represented by sequences of Bézier splines, which are referred to as composite Bézier curves; see, e.g., [21]. Here, two-dimensional cubic Bézier splines of the following general form are used to model the profiles:(1)xu≡xu,yuT=P01-u3+3P1u1-u2+3P2u21-u+P3u3,where the vectors Pj are two-dimensional control points and u is a variable ranging from 0 to 1. In order to form a composite Bézier curve, a sequence of cubic Bézier splines are used in the following form:(2)x≡xiu,i=0,…,n-1where xi(u) is defined using (1) and n is the total number of splines in the composite curve. The number of splines for fitting a composite Bézier curve to a data set can be selected in various ways. For instance, it can be selected such that the composite curve goes through every data point in the data set. However, this approach is often not suitable due to the presence of noise in the collected data set. Moreover, reducing the number of splines also reduces the complexity of the problem as well as the size of the search space during optimization. Thus, in practice, the number of splines is typically much smaller than the number of data points; see Section 2.1 below.


### 2.1. Road Profiles

Since, in platooning, only the longitudinal dynamics of the vehicles is typically considered, the road profiles can be represented using the composite Bézier curves described in (2), where the two dimensions represent the longitudinal position along the road and the elevation, respectively. In other words, the road profiles can be modeled in the following form:(3)s,z≡siu,ziu,i=0,…,n-1where s is the longitudinal position and z is the elevation. With this representation, the road elevation can be written as z=z(s) since, for any position s along the road, the corresponding spline index i and u-value can be obtained. Here, the number of splines used for representing the data set ranges from 18 to 22 for each road profile of 10km. The accuracy of the fitted splines is discussed in Section 2.3 below.


### 2.2. Speed Profiles

Similar to the road profiles, the speed profiles were modeled using two-dimensional cubic composite Bézier curves in the following form:(4)s,v≡siu,viu,i=0,…,n-1where v is the longitudinal speed of the HDV and s again is the longitudinal position along the road. As in the case of road profiles, one could find the corresponding spline index and u-value, for any given position s, so that the speed can be computed and can therefore be written as v=v(s). Note that when the speed profiles are generated, same splines that were used in generating longitudinal position, si(u), in generating road profiles, are used here.


### 2.3. Road Data

For the purpose of testing the performance of the platooning method (proposed below; see Section3) in simulations, a set of road profiles was selected from a road between the two cities of Göteborg and Borås in Sweden. The road data were collected through the public site of Trafikverket (https://pmsv3.trafikverket.se) (Swedish Transport Administration). The collected data set contains, among other data, the elevation z, the covered distance along the road (from an absolute starting point), and the average slope (pitch) of the road (referred to as hilliness) for every 20 meters. The accuracy of the absolute elevation data is rather low (±4 meters). However, the accuracy of the slope, which is a more important measure for the cases considered here, is at 0.1%; that is, the error is at most 0.1 meters over 100 meters. For this paper, 10 road profiles of 10 km length were generated, 5 from the road from Göteborg to Borås and 5 in the opposite direction, by fitting composite Bézier curves (see Section 2.1) to each road section. The average absolute difference in slopepercentage, between the fitted splines and the collected data set, is 0.026. An example of a fitted curve is shown in Figure 1 where the cubic Bézier splines are shown by gray lines separated by vertical line segments and the original data are shown by filled dots. As one can see from this figure, the cubic Bézier splines are of different lengths. Figure 2 shows the fitted spline for the 54.5 km road segment from which the road profiles were extracted. The altitude variation within each profile is at least 23.7 meters and at most 114.7 meters.Figure 1
Comparison between the fitted Bézier splines and the original data, over a part of the road segment between Göteborg and Borås. The dots represent the original data and the gray curve represents the fitted splines. The vertical line segments separate splines.Figure 2
Top panel: the road between the two cities of Göteborg and Borås in Sweden. Bottom panel: the slope variation of the same road.


## 2.1. Road Profiles

Since, in platooning, only the longitudinal dynamics of the vehicles is typically considered, the road profiles can be represented using the composite Bézier curves described in (2), where the two dimensions represent the longitudinal position along the road and the elevation, respectively. In other words, the road profiles can be modeled in the following form:(3)s,z≡siu,ziu,i=0,…,n-1where s is the longitudinal position and z is the elevation. With this representation, the road elevation can be written as z=z(s) since, for any position s along the road, the corresponding spline index i and u-value can be obtained. Here, the number of splines used for representing the data set ranges from 18 to 22 for each road profile of 10km. The accuracy of the fitted splines is discussed in Section 2.3 below.


## 2.2. Speed Profiles

Similar to the road profiles, the speed profiles were modeled using two-dimensional cubic composite Bézier curves in the following form:(4)s,v≡siu,viu,i=0,…,n-1where v is the longitudinal speed of the HDV and s again is the longitudinal position along the road. As in the case of road profiles, one could find the corresponding spline index and u-value, for any given position s, so that the speed can be computed and can therefore be written as v=v(s). Note that when the speed profiles are generated, same splines that were used in generating longitudinal position, si(u), in generating road profiles, are used here.


## 2.3. Road Data

For the purpose of testing the performance of the platooning method (proposed below; see Section3) in simulations, a set of road profiles was selected from a road between the two cities of Göteborg and Borås in Sweden. The road data were collected through the public site of Trafikverket (https://pmsv3.trafikverket.se) (Swedish Transport Administration). The collected data set contains, among other data, the elevation z, the covered distance along the road (from an absolute starting point), and the average slope (pitch) of the road (referred to as hilliness) for every 20 meters. The accuracy of the absolute elevation data is rather low (±4 meters). However, the accuracy of the slope, which is a more important measure for the cases considered here, is at 0.1%; that is, the error is at most 0.1 meters over 100 meters. For this paper, 10 road profiles of 10 km length were generated, 5 from the road from Göteborg to Borås and 5 in the opposite direction, by fitting composite Bézier curves (see Section 2.1) to each road section. The average absolute difference in slopepercentage, between the fitted splines and the collected data set, is 0.026. An example of a fitted curve is shown in Figure 1 where the cubic Bézier splines are shown by gray lines separated by vertical line segments and the original data are shown by filled dots. As one can see from this figure, the cubic Bézier splines are of different lengths. Figure 2 shows the fitted spline for the 54.5 km road segment from which the road profiles were extracted. The altitude variation within each profile is at least 23.7 meters and at most 114.7 meters.Figure 1
Comparison between the fitted Bézier splines and the original data, over a part of the road segment between Göteborg and Borås. The dots represent the original data and the gray curve represents the fitted splines. The vertical line segments separate splines.Figure 2
Top panel: the road between the two cities of Göteborg and Borås in Sweden. Bottom panel: the slope variation of the same road.


## 3. Methods

In the approach used here, the fuel consumption minimization of the platoon relies on the generated optimized speed profiles. In this section, first, the HDV model will be briefly reviewed. Next, the baseline case against which the proposed platooning algorithm is compared will be introduced. Finally, the proposed approach for vehicle platooning based on speed profile optimization will be described.


### 3.1. HDV Model

The HDV model used here is similar to the standard models implemented in other platooning studies, e.g. [6, 8, 9, 14]. Here, as in [17], the parameters correspond to a 460 hp tractor-trailer combination. The HDV’s mass varies in the range from 30 to 40 tonnes. The longitudinal dynamics of each vehicle is governed by(5)mGv˙=Fe-Fb-Fd-Fr-Fg,where the terms on the right-hand side of the equation correspond to the forces experienced by the vehicle, namely, the engine force Fe, the braking force Fb, the air drag resistance force Fd, the rolling resistance force Fr, and the gravity force Fg. Furthermore, m(G) is the total inertial mass of the HDV and it is computed as follows:(6)mG=m+Jw+γG2γf2ηGηfJerw2,where G is the active gear, m is the mass of the vehicle, Jw and Je represent the engine and wheel inertia, respectively, γG and γf are the gearbox and final-drive ratios, ηG and ηf denote the gearbox and final-drive ratio efficiencies, and rw is the wheel radius. In order to compute the force Fe and also the fuel consumption, the inverse dynamics of (5) is considered, where the total external forces are combined with the requested acceleration from the vehicle’s controller to calculate the required torque from the engine. The fuel consumption rate is determined by interpolation of the torque-RPM-fuel map given the required torque and the engine speed. The total fuel consumption is then calculated by integrating the fuel consumption rate over time. Note that, for any given value of the engine speed, a certain maximum torque can be derived from the map just mentioned. The actual torque applied is limited by this value. As for the braking, a simple model has been used [6, 22], in which it is assumed that the truck can deliver any negative acceleration down to a given limit, here conservatively set to -2.5 m/s2 [22].The air drag resistance force,Fd, depends on the vehicle’s speed. The rolling resistance, Fr, and the gravitational force, Fg are determined by the road slope. Unlike the rolling resistance force, the gravitational force can be either resistive (during uphill driving) or propulsive (during downhill driving). For a detailed description of the model and how these forces are calculated, see [16]. One should note that although the longitudinal model implemented here might seem somewhat simple, the fuel savings results are reproducible in real HDVs, as was shown in our earlier paper [17].


### 3.2. Air Drag Reduction

The air drag resistance acting on a single vehicle is expressed as(7)Fd=12cDAρav2where cD is the air drag coefficient, A is the frontal area of the vehicle, ρa is the air density, and v is the vehicle’s speed. The air drag resistance reduces when the vehicles driving in a platoon, which is described as(8)Fd=12ΦdcDAρav2where Φ(d) is a coefficient (air drag ratio) that depends on the intervehicle distance. Here, Φ(d) is modeled as in [10, 20](9)Φdi=1-CD,1CD,2+diwhere di is the ith vehicle’s distance to its preceding vehicle (here, the general form of the equations (applicable to a platoon with any number of vehicles) will be given, even though, in the simulations presented below, the number of vehicles will be equal to 2, as described in Section 3.4).C D , 1 and CD,2 are constants, obtained by a least-squares fit to the experimental data from [23]. The experimental data and the fitted curve used here are shown in Figure 3 in [10]. As can be seen from that figure, the fit is not very good for small intervehicle distances (less than 10 m) but, nevertheless, it has been used here in order to allow a direct comparison with [10, 20].In this model, the air drag reduction is considered only for the follower vehicle, since the effect on the preceding vehicle is small in comparison.


### 3.3. Baseline Case

In order to evaluate the P-SPO platooning approach (described below), a baseline case is included for comparison, namely, the combination of standard cruise control (CC) and standard adaptive cruise control (ACC). In this setup, the lead vehicle aims to maintain a constant speed (using CC) while the follower vehicles attempt to maintain a constant distance to the preceding vehicle (using ACC).


#### 3.3.1. Standard Cruise Control

Here, the CC function is implemented using a simple PID controller with error signale(t)=vs-v(t), where vs is the reference speed (set as a constant for CC) and v(t) is the HDV’s instantaneous speed. The control output, u(t), is expressed as follows:(10)ut=Kpet+Ki∫0teτdτ+Kde˙twhere Kp, Ki, and Kd are hand-tuned proportional gain, integral gain, and derivative gain. The tuning of the PID controller was carried out in connection with the work for [17]. The gain parameters were set so that the simulated vehicle could follow the speed profile as similarly as possible with respect to the real HDV considered in that work. The requested vehicle acceleration, aR, is then computed by dividing the control output, u(t), by the total inertial mass, m(G).


#### 3.3.2. Standard Adaptive Cruise Control

For the baseline case, a standard ACC is used for controlling the intervehicle distance between the vehicles within a platoon. ACC allows a vehicle to maintain a desired distance to the preceding vehicle, while following the same speed trajectory. The requested acceleration is then given by the following expression [24]:(11)aR=k1di,i-1-d0+k2vi-1-viwhere di,i-1=xi-1-xi is the intervehicle distance, where xi=xi(t) represents the ith vehicle’s longitudinal position, vi=vi(t) is the ith vehicle’s speed, k1 and k2 are hand-tuned gains, and d0 is the desired intervehicle distance.


### 3.4. Platooning Based on SPO

Consider the problem of moving a platoon ofN HDVs from a given starting point to a given end point, in a case where the road profile (here represented by composite Bézier curve) is known in advance. The motion of the vehicles of the platoon, then, can be formulated as desired speed profiles, vd,i(s) defined for the ith vehicle of the platoon,a priori, over the complete road profile through which the platoon is driving. The desired speed profiles provide a varying set speed for each vehicle in the platoon, which is used as input to its PID controller that attempts to reach the set speed; see Section 3.3.1. Thus, in this method, henceforth referred to as thePlatooning SPO (P-SPO) method, the problem of minimizing the fuel consumption of a platoon of HDVs is reduced to finding the optimal speed profiles of each vehicle. One should note that unlike the other approaches mentioned in Section 1, in this approach [16, 17], each vehicle receives and follows its own optimized speed profileindependently of the other vehicles. In other words, there is no need for using a spacing policy for the following vehicles in a platoon.In this approach, the safety of the platoon is guaranteed by construction: in the speed profile generation procedure, the safe distances (see Section3.4.2 below) between vehicles are considered during the evaluation of a speed profile. Therefore, only speed profiles that keep the vehicles within the safe distance are returned by the optimization method. It is common to assume that the vehicles of a platoon are not prevented (by other vehicles) from following their speed profiles, so that the the motion prescribed by P-SPO can be robustly executed, using the PID controller. As they follow their individual speed profiles, the distance between the two HDVs will vary, as shown in the bottom panels of Figures 3 and 4, but with a minimum distance that never drops below the minimum safe distance (see Section 3.4.2 below), However, in the event that one HDV would fail to follow its speed profile, for whatever reason, the ACC function would, in our method, be activated if the distance between the two HDVs drops below the minimum safe distance. Note that the speed profiles are functions of position along the road. Thus, if an HDV is unable to follow its profile for some time, it can later resume following that profile at its current position along the road. The impact of cut-ins by other vehicles (potentially disrupting the platoon’s motion) is further discussed in Section 5.Figure 3
Top panel: one of the ten optimized sets of speed profiles for a homogeneous platoon of two HDVs. Second panel: the road profile. Third panel: the HDV’s controller outputu along the road, normalized by the total inertial mass m(G). Bottom panel: the intervehicle distance di,i-1, (solid line) and the corresponding safe distance, di,i-1safe, and (dashed line) computed using (12).Figure 4
Top panel: one of the ten optimized sets of speed profiles for a heterogeneous platoon of two HDVs. Second panel: the road profile. Third panel: the HDV’s controller outputu along the road, normalized by the total inertial mass m(G). Bottom panel: the intervehicle distance di,i-1, (solid line) and the corresponding safe distance, di,i-1safe, and (dashed line) computed using (12).In this work, as in many other works on platooning [9, 10, 25, 26] platoons of two vehicles have been considered, since this is generally sufficient to capture most of the benefits of platooning (except the variability in air drag characteristics between different consecutive vehicles in a platoon). However, the analysis presented here can of course be extended to platoons consisting of more than two vehicles.


#### 3.4.1. Evaluation

Assuming that a set of speed profiles is available, the HDVs of a platoon are simulated following their speed profiles, so that their fuel consumptions can be measured. A dedicated simulation environment was written (in C#.NET), implementing the HDV model and the baseline case for platooning, as described in Sections3.1 and 3.3, as well as the road and speed profiles described in Section 2 and the P-SPO method just described.In order to evaluate a set of speed profiles for a platoon over a given road profile, the simulation proceeds as follows: At each time step, the current longitudinal position of theith vehicle is used for calculating the desired speed from its speed profile. Since the speed profiles are defined in advance, the desired speed of the ith vehicle at any given position can be obtained easily, using the speed profile as a lookup table. The calculated desired speed is then fed to the ith vehicle’s PID controller as its reference speed. Note that the reference speed typically varies over a profile. Thus, due to the controller’s (nonzero) response time, the vehicle will not actually track the reference speed exactly, and neither is it required to do so in the method presented here. The procedure is repeated (for all the vehicles of the platoon) until the last vehicle passes the end point of the road profile.


#### 3.4.2. Optimization Method

In this work, the P-SPO method is carried out in simulation using a fairly standard genetic algorithm (GA) [19, 27]. GAs, which are search and optimization techniques guided by the principles of Darwinian evolution, have been successfully applied to optimization problems in various fields, but have only recently been used in the case of vehicle platooning [16, 17]. The objective function, to be minimized, was taken simply as the total fuel consumption of all considered vehicles. The GA was implemented as an integral part of the simulation environment described above. SPO was tested for the single vehicle fuel minimization problem in [16, 17]. For an HDVplatoon, P-SPO is used to generate a speed profile for each HDV separately. The speed profiles that aregenerated together must fulfill the following constraints: (i) the average speed of the entire platoon should not be below a certain threshold v¯min; (ii) the instantaneous speed of all vehicles, vi,max must be below an upper limit (the speed limit); (iii) the instantaneous minimum speed of all vehicles, vi,min, should be above a user-defined threshold. Moreover, in order to make sure that the platoon remains coherent, the intervehicle distance between consecutive vehicles must be below a certain threshold (40 m) at all times.In order to ensure the safety of the platoon, the intervehicle distances must always remain above the safe distance that, at each time step, is calculated as follows [13]:(12)di,i-1safet=d0+htvitwhere di,i-1safe(t) is the safe distance between the ith and the (i-1)th vehicle in the platoon, d0 is the minimum safe distance (5 m here), vi(t) is the ith vehicle’s speed, and h(t) is the variable time headway, expressed in the following form:(13)ht=h0-chvrtwhere h0>0 (constant) is the minimum time headway, ch>0 is a constant, and vr(t)=vi-1(t)-vi(t) is the relative speed. For safety reasons, the variable time headway h(t) is not allowed to become negative, while very large headways are undesirable as they increase the intervehicle distances. Thus, the variable time headway value is limited to the interval [0,1] (s). For this work, the value of h0 and ch are set to 0.1 and 0.2, respectively, as was proposed in [13]. During the evaluation of a set of speed profiles, if any instantaneous intervehicle distance (between consecutive vehicles) goes below the safe distance defined in (12), the speed profile set is discarded immediately.The optimization algorithm keeps a population ofM individuals (here usually 50-100), in this case each defining N speed profiles (one for each vehicle in the platoon). The individuals encode the optimizable parameters (i.e., the decision variables) in chromosomes consisting of floating-point numbers such that each number corresponds to the second (v) component (here denoted as Pi,j,j=0,…,3) of the jth two-dimensional control point of the ith spline in a set of speed profiles (see Section 2.2). There are, however, two additional requirements that should be considered when encoding and decoding a set of speed profiles. Since a speed profile is a composite Bézier curve consisting of several splines, positional (C0) and derivative (C1) continuity of the speed profile must be taken into account during encoding and decoding. C0 and C1 continuity ensure that, after each iteration of the optimization, the decoded chromosome forms a set of speed profiles in whicheach speed profile is continuous and smooth over the entire road profile. In order to make sure that these constraints are met, the following conditions must be hold:(14)Pi,3=Pi+1,0fori=0,…,n-1and(15)Pi,3-Pi,2=Pi+1,1-Pi+1,0fori=0,…,n-1Considering these requirements, the number of parameters (i.e. the length of the chromosome) will be L=N4+2(n-1)=N(2n+2) where n is the number of splines. Note that the speed profile optimization method only tweaks (during mutation) the second component of the control points, thus leaving s unchanged.For a given individual, the formed set of speed profiles from the decoding procedure is then evaluated as described in Section3.4.1. The evaluation results in a single number (fitness value), namely, the inverse of the cumulative fuel consumption of the entire platoon at the point where the last vehicle of the platoon reaches the end of the road profile. However, if the intervehicle distance falls below the safe distance at any point, the fitness value is set to 0. Next, if any of the constraints described above are violated, the fitness value is multiplied by a penalty term smaller than 1. For instance, the penalty term for a case in which the instantaneous intervehicle distance exceeds its maximum allowed value is calculated as follows: (16)pdi,i-1d=e-cddi,i-1/dmax-12,where di,i-1 is the maximum intervehicle distance between two consecutive vehicles of the platoon during the evaluation, cd is the penalty constant, and dmax is the maximum allowed intervehicle distance.Standard tournament selection is used for selection, during the optimization, with a given tournament sizeSt (typically 2–5) and a tournament selection probability of pt (around 0.7 to 0.8). Single-point crossover is applied to each pair of selected individuals with a probability of pc (around 0.7 to 0.9). Once two new individuals have been generated, mutation is applied with probability of pm (with relative probability of 1/L where L is the chromosome length), either full-range (with probability of 0.5) or real-number creep mutations (also with probability of 0.5). Finally, elitism is used to preserve the current best individual and pass it to the next generation.


## 3.1. HDV Model

The HDV model used here is similar to the standard models implemented in other platooning studies, e.g. [6, 8, 9, 14]. Here, as in [17], the parameters correspond to a 460 hp tractor-trailer combination. The HDV’s mass varies in the range from 30 to 40 tonnes. The longitudinal dynamics of each vehicle is governed by(5)mGv˙=Fe-Fb-Fd-Fr-Fg,where the terms on the right-hand side of the equation correspond to the forces experienced by the vehicle, namely, the engine force Fe, the braking force Fb, the air drag resistance force Fd, the rolling resistance force Fr, and the gravity force Fg. Furthermore, m(G) is the total inertial mass of the HDV and it is computed as follows:(6)mG=m+Jw+γG2γf2ηGηfJerw2,where G is the active gear, m is the mass of the vehicle, Jw and Je represent the engine and wheel inertia, respectively, γG and γf are the gearbox and final-drive ratios, ηG and ηf denote the gearbox and final-drive ratio efficiencies, and rw is the wheel radius. In order to compute the force Fe and also the fuel consumption, the inverse dynamics of (5) is considered, where the total external forces are combined with the requested acceleration from the vehicle’s controller to calculate the required torque from the engine. The fuel consumption rate is determined by interpolation of the torque-RPM-fuel map given the required torque and the engine speed. The total fuel consumption is then calculated by integrating the fuel consumption rate over time. Note that, for any given value of the engine speed, a certain maximum torque can be derived from the map just mentioned. The actual torque applied is limited by this value. As for the braking, a simple model has been used [6, 22], in which it is assumed that the truck can deliver any negative acceleration down to a given limit, here conservatively set to -2.5 m/s2 [22].The air drag resistance force,Fd, depends on the vehicle’s speed. The rolling resistance, Fr, and the gravitational force, Fg are determined by the road slope. Unlike the rolling resistance force, the gravitational force can be either resistive (during uphill driving) or propulsive (during downhill driving). For a detailed description of the model and how these forces are calculated, see [16]. One should note that although the longitudinal model implemented here might seem somewhat simple, the fuel savings results are reproducible in real HDVs, as was shown in our earlier paper [17].


## 3.2. Air Drag Reduction

The air drag resistance acting on a single vehicle is expressed as(7)Fd=12cDAρav2where cD is the air drag coefficient, A is the frontal area of the vehicle, ρa is the air density, and v is the vehicle’s speed. The air drag resistance reduces when the vehicles driving in a platoon, which is described as(8)Fd=12ΦdcDAρav2where Φ(d) is a coefficient (air drag ratio) that depends on the intervehicle distance. Here, Φ(d) is modeled as in [10, 20](9)Φdi=1-CD,1CD,2+diwhere di is the ith vehicle’s distance to its preceding vehicle (here, the general form of the equations (applicable to a platoon with any number of vehicles) will be given, even though, in the simulations presented below, the number of vehicles will be equal to 2, as described in Section 3.4).C D , 1 and CD,2 are constants, obtained by a least-squares fit to the experimental data from [23]. The experimental data and the fitted curve used here are shown in Figure 3 in [10]. As can be seen from that figure, the fit is not very good for small intervehicle distances (less than 10 m) but, nevertheless, it has been used here in order to allow a direct comparison with [10, 20].In this model, the air drag reduction is considered only for the follower vehicle, since the effect on the preceding vehicle is small in comparison.


## 3.3. Baseline Case

In order to evaluate the P-SPO platooning approach (described below), a baseline case is included for comparison, namely, the combination of standard cruise control (CC) and standard adaptive cruise control (ACC). In this setup, the lead vehicle aims to maintain a constant speed (using CC) while the follower vehicles attempt to maintain a constant distance to the preceding vehicle (using ACC).


### 3.3.1. Standard Cruise Control

Here, the CC function is implemented using a simple PID controller with error signale(t)=vs-v(t), where vs is the reference speed (set as a constant for CC) and v(t) is the HDV’s instantaneous speed. The control output, u(t), is expressed as follows:(10)ut=Kpet+Ki∫0teτdτ+Kde˙twhere Kp, Ki, and Kd are hand-tuned proportional gain, integral gain, and derivative gain. The tuning of the PID controller was carried out in connection with the work for [17]. The gain parameters were set so that the simulated vehicle could follow the speed profile as similarly as possible with respect to the real HDV considered in that work. The requested vehicle acceleration, aR, is then computed by dividing the control output, u(t), by the total inertial mass, m(G).


### 3.3.2. Standard Adaptive Cruise Control

For the baseline case, a standard ACC is used for controlling the intervehicle distance between the vehicles within a platoon. ACC allows a vehicle to maintain a desired distance to the preceding vehicle, while following the same speed trajectory. The requested acceleration is then given by the following expression [24]:(11)aR=k1di,i-1-d0+k2vi-1-viwhere di,i-1=xi-1-xi is the intervehicle distance, where xi=xi(t) represents the ith vehicle’s longitudinal position, vi=vi(t) is the ith vehicle’s speed, k1 and k2 are hand-tuned gains, and d0 is the desired intervehicle distance.


## 3.3.1. Standard Cruise Control

Here, the CC function is implemented using a simple PID controller with error signale(t)=vs-v(t), where vs is the reference speed (set as a constant for CC) and v(t) is the HDV’s instantaneous speed. The control output, u(t), is expressed as follows:(10)ut=Kpet+Ki∫0teτdτ+Kde˙twhere Kp, Ki, and Kd are hand-tuned proportional gain, integral gain, and derivative gain. The tuning of the PID controller was carried out in connection with the work for [17]. The gain parameters were set so that the simulated vehicle could follow the speed profile as similarly as possible with respect to the real HDV considered in that work. The requested vehicle acceleration, aR, is then computed by dividing the control output, u(t), by the total inertial mass, m(G).


## 3.3.2. Standard Adaptive Cruise Control

For the baseline case, a standard ACC is used for controlling the intervehicle distance between the vehicles within a platoon. ACC allows a vehicle to maintain a desired distance to the preceding vehicle, while following the same speed trajectory. The requested acceleration is then given by the following expression [24]:(11)aR=k1di,i-1-d0+k2vi-1-viwhere di,i-1=xi-1-xi is the intervehicle distance, where xi=xi(t) represents the ith vehicle’s longitudinal position, vi=vi(t) is the ith vehicle’s speed, k1 and k2 are hand-tuned gains, and d0 is the desired intervehicle distance.


## 3.4. Platooning Based on SPO

Consider the problem of moving a platoon ofN HDVs from a given starting point to a given end point, in a case where the road profile (here represented by composite Bézier curve) is known in advance. The motion of the vehicles of the platoon, then, can be formulated as desired speed profiles, vd,i(s) defined for the ith vehicle of the platoon,a priori, over the complete road profile through which the platoon is driving. The desired speed profiles provide a varying set speed for each vehicle in the platoon, which is used as input to its PID controller that attempts to reach the set speed; see Section 3.3.1. Thus, in this method, henceforth referred to as thePlatooning SPO (P-SPO) method, the problem of minimizing the fuel consumption of a platoon of HDVs is reduced to finding the optimal speed profiles of each vehicle. One should note that unlike the other approaches mentioned in Section 1, in this approach [16, 17], each vehicle receives and follows its own optimized speed profileindependently of the other vehicles. In other words, there is no need for using a spacing policy for the following vehicles in a platoon.In this approach, the safety of the platoon is guaranteed by construction: in the speed profile generation procedure, the safe distances (see Section3.4.2 below) between vehicles are considered during the evaluation of a speed profile. Therefore, only speed profiles that keep the vehicles within the safe distance are returned by the optimization method. It is common to assume that the vehicles of a platoon are not prevented (by other vehicles) from following their speed profiles, so that the the motion prescribed by P-SPO can be robustly executed, using the PID controller. As they follow their individual speed profiles, the distance between the two HDVs will vary, as shown in the bottom panels of Figures 3 and 4, but with a minimum distance that never drops below the minimum safe distance (see Section 3.4.2 below), However, in the event that one HDV would fail to follow its speed profile, for whatever reason, the ACC function would, in our method, be activated if the distance between the two HDVs drops below the minimum safe distance. Note that the speed profiles are functions of position along the road. Thus, if an HDV is unable to follow its profile for some time, it can later resume following that profile at its current position along the road. The impact of cut-ins by other vehicles (potentially disrupting the platoon’s motion) is further discussed in Section 5.Figure 3
Top panel: one of the ten optimized sets of speed profiles for a homogeneous platoon of two HDVs. Second panel: the road profile. Third panel: the HDV’s controller outputu along the road, normalized by the total inertial mass m(G). Bottom panel: the intervehicle distance di,i-1, (solid line) and the corresponding safe distance, di,i-1safe, and (dashed line) computed using (12).Figure 4
Top panel: one of the ten optimized sets of speed profiles for a heterogeneous platoon of two HDVs. Second panel: the road profile. Third panel: the HDV’s controller outputu along the road, normalized by the total inertial mass m(G). Bottom panel: the intervehicle distance di,i-1, (solid line) and the corresponding safe distance, di,i-1safe, and (dashed line) computed using (12).In this work, as in many other works on platooning [9, 10, 25, 26] platoons of two vehicles have been considered, since this is generally sufficient to capture most of the benefits of platooning (except the variability in air drag characteristics between different consecutive vehicles in a platoon). However, the analysis presented here can of course be extended to platoons consisting of more than two vehicles.


### 3.4.1. Evaluation

Assuming that a set of speed profiles is available, the HDVs of a platoon are simulated following their speed profiles, so that their fuel consumptions can be measured. A dedicated simulation environment was written (in C#.NET), implementing the HDV model and the baseline case for platooning, as described in Sections3.1 and 3.3, as well as the road and speed profiles described in Section 2 and the P-SPO method just described.In order to evaluate a set of speed profiles for a platoon over a given road profile, the simulation proceeds as follows: At each time step, the current longitudinal position of theith vehicle is used for calculating the desired speed from its speed profile. Since the speed profiles are defined in advance, the desired speed of the ith vehicle at any given position can be obtained easily, using the speed profile as a lookup table. The calculated desired speed is then fed to the ith vehicle’s PID controller as its reference speed. Note that the reference speed typically varies over a profile. Thus, due to the controller’s (nonzero) response time, the vehicle will not actually track the reference speed exactly, and neither is it required to do so in the method presented here. The procedure is repeated (for all the vehicles of the platoon) until the last vehicle passes the end point of the road profile.


### 3.4.2. Optimization Method

In this work, the P-SPO method is carried out in simulation using a fairly standard genetic algorithm (GA) [19, 27]. GAs, which are search and optimization techniques guided by the principles of Darwinian evolution, have been successfully applied to optimization problems in various fields, but have only recently been used in the case of vehicle platooning [16, 17]. The objective function, to be minimized, was taken simply as the total fuel consumption of all considered vehicles. The GA was implemented as an integral part of the simulation environment described above. SPO was tested for the single vehicle fuel minimization problem in [16, 17]. For an HDVplatoon, P-SPO is used to generate a speed profile for each HDV separately. The speed profiles that aregenerated together must fulfill the following constraints: (i) the average speed of the entire platoon should not be below a certain threshold v¯min; (ii) the instantaneous speed of all vehicles, vi,max must be below an upper limit (the speed limit); (iii) the instantaneous minimum speed of all vehicles, vi,min, should be above a user-defined threshold. Moreover, in order to make sure that the platoon remains coherent, the intervehicle distance between consecutive vehicles must be below a certain threshold (40 m) at all times.In order to ensure the safety of the platoon, the intervehicle distances must always remain above the safe distance that, at each time step, is calculated as follows [13]:(12)di,i-1safet=d0+htvitwhere di,i-1safe(t) is the safe distance between the ith and the (i-1)th vehicle in the platoon, d0 is the minimum safe distance (5 m here), vi(t) is the ith vehicle’s speed, and h(t) is the variable time headway, expressed in the following form:(13)ht=h0-chvrtwhere h0>0 (constant) is the minimum time headway, ch>0 is a constant, and vr(t)=vi-1(t)-vi(t) is the relative speed. For safety reasons, the variable time headway h(t) is not allowed to become negative, while very large headways are undesirable as they increase the intervehicle distances. Thus, the variable time headway value is limited to the interval [0,1] (s). For this work, the value of h0 and ch are set to 0.1 and 0.2, respectively, as was proposed in [13]. During the evaluation of a set of speed profiles, if any instantaneous intervehicle distance (between consecutive vehicles) goes below the safe distance defined in (12), the speed profile set is discarded immediately.The optimization algorithm keeps a population ofM individuals (here usually 50-100), in this case each defining N speed profiles (one for each vehicle in the platoon). The individuals encode the optimizable parameters (i.e., the decision variables) in chromosomes consisting of floating-point numbers such that each number corresponds to the second (v) component (here denoted as Pi,j,j=0,…,3) of the jth two-dimensional control point of the ith spline in a set of speed profiles (see Section 2.2). There are, however, two additional requirements that should be considered when encoding and decoding a set of speed profiles. Since a speed profile is a composite Bézier curve consisting of several splines, positional (C0) and derivative (C1) continuity of the speed profile must be taken into account during encoding and decoding. C0 and C1 continuity ensure that, after each iteration of the optimization, the decoded chromosome forms a set of speed profiles in whicheach speed profile is continuous and smooth over the entire road profile. In order to make sure that these constraints are met, the following conditions must be hold:(14)Pi,3=Pi+1,0fori=0,…,n-1and(15)Pi,3-Pi,2=Pi+1,1-Pi+1,0fori=0,…,n-1Considering these requirements, the number of parameters (i.e. the length of the chromosome) will be L=N4+2(n-1)=N(2n+2) where n is the number of splines. Note that the speed profile optimization method only tweaks (during mutation) the second component of the control points, thus leaving s unchanged.For a given individual, the formed set of speed profiles from the decoding procedure is then evaluated as described in Section3.4.1. The evaluation results in a single number (fitness value), namely, the inverse of the cumulative fuel consumption of the entire platoon at the point where the last vehicle of the platoon reaches the end of the road profile. However, if the intervehicle distance falls below the safe distance at any point, the fitness value is set to 0. Next, if any of the constraints described above are violated, the fitness value is multiplied by a penalty term smaller than 1. For instance, the penalty term for a case in which the instantaneous intervehicle distance exceeds its maximum allowed value is calculated as follows: (16)pdi,i-1d=e-cddi,i-1/dmax-12,where di,i-1 is the maximum intervehicle distance between two consecutive vehicles of the platoon during the evaluation, cd is the penalty constant, and dmax is the maximum allowed intervehicle distance.Standard tournament selection is used for selection, during the optimization, with a given tournament sizeSt (typically 2–5) and a tournament selection probability of pt (around 0.7 to 0.8). Single-point crossover is applied to each pair of selected individuals with a probability of pc (around 0.7 to 0.9). Once two new individuals have been generated, mutation is applied with probability of pm (with relative probability of 1/L where L is the chromosome length), either full-range (with probability of 0.5) or real-number creep mutations (also with probability of 0.5). Finally, elitism is used to preserve the current best individual and pass it to the next generation.


## 3.4.1. Evaluation

Assuming that a set of speed profiles is available, the HDVs of a platoon are simulated following their speed profiles, so that their fuel consumptions can be measured. A dedicated simulation environment was written (in C#.NET), implementing the HDV model and the baseline case for platooning, as described in Sections3.1 and 3.3, as well as the road and speed profiles described in Section 2 and the P-SPO method just described.In order to evaluate a set of speed profiles for a platoon over a given road profile, the simulation proceeds as follows: At each time step, the current longitudinal position of theith vehicle is used for calculating the desired speed from its speed profile. Since the speed profiles are defined in advance, the desired speed of the ith vehicle at any given position can be obtained easily, using the speed profile as a lookup table. The calculated desired speed is then fed to the ith vehicle’s PID controller as its reference speed. Note that the reference speed typically varies over a profile. Thus, due to the controller’s (nonzero) response time, the vehicle will not actually track the reference speed exactly, and neither is it required to do so in the method presented here. The procedure is repeated (for all the vehicles of the platoon) until the last vehicle passes the end point of the road profile.


## 3.4.2. Optimization Method

In this work, the P-SPO method is carried out in simulation using a fairly standard genetic algorithm (GA) [19, 27]. GAs, which are search and optimization techniques guided by the principles of Darwinian evolution, have been successfully applied to optimization problems in various fields, but have only recently been used in the case of vehicle platooning [16, 17]. The objective function, to be minimized, was taken simply as the total fuel consumption of all considered vehicles. The GA was implemented as an integral part of the simulation environment described above. SPO was tested for the single vehicle fuel minimization problem in [16, 17]. For an HDVplatoon, P-SPO is used to generate a speed profile for each HDV separately. The speed profiles that aregenerated together must fulfill the following constraints: (i) the average speed of the entire platoon should not be below a certain threshold v¯min; (ii) the instantaneous speed of all vehicles, vi,max must be below an upper limit (the speed limit); (iii) the instantaneous minimum speed of all vehicles, vi,min, should be above a user-defined threshold. Moreover, in order to make sure that the platoon remains coherent, the intervehicle distance between consecutive vehicles must be below a certain threshold (40 m) at all times.In order to ensure the safety of the platoon, the intervehicle distances must always remain above the safe distance that, at each time step, is calculated as follows [13]:(12)di,i-1safet=d0+htvitwhere di,i-1safe(t) is the safe distance between the ith and the (i-1)th vehicle in the platoon, d0 is the minimum safe distance (5 m here), vi(t) is the ith vehicle’s speed, and h(t) is the variable time headway, expressed in the following form:(13)ht=h0-chvrtwhere h0>0 (constant) is the minimum time headway, ch>0 is a constant, and vr(t)=vi-1(t)-vi(t) is the relative speed. For safety reasons, the variable time headway h(t) is not allowed to become negative, while very large headways are undesirable as they increase the intervehicle distances. Thus, the variable time headway value is limited to the interval [0,1] (s). For this work, the value of h0 and ch are set to 0.1 and 0.2, respectively, as was proposed in [13]. During the evaluation of a set of speed profiles, if any instantaneous intervehicle distance (between consecutive vehicles) goes below the safe distance defined in (12), the speed profile set is discarded immediately.The optimization algorithm keeps a population ofM individuals (here usually 50-100), in this case each defining N speed profiles (one for each vehicle in the platoon). The individuals encode the optimizable parameters (i.e., the decision variables) in chromosomes consisting of floating-point numbers such that each number corresponds to the second (v) component (here denoted as Pi,j,j=0,…,3) of the jth two-dimensional control point of the ith spline in a set of speed profiles (see Section 2.2). There are, however, two additional requirements that should be considered when encoding and decoding a set of speed profiles. Since a speed profile is a composite Bézier curve consisting of several splines, positional (C0) and derivative (C1) continuity of the speed profile must be taken into account during encoding and decoding. C0 and C1 continuity ensure that, after each iteration of the optimization, the decoded chromosome forms a set of speed profiles in whicheach speed profile is continuous and smooth over the entire road profile. In order to make sure that these constraints are met, the following conditions must be hold:(14)Pi,3=Pi+1,0fori=0,…,n-1and(15)Pi,3-Pi,2=Pi+1,1-Pi+1,0fori=0,…,n-1Considering these requirements, the number of parameters (i.e. the length of the chromosome) will be L=N4+2(n-1)=N(2n+2) where n is the number of splines. Note that the speed profile optimization method only tweaks (during mutation) the second component of the control points, thus leaving s unchanged.For a given individual, the formed set of speed profiles from the decoding procedure is then evaluated as described in Section3.4.1. The evaluation results in a single number (fitness value), namely, the inverse of the cumulative fuel consumption of the entire platoon at the point where the last vehicle of the platoon reaches the end of the road profile. However, if the intervehicle distance falls below the safe distance at any point, the fitness value is set to 0. Next, if any of the constraints described above are violated, the fitness value is multiplied by a penalty term smaller than 1. For instance, the penalty term for a case in which the instantaneous intervehicle distance exceeds its maximum allowed value is calculated as follows: (16)pdi,i-1d=e-cddi,i-1/dmax-12,where di,i-1 is the maximum intervehicle distance between two consecutive vehicles of the platoon during the evaluation, cd is the penalty constant, and dmax is the maximum allowed intervehicle distance.Standard tournament selection is used for selection, during the optimization, with a given tournament sizeSt (typically 2–5) and a tournament selection probability of pt (around 0.7 to 0.8). Single-point crossover is applied to each pair of selected individuals with a probability of pc (around 0.7 to 0.9). Once two new individuals have been generated, mutation is applied with probability of pm (with relative probability of 1/L where L is the chromosome length), either full-range (with probability of 0.5) or real-number creep mutations (also with probability of 0.5). Finally, elitism is used to preserve the current best individual and pass it to the next generation.


## 4. Simulation Results

The method described in Section3.4 was applied, in simulation, to each of the 10 km long road profiles described in Section 2 both with a homogeneous and a heterogeneous platoon. For the homogeneous platoon, all the vehicles had the same mass, set to 30 tonnes here. For the heterogeneous platoon, two general mass configurations were considered, namely, (i) lighter HDV in front and heavier HDV in the back and (ii) heavier HDV in front and lighter HDV in the back. First, however, the platoons’ fuel consumption (both homogeneous and heterogeneous) were measured when driving with the baseline case, i.e. the combination of CC+ACC, over all 10 road profiles. For the baseline case, the standard CC speed reference was set to 80 km/h and the desired distance for ACC was set to the minimum allowed value computed using (12) at each time step. A more difficult case (for comparison) was also considered, which was proposed and tested in our earlier work [16], where the lead vehicle of the platoon drives according to its optimized speed profile while the follower vehicle uses ACC in an attempt to follow the same speed trajectory (referred to as SPO+ACC). In this case, as in [16], the desired distance was set to the minimum allowed safe distance; see (12) and (13).


### 4.1. Optimization Setup

Both in homogeneous and heterogeneous platoons, at the early stages of the optimization, the P-SPO method is used to optimize a single speed profile for the entire platoon. This procedure is used to speed up the optimization progress, by avoiding the possibility of having to discard profiles that result in collisions between HDVs. Next (after a certain number of generations, typically a few hundred), the P-SPO method is used to optimize each vehicle’s speed profile, rather than optimizing a single profile for the entire platoon, discarding any set of profiles that result in collisions. Therefore, when the optimization is finished, each vehicle will have its own speed profile to follow that (slightly) differs from the other vehicles’ speed profiles. With this approach, the fuel saving potential of driving at close intervehicle distances is fully exploited without compromising the platoon’s safety.During the optimization, the constraints on the average speed, the minimum instantaneous speed, and the maximum allowed speed were set to 80 km/h, 60 km/h, and 90 km/h, respectively. Moreover, the minimum allowed intervehicle distance, at each time step, was calculated based on (12) and the maximum allowed intervehicle distance was set to 40 meters. The initial spacing of the vehicles as they entered a road profile was 15 meters.


### 4.2. Homogeneous Platoon

The results obtained from the simulations for a homogeneous platoon of 30 tonne HDVs are given in Table1. In this table, the middle column shows the fuel savings, relative to CC+ ACC, obtained when the lead vehicle follows an optimized speed profile generated using the SPO method, while the follower vehicle tracks the same speed profile using ACC with the desired intervehicle distance set to the minimum allowed safe distance (at each time step). The right-most column of the table shows the fuel savings obtained when each vehicle follows its own optimized speed profile. As can be seen from the table, using SPO leads to large fuel savings in comparison to the case of CC+ACC. However, for a homogeneous platoon, the additional savings obtained when the speed profiles are allowed to differ between vehicles are rather minor. In both cases, the fuel consumption of the entire platoon was reduced by around 16% on average, compared to CC+ACC. An example of the optimized set of speed profiles optimized for road profile 9 when using the P-SPO method is shown in Figure 3, along with the consecutive vehicles intervehicle distances. As can be seen from the figure and the obtained fuel savings from Table 1, by using the P-SPO method that does not force the intervehicle distance to remain constant, the fuel saving can be further improved. In other words, individual speed profile optimization can improve the fuel consumption even though in most cases the effect is very small. The reason is that, by individual optimization, the vehicles are not forced to accelerate or brake, during uphill or downhill driving, to maintain their distance to the preceding vehicle.Table 1
The normalized fuel savings obtained in the simulations for a homogeneous platoon of two 30 tonne HDVs over all the road profiles. The middle column shows the fuel savings obtained with SPO+ACC, whereas the right-most column shows the fuel savings obtained with P-SPO. The normalization was carried out with respect to the baseline case, i.e., CC+ACC where the lead vehicle drives at the constant speed of 80 km/h and the intervehicle distance is set to the allowed minimum.
Saving (%) Road profile SPO + ACC P-SPO Profile 1 11.93 12.41 Profile 2 12.38 12.26 Profile 3 25.70 25.83 Profile 4 8.78 8.81 Profile 5 18.21 18.29 Profile 6 11.76 12.18 Profile 7 16.57 16.91 Profile 8 8.04 8.03 Profile 9 25.05 25.69 Profile 10 17.52 17.54  Average saving (%): 15.59 15.79However, one should note that, for the SPO+ACC case, the intervehicle distance (set to its minimum allowed value, as mentioned above) was much smaller than in the case of P-SPO. Driving all the time at the small intervehicle distances required (in this comparison) by SPO+ACC is undesirable for the drivers, though, since errors in reading distance and relative speed may lead to dangerous situations; see also the second paragraph in Section5.


### 4.3. Heterogeneous Platoons

Similar to the case of homogeneous platoon, for a heterogeneous platoon, the optimization starts by assigning identical speed profiles to all vehicles for a number of generations (in this case, 1000), as mentioned in Section4.1. After that, the optimizer is allowed to assign different speed profiles for each vehicle, which are optimized together. This procedure will generally result in different speed profiles for each vehicle of a platoon once the optimization has been completed. During the optimization, the constraints on the average speed, the minimum instantaneous speed, the maximum instantaneous speed, and the maximum allowed intervehicle distance were set to the same value as in the homogeneous platoon described above. Moreover, the safe distance was calculated using (12).In this paper, different heterogeneous platoons configurations of two general forms were considered. In the first configuration, the lead vehicle is lighter (referred to as Configuration I), while in the second configuration (Configuration II), the heavier vehicle is in the lead position. The masses range from 30 to 40 tonnes, and the following configurations have been taken into account: (i) 30 tonnes (lead vehicle) 35 tonnes (follower vehicle), (Configuration I-a); 30 tonnes 40 tonnes (Configuration I-b); 35 tonnes 30 tonnes (Configuration II-a); and 40 tonnes 30 tonnes (Configuration II-b).The results obtained from the simulations for different mass configurations defined above are given in Table2. In this table, the middle column shows the average fuel savings obtained (over all road profiles) when the lead vehicle follows an optimized speed profile and the follower vehicle uses ACC function to track the preceding vehicle’s speed profile while maintaining a safe distance, calculated using (12). The right-most column of the table shows the average fuel savings obtained (over all the road profiles) when each vehicle follows its own optimized speed profile. From Table 2, it is evident that the SPO, both in SPO+ACC and P-SPO, leads to large fuel savings, ranging from 15.22% to 17.43% for different mass configurations within the platoon, relative to CC+ACC. Furthermore, the fuel savings reported in Table 2 show that the P-SPO method for platooning can further improve, by up to 1.8 percentage points (see the third row in Table 2) the obtained savings compared to SPO+ACC by allowing each vehicle’s speed profile to be optimized separately. An example of an optimized set of speed profiles for a heterogeneous platoon is shown in Figure 4. As can be seen from the figure, with the P-SPO approach, the intervehicle distance can vary based on the road topography and the mass of the HDVs, thus, allowing the platoon to drive through a road with varying topography without requiring the vehicles to follow an specific spacing policy and, therefore, achieving higher fuel savings for a heterogeneous platoon relative to SPO+ACC.Table 2
The average fuel savings obtained in the simulations for a heterogeneous platoon of two HDV, with different mass configurations, over all the road profiles. The middle column shows the fuel savings obtained when the lead vehicle follows the optimized speed profile and the follower vehicles follow the same profile while maintaining the desired intervehicle distance (using ACC). The desired intervehicle distance is set to the minimum allowed safe distance; see (12). The right-most column shows the fuel savings obtained when each vehicle follows its own optimized speed profile. All the fuel savings are normalized with respect to the baseline case, i.e., CC+ACC where the lead vehicle drives at the constant speed of 80 km/h and the inter-vehicle distance is set to the allowed minimum.
Average saving (%) Platoon configuration SPO + ACC P-SPO Configuration I-a 15.26 16.76 Configuration I-b 15.75 16.94 Configuration II-a 15.22 17.05 Configuration II-b 17.23 17.43


## 4.1. Optimization Setup

Both in homogeneous and heterogeneous platoons, at the early stages of the optimization, the P-SPO method is used to optimize a single speed profile for the entire platoon. This procedure is used to speed up the optimization progress, by avoiding the possibility of having to discard profiles that result in collisions between HDVs. Next (after a certain number of generations, typically a few hundred), the P-SPO method is used to optimize each vehicle’s speed profile, rather than optimizing a single profile for the entire platoon, discarding any set of profiles that result in collisions. Therefore, when the optimization is finished, each vehicle will have its own speed profile to follow that (slightly) differs from the other vehicles’ speed profiles. With this approach, the fuel saving potential of driving at close intervehicle distances is fully exploited without compromising the platoon’s safety.During the optimization, the constraints on the average speed, the minimum instantaneous speed, and the maximum allowed speed were set to 80 km/h, 60 km/h, and 90 km/h, respectively. Moreover, the minimum allowed intervehicle distance, at each time step, was calculated based on (12) and the maximum allowed intervehicle distance was set to 40 meters. The initial spacing of the vehicles as they entered a road profile was 15 meters.


## 4.2. Homogeneous Platoon

The results obtained from the simulations for a homogeneous platoon of 30 tonne HDVs are given in Table1. In this table, the middle column shows the fuel savings, relative to CC+ ACC, obtained when the lead vehicle follows an optimized speed profile generated using the SPO method, while the follower vehicle tracks the same speed profile using ACC with the desired intervehicle distance set to the minimum allowed safe distance (at each time step). The right-most column of the table shows the fuel savings obtained when each vehicle follows its own optimized speed profile. As can be seen from the table, using SPO leads to large fuel savings in comparison to the case of CC+ACC. However, for a homogeneous platoon, the additional savings obtained when the speed profiles are allowed to differ between vehicles are rather minor. In both cases, the fuel consumption of the entire platoon was reduced by around 16% on average, compared to CC+ACC. An example of the optimized set of speed profiles optimized for road profile 9 when using the P-SPO method is shown in Figure 3, along with the consecutive vehicles intervehicle distances. As can be seen from the figure and the obtained fuel savings from Table 1, by using the P-SPO method that does not force the intervehicle distance to remain constant, the fuel saving can be further improved. In other words, individual speed profile optimization can improve the fuel consumption even though in most cases the effect is very small. The reason is that, by individual optimization, the vehicles are not forced to accelerate or brake, during uphill or downhill driving, to maintain their distance to the preceding vehicle.Table 1
The normalized fuel savings obtained in the simulations for a homogeneous platoon of two 30 tonne HDVs over all the road profiles. The middle column shows the fuel savings obtained with SPO+ACC, whereas the right-most column shows the fuel savings obtained with P-SPO. The normalization was carried out with respect to the baseline case, i.e., CC+ACC where the lead vehicle drives at the constant speed of 80 km/h and the intervehicle distance is set to the allowed minimum.
Saving (%) Road profile SPO + ACC P-SPO Profile 1 11.93 12.41 Profile 2 12.38 12.26 Profile 3 25.70 25.83 Profile 4 8.78 8.81 Profile 5 18.21 18.29 Profile 6 11.76 12.18 Profile 7 16.57 16.91 Profile 8 8.04 8.03 Profile 9 25.05 25.69 Profile 10 17.52 17.54  Average saving (%): 15.59 15.79However, one should note that, for the SPO+ACC case, the intervehicle distance (set to its minimum allowed value, as mentioned above) was much smaller than in the case of P-SPO. Driving all the time at the small intervehicle distances required (in this comparison) by SPO+ACC is undesirable for the drivers, though, since errors in reading distance and relative speed may lead to dangerous situations; see also the second paragraph in Section5.


## 4.3. Heterogeneous Platoons

Similar to the case of homogeneous platoon, for a heterogeneous platoon, the optimization starts by assigning identical speed profiles to all vehicles for a number of generations (in this case, 1000), as mentioned in Section4.1. After that, the optimizer is allowed to assign different speed profiles for each vehicle, which are optimized together. This procedure will generally result in different speed profiles for each vehicle of a platoon once the optimization has been completed. During the optimization, the constraints on the average speed, the minimum instantaneous speed, the maximum instantaneous speed, and the maximum allowed intervehicle distance were set to the same value as in the homogeneous platoon described above. Moreover, the safe distance was calculated using (12).In this paper, different heterogeneous platoons configurations of two general forms were considered. In the first configuration, the lead vehicle is lighter (referred to as Configuration I), while in the second configuration (Configuration II), the heavier vehicle is in the lead position. The masses range from 30 to 40 tonnes, and the following configurations have been taken into account: (i) 30 tonnes (lead vehicle) 35 tonnes (follower vehicle), (Configuration I-a); 30 tonnes 40 tonnes (Configuration I-b); 35 tonnes 30 tonnes (Configuration II-a); and 40 tonnes 30 tonnes (Configuration II-b).The results obtained from the simulations for different mass configurations defined above are given in Table2. In this table, the middle column shows the average fuel savings obtained (over all road profiles) when the lead vehicle follows an optimized speed profile and the follower vehicle uses ACC function to track the preceding vehicle’s speed profile while maintaining a safe distance, calculated using (12). The right-most column of the table shows the average fuel savings obtained (over all the road profiles) when each vehicle follows its own optimized speed profile. From Table 2, it is evident that the SPO, both in SPO+ACC and P-SPO, leads to large fuel savings, ranging from 15.22% to 17.43% for different mass configurations within the platoon, relative to CC+ACC. Furthermore, the fuel savings reported in Table 2 show that the P-SPO method for platooning can further improve, by up to 1.8 percentage points (see the third row in Table 2) the obtained savings compared to SPO+ACC by allowing each vehicle’s speed profile to be optimized separately. An example of an optimized set of speed profiles for a heterogeneous platoon is shown in Figure 4. As can be seen from the figure, with the P-SPO approach, the intervehicle distance can vary based on the road topography and the mass of the HDVs, thus, allowing the platoon to drive through a road with varying topography without requiring the vehicles to follow an specific spacing policy and, therefore, achieving higher fuel savings for a heterogeneous platoon relative to SPO+ACC.Table 2
The average fuel savings obtained in the simulations for a heterogeneous platoon of two HDV, with different mass configurations, over all the road profiles. The middle column shows the fuel savings obtained when the lead vehicle follows the optimized speed profile and the follower vehicles follow the same profile while maintaining the desired intervehicle distance (using ACC). The desired intervehicle distance is set to the minimum allowed safe distance; see (12). The right-most column shows the fuel savings obtained when each vehicle follows its own optimized speed profile. All the fuel savings are normalized with respect to the baseline case, i.e., CC+ACC where the lead vehicle drives at the constant speed of 80 km/h and the inter-vehicle distance is set to the allowed minimum.
Average saving (%) Platoon configuration SPO + ACC P-SPO Configuration I-a 15.26 16.76 Configuration I-b 15.75 16.94 Configuration II-a 15.22 17.05 Configuration II-b 17.23 17.43


## 5. Discussion

The results presented in Section4 show that the proposed P-SPO method for platooning does work well in both heterogeneous and homogeneous platoons. In simulations, the P-SPO method reduced the fuel consumption of a homogeneous platoon of two HDVs by around 16% on average for the entire platoon relative to CC+ACC; see Table 1. For heterogeneous platoons, with different mass configurations, the P-SPO method reduced the fuel consumption of the entire platoon by around 17% (on average); see Table 2.For homogeneous platoons, there is only a small improvement in fuel savings when P-SPO is used compared to the SPO+ACC method used in our paper [16], something that was expected given that the HDVs are identical in this case, resulting in similar optimized speed profiles for all vehicles even when they are optimized individually, see Figure 3. However, if the desired intervehicle distance is set to a fixed value of 15 meters, which is more realistic and safe (in case of communication failure, for example) compared to the minimum allowed intervehicle distance (see Section 4), the fuel savings obtained by SPO+ACC decrease by 1 percentage point. Moreover, one should note that the P-SPO method is more suitable for driving through steep downhill or uphill segments of a road since, in this method, there is no requirement on following a specific spacing policy. The P-SPO method allows the vehicles to exploit a variable intervehicle distance more efficiently than in ACC.Turning now to heterogeneous platoons, the positive effect of not controlling the intervehicle distance directly becomes more evident. From Table2, one can see that with the P-SPO method, the fuel savings increased by up to 1.8 percentage points compared to SPO+ACC. Furthermore, unlike other approaches for platooning, the P-SPO method does not require communication between the vehicles within a platoon during driving since, in this method, there is no need for online (i.e., during driving) iterative optimization of the speed profiles. Evidently, the optimized speed profiles must, however, be uploaded to the HDVs when the platoon is formed (before driving). If no profile is available for a given stretch of road, the optimization procedure must thus be completed before the platoon is launched. However, one can of course generate an offline database of speed profiles for commonly used roads and common vehicle masses, so that the profile for the lead vehicle can be made available directly. While this approach may not be feasible for a general situation, there are many cases where such a database could be built, for instance, in the case of a hauling company using a set of similar trucks that frequently carry similar loads, over a fixed set of highway routes.One can then either use SPO+ACC, which still provides good fuel savings, or run P-SPO (before driving) starting from the available speed profile, in order to generate a set of individual speed profiles for all the vehicles of the platoon, thus achieving a few extra percentage points of fuel savings.It is interesting to note that the results obtained in this work, with the P-SPO and SPO+ACC methods, compare favorably to the existing methods based on the MPC framework. For example, Murgovski et al. [20] achieved average fuel savings of 9.2%, which is still below our 16%, on driving cycles of 20 km stretches of highway for a homogeneous platoon of four HDVs where each vehicle’s mass was 44 tonnes. In their work, a two-layer approach was used, where the top layer is responsible for generating fuel-optimal speed trajectories whereas the bottom layer is used to track the generated trajectory. Since both the simulation setup and the road sections were different compared to ours the results in [20] cannot be compared in detail. For instance, the average set speed used in [20] was 90 km/h with the allowed speed range of ±10km/h which is different from the setup used here. However, one should note that the vehicle’s masses are higher in [20] which, consequently, increases the fuel saving potential of the platoon in general. However, the altitude difference in each road section considered in [20] was at least 45 m and at most around 100 m which is comparable the relative altitude range (23.7 m to 114.7 m) for the road sections used here.In a more direct comparison between the proposed P-SPO method for platooning and MPC-based approaches, the P-SPO method was applied on a 45 km stretch of highway road between the two Swedish cities of Mariefred and Eskilstuna, for which the fuel savings results obtained with an MPC-based controller was available from an earlier work by Turri et al. [10], where the details of the MPC-based controller can be found. Using the same normalization as in [10], the proposed P-SPO method obtained fuel savings of around 16% (on average) for different platoon configurations (both homogeneous and heterogeneous platoons), which exceeds those obtained in [10] by roughly 3 percentage points (on average) for the entire platoon.As mentioned above, in MPC-based approaches to platooning, the problem of controlling a platoon of HDVs is generally divided into two layers, in order to reduce the computational complexity of the problem so it can be solved in real time: in the first layer a fuel-optimal speed trajectory is generated while the second layer is responsible for tracking this speed trajectory. In the first layer it is typically required that the vehicles should track the generated speed trajectories precisely, thus the need for handling the speed trajectory tracking in the second layer. In the proposed P-SPO method, by contrast, it isnot required that the vehicles should track the speed profile precisely, as described in Section 3.4.1; therefore, the simple PID controller used here is sufficient for this method. In our earlier paper [17], by thorough testing with a real HDV it was shown that the results obtained from the SPO method, on which the proposed method P-SPO is based, are transferable to real HDVs, despite the simplicity of the HDV model and the controller.Moreover, MPC-based methods to date have been implemented in an online fashion, in which it isrequired that the dynamic programming problem should return a solution every few seconds, something that limits the length of the horizon that can be used, due to the exponential growth of the number of states when the horizon is extended. By contrast, the P-SPO method is generally run offline and can comfortably handle horizons of 10 km or more (the entire stretch of road for instance). Alternatively, if the P-SPO method were to be used online, the optimized speed profiles for an upcoming road section could easily be generated while traversing the current road section.The choice of profile length used here (10 km) is of course somewhat arbitrary; other profile lengths could certainly have been considered. However, that would raise the question of algorithmic (run-time) complexity, which, in this context, can be formulated as follows: How would the optimization algorithm perform as a function of the profile length? Here, one should keep in mind that the number of optimizable parameters, defining the splines for the road profiles, is a linear function of the profile length, as is also the available optimization time, given a certain average speed (see below). The issue of run-time complexity was investigated by randomly extracting 5 road profiles (from the 55 km road considered here) for each of four different profile lengths (here denotedλ), namely 5 km, 10 km, 15 km, and 20 km. For each of these 5×4=20 road profiles, a long offline run was carried out, thus generating speed profiles yielding low fuel consumption. Note that, for simplicity, in this analysis a single truck was considered, rather than a platoon of two trucks. Next, for each of the 20 road profiles, a total of 30 runs were carried out, where the running time was set to a value just below the time required to traverse the road profile in question at the speeds considered here. Specifically, for the 5 km road profiles, the running time for optimization was set to 3.5 minutes, whereas for the 10 km road profiles it was set to 7 minutes etc. For the 5×30=150 runs for each road profile length λ, the ratio rλ=fon/foff between the fuel consumption in the online and offline runs was measured. Then averages were formed over the 150 runs for each profile length, thus resulting in four values r¯5,r¯10,r¯15, and r¯20. These ratios, normalized by the ratio r¯10 (corresponding to the profile length used in this work), are shown in Table 3. As can be seen in the table, the results obtained for longer profile lengths are slightly better, but the difference is quite small, showing that the algorithm’s performance is not very sensitive to the road profile length.Table 3
The average ratio between the fuel consumption obtained in an online run and that obtained in a long offline run, for four different road profile lengthsλ (5, 10, 15, and 20 km), normalized by the value obtained for the 10 km case. The running time for the online runs was 3.5 minutes in the case of 5 km road profiles, 7 minutes for the 10 km road profiles, and so on.
Road profile length 5 10 15 20 r¯λ/r¯10 0.996 1.000 0.972 0.974As mentioned in Section3.4 the safety of the platoon is guaranteed by construction. In other words, when generating a set of speed profiles for the entire platoon, only those profiles that do not violate the safety constraints imposed on the platoon will be considered. However, an important assumption made in this work, which is also common in other work, is the exclusion of external traffic during the simulations. External traffic can endanger the safety of the platoon, e.g., when another vehicle cuts in between two HDVs. Of course, such problems are not specific to this particular method but can affect the performance of any platooning method. However, given that HDVs typically are among the slowest vehicles on the road (especially in the case of highways), cut-ins from other vehicles that last long enough to affect the motion of the platoon are, in fact, rather rare, something that was also observed in our onroad experiments with HDVs in [17]. Here, in order to handle cut-in situations, as soon as the distance of an HDV to its preceding vehicle drops below the safe intervehicle distance defined in (12), the vehicle’s ACC function will be activated to control the intervehicle distance. Once the disturbance disappears, the HDV will resume following its (already available) speed profile,still saving a significant amount of fuel, whether or not the platoon remains coherent [17]. For cases where the disturbance lasts long enough to disrupt the coherence of the platoon, an online decision-making system could be implemented in the HDVs in order to decide whether or not catching up with the platoon, once the disturbance is gone, can improve the expected fuel savings, over and above the savings expected from just following the HDV’s own speed profile. This is a topic for future work.


## 6. Conclusion

The main contributions of this paper are as follows: first, a new framework (P-SPO) for platooning has been proposed where in contrast to the commonly used leader-follower approaches, each vehicle of the platoon receives its own optimized speed profile to follow. Thus, the problem of controlling the intervehicle distance within a platoon is removed. Furthermore, since the safety of the platoon is explicitly considered during the speed profile optimization procedure, in the proposed approach the safety of the platoon is guaranteed by construction as long as the vehicles are able to follow their speed profiles and by the fallback ACC function in cases where the vehicles cannot do so.It has been shown that the proposed P-SPO method outperforms the baseline case, i.e., the combination of CC+ACC, both in homogeneous and heterogeneous platoons, by reducing their fuel consumption by 15.8% for a homogeneous platoon, and between 16.8% and 17.4% for heterogeneous platoons with different mass configurations, over road profiles of 10 km length with varying topography. Moreover, the proposed P-SPO method, where the speed profiles are optimizeda priori, outperforms the common MPC-based approaches by around 3 percentage points in similar settings over the same road profile. Additionally, the P-SPO method requires only a simple PID controller, thus removing the need of having a two-layer control architecture.



---

*Source: 4290763-2018-09-26.xml*