Platooning of Heterogeneous Vehicles with Actuation Delays: Theoretical and Experimental Results
Redmer de Haan Lorenzo Redi Tom van der Sande Erjen Lefeber



 

First]R. de Haan 
Second]L. Redi 
First]T. van der Sande
First]E. Lefeber

[First]Mechanical Engineering Department, Eindhoven University of Technology, 
   Eindhoven, The Netherlands (e-mail: r.d.haan@tue.nl, t.p.j.v.d.sande@tue.nl, a.a.j.lefeber@tue.nl).
[Second]University of Naples Federico II, Naples, Italy (e-mail: l.redi@studenti.unina.it)


                
In this paper we present a prediction-based Cooperative Adaptive Cruise Controller for vehicles with actuation delay, applicable within heterogeneous platoons. We provide a stability analysis for the discrete-time implementation of this controller, which shows the effect of the used sampling times and can be used for selecting appropriate controller gains. The theoretical results are validated by means of experiments using full scale vehicles.



Actuation Delay, Cooperative Adaptive Cruise Control






§ INTRODUCTION
 
Cooperative Adaptive Cruise Control (CACC) aims to control the distance of a vehicle with respect to a preceding vehicle. By adopting vehicle-to-vehicle communication in addition to measurements of on-board sensors, CACC can achieve string stable behavior at short inter-vehicle distances <cit.>, which means disturbances are attenuated through the vehicle string. Adopting CACC has potential benefits associated with the close following distances. For instance, increased road capacity <cit.>, reduced fuel consumption <cit.> and increased safety <cit.>. However, delays (for instance, actuation delays) have shown to be detrimental to the performance of CACC <cit.> and can compromise the associated benefits.

To deal with delays in platoons, there are approaches that analyze the robustness of control laws to (small) delays <cit.> or use an approximation of the delay in the controller design <cit.>. To deal with larger delays in platoons, approaches have been presented that compensate the actuation delay. For instance <cit.> compensates the actuation delay for homogeneous platoon and <cit.> uses a prediction based control law to compensate the actuation delay in heterogeneous platoons. Both these approaches have the advantage that they are able to fully compensate the delay, rendering the size of the actuation delay irrelevant. To achieve this full compensation, they either make an assumption on the dynamics of the preceding vehicle (assuming a homogeneous platoon), or they require the vehicle to share information about its driveline. In a practical implementation of CACC, however, it is very likely that the platoon consists of different types of vehicles. Furthermore, communication of the driveline information of the vehicle might pose a problem, since not all required driveline information is currently represented in the existing message definitions from <cit.> which are commonly accepted as a standard for platooning applications. 

In this paper, we present a controller design where we do not make assumptions on, or require information of the driveline of the preceding vehicle. We use the delay-free controller design from <cit.> as a basis for a prediction based controller, to mitigate the effects of the ego vehicle's actuation delay on the error dynamics. The result is a closed-loop system that is input-to-state (ISS) stable with respect to the preceding vehicle's acceleration. As in practice, the preceding vehicle's acceleration is a bounded signal, we can ensure the spacing errors remain within bounds.

Key benefits of the proposed control approach are the fact that no drive-line information of the preceding vehicle is required. The result is a controller that enables the formation of platoons in a heterogeneous setting, since both the drive-line constant, as well as the actuation delay of the preceding vehicle do not affect the response of the vehicle. Since a continuous time prediction based controller is infinite dimensional, we present the discrete-time equivalent by assuming a zero-order hold sampling of the input. The result is a finite dimensional controller, that is validated in experiments with full-scale vehicles. 


The paper is outlined as follows. sec:problem-formulation introduces the platooning objective and problem formulation. In sec:controller-design the continuous time controller design is presented, followed by a stability analysis of the discrete-time implementation of the controller. sec:experimental-validation describes the experimental setup and results. Finally, sec:conclusion summarizes the conclusions and directions for further research.



§ PROBLEM FORMULATION

We consider a platoon of n + 1 vehicles as depicted by the heterogeneous string of vehicles in fig:heterogeneous-platoon. The longitudinal dynamics of each vehicle are modeled according to 
 

    q̇_i (t)    = v_i (t) 
    v̇_i (t)    = a_i (t) 
    ȧ_i (t)    = -1/τ_i a_i(t) + 1/τ_i u_i(t - ϕ_i),


for i ∈{0, 1, 2, ..., n }. Here, q_i, v_i and a_i are the rear bumper position, velocity and acceleration of vehicle i respectively. The response of vehicle's acceleration a_i subject to input u_i is modeled as a first order system with a time constant τ_i >0 that is associated with the driveline of the vehicle and an actuation delay ϕ_i ≥ 0. Since τ_i and ϕ_i are not necessarily identical for each vehicle, we consider a platoon that is heterogeneous with respect to the driveline.



The control objective of each following vehicle (i.e., i > 0) in the platoon is to follow its predecessor at a desired distance d_r, i formulated according to the constant headway spacing policy as

    d_r, i = h_i v_i(t) + r_i,

where h_i > 0 is the desired headway to the preceding vehicle, and r_i ≥ 0 is a constant to account for a distance between the vehicles at standstill. 

By defining the error as the difference between the inter vehicle distance d_i and desired inter vehicle distance d_r,i according to (<ref>), the spacing error e_i = d_i(t) - d_r,i(t) is defined as

    e_i(t) = [ q_i-1(t) - q_i(t) - L_i] - [ h_i v_i(t) - r_i  ].

The goal of each vehicle in the platoon is to control the spacing error (<ref>) to zero.



 §.§ Delay-free controller design

Along the lines of <cit.> and <cit.>, a controller design based on an input-output linearization of the spacing error (<ref>) can be followed to obtain a controller for the delay-free plant. 

Defining a coordinate transformation along the lines of <cit.> as
 

    x_1(t)    = e_i(t) = q_i-1(t) - q_i(t) - h_i v_i(t) - r_i - L_i
     
    x_2(t)    = ė_i(t) = v_i-1(t) - v_i(t) - h_i a_i(t) <ref>
     
    x_3(t)    = v_i-1(t) - v_i(t) ,


the error (<ref>) and its dynamics are given by
 

    ẋ_1(t)    = x_2(t) 
    ẋ_2(t)    = a_i-1(t) - h_i - τ_ih_i τ_i[x_2(t) - x_3(t) ] -h_iτ_i u_i(t-ϕ_i)<ref>
    ẋ_3(t)    = 1h_i x_2(t) - 1h_i x_3(t) + a_i-1(t).



Consequently, a change of input to the system as

    u_i(t) = τ_i/h_i a_i-1(t) + (1 - τ_i/h_i) a_i(t) + τ_i/h_i[ k_p x_1(t) + k_d x_2(t)],

results for the system without delay, i.e., ϕ_i = 0, in closed-loop dynamics according to

    [ ẋ_1 (t); ẋ_2 (t); ẋ_3 (t) ] =
    [     0     1     0;  -k_p  -k_d     0;     0  1h_i -1h_i ][ x_1 (t); x_2 (t);  x_3(t) ] 
    + [ 0; 0; 1 ]
    a_i-1(t).

For k_p > 0, k_d > 0 the dynamics (<ref>) are ISS with respect to the preceding vehicle's acceleration, i.e., x(t) remains bounded for bounded a_i-1 and x(t) converges to zero when a_i-1 is zero.

However, for the plant with actuation delay, i.e., ϕ_i > 0, the controller (<ref>) results in closed-loop dynamics according to
 

    ẋ(t) = A_0 x(t)  - A_1 x(t - ϕ_i) + [                       0; a_i-1(t) - a_i-1(t-ϕ_i);                a_i-1(t) ],

with x(t) = [ x_1 x_2 x_3 ]^⊺, and

    A_0 = [                 0                 1                 0;                 0  τ_i - h_iτ_i h_i -τ_i - h_iτ_i h_i;                 0              1h_i            - 1h_i ], A_1 =  [                      0                      0                      0;                  - k_p h_i - τ_ih_i τ_i - k_d      τ_i - h_i h_i τ_i;                      0                      0                      0 ].



In previous work, we analyzed the tuning of the closed-loop system (<ref>) with respect to performance criteria such as string stability, see <cit.>. In this work, we pursue a different approach where we aim to compensate the ego vehicle's actuation delay. Using the controller (<ref>) as a stabilizing controller for the undelayed system, we use a predictor feedback design approach to compensate the ego vehicle's actuation delay.



§ CONTROLLER DESIGN
 
Predictor feedback design is a method to deal with input delays in (linear) systems. The general idea is to use a stabilizing controller for the undelayed system, and use this controller acting on a prediction of the future states of the system with input delay. A detailed description of general predictor-feedback can be found in <cit.>.


 §.§ Predictor-feedback based CACC controller

The predictor-feedback controller based on the delay-free controller (<ref>) is given by
 

    u_i(t)    =  [ 1 - τ_ih_i] â_i^ϕ_i (t) + τ_ih_i a_i-1(t) - τ_ih_iu̅_i(t), 
    â_i^ϕ_i (t)     = e^-ϕ_iτ_i a_i(t) + ∫_t - ϕ_i^t1τ_i e^(- t-sτ_i)  u_i(s) d s 
    u̅_i (t)    = - [ k_p k_d ]x̂^ϕ_i (t) 
    x̂^ϕ_i (t)     = [   1 ϕ_i;   0   1 ][ x_1(t); x_2(t) ] + ∫_t - ϕ_i^t[ t-s;   1 ]u̅_i(s) d s .



Applying the controller (<ref>) on the system (<ref>), results for t> ϕ_i in closed-loop dynamics 

    [ ẋ_1(t); ẋ_2(t); ẋ_3(t) ] = 
    [     0     1     0;  -k_p  -k_d     0;     0  1h_i -1h_i ][ x_1(t); x_2(t); x_3(t) ] 
    +
    [   0   0;   1 - 1;   1   0 ][    a_i-1 (t); a_i-1(t-ϕ_i) ],

which is input-to-state-stable (ISS) with respect to the predecessors acceleration a_i-1(t) for k_p > 0, k_d > 0. That is, x(t) remains bounded for bounded a_i-1(t), and x(t) converges to zero when a_i-1(t) converges to zero. Due to the term a_i-1(t) - a_i-1(t - ϕ_i) that acts as disturbance to the error dynamics, there will be an error induced when the leader vehicle accelerates, which was not present in the delay-free case. By using a prediction for a_i-1(t+ϕ_i) instead of a_i-1(t) in (<ref>), this error can be mitigated. However, such a prediction is considered outside the scope of this paper, as we focus on compensating the effect of the ego-vehicle's driveline on the stabilization of the error dynamics.



 §.§ Discrete time controller

In practice, a controller is typically executed on a computer platform with the control action being applied to the vehicle at discrete times.
Using a sampling time T_s, assuming zero-order-hold (ZOH) for the input u_i such that

    u_i(t) = u_i(kTs)  for  kT_s ≤ t < kT_s + T_s,  k∈ℕ,

and assuming the delay ϕ_i = d T_s for some integer d, the discrete-time equivalent of the controller (<ref>) is given by
 

    u_i(k T_s) = [ 1 - τ_ih_i] â_i^ϕ_i (kT_s) +  τ_ih_i a_i-1(kT_s) -  τ_ih_iu̅_i (k T_s)

where

    â_i^ϕ_i(k T_s)   = e^- dT_sτ_i a_i(k T_s) 
        + ∑_j=1^d( e^-(j-1)T_sτ_i - e^-jT_sτ_i) u_i(kT_s - jT_s) 
    u̅_i(kT_s)    = - [ k_p  k_d ] x̂^ϕ_i(k T_s) 
    x̂^ϕ_i(k T_s)    = [    1 dT_s;    0    1 ][ x_1(kT_s); x_2(kT_s) ]
        + ∑_j=1^d[ 12T_s^2 + (j -1) T_s^2;                    T_s ]u̅_i(kT_s - jT_s).



Using the discrete time time representation (<ref>) has some advantages. For instance, the discrete-time controller is finite dimensional as only a finite number of past inputs has to be remembered to compute the control action. Contrary to the continuous time controller (<ref>) which is infinite-dimensional, since it contains the distributed delay term involving past controls.



 §.§ Closed-loop stability

For analysis of the closed-loop stability of vehicle i employing controller (<ref>), we consider the continuous time error dynamics 
 

    ẋ(t) = A_0 x(t) + B_1 u_i(t-ϕ_i) + B_2 a_i-1 (t),

where x(t) and A_0 are defined as in (<ref>), and 

    B_1 = [        0 - h_iτ_i        0 ]^⊺ ,      B_2 = [ 0 1 1 ]^⊺.


The input u_i(t-ϕ_i) is a discrete signal with ZOH according to (<ref>). However, we consider the acceleration a_i-1(t) as a continuous exogenous disturbance. The evolution of the dynamics (<ref>) in discrete-time can subsequently be described by 
 

    x(kT_s + T_s) = Φ x(kT_s) + Γ u_i(kT_s - dT_s) + w(kT_s),

where

    Φ   = e^AT_s,   Γ = ∫_0^T_s e^A_0sds B_1, 
     w(kT_s)    = ∫_0^T_s e^A_0s B_2 a_i-1(kT_s + T_s - s) ds.


By introducing x̅(kT_s) and z(kT_s) as

    x̅(kT_s) = [          x(kT_s); u_i(kT_s - dT_s);                ⋮;  u_i(kT_s - T_s) ],      z(kT_s) = [ u̅_i(kT_s - dT_s);                 ⋮;  u̅_i(kT_s - T_s) ],

the dynamics (<ref>) can be written as 
 

    x̅(kT_s+T_s) = A̅x̅(kT_s) + B̅_1 u_i(kT_s) + B̅_2 w(kT_s),

where 

    A̅ = [ Φ Γ 0 0 ⋯ 0; 0 0 1 0 ⋯ 0; ⋮ ⋱ ⋱ ⋱ ⋱ ⋮; 0 ⋯ 0 0 1 0; 0 ⋯ 0 0 0 1; 0 ⋯ 0 0 0 0;   ],    B̅_1 = [ 0; 0; ⋮; 0; 0; 1 ],    B̅_2 = [ I; 0; ⋮; 0; 0; 0 ].


Similarly, the controller (<ref>) can be written in the form 
 

    u_i(kT_s)    = C_x x̅(kT_s) + C_z z(kT_s) + C_a a_i-1(kT_s) 
    
    z(kT_s + T_s)    =  A_x x̅(k T_s) + A_z z(kT_s) + B_a a_i-1(kT_s).














Combining (<ref>) and (<ref>), the closed-loop dynamics of vehicle i employing the controller (<ref>) can be given in the form 


    x_cl(kT_s + T_s) = A_cl x_cl(kT_s) + B_cl  w_cl(kT_s),

where

    x_cl(kT_s) = [ x̅(kT_s);  z(kT_s) ],      w_cl(kT_s) = [     w(kT_s); a_i-1(kT_s) ].


Note that bounded a_i-1(t) implies bounded w_cl(kT_s), and for a_i-1(t) converging to zero, w_cl(kT_s) goes to zero. Finally, for the system to be ISS with respect to the disturbance w_cl, all eigenvalues of A_cl should be within the unit-disk. 

















































































































§ EXPERIMENTAL VALIDATION
 
To evaluate the proposed controller, experiments are performed with a platoon consisting of the two full-scale vehicles shown in fig:experimental-vehicles. A schematic overview of the components of the longitudinal automation of the vehicle is depicted in fig:schematic-overview-twizy. The CACC controller obtains the measurements from the sensors as listed in tab:measurement-sample-times. To reconstruct the error e_i = x_1, measurements of the radar and speedometer are used. The error derivative x_2, is based on measurements of the radar and IMU sensor. The preceding vehicle's acceleration is measured on-board of the leader vehicle with an IMU and obtained on the ego vehicle by means of V2V communication. Therefore, V2V is considered a sensor in tab:measurement-sample-times. The controller (<ref>) is executed with sample time T_s = 10 ms and provides the acceleration setpoint u_i(t) at a frequency of 100 Hz to the vehicle. A more detailed description of the automation of the vehicles can be found in <cit.>. 






 §.§ Experiment design

To validate the proposed controller, the closed-loop response of the experimental vehicle employing the prediction controller (<ref>) is considered. The two vehicles are initialized at a certain initial inter vehicle distance in standstill. The standstill distance r_i is chosen such that the error (<ref>) is zero when activating the controller (<ref>). When the controller has been active for a time t_active > ϕ_i, an error is introduced by adjusting the standstill distance r_i at time t_0. The resulting response to an initial condition of x(t_0) = [ e_0   0   0 ]^⊺ of the experimental vehicle is compared to a simulation of the systems (<ref>) and (<ref>) subject to identical initial conditions. Both in the experiment and simulation, a time constant τ_i = 0.067  seconds and actuation delay ϕ_i = 0.15  seconds delay of the experimental vehicle are used in combination with a headway h_i = 0.5  seconds. The controller gains are set at k_p = 0.2 and k_d = 0.7 - k_p τ_i. However, this particular choice of gains is arbitrary (and chosen to be identical to the gains in <cit.>). Detailed controller tuning, taking into account passenger comfort and string stability is planned for future research. The main purpose of these experiments is to validate the closed-loop response of the experimental vehicle is similar to the theoretical response, to confirm the assumptions and model are correct.







 §.§ Experimental results

The measured experimental response of the experimental vehicle employing the discrete-time prediction based controller (<ref>) is depicted in fig:prediction-based-controller-experimental-response. The response subject to the initial condition in the error at t_0 = 0, nicely resembles the theoretical closed-loop response of (<ref>). Especially on the interval t ∈ [0, 7] seconds, all three states match the simulated response. For t>7 seconds, there is a mismatch present between the experimental response and simulation. This mismatch can be explained by the fact that at low velocities (v_i < 0.5 m/s) the requested deceleration was not achieved by the vehicle, as shown in fig:acceleration-experiments. The vehicle was configured to perform all braking by the electric motor to have the response according to the assumed model (<ref>) for both positive and negative accelerations. For future experiments the braking using the mechanical disc-brakes could be used in addition to the regenerative braking of the motor, to make sure the vehicle achieves the desired negative acceleration setpoint at all times. However, this might result in different characteristics (actuation delay and time constant) for the vehicle to a negative acceleration setpoint compared to a positive setpoint, resulting in a more complex vehicle model.

Deploying the (conventional) controller (<ref>) on the experimental setup also nicely resembles the simulated closed-loop system of that respective controller as shown in fig:conventional-controller-experimental-response. Similar observations can be made with respect to the match of the experimental results and simulation. For positive accelerations there is a good match, where for (small) negative accelerations the setpoint is again not reached by the vehicle at low velocities. This also explains the absence of an overshoot in the experimental results, as opposed to the simulated response. Additionally, a large dip in the error can be seen around 0.5 seconds in fig:conventional-controller-experimental-response-error. At this point, the radar detected a ghost object causing the measured distance d_i to be incorrect for a few samples. However, the overall response of the closed-loop system is still a good match on the time interval t ∈ [0, 7] seconds and clearly indicates the difference in response of the prediction controller (<ref>) and the controller (<ref>). 

Summarizing, the experimental results confirm the prediction based controller indeed results in a closed-loop response according to (<ref>), thereby effectively compensating the actuation delay of the experimental vehicle.
























































§ CONCLUSION
 
A predictor feedback based CACC controller is presented that is able to effectively compensate the actuation delay of the ego vehicle. By using a discrete-time implementation of the controller, a finite dimensional representation of the controller is obtained that can be implemented in practice. By performing the stability analysis of the discrete-time closed-loop system, the effects of sampling times can be included to select appropriate controller gains. Finally, experiments with full-scale vehicles confirm the prediction-controller is able to successfully compensate the actuation delay in practice.

This work mostly focuses on eliminating the effects of the actuation delay of the ego vehicle on the closed-loop dynamics. However, topics such as controller tuning and string stability have not been addressed. Future work entails investigating the controller tuning and effects on performance metrics such as string stability characteristics, as well as deriving bounds on the errors. Furthermore, a better prediction of the preceding vehicle's acceleration during the dead-time of the ego vehicle can be included in the controller to further improve the performance. Finally, more extensive experiments should be performed where the initial-condition response is evaluated in a wider operating range, for instance during driving conditions at higher velocities instead of from standstill as in this paper.

        

