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

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 PSPO,was applied to a set of roadprofiles of 10 km length, resulting in fuel reduction of 15.8% for a homogeneous platoon andbetween 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 suchmethods 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.


Introduction
Heavy-duty vehicles (HDVs) account for about a quarter of road transport emissions and around 5% of total European CO 2 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 as platooning, 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][3][4][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, with varying 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 fuelefficient 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 fueloptimal platooning algorithm for the follower vehicles while the lead vehicle follows a fuel-efficient speed reference using, for instance, look-ahead control (LAC) [8][9][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][12][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 MPCbased 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 a single 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 with real HDVs were similar to those obtained in the simulations.This paper, however, is mainly focused on HDV platooning 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 profile independently of the other vehicles.These profiles are optimized together, using a genetic 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 platooning methods (see, e.g., [9,10,20]).

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: where the vectors P  are two-dimensional control points and  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: where x  () is defined using (1) and  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: (, ) ≡ (  () ,   ()) ,  = 0, . . .,  − 1 where  is the longitudinal position and  is the elevation.With this representation, the road elevation can be written as  = () since, for any position  along the road, the corresponding spline index  and −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 10 km.The accuracy of the fitted splines is discussed in Section 2.3 below.

Speed
Profiles.Similar to the road profiles, the speed profiles were modeled using two-dimensional cubic composite Bézier curves in the following form: where V is the longitudinal speed of the HDV and  again is the longitudinal position along the road.As in the case of road profiles, one could find the corresponding spline index and −value, for any given position , so that the speed can be computed and can therefore be written as V = V().Note that when the speed profiles are generated, same splines that were used in generating longitudinal position,   (), in generating road profiles, are used here.

Road Data.
For the purpose of testing the performance of the platooning method (proposed below; see Section 3) 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 , 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 slope percentage, 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.

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.

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 where the terms on the right-hand side of the equation correspond to the forces experienced by the vehicle, namely, the engine force   , the braking force   , the air drag resistance force   , the rolling resistance force   , and the gravity force   .Furthermore, () is the total inertial mass of the HDV and it is computed as follows: where  is the active gear,  is the mass of the vehicle,   and   represent the engine and wheel inertia, respectively,   and   are the gearbox and final-drive ratios,   and   denote the gearbox and final-drive ratio efficiencies, and   is the wheel radius.In order to compute the force   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/s 2 [22].
The air drag resistance force,   , depends on the vehicle's speed.The rolling resistance,   , and the gravitational force,   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].

Air Drag Reduction. The air drag resistance acting on a single vehicle is expressed as
where   is the air drag coefficient,  is the frontal area of the vehicle,   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 where Φ() is a coefficient (air drag ratio) that depends on the intervehicle distance.Here, Φ() is modeled as in [10,20] where   is the  th 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). ,1 and  ,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.

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

Standard Cruise Control.
Here, the CC function is implemented using a simple PID controller with error signal () = V  − V(), where V  is the reference speed (set as a constant for CC) and V() is the HDV's instantaneous speed.The control output, (), is expressed as follows: where   ,   , and   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,   , is then computed by dividing the control output, (), by the total inertial mass, ().

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]: where  ,−1 =  −1 −   is the intervehicle distance, where   =   () represents the  th vehicle's longitudinal position, V  = V  () is the  th vehicle's speed,  1 and  2 are hand-tuned gains, and  0 is the desired intervehicle distance.

Platooning Based on SPO.
Consider the problem of moving a platoon of  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, V , () defined for the  th 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 the Platooning 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 profile independently 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 Section 3.4.2below) 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.2below), 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.
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.

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 Sections 3.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 the  th 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  th 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  th 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.

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 HDV platoon, P-SPO is used to generate a speed profile for each HDV separately.The speed profiles that are generated 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, V ,max must be Third panel: the HDV's controller output  along the road, normalized by the total inertial mass ().Bottom panel: the intervehicle distance  ,−1 , (solid line) and the corresponding safe distance,  safe ,−1 , and (dashed line) computed using (12).
below an upper limit (the speed limit); (iii) the instantaneous minimum speed of all vehicles, V ,min , should be above a userdefined 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]: where  safe ,−1 () is the safe distance between the  th and the (−1) th vehicle in the platoon,  0 is the minimum safe distance (5 m here), V  () is the  th vehicle's speed, and ℎ() is the variable time headway, expressed in the following form: where ℎ 0 > 0 (constant) is the minimum time headway,  ℎ > 0 is a constant, and V  () = V −1 () − V  () is the relative speed.For safety reasons, the variable time headway ℎ() 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 ℎ 0 and  ℎ 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 of  individuals (here usually 50-100), in this case each defining  speed profiles (one for each vehicle in the platoon).The individuals encode the optimizable parameters (i.e., the decision variables) in chromosomes consisting of floatingpoint numbers such that each number corresponds to the second (V) component (here denoted as  , ,  = 0, . . ., 3) of the  th two-dimensional control point of the  th spline in  Third panel: the HDV's controller output  along the road, normalized by the total inertial mass ().Bottom panel: the intervehicle distance  ,−1 , (solid line) and the corresponding safe distance,  safe ,−1 , and (dashed line) computed using (12).
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 which each 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: and  ,3 −  ,2 =  +1,1 −  +1,0 for  = 0, . . .,  − 1 (15) Considering these requirements, the number of parameters (i.e. the length of the chromosome) will be  = (4 + 2( − 1)) = (2 + 2) where  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  unchanged.For a given individual, the formed set of speed profiles from the decoding procedure is then evaluated as described in Section 3.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: where  ,−1 is the maximum intervehicle distance between two consecutive vehicles of the platoon during the evaluation,   is the penalty constant, and  max is the maximum allowed intervehicle distance.Standard tournament selection is used for selection, during the optimization, with a given tournament size   (typically 2-5) and a tournament selection probability of   (around 0.7 to 0.8).Single-point crossover is applied to each pair of selected individuals with a probability of   (around 0.7 to 0.9).Once two new individuals have been generated, mutation is applied with probability of   (with relative probability of 1/ where  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.

Simulation Results
The method described in Section 3.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).

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

Homogeneous Platoon.
The results obtained from the simulations for a homogeneous platoon of 30 tonne HDVs are given in Table 1.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.However, 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 Section 5.

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 Section 4.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 results obtained from the simulations for different mass configurations defined above are given in Table 2.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 rightmost 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 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.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.

Discussion
The results presented in Section 4 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 Table 2, 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 ±10 km/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 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   / 10 0.996 1.000 0.972 0.974 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.As mentioned in Section 3.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.

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 optimized a 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.

Figure 1 :
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 :
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.

Figure 3 :
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 output  along the road, normalized by the total inertial mass ().Bottom panel: the intervehicle distance  ,−1 , (solid line) and the corresponding safe distance,  safe ,−1 , and (dashed line) computed using(12).

Figure 4 :
Figure4: 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 output  along the road, normalized by the total inertial mass ().Bottom panel: the intervehicle distance  ,−1 , (solid line) and the corresponding safe distance,  safe ,−1 , and (dashed line) computed using(12).