# Cellular-V2X Communications for Platooning: Design and Evaluation
## 2 An Overview of Platooning  
A platoon is a convoy of vehicles (e.g., trucks) travelling on the same lane, keeping as short headway as possible between each other. The head-of-line vehicle is called the Platoon Leader (PL), and is responsible for setting the pace for the whole platoon. The other vehicles are called Platoon Members (PMs) and they adjust their speed to keep the pace set by the PL.  
A platoon is a complex system that synergically integrates sensing, communication and control technologies [28]. Each platoon vehicle contributes to the platoon stability by exchanging information with other vehicles about its current kinematics status and intended maneuvers, manipulating data from on-board sensors (e.g., cameras, LiDARs, radars installed in each vehicle), and acting on its actuators based on the received information.  
In a typical CACC system, each vehicle includes a two-layer controller [29]. The _upper level_ controller computes the desired acceleration to maintain the platoon stability, i.e., the desired safety distance from the preceding vehicle. Since the desired acceleration is not a true control input, a _lower level_ controller is required to control the actuation of the vehicle in order to track the desired acceleration and so determine either a throttle (regulating the flow of the air in the burning chamber) or a brake input. We focus on the predecessor-leader control strategy, with the _upper level_ controller fed by information from both the PL and the preceding PM, see Figure 1. This strategy prevents the undesirable effect of string instability due to the error amplification along the string of vehicles, which is typical of the predecessor-following control strategy, where each vehicle only communicates with the preceding one to adjust its relative position.  
To derive the desired acceleration, each vehicle \(i\) (\(i\) being its position in the platoon, \(i\geq 1\)) relies on the position \(x_{i-1}\), the speed \(s_{i-1}\), and the acceleration \(a_{i-1}\) of the preceding vehicle, as well as the speed \(s_{0}\) and the acceleration \(a_{0}\) of its PL. Precise self-position and kinematics information are available in real time on board the vehicle, whether obtained from Global Positioning System (GPS)/differential GPS or other sensing means. The distance of each vehicle to its precedent is determined by on-board sensors [7], which provide up-to-date information with negligible error. Wireless communications allow each vehicle to receive the speed and acceleration values from both the preceding vehicle and the PL. Such information is conveyed in CAM exchanged at each update cycle, regularly initiated by the PL. The cycle duration must be kept in the order of 100 ms or lower, and is set by the PL according to the speed of vehicles, the distance between them, and the size of the platoon.  
Small inter-vehicle distances are typically targeted within a platoon to increase the road capacity and improve the fuel efficiency of vehicles. However, they may compromise the robustness of CACC, raising more challenges in fulfilling the reliability and latency demands of exchanged CAMs. According to [22], the traffic pattern of a platooning application entails periodic exchange of packets with a payload size in the range between 50 and 6500 bytes, and a data rate between 0.012 and 65 Mbps. Corresponding delivery requirements are the end-to-end latency (computed from the moment the CAM is transmitted by the source to the moment it is received at the destination) in the order of 10-25 ms, and the reliability between 90% and 99.999% [2; 22].  
Such needs motivated several literature solutions aimed at improving the delivery of platoon messages by enhancing the performance of the IEEE 802.11 protocol [3; 6; 7; 8]. Recently, the potential of the LTE technology has been preliminarily explored to support the aforementioned platooning demands [23; 24], and further benefits are expected when leveraging the C-V2X technology, whose main features are detailed in the following.