Distributed Cooperative Control of Heterogeneous Multi-Vehicle Platoons

Platooning, or controlled management of vehicle formation, enables multiple vehicles equipped with adaptive cruise control systems to drive behind one another with a specified inter-vehicle distance, acting together as one unit. In a platoon, the leading vehicle drives at a constant speed, independent of the following vehicles. The succeeding vehicles try to emulate this speed and maintain a following distance based on the most forward vehicle. To facilitate platoon implementation, an efficient control system that specifies to each vehicle the safe following distance and corresponding velocity is indispensable. Delays that are prevalent in throttle and brake response, as well as in vehicle control systems, can significantly increase the complexity of such an effective design, namely in that delays are often be unpredictable and time-varying. This thesis presents a distributed cooperative control system that considers heterogeneous vehicles to improve the safety and stability of multi-vehicle platoons under the presence of delays. Moreover, multiple control schemes including those based on adaptive cruise control and cooperative adaptive cruise control algorithms are evaluated through the development of several simulations. All simulations are designed pragmatically to consider speed limits and restrictions on the maximum acceleration and deceleration rates vehicles can attain. As such, heterogeneous vehicle dynamics, including that of acceleration and braking capacities, as well as actuation, sensor, and communication delays, are incorporated. Further, this thesis presents a novel distributed control scheme that compensates for time-varying delays under the Integral Quadratic Constraint (IQC) framework. The results exemplify that platoon stability is significantly influenced by the control structure and that the IQC based delay compensation allows for the preservation of platoon stability with relatively small inter-vehicle distances.

The expanding number of vehicles on roads worldwide has propagated a tremendous increase in air pollution, commute times, fuel expenses, and motor vehicle accidents. In 2014 traffic congestion caused Americans to travel an extra 6.9 billion hours and to purchase 3.1 billion additional gallons of fuel [73]. Subsequent to rising traffic, a decade of momentous safety improvements in vehicles has not subsided the increasing number of 6,296,000 accidents on United States' roads each year [8]. Further, data shows that without implementation of expanded projects and policies, congestion will continue to escalate from the current 63 hour-per year traffic delays urban commuters face [73].  [58,82]. Moreover, 11 automotive manufacturers are expected to have fully autonomous vehicles commercially available by 2020. Platooning refers to a longitudinal string of vehicles equipped with ACC or CACC that drive closely behind one another based on a specified safe following distance. The platoon consists of a leader that essentially regulates the speed of the platoon, and the followers that try to sustain an equivalent velocity to that of the most forward vehicle, as depicted in Figure 2. Highway platooning is rapidly becoming a viable solution to traffic congestion, reinforced by the prevalence of ADAS and the proliferating development of fully autonomous vehicles. The 2016 passing of Michigan legislation [61] to allow for commercial truck platooning further evidences just how soon vehicle formation control will become ubiquitous on roadways nationwide.  [21] Despite the long history of research involving controlled management of vehicle formation [9,11,68], implementation has not been viable until recent years. Consequently, the furtherance and refinement of algorithms for vehicle control systems is more paramount than ever. A significant number of platooning models have been designed homogeneously, based on the assumption that all vehicles possess identical dynamics and system controllers [16,35,65,84].
However, in reality there does not exist two vehicles that will share exactly the same dynamics. As noted in [76], vehicles are made by different manufacturers and encompass varying capacities particularly in that of throttle and brake performance, as well as in response times. Thus, it is more effective and practically meaningful to consider platooning vehicles possessing heterogeneous and uncertain dynamics.
This thesis presents a review of existing platooning control models and the results of several simulations developed in Julia to exemplify realistic scenarios that vehicles could encounter while platooning. ACC and CACC controllers are evaluated and compared through the simulation of vehicles with heterogeneous dynamics, including that of acceleration and braking capacities, as well as communication, actuation, and sensor delays. Controller performance is evaluated based on the platoon's ability to maintain string stability and to preclude crashes. A distributed control scheme that allows for uncertain and time-varying system delays to be considered under the integral quadratic constraint framework, as presented in [94], has not been previously applied to vehicle control systems. The IQC structure is proposed as an effective method to maintain platoon stability while accounting for time-varying delays that are prevalent in ACC and CACC systems.
The remainder of the paper is structured as follows. Chapter 1 provides a background on the thesis research objectives and on all applicable areas of control theory, including that of controller design and state-space representation.
This chapter also includes an overview of ACC and CACC systems, as well as an exemplary literature review of existing research on platooning. Chapter 2 presents the ACC and CACC controller design and an evaluation of ACC and CACC performance through simulation. In Chapter 3, time delays are incorporated in the ACC and CACC controller designs, whereupon the simulation results of ACC and CACC models based on a constant time delay assumption and a time-varying assumption under the IQC framework are examined. Concluding remarks, including a final review of all controller designs, are given in Chapter 4.

Problem Definition
Platooning can significantly improve traffic flow, increase lane capacities and reduce fuel consumption [20], nonetheless, such minimized following distances at highway speeds also well increase the probability of a severe rear end collision.
For this reason it is imperative that platoons are formed in such a way to mitigate and prevent a crash at all times.
There is extensive research on platooning that primarily focuses on maximizing string stability and the platoon's performance in terms of fuel savings and increasing traffic throughput [45,22,17]. Despite the fact that these are indeed two of the fundamental objectives of highway platooning, especially in the trucking industry where the fuel improvements will be most advantageous, the preeminent factor in platoon actualization must be to ensure safety at all times. Further, it is consistently evident that braking and acceleration capacities well beyond the of a vehicle's maximum permissible limit are simulated in platooning studies [85,97]. It is also important to note that in implementation all ACC and CACC controllers will not solely be designed in consideration of platooning. Much of the existing research on platooning control systems has focused on methodologies regarding PID controllers, state feedback and state observers that increase system complexity [15,45,85]. It is most valuable to design a control algorithm that in addition to providing improved traffic flow and tight inter-vehicle spacing, ensures maximized safety for the passengers at all times. Thus the possibility of system failure and significant actuator and response delays must be considered.
Designing an effective control algorithm for platoon implementation proposes many challenges namely in the heterogeneity of vehicle characteristics.
In addition to varying acceleration and deceleration capacities, vehicles will exhibit control algorithms and communication hardware that vary by manufacturer. Classifying any two vehicles as identical, or wholly predictable, is simply unrealistic. Even with a robust control algorithm, delays in throttle and brake response as well as in the vehicle's computer system can be unpredictable and time varying, and ultimately lead to performance degradation and system destabilization [94]. Therefore, the controller must be designed in a way so as to mitigate the effects delays can impose on system stability. Control theory, as an engineering discipline, involves the control of dynamical systems, most often based on the principle of feedback. Control is an active field of research due to the vast array of systems in which feedback control is employed. In closed-loop systems, the objective is to control a system, often referred to as the plant, so that the system output is equivalent to a designated reference signal, or setpoint. Feedback control of dynamic systems revolves around the central idea that a system response can be measured and fed back to the system controller to regulate a specified variable. The process flow of a simplified control system is presented in Figure 3.

Control Theory
As noted in [52], there are few processes that occur even in nature, not to mention in technological systems, that don't fundamentally entail feedback control. Such applications range from manufacturing processes, to aircraft and vehicle control, to a mammal's ability to maintain body temperature to a fraction of a degree based on thermal receptors in the brain. In short, without control systems, machines of all classes would not be able to function as intended.

State-Space Representation
Origins of modern control theory are rooted to the launching of the first artificial satellite, Sputnik, in 1957. The launch ushered a new age of scientific developments, namely in the field of automatic controls design. One of which involved U.S. researchers Richard Bellman and Rudolf Kalman, who began using state variable design, or state space representation, to model control systems.
The most notable difference of the aforementioned approach was that system dynamics were modeled by differential equations rather than transfer functions, as in classical control theory [52,28]. Furthermore, this new method made it possible for complex systems including that of non-linear, linear, multi-input, multi-output, time invariant, and time-varying nature to be designed and analyzed [63]. Much of this revolution was sparked by the new era of field control of artificial earth satellites, however, it was also supported by the advancement of computers that could carry out complex computations that had previously been infeasible [28].
In order for a dynamic system to be controlled, an effective model representing the system must be established. The mathematical model must be defined as a set of equations that accurately exemplify the system behavior.
The dynamics of several systems can be represented by differential equations derived from physical laws applicable to that particular class. For example, the dynamics of a mechanical system can be described by Newton's laws, whereas an electrical system can be modeled by Kirchoff's laws [63]. The differential equation to describe the plant must be established as a set of n simultaneous first-order equations, known as the state equations. Deriving such descriptive models is one of the most pertinent components in control system analysis.
In state-space representation, the state of a dynamic system is represented in a standard form in which the time derivative of each state variable is formulated in terms of the state variables x 1 (t), . . . , x n (t) and the system inputs u 1 (t), . . . , u n (t). Moreover, the state is the smallest set of variables that can predict the system behavior at t = t 0 and when t ≥ 0 [72]. The state variables describe the future response of the plant, given the present state and system dynamics. The state equations are represented in vector form, written as the state vector x(t), where each state variable is a time varying component of x.
This representation replaces an n th order differential equation with a first order The standard form, shown in (1), is a weighted sum of the state variables and the system inputs where u is the input, or control vector. The column vector x is referred to as the state of the system andẋ is the time derivative of the state vector. Furthermore, A is the system n x n square matrix and B is the n x 1 input matrix. The output equations are commonly notated in the compact form shown in (2), where y is the column vector of the output variables y 1 (t), . . . , y n (t). C is the output matrix used to specify which state variables, or combinations thereof, are available for use to the controller and D is a matrix of constant coefficients that weight the system inputs [28]. In most systems, D is the null matrix, and the output reduces to (3).

Controller Design
The controller is a fundamental component to feedback control systems that is required to modify a system's behavior. Modern controllers are typically in the form of microprocessors or computers, which measure the system output and correspondingly actuate an appropriate input signal to the plant. Controllers rely on feedback, whereby the parameter to be controlled is compared to the specified reference signal, and the deviation of the two parameters is used to calculate the level of corrective control action required [25]. Feedback control can significantly reduce the error in the presence of disturbances by attenuating the effect at the plant's output. The five main methods in which controllers derive the control action are presented in Table 1.

Type of Controller
Relationship Between Output (u) and Error Signal (e) A Proportional-integral (PI) controller is one of the most common controllers used primarily to eliminate steady-state error, which is the difference in the setpoint and system output as time goes to infinity. In PI controllers, the corrective control depends on both the current error and the accumulated error over time. Proportional-derivative (PD) controllers speed up the system response by predicting the change in error over time. Typically PD control is used to increase damping and stability, as well as to reduce the steady-state error and the effect of noise. Further, Proportional-integral-derivative (PID) controllers provide design flexibility as well as improved transient response and decreased steady-state error [28].

Controller Gain
The state-space representations standard form presented in (1) and (2), include a control vector u defined in (4), where k is a matrix of Kalman gains k 1 , . . . , k n .
The controller gain is a method of providing more or less power to a system. Determining the gain is the first step in adjusting the system to meet desired performance. In short, the controller reads the sensors and determines the desired output by calculating the proportional, integral, and/or derivative responses. In general, small gain values will decrease the speed of the control system response, whereas large gain values will result in an increase. However, too large of a gain value will cause the system to become unstable due to os- to the left of the imaginary axis). If any root of the characteristic equation has a real part, or is positive, the feedback system is unstable.
The effect of the gain value can be examined through a system's response to a step input, referred to as the step response. The response can be simulated for a specified time duration, exemplifying how the system behavior evolves over time and how quickly a system reaches its steady-state. The transient response, which is the time it takes for a system to reach steady-state, can be significantly influenced by the level of gain. An example step response is presented in Figure 4, where three varying gain values are applied. The plot illustrates how the gain value of K p = 1 produces an overdamped response with minimal overshoot, and an increased transient response. Gain values K p = 5 and K p = 15 produce an underdamped response, with an increased overshoot and a decreased transient response that enables the system to reach the steady-state at a faster rate.

Distributed Cooperative Control
Distributed cooperative control, or formation control, is an active field of research regarding the concept of a coordinating a multi-agent system. Cooperative control is based on the principle that multiple agents can effectively work together to cause a global emergent behavior through local knowledge and communication [43]. Research on multi-agent coordination is expansive due to the magnitude of applications in which formation control can be employed, particularly in flight formation [47], satellite cluster formation control [77], and vehicle platooning [64]. Within cooperative multi-agent systems there are multiple intelligent agents that interact with one another to achieve some common goal. Distributed cooperative control is also often referred to as decentralized coordination, as it allows for individual agents to control their own behavior and make decisions without a supervisory agent, based on their local conditions.
Accompanying the advantages of a cooperative multi-agent system are copious challenges that must be considered when designing for formation control.
Xiao and Wang note that the three primary challenges in synchronizing multiple cooperative agents include that: (1) The process of exchanging information between multiple agents is subject to time delays which may be varying, random, or unknown.
(2) The communication structure may be constantly changing among the agents.
(3) The limited bandwidth and reliability of communication networks, as well as the fact that communication may be transmitted over long distances, can make it impossible to ensure the continuity of information received regarding nearby agents [91].

System Time Delays
Time delays are prevalent in a multitude of systems, contributing to system destabilization, as well as the attenuation of performance [94]. Naturally, the addition of time delays in a multi-agent system increases the complexity and the ability to effectively predict agent behavior, as in practice delays can be random, unpredictable, and varying. If time delays are not compensated for in the control system design, the effects can be much more difficult to control.
However, a control scheme that may be exemplary for one agent, may be atypical of an alternative agent due to improper assumptions regarding a time delay or lack thereof. A further challenge is presented in that continuous-time consensus algorithms depend on continuous state signals, which in reality require extremely high bandwidth networks that are often unfeasible. Due to the uncertainty that often exists in regard to system delays, it is frequently assumed that delays are constant among different agents, as well as in time [64].
Lags are prevalent in actuators and sensors, which may have a significant impact on the stability of a system. Specifically in vehicles equipped with ACC, there are several areas where delays are inexorable. Parasitic time delays and lags are prevalent in the actuators, powertrain, sensors (i.e. RADAR, LiDAR, wheel speed), and in the engine, or throttle response [70,57]. The possibility for further delays proliferates with the addition of CACC, in that of communication delays, total communication loss, and packet drops [31]. The concept of platooning with heterogeneous vehicles is increasingly difficult due to the varying bandwidths and latency the communication system of each vehicle will exhibit [59].
Despite the significant research on the effects that communication and actuator delays impose on platoons, it is often based on the assumption that time-varying delays are constant among vehicles, as well as over time [85,50,92,31,89]. The concept of time varying delays has been studied for multi-agent systems, [91,93], however there has been limited research on the effect of heterogeneous time varying delays specific to platooning vehicles [66,23]. Nonetheless, the concept of unpredictable and varying time delays cannot be overlooked.
Time delays that inhibit information received through wireless communication or vehicle controls regarding braking or acceleration signals can significantly diminish platoon performance and stability [23]. Consequently, the control algorithm must be robust to handle total communication loss or an increase in system delays. Adaptive cruise control (ACC) is a quintessential feedback control system, illustrated in Figure 5, that allows vehicles to accelerate and decelerate autonomously, without intervention from the driver. In an ACC system, control signals are sent to an actuator that controls the throttle position and thus the magnitude of torque delivered by the engine, which is then disseminated through the transmission. External disturbances including the road incline, rolling resistance, and aerodynamic drag will be compensated for, as when the vehicle's velocity is not equivalent to the setpoint, either acceleration or brake signals are transmitted to the engine.

Adaptive Cruise Control
ACC is RADAR and LiDAR based, whereby the former uses radio waves to determine the velocity, range, and angle of nearby objects and the latter uses a laser light to measure the distance to a target. These technologies determine the speed difference and the distance between vehicles. The system enables the driver to set a desired speed and time headway with respect to the preceding vehicle in sensor range, depicted in Figure 6. When a vehicle with a lower velocity is approached, the vehicle appropriately, and autonomously, brakes to avoid a collision [1]. The control system primarily processes the information obtained by the sensors to determine if there is a preceding vehicle and whether the inter-vehicle distance is equivalent to that of the desired setpoint. Based on the presence of vehicles and this inter-vehicle distance, the ACC system sends signals to the Engine Control and Brake Control modules [3]. In essence, the ACC system controls a vehicle's position and velocity by measuring the velocity of the preceding vehicle and maintaining a specified following distance. The controller's objective is to minimize the error between the desired position and velocity, where the desired position is a specified safe following distance and the desired velocity is equal to that of the preceding vehicle. In the absence of a preceding vehicle, the controller simply regulates the vehicle's velocity, working as a conventional cruise control system.
The specified following distance is one of the most pertinent components in ensuring that ACC is implemented safely. Depending on the manufacturer of the ACC system, there are different policies regarding how vehicles will maintain a following distance, and what this distance should be. For example, distance from 30 to 200 feet, while Volvo's ACC system is based on the concept of time headway. This approach allows drivers to choose from a time interval of a one to three second following distance [1]. When compared with human drivers, ACC provides a significant increase in reaction time, however there are still limitations due to actuation and sensor delays, as well as the fact that the vehicle only has access to objects in sensor range.
ACC has been commercially available in particular vehicles since the late 1990s, however due to the relatively low overall market penetration, simulations continue to be used to evaluate the opportunities and pitfalls in such systems. inter-vehicle distances [86]. PATH also notes that drivers will tend to prefer setting following distances similar to that of driving manually, due to their lack of confidence in the system.

Cooperative Adaptive Cruise Control
A further level of automation from ACC is Cooperative Adaptive Cruise Control (CACC). CACC integrates the basic structure of an ACC system with Vehicleto-Vehicle Communication (V2V). In addition to the data obtained through RADAR and LiDAR, CACC receives information over a network regarding the surrounding vehicles.   Nonetheless, CACC also presents challenges due to the possibility of communication loss and delays induced by the wireless communication system [50].
It is imperative that the exchange of information over the wireless networks is timely and reliable. In addition, each vehicle's CACC system would not be identical and could exhibit delays that are unpredictable. In order for safety to be ensured at all times, the CACC controller must be designed to compensate for such time-varying and uncertain delays.

Platooning
Car-following models have been studied since the early 1950s, where the dynamics of a line of vehicles was developed by prescribing a specified following distance to be maintained [68]. Further research on implementing platoons through the use of feedback control has expanded in recent years due to the prevalence of ACC and CACC systems and rapid development of autonomous vehicle technology [9,76,46,75]. Platooning is a viable solution to diminish human initiated traffic with an expected 10% reduction in fatalities and up to a 20% reduction in fuel consumption [71]. In addition to improvements in fuel economy, platooning has the potential to decrease wear and tear on vehicles that results from inefficient driving techniques such as hard acceleration and braking. It has been shown that signal feedback can be used to effectively control dynamic systems including multi-vehicle platoons [46,75,84]. Within a platoon, each vehicle is equipped with a controller, and the sensors measure whether the vehicle's current velocity is equivalent to that which is required to maintain a safe fol-lowing distance. In order to maximize the efficiency, platoons should be formed relatively large with five or more vehicles that are to remain intact for long distances [19]. Vehicles frequently entering and leaving the platoon would defeat the purpose of the tightly spaced formation, resulting in spacing errors and requiring vehicles to constantly brake and accelerate as in regular traffic flow. The separation process forces vehicles to travel apart and requires an immediate control response to accelerate or decelerate to accordingly adjust the inter-vehicle distance. Thus, maintaining formation and maximizing a platoon's ability to remain intact for long distances is of primary importance.
Research on platooning often focuses on the concept of homogeneous or heterogeneous platoons. Homogeneous platoons refer to a string of vehicles with identical characteristics, including controller design, system performance, and acceleration and deceleration rates. Heterogeneous platoons refer to a string that includes vehicles that encompasses varying system dynamics. The concept of platooning with heterogeneous vehicles is increasingly difficult due to the varying bandwidths and latency (time delays) the communication system of each vehicle will exhibit [59].
The opportunities and challenges of platooning have been examined in both simulation and in implementation. In the early 1990s PATH investigated the aerodynamic performance of vehicle platoons. Vehicles were equipped with forward radar ranging systems and LAN communication systems [81]. The control algorithm used in the demonstration was designed based off of a simplified four state variable vehicle model. In implementation this involved the lead vehicle transmitting its time clock, velocity, and acceleration to the preceding vehicle.
The preceding vehicle would then use this data to calculate the appropriate throttle and brake commands [13]. In the 1997 demo, a platoon of eight vehicles traveled with a constant inter-vehicle distance of 6.5 meters (21 feet) at highway speeds. From 2009 to 2012, the European Commission co-funded the Safe Road Trains for the Environment (SARTRE) project to study the effects in regards to fuel consumption and safety. Contrary to previous projects which focused on platooning of one vehicle type, SARTRE focused on studying platoons of heterogeneous vehicles in a mixed-environment with non-automated traffic [12]. The results indicated that smaller inter-vehicle spacing increased fuel economy, however also presents more challenges for the control system [21].
Autonomous vehicle platooning involves both lateral and longitudinal control. The lateral control refers to the steering actuator control that keeps the vehicle in the detected lane, whereas the longitudinal control involves maintaining small inter-vehicle gaps between platooning vehicles [43]. Typically control methods focus on the facilitation of longitudinal formation control, however, a platoon lane changing maneuver for an entire platoon to change lanes safely and comfortably for the passengers was proposed by [37].
There has been extensive research on the effects of vehicles merging into and exiting platoons, as well as the consideration of vehicles platooning in adjoining lanes. The 2011 GCDC competition involved performing collaborative platooning in an urban and highway scenario in which two separate platoons were to join with minimal disturbances. The performance was evaluated based on the inter-vehicle gap distance, total platoon length, and string stability [26]. A criterion for maximizing the distance traveled in platoons is frequently modeled as an assignment optimization problem where vehicles are assigned to a lane based on their anticipated travel distance [19,17,34,33]. Hall and Chin proposed a dynamic grouping and platoon splitting that sequenced vehicles in order of non-increasing destination [33]. This allowed vehicles with near destinations to drop out of the platoon while one vehicle could remain as the platoon leader throughout the entire duration of the platoon. The results demonstrated that lane assignment increased highway throughput, however resulted in higher wait times for vehicles to join platoons.
The control of multiple platooning vehicles is facilitated by three fundamental components including the vehicle dynamics, feedback controllers, and a spacing policy [96]. There are two primary methods of constructing platoon control topology, one of which is referred to as the decentralized approach or local approach, as each vehicle acts independently based on its own perceptions and is responsible for its own safety. In this sense, controllers use local capacities to achieve global performance for the platoon [96]. The alternative is a global, or centralized approach, in which a platoon leader is assigned the task of ensuring the platoon's safety by broadcasting information through V2V communication regarding speed, road hazards, and steering instructions to the following vehicles. Thereupon, vehicles would use this information to minimize the spacing error and velocity error between each preceding vehicle.
The control structure is imperative for ensuring that a platoon can be safely and effectively implemented. With ACC it would be difficult to maintain a tight inter-vehicle distance among all vehicles in the platoon, without the use of vehicle communication. All vehicles equipped with ACC may not be able to maintain precisely the same following distance due to manufacturer settings, reinforced by the fact that it may be impossible for vehicles in the platoon to be aware of the distance preceding vehicles are maintaining. In order for a consistent inter-vehicle distance to be maintained, all ACC systems must include the same spacing policy, whether it is based on the notion of time headway or a constant distance. In addition to the safety benefits and increased response time CACC is expected to facilitate, the communication of a designated spacing policy to be maintained throughout the platoon would also be extremely advantageous.

Safety Distance
Typically, with non-automated vehicles it is recommended to maintain a following distance based off of the two or three seconds rule. At a speed of 29 m/s (65 mph), the three seconds rule equates to an inter-vehicle distance of 88 meters. The incorporation of ACC and CACC in vehicles has been shown to greatly decrease the following distance to a possible distance of 6.5 meters [69,71,13].
A method for effectively regulating and specifying the inter-vehicle distance is imperative to facilitate platoon stability and safety at all times. The simplest mechanism is to maintain a constant inter-vehicle distance, however this approach has many pitfalls. First of all, determining a "safe" value, can be relatively fickle. A distance appropriate for one vehicle may not be sufficient for an alternate vehicle in the platoon due to the heterogeneity of the vehicles' dynamics. Further, a distance that can be safely maintained at one velocity may become severely unsafe or unstable at higher or lower speeds. Consequently, the safe following distance criterion is typically recommended based on the concept of time headway, which is the elapsed time between when the preceding and the succeeding vehicle pass a given point [87]. With this method the following distance is commensurate with the velocity and can thus be calculated as shown in (5): where d min is the inter-vehicle distance, t h is the specified time headway, and v f is the current velocity. As the velocity of the vehicle increases, the following distance will also increase. However, this formulation is not sufficient for complete stops, as when the vehicle's velocity is zero, this minimum distance also becomes zero [39,44]. As a result, it is necessary to add a safety buffer so that the inter-vehicle distance becomes: where d saf ety is the inter-vehicle distance to be maintained when the vehicle is at a complete stop.

String Stability
String stability is a basic requirement in platoon control that ensures the intervehicular spacing errors of all vehicles within the platoon are bounded uniformly [45,84]. A platoon is said to be string stable if a small disturbance is added to the "string", and all vehicle states, such as the position, velocity, and acceleration, remain bounded. Moreover, all range errors must decrease as they propagate downstream the platoon [49]. If there is any perturbation to a preceding vehicle's velocity or position, string stability will ensure that the spacing errors of succeeding vehicles do not fluctuate. A depiction of a string unstable platoon that includes varying inter-vehicle distances is presented in Figure 9. String stability is essential for suppressing traffic flow instabilities in platoons. Without stability, the flow of vehicles could exhibit characteristics similar to non-automated, human initiated traffic today, as well as poor ride quality and an increased risk of collisions [69]. Such instabilities present themselves on roadways today as stop and go traffic on highways and in "phantom traffic jams". The latter of which, arise due to no particular reason, absent of causes resulting from an accident, obstacle, or bottleneck [27]. In highly dense traffic, a small perturbation that causes one vehicle to brake, may cause the succeeding vehicle to brake harder, which propagates in a shock-wave like form to the latter vehicles. This may eventually cause a complete standstill, resulting long after the initial cause has vanished [36]. In Horn's research on traffic instabilities, it is also noted that string stability is not sufficient to guarantee the prevention of collisions in a platoon. Horn further mentions that in order to truly prevent traffic flow instabilities and disturbances from propagating in traffic, it is necessary to design a controller that considers both the preceding and succeeding vehicle.
There has been extensive research on string stability, often evidencing the complexity and difficulty of ensuring such in a platoon. String stability was first conceptualized in 1966, where Levine and Walters used optimal control theory to regulate a densely packed string of three vehicles [48]. The successive research of Peppard, Caudill, and Garrard that soon followed, examined the notion of stability more closely, discovering the issues spacing policies impose on a string of vehicles. It has been shown that using a constant spacing policy at all times regardless of the velocity, results in an unstable string of vehicles [67,30].
However, further research evidenced that when each vehicle's controller had reference to the speed of the platoon leader, string stability could be achieved using this policy [79]. Perhaps even more significant, is that [78] showed that it is necessary for vehicles to utilize vehicle-to-vehicle communication in order to maintain string stability with a constant inter-vehicle spacing policy.
More recent research has corroborated the requirements of string stability by further examining how the spacing policy affects platoon performance. The work of Swaroop in 1997 enhanced the research of Peppard, specifying that constant spacing only ensures weak string stability in that the platoon is not robust to perturbations resulting from actuator and sensor delays [84]. Chien and Ioannou proposed an alternative spacing policy based on the concept of time headway, which enables the inter-vehicle distance to be directly proportional to the velocity. This new control law was not based on the concept of exchanging information between vehicles, yet resulted in string stability and an increased transient response when compared to human driver models [14]. Swaroop also examined the time headway spacing policy, determining that string stability decreases as the headway time decreases [84].
Furthermore, research has shown that the control structure can significantly affect the platoon's ability to maintain string stability with decreased time headways. In particular, the results of the SARTRE project exemplified that with ACC, a time headway of at least 2.8 seconds is required in order for the platoon to be stable, while with CACC this time can be reduced to approximately 0.9 seconds [71]. Rajamani and Shaldover also examined the difference in performance of platooning vehicles equipped with ACC controllers versus with CACC controllers [69]. The work noted that in practice it is very difficult for vehicles equipped with ACC to achieve a time gap that is less than 1 second, which equates to a following distance of 30 meters (98.43 feet). This could provide a maximum traffic throughput of 3000 vehicles per hour. The addition of a cooperative ACC system that utilized information of the lead vehicle's acceleration, demonstrated significant improvements in regards to ride quality, traffic throughput, and showed stability at following distances as low as 6.5 meters [69]. It was also exemplified that the higher bandwidth of the filters used in CACC system significantly improved the spacing accuracy.  stability because all vehicles in the platoon can reference the same vehicle [88].
However, this structure is based on the assumption that lead vehicle is the only vehicle that could suddenly change velocity, thus instilling a disturbance in a platoon. In reality, this cannot guarantee stability at all times, because any vehicle in the platoon could experience a system fault or be subject to a disturbance that causes it to suddenly brake. The third depicted communication structure is to supply the succeeding vehicles with information regarding the velocity and acceleration of all preceding vehicles in the platoon. This approach, however, significantly increases the complexity of the control algorithms due to the magnitude of data the controller must be able to process. Consequently, the system processing times could also be highly increased. An additional notable communication topology, not illustrated in the above figure, is based on the concept of a mini-platoon structure that could be used to avoid communication disturbances over long distances [84]. In this structure, the platoons would be broken into smaller groups and the last vehicle of the preceding group would become the reference vehicle for that succeeding platoon.

Vehicle Dynamics Derivation
By definition, the derivative of displacement is equivalent to the velocity with respect to time. Further, the first derivative of velocity with respect to time is equal to the acceleration. The proposed controller is designed to regulate the inter-vehicle distance and to maintain a velocity equivalent to that of the preceding vehicle. A simplified kinematic model that is representative of all vehicles' longitudinal dynamics can be represented as: where p i (t), v i (t), and a i (t) respectively denote the position, velocity, and acceleration of vehicle i at time t.

Controller Design
The objective of the controller is to minimize the position and velocity errors.
The vehicle's RADAR and LiDAR sensors measure the distance from the preceding vehicle and supply this data to the controller. Thereupon, this value is compared to the setpoint, which is the specified inter-vehicle distance. In this control design, the setpoint, denoted as d min , is speed dependent, calculated based on the principle of a time headway, which is represented as follows: where t h is the specified time headway, v f is the current velocity, and d saf ety is equal to the inter-vehicle distance to be maintained if the velocity is equal to zero.
If this distance is greater than the setpoint then the vehicle sends a signal to the throttle control that the velocity must be increased, whereas if the distance is smaller than the setpoint, the vehicle sends a brake signal. Moreover, if the distance is equal to the setpoint, the control signal has been effectively actuated and the vehicle can maintain velocity without further acceleration or deceleration. In essence, the position component of the controller also controls the velocity in that in order for the inter-vehicle distance to remain constant, the velocity must be equivalent to that of the preceding vehicle. The control scheme can be further rationalized by considering a platoon of two vehicles, as depicted in Figure 11. Here the term preceding refers to the vehicle i − 1, whereas succeeding refers to vehicle i. The difference in position of the succeeding and preceding vehicle will converge to the setpoint of d min and must be greater than zero at all times, as shown in (9).
Here P p denotes the position of the preceding vehicle, P s denotes the position of the succeeding vehicle, and d min is equivalent to specified following distance.
The position error signal is notated as d i , shown in (10), which is equal to the relative distance between vehicle i and vehicle i − 1 and the difference between the setpoint.
The second error signal is the difference in velocities of the two consecutive vehicles, whereby the magnitude of which determines the level of corrective control required. The difference in velocities is notated asṼ and is calculated as:ḋ where V p is the velocity of the preceding vehicle and V s is the velocity of the succeeding vehicle.
By taking the third order derivative of d i the difference in the accelerations can be calculated as shown in (12). In essence,d i is the control signal u, as this is the parameter that is being controlled to either increase or decrease the vehicle's velocity.d Here a p and a s are equal to the preceding and succeeding vehicle's acceleration respectively.
The position and velocity of the vehicle are defined as the state-variables d i andṼ . Thus the system dynamics can be modeled in state space form, where x becomes a vector of the position and velocity, as shown in (13).

ACC Controller Design
In the ACC controller design, it is assumed that the preceding vehicle's acceleration is equivalent to zero, as the vehicle has no way of measuring this value without V2V communication. When the vehicles are in a steady platoon, the velocity remains constant, therefore the acceleration converges to zero. For the ACC controller design, a p is assumed to be zero, therefore (12) becomes: Consequently, the ACC controller output is simply equal to the acceleration or deceleration rate required to maintain a position and velocity error of zero. Based on the system dynamics, the matrices A, B, C, and D can be represented as follows.
A control gain of k p and k v are necessary for each of the respective error signals d i andṼ . Thus the matrix of gains can be represented as: where k p is equal to the position gain and k v is equal to the velocity gain.
Correspondingly, the closed-loop system dynamics can be represented in the following state-space form shown in (17) and (19). The ACC controller is denoted as u s , with a control output simply equivalent to the vehicle's acceler-

CACC Controller Design
Contrary to ACC, which has been commercially available in vehicles for nearly two decades, control structures for CACC are still being investigated due to the vast array of communication structures V2V can facilitate. In consequence, research on CACC consensus algorithms that can effectively utilize the transmitted information is expansive. Recently, methods for utilizing optimal control in combination with a CACC design have been proposed. In particular, a strategy utilizing model predictive control (MPC) was combined with a CACC controller to optimize the control output based on the predicted system behavior. The MPC based controller was compared with a CACC controller to examine how the performance varied, which demonstrated that the CACC controller had pitfalls and ultimately resulted in crashes [46]. Massera proposed a CACC controller based on the l∞-norm MPC capable of rejecting uncertainties of the lead vehicle's acceleration. Moreover, the minimum safety distance was derived by solving an optimization problem that considers the lead vehicle's braking capacity [85].
In this thesis, the CACC design is based upon the assumption that vehicles are equipped with a V2V communication system that allows for each vehicle to exchange information with one another, however ultimately make independent decisions. This controller can be considered as a distributed consensus algorithm in that it relies on the exchange of information through nearby agents.
As the information states of local neighbors update through a communication network, vehicles receiving the data respond based on the deviation in their own state and that of the neighboring vehicles. In this particular decentralized CACC structure, the vehicle is assumed to only receive acceleration control signals from the directly preceding vehicle. Therefore the error signal d i will remain equivalent to that utilized in the ACC controller, howeverV is adapted so that the preceding vehicle's acceleration is no longer assumed to be zero, as shown in (20).
When vehicles are maintaining a constant velocity a p will converge to zero, however during instances when the velocity is increasing or decreasing, such as when a vehicle is joining the platoon or an imposed disturbance causes a vehicle to brake, the updated controller will ensure that the vehicle's acceleration is at least equivalent to that of the preceding vehicle, if possible. The state space representation must also be updated accordingly, as shown below.
Thus, the CACC controller is based on a combination of the vehicle's independent control signal and the control signal that is transmitted from the preceding vehicle, as presented in (22).

Simulation Formulation
The Furthermore, in all of the simulations, the following assumptions are made: (1) All vehicles in the platoon are autonomously driven equipped with an ACC or CACC system.
(2) Vehicles that are simulated with a CACC controller have V2V communication systems that provide information regarding the preceding vehicle's current acceleration.
(3) Once a vehicle has joined the platoon, the vehicle does not exit the platoon.
(4) There are no external disturbances due to air drag or friction that alter a vehicle's velocity during the course of the simulation.
(5) Only longitudinal vehicle control is applicable.
Within the simulation the individual characteristics for each vehicle are declared by utilizing a dynamic type system. This allows for the code to be written without establishing the actual values to be manipulated until run time.
Therefore parameters such as the maximum acceleration and braking rates, as well as the initial conditions for velocity and position can easily be changed for each vehicle using this system.
The simulations run on two Julia files, one of which is the module that includes the framework for each of the control functions and other attributes such as for creating a vehicle and updating the position and velocity parameters.
The controller design is also established in this file, whereby the state-space matrices are defined when they are constant among all vehicles. The state-space representation will be equivalent for all vehicles, as it is not specifically designed based on individual system dynamics. There are multiple control functions to simulate the basic cruise control structure, which is applied to only the platoon leader, as well as the ACC and CACC which are utilized for the succeeding vehicles. Further, there is a file that allows for the varying characteristics to be declared and for the simulation data to easily be collected.
As previously explained, the controllers evaluate the position and velocity errors and calculate a control output signal to correct this error. In simulation, or implementation, it is necessary to add a further constraint to the control output. In reality each vehicle has a maximum capacity in regard to acceleration and braking rates. Without this constraint, the controller could potentially provide an acceleration or deceleration rate that significantly exceeds a vehicle's capability. To ensure that this does not occur, the control signal is verified through a series of checks. This is accomplished as follows.
First, the control output a u is evaluated against the maximum permissible acceleration a vehicle can carry out without exceeding the speed limit, denoted as a . This is a direct result from the difference in the road speed limit and vehicle's current velocity. The formulation is derived from the kinematic equation as follows: where v max denotes the speed limit, v buf f is a buffer for the amount a vehicle is allowed to travel over the speed limit, v f is equal to the current velocity, and ∆t is equivalent to the simulation time step. A buffer of 2.24 m/s (5 mph) can be added to allow vehicles that are traveling at a velocity roughly the speed limit before joining the platoon, to accelerate in order to assemble with the preceding vehicles. If vehicles are not permitted to travel over the speed limit, this buffer can be set to zero. Based on this output, a further check is conducted to verify that this acceleration rate does not exceed the vehicle's capacity, denoted as a max . In the event that a is greater than a max , the minimum of the two values will be chosen. This is primarily useful in computing whether the vehicle can accelerate at all, as when the current velocity is equal to the speed limit, then a will be equal to zero. Otherwise a small difference in velocities will cause the output to be extremely high. For example if the difference in velocities is 1.0 m/s 2 and the time step is equal to 0.01, the output will be equal to 100.
Therefore, this will always allow for a max to be chosen correspondingly. This check is formulated as follows: An "if statement" is utilized to account for the possibility that the vehicle is speeding, whereby a would become negative. Without this further check, if the vehicle is speeding the output will signal be infeasible for the vehicle. If a is negative, a c will be calculated as: A final constraint is added to calculate the acceleration output a s . This verifies whether a c exceeds the control output signal a u . To ensure that the minimum of a c and a u doesn't violate the vehicle's maximum braking capacity, the maximum of the aforementioned values will be chosen through the following formulation: The position and velocity of each vehicle updates throughout the simulation through a function that is supplied with the vehicle's most recent position, velocity, acceleration, and the time step. This position and velocity are updated based on the controller's acceleration output through the following kinematics equations: where v i is equal to the vehicle's most recent velocity at time step t and a f is equal to the acceleration control output that has been verified not to exceed the vehicle's capacity.
The performance of the controllers and inter-vehicle distance are evaluated in order to maximize the comfort and safety of the platoon. Comfort is defined as whether the ride quality is "smooth", without jumps in acceleration or deceleration, and safety is defined as preventing a crash at all times. One of the most critical components in the evaluation of a controller in platooning is to examine string stability. Overall time-domain string stability, as presented in (31), is more desirable than the frequency domain stability, consequent to the fact that the frequency-domain approach may result in overshoot in the step response [88]. As presented by Vugts, string stability will be evaluated based on the following time-domain condition: where a s and a p refer to the acceleration of the succeeding and preceding vehicle respectively. In order for this condition to be met, the 1-norm of the acceleration response must be less than or equal to 1 at all times. The matrix 1-norm can be computed for each vehicle as shown in (32). The string stability is evaluated on a two-car basis, whereupon maintaining consistent accelerations will allow for string stability to be maintained.

Kalman Gain Derivation
The Kalman gain values utilized in the simulation were determined using a linear quadratic regulator (LQR). LQR is a design technique to provide the matrix K by minimizing the following performance index or cost function: where the state weight matrix Q ≥ 0 and the input weighting matrix R > 0.
The Q and R matrices signify the relative importance between the error and the level of control effort [63]. The weights reflect the importance of the x i and u i terms. As the values of Q increase, the solutions of x that require larger performance amplification will be excluded. The simplest choice for the weight of Q is to set it equal to the state output C matrix. R can be determined by simulating varying magnitudes of R in order to examine which value results in the desired transient performance.
When working with ACC and CACC it is desirable to have a transient response with minimal overshoot, as in reality overshoots would result in sudden deceleration or acceleration. It is also important to ensure that the vehicles are able to form a platoon as fast as possible while maintaining overdamped behavior. The research of Rajamani and Shladover showed that with ACC there is a notable trade-off in ride quality and spacing accuracy due to the noisy range rate signals of the ranging sensors [69]. Namely, small control gains lead to decreased spacing accuracy and larger control gains improve tracking accuracy, however result in poor ride quality. The aforementioned implies that vehicle would have hard acceleration and braking performance.

Unconstrained ACC Controller
In order to validate the significance of the velocity and acceleration constraints presented in (25), (27), and (28)  As evident in Figure 13, the transient response time is significantly high.
Moreover, the vehicles reach the steady-state, namely the time period it takes for vehicles to equalize their velocity to that of the leading vehicle, at a much faster rate. It is also evident that the platoon has a minimized velocity error, as vehicles reach an equivalent velocity in approximately 10 seconds. Nonetheless, this is accomplished in an unrealistic manner due to the high overshoot, which indicates the excessive magnitude of the velocities. Particularly in that the fifth car reaches the highest velocity of 75.1 m/s (≈168 mph). In reality, vehicles would be dangerously exceeding the speed limit and the restrictions of the vehicle's own speed limiter. The platoon's behavior is also a quintessential depiction of string instability, as when a disturbance occurs at 12 seconds, the velocity error increases successively downstream the string of vehicles. It is evident that the velocity of each succeeding vehicle decreases at a higher rate, moreover each successive car has to brake harder to react to the disturbance.

ACC and CACC Controller Performance Comparison
The  By examining the simulation results of a platoon utilizing a constant spacing policy, it is found that string stability cannot be achieved under the ACC and CACC controller designs presented. Multiple constant inter-vehicle distances were tested, however in all cases, the platoons did not exhibit stability.
As shown in Figure 15 and Figure 16, the ACC and CACC controllers display visible string unstable behavior, as the inter-vehicle distance and velocity errors increase significantly downstream the platoon. More importantly, the ACC inter-vehicle distance error reaches a maximum of -5.35 meters, indicating that the vehicles are 5.35 meters closer together than the spacing policy permits.
As the permissible constant distance decreases, this could increase the probability of a crash. The CACC controller shows slightly improved performance in handling a constant inter-vehicle distance, however is still unable to maintain string stability. Overall it is shown that the inter-vehicle distance errors have a smaller deviation among all vehicles in the platoon leading to a 60% improvement in the mean spacing error when utilizing a CACC scheme. Nonetheless, due to the lack of stability achieved with a constant inter-vehicle distance, the time headway policy is utilized in the latter simulations.
The simulation results of the performance of ACC and CACC in regard to platoon formation are presented below.  to brake concurrently with the lead vehicle, which allows for the preceding vehicles to also respond to the disturbance at a faster rate. Due to the controller design, the second vehicle in the platoon reacts with increased intensity to the disturbance than with an ACC controller. With such, the second vehicle decelerates to -5.91 m/s 2 in 0.96 seconds, while with a CACC controller the second vehicle responds to the disturbance within 0.03 seconds, and decelerates to -9.32 m/s 2 . This has both negative and positive repercussions. In accident mitigation, this is extremely advantageous for preemptively avoiding accidents, however, it could also cause unnecessarily discomforted ride quality.
Both control designs prohibit collisions when a disturbance occurs, however the ACC evidences that this can be accomplished by decelerating at a decreased magnitude.
Mean Position Error 0.023 0.275 Mean Velocity Error -0.229 -0.228 Table 3: Mean errors for an ACC and CACC controller with a time headway of 1.0 seconds The control scheme is also shown to influence the magnitude of the intervehicle distance error, as shown in Figures 21 and 22. Ultimately, it is safer to have an inter-vehicle distance error greater than zero, because this implies that the vehicles are maintaining a larger following distance than specified. When this value becomes negative, this implies that the following distance is closer than the permissible value, which can increase the risk of a crash. Overall the ACC controller has minimal distance error, with a maximum value of approximately 0.2 meters, and a decreasing magnitude downstream the platoon. With the CACC controller the position errors stay relatively consistent among all vehicles in the platoon with a distance error of approximately 1 to 2 meters.
By examining the difference in vehicle velocities, it is evident that there is a higher velocity error among all vehicles equipped with ACC. However, the mean velocity error is not significantly greater than that of CACC due to the increased time it takes for all vehicles with CACC to recover from the disturbance and thus again reach equivalent velocities. While CACC facilitates a marginally improved mean velocity error, the ACC controller shows significant improvements in preventing inter-vehicle distance error. Specifically, the ACC controller is able to maintain an inter-vehicle distance error of 0.252 meters less than CACC.
To summarize, there is a trade-off in using the CACC controller. CACC facilitates a faster response to the change in velocity of preceding vehicles, which is due to the controller's consideration of the preceding vehicle's acceleration rate. However, it is this same consideration that causes the controller to have an increased "recovery" time in again reaching steady-state once the disturbance has disseminated. After the disturbance occurs, preceding vehicles will remain braking and the transmission of this to the succeeding vehicles will cause them to unnecessarily brake also. Additionally, it is shown that although both controllers are able to prevent collisions, vehicles equipped with CACC brake at a higher magnitude than with ACC. If this behavior were to be consistent in actualization, ACC would result in improved ride quality. Even so, the CACC controller facilitates increased safety, in that it is capable of responding to changes in the preceding vehicles' velocities at a faster rate.

Platoon Vehicle Sequence
Despite the vast array of research on platoon control structures and the exami- Although the sequence of vehicles does not have a significant impact on the string stability of platoons with ACC and CACC, it is expected that in both control schemes the sequence was not significantly pertinent due to the lack of significant variation in the vehicle deceleration rates. Moreover, this disturbance required vehicles to brake in response to a decrease in velocity, however, the variance in deceleration rates is relatively low with a magnitude of 0.8902.
Due to regulations on braking standards, newly manufactured vehicles will not have significant variation in braking capacities, however, the acceleration rates are more specific to the vehicle design and manufacturer. In this particular set of vehicles there is a variance of 4.01 between the maximum acceleration rates.
Consequently, vehicles are simulated with a disturbance that involves the lead vehicle increasing velocity, thus requiring vehicles to accelerate in response.
With a disturbance requiring acceleration responses, ACC performance improves. In particular, vehicles can maintain stability at a time headway as low as 0.6 seconds, which is 0.4 seconds lower than with a disturbance requir-ing braking. Contrarily, the CACC performance declines and vehicles cannot maintain stability in all permutations. The impact that the sequence of vehicles imposes on CACC stability is exemplified in Table 4, whereupon each vehicle is represented based on the acceleration rates presented in Table 23. It is desirable to ensure that the quotient of the 1-norm of the succeeding and preceding vehicle is less than one at all times. Thus, there are six values for string stability that correspond to each pair of two consecutive vehicles in the platoon. If any of these values is greater than one, the platoon is considered to be unstable.  The correlation between the permutation of vehicles and string stability is not as simple as sequencing vehicles in order of increasing or decreasing magnitude of acceleration rates. The results indicate that in such sequences, the platoon is not capable of meeting the string stable criterion. Moreover, it is evident that there is a more complex interaction between the permutation of vehicles and string stability. The preservation of string stability throughout the platoon can attributed to the magnitude of variation between the acceleration capacities of the vehicles. Based on the third sequence presented in Table   4, when the vehicle with the highest acceleration performance is placed as the platoon leader, string stability is facilitated in all permutations of the succeeding vehicles. This behavior is consistent when a disturbance requiring braking is imposed, whereupon CACC is able to maintain stability up to 0.6 seconds when the vehicle with the highest braking capacities is placed as the platoon leader.
Overall it is clear that the sequence of vehicles must be considered when affirming that a control design or a particular time headway can guarantee stability. Realistically, it is appropriate to recommend time headways that can ensure stability for a wide range of possible sequences. The concept of precisely sequencing platooning vehicles based on acceleration or braking capacities is not realistic, as the rates could be subject to the wear and tear of vehicles and result in wasted idle time due to platoon sorting. However, it could one day be feasible to assign vehicles to lanes based on their mass or overall performance.
For example, there could be designated lanes solely for one class of vehicle (i.e. heavy duty, sports car, midsize sedan). In this sense, vehicles with similar performance could be clustered together in lanes to allow for more a effective facilitation of string stability.

Chapter 3
An Evaluation of ACC and CACC with Time Delays

Introduction
The prevalence of time delays in any physical system is inevitable and often increases the difficulty and complexity of designing an effective control algorithm.
The behavior of a system with time delays often shows degraded performance and stability as when compared to results based on the assumption that delays are not prevalent. In a multi-agent system, delays must be compensated for, especially in regard to multi-vehicle platooning. If the control systems are not designed to predict and accommodate for system delays, the small inter-vehicle gaps could become extremely dangerous.
The control designs and simulations presented in the previous chapter did not account for delays, thereby the results serve as a benchmark for an ideal platooning system. Within this chapter, time delays are examined by simulating vehicles with both constant and time-varying delays. The objective of this analysis is to examine whether string stability can be maintained when such delays are accounted for, and whether an updated policy can be constructed to improve the safety and stability of platoons when delays are prevalent.

Constant Time Delays
A Padé approximation is an effective method for approximating a time delay exhibited in a continuous time system through a rational function. The Laplace transform of a time delay τ is equal to e −sτ , whereby the transfer function can be approximated by the Padé approximation formula. The constant time delay exhibited in each vehicle can be considered a summation of all delays present in that of actuators, sensors, and processing times. The delays can be characterized by the following first order Padé approximation: where τ is equivalent to the constant time delay in seconds.
Research has shown that expected sensor and actuator delay ranges from  The delay can be considered as an additional operation that all control signals undergo prior to implementation, as illustrated in Figure 23. This accounts for all delays that will be present in the vehicle's throttle response and the time it takes for the control system to process the data received from the RADAR, LiDAR, and communication systems. In order to combine the Padé approximation transfer function with the previously derived state-space represented vehicle dynamics, the function must be converted into state-space form. The system matrices can be represented as the following:

Constant Time Delay Model Derivation
where τ is equivalent to the time delay in seconds. The constant delay and vehicle dynamics can then be aggregated in state-space representation for both the ACC and CACC controller as follows.

Constant Time Delay Simulation Results
The overall framework of the constant delay simulation is constructed so that Secondly, each vehicle is simulated with gains derived from the non-identical state matrices. Consequent to the heterogeneity of the delays, each vehicle also encompasses a unique controller, in that the matrix of gains, K, is diverse. As previously noted, the LQR approach is used to derive K, which is dependent on A, B and C . Since A ACC and A CACC are dependent on the magnitude of the delay τ , the control gain will vary based on the vehicle's delay. This facilitates a more realistic analysis of platooning in implementation, as in reality vehicles will not exhibit precisely the same delay, nor an identical controller design.
To effectively depict the performance variation from that of the non-delayed    Figure 24, display a constant variation and the magnitude of deceleration decreases successively. The ACC mean position and velocity errors, noted in Table 5 Each controller is also simulated with gains derived specific to the updated state-space matrices. It is shown that stability cannot be maintained while R = 5.0 for both the ACC and CACC controller. The system becomes unstable and has oscillatory performance. As the value of R increases, the gain values decrease, which improves the delayed system stability. R is chosen as 300.0, as this value allows for both controllers to maintain string stability with minimal oscillatory performance.   In consequence, Yuan proposed a method for control synthesis under the integral quadratic constraint (IQC) framework to account for time-varying and uncertain delays [94]. Integral quadratic constraints can be used to partially characterize the properties of several combinations of signals and perturbations that the dynamic system may exhibit [53]. Moreover, the IQC paradigm has proven to facilitate a robust control design, effectual in handling system uncertainties [54]. The fundamental advantages that the IQC method provides over the LRF/LKF-based approaches include that complex systems and various types of delays can be better accommodated and ultimately more accurate re-sults can be obtained [41,95]. This is particularly due to the fact that utilizing an IQC framework allows for efficient analysis of the complexities presented by nonlinear, time-varying, and uncertain or distributed system dynamics.

Time-Varying Simulation Design
The IQC method is promising in the field of autonomous vehicle formation control due to the expected performance improvements the method can offer in terms of computing times and accuracy when time-varying delays are prevalent. Due to the time-varying nature of the delays, the input delay function is assumed to follow a sinusoidal motion in time as: where r is equivalent to the delay frequency andτ is the maximum predicted delay. This function must satisfy that τ ∈ [0,τ ] and |τ (t)| ≤ r < 1 when t ≥ 0.
Based on the estimated delays with a lower bound of 0.1 and an upper bound ofτ = 0.4, (39) and r respectively become: r =τ (t) = 0.15cos(t) = 0.15 (41) By applying the IQC approach, the following two IQC multipliers presented in [41] can be applied.
where φ(s) = k 1 τ 2 s 2 +c 1τ s τ 2 s 2 +a 1τ s+k 1 c 1 + , γ(s) = k 2 τ 2 s 2 +c 2τ s τ 2 s 2 +a 2τ s+b 2 +δ, k 1 = 1+ 1 √ 1−r , a 1 = √ 2k 1 c 1 , c 1 is any positive real number such that c 1 < 2k 1 , k 2 = 8 2−r , a 2 = √ 6.5 + 2b 2 , b 2 = √ 50, c 2 = √ 12.5 and and δ are two arbitrarily chosen small positive numbers [41,94].    Figure   31, there is increased overshoot in the acceleration of the fifth and seventh vehicles in the platoon. The vehicles decelerate in response to the disturbance so rapidly that they then begin to accelerate to compensate for the resulting position and velocity errors. Thereupon, the vehicles must again brake to reach the steady-state acceleration of zero. This implies that the IQC derived gains are not sufficient for maintaining the stability in platoons with CACC. In reality this type of behavior would result in extremely uncomfortable and possibly dangerous ride quality. Although the overall disturbance recovery time is high, vehicles maintain a relatively expeditious initial response time, wherein the seventh ACC equipped vehicle responds to the disturbance in 1.37 seconds and CACC responds in 0.63 seconds.
In order to determine whether the platoon's stability is proportional to the magnitude of the delays, vehicles are simulated with an increased and decreased delay range, specifically whenτ is equal to 0.1 through 0.5 seconds. The lower bound is maintained at 0.1 seconds, except whenτ is equal to 0.1, which in this case the lower bound is assumed to be zero. The corresponding gains are presented in Table 8.  The addition of delays in a system is often viewed as a negative factor, consequent to the well-known fact that delays can lead to performance degradation. Therefore intuitively it would seem that all systems encompassing delays would exhibit the same type of destabilization effect. However, it has been shown that in some systems, the prevalence of delays can actually improve stability [7,60,74]. In consequence, the concept of adding artificial delays into systems has been investigated and shown to be promising in regard to system stabilization [32,29]. In several cases systems that cannot otherwise be stable reach stability with the artificial incorporation of delays. For example, [55] studied the effects of introducing constant and time-varying delays into the control law of a linear finite-dimensional single-input system. With the constant assumption, the delay could simply be treated as an additional parameter to be controlled, similar to the design of the constant delayed ACC and CACC controllers. In both cases, stabilization advancements were evident. Furthermore, Cao and Ren proposed a distributed consensus algorithm for multi-agent systems in which outdated state information is efficacious and therefore intentionally applied to advance system stability. It is shown that by storing the current and correctly chosen outdated system states, the consensus algorithm can converge faster without requiring an increased magnitude of control [10].
This is particularly relevant to the behavior vehicles equipped with the CACC controller display when delays are compensated for. The vehicles are able to respond to the disturbance faster by utilizing outdated or delayed state information.
Chapter 4 Conclusions and Future Work

Conclusions
This thesis presents the simulation and analysis of several control schemes to examine how string stability and the overall performance of multi-vehicle platoons is maintained during the presence of heterogeneous dynamics and time-varying delays. In all cases, vehicle dynamics are represented in state-space form to provide a simplistic control scheme for vehicles equipped with adaptive cruise control and cooperative adaptive cruise control.
It is shown that the magnitude of the control gain has a significant effect on the minimum time headway at which vehicles can maintain string stability, however that the overall performance difference between the ACC and CACC controllers remains relatively consistent. When delays are not considered, the CACC consensus algorithm shows a 35% improvement over ACC in regard to minimizing the time headway at which string stability can be preserved.
Nonetheless, the CACC scheme does not result in improved minimization of the average position and velocity errors. In addition, a trade-off that the CACC algorithm imposes on platoon performance is evidenced. Although CACC consistently has a higher overall platoon response time (i.e. the time it takes for the last vehicle in the platoon to initially respond to the disturbance), the recovery time, namely the time it takes for all vehicles to again reach steady state, is increased when compared with an ACC controller. For instance, when preceding vehicles are still braking in response to the disturbance, the transmission of this value to the succeeding vehicles causes them to unnecessarily increase the magnitude of their own deceleration.
It also must be noted that several other factors that are often unmentioned in literature, can drastically change the platoons stability. In particular, it is noticeable that the variation in each vehicle's heterogeneous dynamics (the acceleration and braking capacities, as well as the magnitude of time delays) can affect string stability and overall performance. Moreover, the sequence of vehicles in the platoon appears to have a marginal effect on stability. For instance, if vehicles with high variation in acceleration and braking capacities are sequenced consecutively, this could increase the difficulty of meeting the string stability criterion. Naturally, if a disturbance that requires vehicles to brake at full capacity is presented, it will be more difficult for the stability criterion to be met when such high variation exists.
Further, the incorporation of both constant and time-varying delays facilitates a notable improvement in the ACC system performance. Significantly, ACC begins to show improved performance over the CACC scheme when delays are prevalent. With the constant delay assumption, ACC shows over a 100% improvement in the minimum stable time headway over the non-delayed controller. When compared with alternative methods to compensate for timevarying system delays, the IQC framework is expected to prompt increased performance in terms of accuracy and in limiting computational complexity.
The performance preservation that the IQC based ACC controller facilitated reinforces the fact that the the paradigm is particularly promising in the field of autonomous vehicle formation control The simulations can by no means serve as a solidification of how platoons exhibiting such characteristics will perform in implementation, as in reality there are numerous external disturbances that will be present at all times. For example, external forces due to air drag or rolling resistance will constantly work against the vehicle, limiting the possibility that the velocity and position errors will ever truly be equivalent to zero. Nevertheless, the objective in platoon actualization must be to design a distributed control consensus algorithm that minimizes the position and velocity errors, thereupon facilitating string stability and safety at all times.

Future Work
One of the most notable findings in the analysis of the control schemes under time delays, is that the performance of ACC is significantly improved when delays are compensated for. It is well known that CACC typically demonstrates improvements over ACC, however the results in the presence of time delays are rather contradicting. Consequently, future work will consist of an investigation on whether artificial delays can be added into ACC schemes to improve the platoon's string stability.
In addition, it is evident that the design of CACC consensus algorithms have much work for improvement. The communication structure, and thereby which vehicle states are transmitted to each vehicle, presents a significant field of research in itself. Communication structures must be further evaluated in order to identify the topology that results in the optimal platoon performance.
Although the CACC consensus algorithm could not maintain stability under the IQC framework, it is suspected that this method could be highly advantageous in an alternatively designed CACC scheme. Future work will also consist of examining how the communication structure of CACC can improve string stability, specifically in the presence of time-varying delays.
Furthermore, there have been limited platooning schemes designed based on the system limits, namely in that of speed constraints and individual vehicle capacities. These limitations were instilled in the simulation through added constraints that were not incorporated in the controller design. Consequently, the controller was capable of producing control response signals that could significantly exceed the actuator capacity. In many cases the results demonstrate that the restrictions also inhibit performance in terms of maintaining string stability and in reaching a steady-state velocity. It is proposed that a controller that accounts for the maximum acceleration and braking capacities, as well as the road speed limits, could be advantageous in designing proper gains and control outputs for autonomous vehicle formation control. This could be facilitated by designing a control law that limits saturation by compensating for such restrictions a priori to outputting a control signal that exceeds the actuator's maximum or minimum limits. The concept of actuator saturation control has proven to be successful in improving system stability [38] and appears promising in providing increased stability in multi-vehicle platoons. Future research will focus on the design of such a consensus algorithm specific to autonomous vehicle formation control.