\thechapter Introduction

# Safe and Efficient Intersection Control of Connected and Autonomous Intersection Traffic

## Abstract

In this dissertation, we address a problem of safe and efficient intersection crossing traffic management of autonomous and connected ground traffic. Toward this objective, an algorithm that is called the Discrete-time occupancies trajectory based Intersection traffic Coordination Algorithm (DICA) is proposed. All vehicles in the system are Connected and Autonomous Vehicles (CAVs) and capable of wireless Vehicle-to-Intersection communication. The main advantage of the proposed DTOT-based intersection management is that it enables us to utilize the space within an intersection more efficiently resulting in less delay for vehicles to cross the intersection. In the proposed framework, an intersection coordinates the motions of CAVs based on their proposed DTOTs to let them cross the intersection efficiently while avoiding collisions. In case when there is a collision between vehicles’ DTOTs, the intersection modifies conflicting DTOTs to avoid the collision and requests CAVs to approach and cross the intersection according to the modified DTOTs. We then prove that the basic DICA is deadlock free and also starvation free. We also show that the basic DICA has a computational complexity of where is the number of vehicles granted to cross an intersection and is the maximum length of intersection crossing routes. To improve the overall computational efficiency of the algorithm, the basic DICA is enhanced by several computational approaches. The enhanced algorithm has the computational complexity of .

Next we addressed the problem of evacuating emergency vehicles as quickly as possible through autonomous and connected intersection traffic in this dissertation. The proposed intersection control algorithm Reactive DICA aims to determine an efficient vehicle-passing sequence which allows the emergency vehicle to cross an intersection as soon as possible while the travel times of other vehicles are minimally affected. When there are no emergency vehicles within the intersection area, the vehicles are controlled by DICA. When there are emergency vehicles entering communication range, we prioritize emergency vehicles through optimal ordering of vehicles. Since the number of possible vehicle-passing sequences increases rapidly with the number of vehicles, finding an efficient sequence of vehicles in a short time is the main challenge of the study. A genetic algorithm is proposed to solve the optimization problem which finds the optimal vehicle sequence that gives the emergency vehicles the highest priority.

We verify the efficiency of the proposed approaches through simulations using an open-source traffic simulator, called the Simulation of Urban Mobility (SUMO). The simulation results show that DICA performs better than another existing intersection management scheme: Concurrent Algorithm in [1]. The overall throughput as well as the computational efficiency of the computationally enhanced DICA are also compared with those of an optimized traffic light control. The efficiency of the proposed Reactive DICA is validated through comparisons with DICA and a reactive traffic light algorithm. The results show that Reactive DICA is able to decrease the travel times of emergency vehicles significantly in light and medium traffic volumes without causing any noticeable performance degradation of normal vehicles.

\submitted

###### Acknowledgements.
First of all, I would like to extend my sincere gratitude to my advisor Dr. Mohammad H. Mahoor, and co-advisor Dr. Kyoung-Dae Kim for their instructive advices and useful suggestions on my thesis. I am deeply grateful of their help in the completion of this thesis. I learned a lot knowledge from their excellent performance in teaching and research capabilities as well as high motivation and responsibility to students. I am also deeply indebted to all the other professors and staff like Dr. Jun Jason Zhang, Dr. Kimon P. Valavanis, Dr. Amin Khodaei and Molly Dunn, etc. for their direct and indirect help to me. Special thanks should go to my friends Huaiguang Jiang, Qiao Li, etc. who have helped me a lot during my PhD. Finally, I am indebted to my parents, my sister and my girlfriend for their continuous support and encouragement. \dedicationDedicated to my parents

## Chapter \thechapter Introduction

### 1 Introduction

In literature, there are a number of notable results for autonomous intersection crossing traffic management. In reference [15], a scheme that consists of a time-slot allocation intersection crossing algorithm, and an algorithm for updating failsafe maneuvers of each vehicle so as to avoid collisions while crossing an intersection was proposed. In [16], Lee et al. proposed an algorithm, called the Cooperative Vehicle Intersection Control (CVIC), which manipulates every individual vehicle’s driving motion by providing them proper acceleration or deceleration rate so that vehicles can cross the intersection safely. Wu et al. [17] introduced a new intersection traffic management framework that is formulated as a combinatorial optimization problem and solved the problem approximately using the ant colony system algorithm [18]. Fei Yan et al. [19] combined vehicles whose routes are compatible with each other into mini groups and obtained an efficient vehicle passing sequence by their proposed genetic algorithm. A nonlinear programming formulation for autonomous intersection control was developed in [20] where the nonlinear constraints were relaxed by a set of linear inequalities. Kyoung-Dae Kim and P.R. Kumar [1] developed a Model Predictive Control (MPC) framework which dynamically generates a sequence of collision-free motions. Their paper considered two algorithms, a simple First In First Out (FIFO) Crossing algorithm and a Concurrent Algorithm, and shown the corresponding system-wide safety and crossing traffic liveness. A polling-systems-based algorithm was proposed in [21] with provable guarantees on safety and performance. In the algorithm, a rigorous upper bound is provided for the expected wait time. Most of them are centralized approaches in which control decisions are made typically by a central agent. Decentralized intersection control approaches have also been proposed in literature. For example, [22] formulated a decentralized framework whereby each autonomous vehicle minimizes its energy consumption under the throughput-maximizing timing constraints and hard safety constraints to avoid rear-end and lateral collisions. A complete analytical solution of the decentralized problems was presented in the paper. These approaches are similar in that they all ensure safety within an intersection by preventing vehicles with conflicting intersection crossing routes from being inside the intersection at the same time.

To further improve the overall intersection control performance, some researchers studied algorithms that allow conflicting vehicles exist inside an intersection simultaneously. To achieve this objective, most approaches discretized the intersection space into grid cells so that vehicles of conflicting routes can exist at the same time within an intersection but not within a same cell. Kurt Dresner and Peter Stone [23] presented a reservation-based approach Autonomous Intersection Management (AIM) which treats vehicles and intersections as autonomous agents in a multiagent system. In AIM, vehicles request and receive time slots from the intersection during which they may pass. However, no global coordination is made for crossing vehicles to obtain optimal traffic flow. Following AIM, similar researches and improved approaches were proposed like expediting the crossing of emergency vehicles [24], determining the priority of requests using auctions [25, 26], etc. To improve previous AIM models, Levin et al. [27] studied the approach to choose the optimal subset of vehicles to move at every time step by formulating an Integer Program (IP). Arbitrary objective functions can be admitted by the IP so a more general class of policies can be applied to optimize the order of vehicles to cross the intersection. Representative centralized approaches also include auction-based intersection managements proposed in [25, 26]. A series of decentralized approaches only based on vehicle-to-vehicle (V2V) communications were proposed in [28, 29, 30, 31] by Reza Azimi et al. In their papers, the intersection area is considered as a grid which is divided into small cells. Each cell in the intersection grid is associated with a unique identifier. One of their advanced intersection protocols named AMP-IP (Advanced Maximum Progression Intersection Protocol) allows the lower-priority vehicle to go ahead and cross the conflicting cell before the arrival of the higher-priority vehicle if there is enough time for lower-priority vehicle to clear the cell. Roughly speaking, these approaches are all based on the grid cell partitioning of an intersection space. In [23], the effect of the grid cell granularity on the computational efficiency of an intersection traffic management framework such as AIM was studied. Clearly, higher granularity gives more flexibility for better traffic throughput. However, the computational complexity increases proportionally to the square of the granularity. On the other hand, when the cell size becomes large for better computational efficiency, one can see that the intersection space is not utilized efficiently resulting in lower traffic throughput. Therefore, to overcome this trade-off issue between the granularity and computational efficiency of an algorithm, it might be a good alternative approach to utilize each vehicle’s actual occupancy instead of grid cells to improve the overall traffic throughput. And this has motivated our research on this topic.

As an approach to address the above-mentioned granularity issue, we propose a novel intersection traffic management scheme based on the idea of the Discrete-Time Occupancies Trajectory (DTOT). Conceptually, a DTOT is a discrete-time sequence of a vehicle’s actual occupancy within an intersection space. The proposed DTOT-based Intersection Control Algorithm (DICA) allows the flexibility that each vehicle can choose its path as well as motions along the path that a CAV wants to take to cross an intersection. A CAV who is approaching an intersection will check whether it is the Head Vehicle on its lane. If it is, the CAV will propose its request to the intersection. From the request, a vehicle’s enter time and exit time to the intersection, route and other detailed information of passing the intersection can be found. Then the intersection responds with a DTOT to the vehicle to avoid collisions and improve the overall intersection throughput. The DTOT corresponds to a trajectory with achievable speed and acceleration for the CAV. If the CAV is not the Head Vehicle, it will just follow other cars. Thus, the management scheme is only dealing with head vehicles which reduces largely the communication needs for vehicles and the computational complexity of the central control agent. It is assumed that a CAV always want to go through an intersection as quickly as possible. So CAVs in our algorithm always try their best to reach maximum allowed speed within the intersection.

Then, we provide an in-depth analysis of the original DTOT-based Intersection Coordination Algorithm (DICA) to show that it satisfies the liveness property in terms of deadlock as well as starvation issues and also to derive the overall computational complexity of the algorithm. Another contribution is that we propose several computational approaches to improve the overall computational efficiency of the DICA and also enhance the algorithm accordingly so that it can be operated in real-time for autonomous and connected intersection crossing traffic management. We also present simulation results that show the improved computational efficiency of the enhanced algorithm and the overall throughput performance in comparison with that of an optimized traffic light control.

Human lives and the amount of financial loss highly depend on the response time (from the time the emergency service is called to the time help is offered) of emergency vehicles. The travel time of emergency vehicles to the accident scene is critical to the response time. So it is very useful and helpful to reduce travel time of emergency vehicles on roads, especially on intersections where congestions are more likely to happen. The survival chance of injured people in an accident falls sharply if they reach the operating table later than 60 minutes after the accident [32]. Hence, shortening the travel times of crossing intersections for emergency vehicles will help to save lives. In reality, the current way to handle emergency vehicles is similar to using Vehicle-to-Vehicle (V2V) communication (siren and lights) to warn non-emergency vehicles on roads to yield to the emergency vehicle. Some drivers cannot respond quickly to the warnings which may result in additional time delay for emergency vehicles and even serious accidents. In most of existing approches [33, 34, 24] for emergency vehicles, the travel times of non-emergency vehicles will be affected significantly and the advantages of autonomous vehicles are not fully taken.

Following computationally enhancing DICA, we extend DICA approach to include emergency vehicles in the traffic to be controlled. Our goal of intersection control is to let emergency vehicles cross intersections as fast as possible while maintaining adequate traffic performance. In this dissertation, we assume that emergency vehicles are taking normal routes which means that they will not travel in a wrong lane. A genetic algorithm is proposed to find the optimal passing sequence of vehicles whose trajectories can be rearranged. This optimal sequence aims to make the emergency vehicles cross the intersection in the fastest way. When there is no emergency vehicle inside the communication region, vehicles are controlled by DICA. Thus, the proposed algorithm is called Reactive DICA. Among many sequence forming approaches [25, 35, 36, 19] in literature, [19] is the most similar approach with ours which also proposed a genetic algorithm to form vehicle sequences. However, unlike the approach proposed in this dissertation, they are essentially not allowing vehicles with conflicting routes to be inside the intersection at the same time.

### 2 Organization of the Dissertation

The remainder of this dissertation is organized into five chapters. In Chapter \thechapter, we review literature on autonomous transportation especially on autonomous intersection control. In Chapter \thechapter, we introduce the assumptions and interactions between vehicle and intersection in DICA. Then we explain the functions in DICA in detail and analyze the liveness of DICA. Finally, DICA is simulated and compared with Concurrent Algorithm [1] to validate its performance. In Chapter \thechapter, we analyze the computational complexity of DICA in detail first and then proposed several computational techniques to improve overall computational efficiency. The improved performance is validated through comparisons with original DICA and an optimized traffic light control algorithm. Chapter \thechapter describes Reactive DICA especially the proposed genetic algorithm in detail. Simulation results of Reactive DICA are compared with a reactive traffic light algorithm to show its performance. Finally, Chapter \thechapter draws the conclusion of the dissertation and provides potential future work.

## Chapter \thechapter Literature Review

### 3 Control of Highway Systems

Highway congestion has brought intolerable burdens to many urban residents. Governments have made many attempts including building more roads and raising tolls or other related taxes, promoting public transportation or better vehicle occupany (carpooling) and developing a high-speed communications network that in many ways to reduce travel demand [37]. In the meantime, researches of Intelligent Vehicle/Highway System (IVHS) provide new ways to ease the congestion on highways. There are mainly two types of methods to increase highway capacity while ensure safety, 1. vehicle platooning, represented by the AHS which had been deeply developed at the University of California Partners for PATH program, in cooperation with the State of California Department of Transportation (Caltrans) and the United States Federal Highway Administration (FHWA) since 1989 [2, 37]. 2. algorithms and protocols for each individual vehicle to drive fast and safely, represented by references [38, 39].

#### 3.1 Vehicle Platooning

Organizing traffic into platoons which are groups of up to tightly spaced cars can increase highway capactiy greatly. vehicles per hour per lane could be achieved while today’s highways with manually controlled vehicles only have capacity [2]. Platooning also has a benefit of reducing aerodynamic drag because vehicles are tightly spaced. People cannot react quickly enough to drive safely with such small headways, so every vehicle in a platoon should be automated. A car joins a platoon when it enters the AHS and exits as a one-car platoon or part of an exiting platoon when it approaches its destination. Inside AHS, the car is controlled automatically by computers and a series of maneuvers [37] are executed by the car including splitting from and joining platoons and lane changing to navigate through the highway network.

Reference [37] introduces the finite state machine method which is used for the execution of maneuvers. Join control law, platoon leader control law and other laws are given in [2] to ensure collision avoidance of AHS. What is noteworthy is that the on-board vehicle control system is a hybrid control system which consists of a discrete event dynamical system (the coordination layer) and a continuous-time dynamical system (the regulation and physical layers).

The platoon concept is useful but does not take full advantage of the microscope centralized possibilities because it does not consider the interaction of all vehicles [39]. In a platoon, only leaders (and free agents) can initiate maneuvers, while followers maintain platoon formation at all times [2].

#### 3.2 Algorithms and Protocols for Individual Vehicles

For an individual autonomous vehicle, many algorithms and protocols have been proposed for its longitudinal and lateral motion on a highway system while the vehicle’s safety is ensured.

Longitudinal Control The longitudinal control of a vehicle is to control the vehicle’s speed and its adaptation to road features by adjusting the throttle [40] and the brake pedal as needed [41]. A longitudinal control system will handle issues like nonlinear vehicle dynamics, operations of vehicles from high-speed cruising to a complete full-stop, and other operations under the communication constraints [42]. Following we describe several different controllers that are designed to ensure safety of longitudinal motion of each vehicle.

Reference [15] gives the theorem for perpetual safety of two cars on a lane that if each car makes worst-case assumption about the car immediately in front of it, then the safety of multiple cars on a lane can be guaranteed. Reference [43] uses a simple discrete-time kinematic model to represent the longitudinal motion of a vehicle, , where correspond to -axis (forward direction) position, linear velocity of a vehicle at time t, and sampling period respectively. The paper formulated an MPC problem for the vehicle to ensure the generation of safety-guaranteed motions.

Lateral Control Typically lane changing provides a maneuver for a fast vehicle to pass a slow vehicle, which can be observed everywhere on the highway [44]. A framework of lane change decision-making under typical urban driving conditions was proposed by Gipps [45], which includes the effects of traffic lights, obstacles and types of surrounding vehicles. Taking into account the potential conflict objectives and assuming logical driver behavior, the model focuses on the decision-making process.

Reference [43] constructs the MPC problem for Lane Change of a vehicle on a multi-lane traffic and introduces the Lane Change Protocol that a vehicle can initiate its lane change action only when its state satisfies certain relations with neighboring vehicles. The paper also proposes the Yield Protocol which is incorporated into the MPC motion planning framework to ensure the liveness of Lane Change. A novel MPC-based approach for active steering control design is presented in [38]. Experimental results showed that a vehicle under MPC feedback policy is capable of stabilizing with a speed up to m/s on slippery surfaces such as snow covered or icy roads. The paper designed and experimentally tested three types of MPC controllers including a nonlinear MPC, an LTV MPC, and an LTV MPC controller of low order.

### 4 Autonomous Intersection Control

Intersection traffic control is more of importance since it is more likely to have accidents at intersections compared with highways. Besides accidents, the trip delays from the impact of intersections also lead to waste of human and natural resources. To tackle intersection control problems, many solutions have been proposed in the literature. The main problem is to provide an intersection control algorithm with guaranteed safety and improved efficiency.

#### 4.1 Centralized Control

Kyoung-Dae Kim [43] proposes a framework for intersection management that integrates decisions made by the intersection in the discrete domain for vehicle ordering with decisions made by each vehicle in the continuous domain for its safety-guaranteed motion. The proposed intersection control algorithms (FIFO and Concurrent Algorithm) and protocols ensure that the intersection is safe and live.

Reference [15] designs smart intersections where vehicles negotiate the intersection crossings through an interaction of centralized and distributed decision making. The route that was taken by a car is described by an ordered pair R()=(O(),D()), of origin and destination, respectively. A scheme is proposed that consists of a time-slot allocation intersection crossing algorithm, and an algorithm for updating failsafe maneuvers of each vehicle so as to avoid collisions while crossing an intersection.

An interesting result about collision avoidance at intersection is shown in [11], that it is an NP-hard problem to check the membership in the maximal controlled invariant set, which is the largest set of states for which there exists a control that avoids collisions. An algorithm with provable error bounds is proposed to solve such a problem approximately in polynomial running time. The paper provides and proves a tight bound on the approximated solution.

The most existing evasion plans are not dealt with the vehicles already in the intersection which suddenly stops because of tire blowout or other mechanical failures. [46] provides appropriate plans for such situations. According to the width of the intersection, two ways to avoid collisions are offered for the vehicles in intersection. And the paper proves the validity of the methods by empirical study.

#### 4.2 Decentralized Control

Since 2011, researcher Reza Azimi has proposed a series of reliable intersection protocols that use only vehicle-to-vehicle (V2V) communications. The installation of a centralized infrastructure at each intersection is impractical due to the high overall system cost. Azimi advocates the use of V2V communications and distributed intersection algorithms that runs in each vehicle. He designed the vehicular network protocols that integrate mobile wireless communications standards such as Dedicated Short Range Communications (DSRC) and Wireless Access in a Vehicular Environment (WAVE). Collision Detection Algorithm for Intersections (CDAI) which uses a priority-based policy, Stop-Sign Protocol (SSP), Throughput Enhancement Protocol (TEP) and Throughput Enhancement Protocol with Agreement (TEPA) are proposed in [28]. SSP is similar to actual stop-sign situation that every vehicle must stop before an intersection when there is a stop-sign. Using TEP, vehicles stop at the intersection only if the CDAI predicts a collision and assigns a lower priority to them based on the message it receives from all vehicles at the intersection. TEPA is built on TEP and is explicitly designed to handle lost V2V messages.

In [29], Azimi et al. define an intersection as a perfect square box that pre-defines the entry and exit points for each lane to which it is connected. The intersection area is discretized as grid cells and each cell is associated with a unique identifier. More advanced protocols CC-IP (Concurrent Crossing-Intersection Protocol) and MP-IP (Maximum Progression-Intersection Protocol) which are improved from [28] are proposed. In CC-IP, CROSS message is broadcasted when a vehicle enters the intersection area, other vehicles can simultaneously pass through the intersection if they detect no potential collision with the vehicle already crossing the intersection, otherwise the vehicle stop before the intersection area. However, in MP-IP, the vehicle which has the lower priority uses CDAI and finds out the first common cell (trajectory intersecting cell, abbreviated as TIC) with the crossing higher-priority vehicle. Then, instead of not entering the intersection as in CC-IP, the vehicle stops at the cell just before entering the TIC.

Reference [30] illustrates more advanced protocols about intersection using vehicular networks based on the work of [28, 29]. After detailed describing of MP-IP and AMP-IP (Advanced Maximum Progression Intersection Protocol), the paper proves that these protocols avoid deadlock situations inside the intersection area. The improvement of AMP-IP is that, the protocol allows lower priority vehicles to advance and cross the conflicting cell before the higher priority vehicle arrives. A Safety Time Interval of s is used to help lower-priority vehicles decide whether they can go through the conflicting cell safely. Simulation results show that the latest V2V intersection protocol AMP-IP yields over 85% overall performance improvement over the common traffic light models. In [47], Azimi also investigates the use of their proposed V2V-intersection protocols for autonomous driving at roundabouts. The improvement in safety and throughput when the intersection protocols are used to traverse roundabouts is also quantified.

#### 4.3 Optimization Approaches

Machine learning is an emerging aspect in traffic management and control, which also show its capability in different areas such as power system [48, 49], medical science [50], renewable energy [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]. Similarly, considering the optimization, the convex optimization also illustrate its capability in different areas [62, 63, 64, 65, 66].

In recent years, many researches have been done to improve intersection control performance by using optimization approaches. Reference [20] developed a novel linear programming formulation for autonomous intersection control in which the nonlinear constraints were relaxed by a set of linear inequalities. While the objective function of the optimization problem in [20] involves the travel time, other studies [67, 68] are trying to solve similar control problem using an objective function with multiple criteria like safe speeds and accelerations while avoiding collisions. Compared with centralized control approaches, infrastructure support is not needed in decentralized control. In the approach [69] proposed by Wu et al., the estimated arrival time is shared wirelessly among vehicles to obtain the best passing sequence. The problem of coordinating online a continuous flow of connected and autonomous vehicles crossing two adjacent intersections was formulated as a decentralized optimal control problem in [70]. The solution gives the optimal acceleration/deceleration for each vehicle at any time to minimize fuel consumption. Some researchers also studied the control mechanism when there is only part of the traffic are autonomous vehicles [71].

#### 4.4 Emergency Vehicle Handling

Many studies have been done to allow emergency vehicles to have a faster travel across intersections. Based on MAS (Multi-Agent System), [33] introduced a state machine for the intersection controller to change traffic signal status according to lane occupation when an emergency vehicle is approaching. Some researchers have explored the priority evacuation of emergency vehicles under an autonomous and connected traffic environment. Wantanee Viriyasitavat and Ozan K. Tonguz proposed an intersection control system that only uses Vehicle-to-Vehicle (V2V) communication to give emergency vehicles priority of crossing [34]. The paper proposed that at an intersection, a leader should be elected from all approaching vehicles to serve as the temporary traffic light infrastructure and stop at the intersection to coordinate the traffic. The green signal is always given to the lane of detected emergency vehicles and through coordination “green-wave” signals are displayed for the emergency vehicles to let them move at a faster speed. Kurt Dresner and Peter Stone proposed a simple way to deal with emergency vehicles under their intersection control framework AIM (Autonomous Intersection Management) [24]. Their algorithm only grants reservations to vehicles in the lanes that have approaching emergency vehicles which allow the emergency vehicle to continue on its way relatively unhindered.

## Chapter \thechapter DTOT-based Intersection Traffic Management

As introduced in Chapter 1, DTOT is the abbreviation of Discrete-Time Occupancy Trajectory which is a sequence of a vehicle’s actual occupancy within an intersection space. Based on the concept of DTOT, we propose a novel intersection control algorithm named DICA (DTOT-based Intersection traffic Coordination Algorithm) in this chapter.

### 5 Assumptions

In this section, we introduce the basic idea and algorithm of DICA that is developed for autonomous and connected intersection crossing traffic in which all vehicles are Connected and Autonomous Vehicles (CAVs) and capable of wireless vehicular communication. We assume that an intersection has the wireless communication capability as well as a computation unit so that it can exchange information with vehicles and perform necessary computations to coordinate vehicles to cross the intersection safely. In DICA, there is no traffic light that controls the intersection crossing traffic. Instead, each vehicle communicates with the Intersection Control Agent (ICA), to get permission to access the intersection. As shown in Figure 1, an intersection consists of two regions. The bigger region in the figure, which we call the communication region, is defined by the wireless vehicular communication range. The smaller region in the figure, which we call the intersection region, is the area within an intersection that is shared by all roads connected to the intersection. We also assume that each vehicle is equipped with an RFID (Radio Frequency IDentification) chip and there are detectors installed at the entrance of the communication region so that ICA can detect each vehicle’s VIN (Vehicle Identification Number), the lane on which a vehicle is approaching an intersection, and the time when a vehicle enters the communication region. Since all vehicles are autonomous, we assume that each vehicle can obtain its position, speed, and the relative distance to an intersection precisely and also can avoid collisions with other vehicles autonomously when it is approaching an intersection. With regard to wireless vehicular connectivity, we only require information exchange between CAVs and ICA. Thus, there is no V2V communication.

### 6 Interaction between ICA and a CAV

A CAV is considered a head vehicle in its lane if there are no vehicles in front of it or the vehicle which is immediately in front of it has begun to enter the intersection region. As shown in Figure 2, the interaction between a CAV and ICA is initiated from the CAV, when it becomes a head vehicle, by sending a REQUEST message to reserve a sequence of spaces and times to cross the intersection. ICA knows whether a vehicle is a head vehicle or not according to the list of vehicles for each lane. Thus, a REQUEST message not from a head vehicle will be neglected by ICA. The list can be constructed in ICA since, as explained earlier, ICA knows each vehicle’s VIN, the lane on which the vehicle is approaching, and the time when a vehicle passes a detector installed at the boundary of the communication region of an intersection. Each REQUEST message contains information that is necessary to reserve the space and time within the intersection region to cross the intersection such as (i) the VIN, (ii) the Vehicle Size (VS), and (iii) the Timed State Sequence (TSS). The VS is simply the length and width of the vehicle and the TSS is the discrete time state trajectory of the vehicle starting from the entering moment of an intersection region to the moment when the vehicle crosses the intersection region completely. Note that it is implicitly assumed that each discrete time state of a vehicle in TSS is also timed. This means that if a vehicle state is given, then we can say that a vehicle possesses the state at time . For simplicity of our discussion, we assume that the state of a vehicle consists of the coordinate of the vehicle’s location and the orientation . We also assume that, while it is possible that each vehicle can have different sampling period to generate its TSS, all vehicles use the same sampling period which is small enough to generate a close approximation of the vehicle’s actual continuous motion within an intersection.

ICA converts the TSS to the corresponding DTOT using the VS information which is also contained in the received REQUEST message. The DTOT is simply a sequence of timed rectangular spaces that a vehicle needs to occupy within an intersection region to cross the intersection. Now, ICA uses all confirmed DTOTs to adjust the requested DTOT to avoid collisions if needed. ICA then converts the collision-free DTOT to TSS and sends it back to the vehicle using a RESPONSE message which contains (i) the VIN and (ii) TSS so that the vehicle can follow the confirmed DTOT to cross the intersection. More detailed explanation on how to process the requested TSS to generate a confirmed DTOT is presented in the following section. In the sequel, we say that a vehicle is a confirmed vehicle if it has received a confirmed DTOT from ICA. And we assume that every vehicle is able to follow the confirmed DTOT precisely. In practice vehicles will have tracking errors to follow a given DTOT. To avoid potential collisions with other vehicles, we can increase the size of every occupancy in the DTOT by the upper bound of tracking errors. Since the focus of this chapter is to develop an algorithm for ICA for safer and higher throughput intersection crossing traffic, we simply assume that we have an ideal wireless vehicular communication performance such that all REQUEST and RESPONSE messages are exchanged correctly and timely. However, it is important to note that, despite such an ideal communication assumption, our DTOT-based algorithm can still be applicable in practice with small modifications of the algorithm to take into account the communication unreliability. For instance, typically we may face two problems (i.e. package delay and lost) to handle the imperfect communications existing between CAVs and ICA in real situations. We could use the upper bound of the package delay to extend every occupancy in a DTOT which is safe for vehicles but a little bit conservative. For package lost problem, an ACK message can be added to confirm the delivery of REQUEST and RESPONSE messages whose details can be found in next Section. A CAV will send REQUEST again if it does not receive the ACK message from ICA. The same strategy could be applied to ICA and RESPONSE message.

### 7 DTOT-based Intersection Traffic Coordination

ICA processes a REQUEST message from a head vehicle according to the procedures shown in Algorithm 1 which we call the DTOT-based Intersection traffic Coordination Algorithm (DICA). As shown in the algorithm, we use TSS() and DTOT() to denote the TSS and DTOT for a vehicle respectively. We also use to denote the set of vehicles which have already been confirmed at the time when a REQUEST message is being processed. We say that two vehicles are space-time conflicting if their trajectories are conflicting not only in space but also in time. More precisely, two vehicles are considered to be in space-time conflict in our algorithm when their DTOTs have at least one pair of occupancies that conflict in both space and time. We use another set in Algorithm 1 to represent the subset of which contains the set of vehicles whose confirmed DTOTs have space-time conflict with the DTOT of the vehicle that is currently being processed for confirmation. Vehicles in are ordered in ascending order of a certain attribute of their confirmed DTOTs. To explain this attribute more clearly, let us consider a situation when DICA processes a vehicle ’s DTOT and there are two vehicles and in the set . Now let us suppose that DTOT() starts to space-time conflict with DTOT() from its -th occupancy and DTOT() starts to space-time conflict with DTOT() from its -th occupancy. If we use to denote the -th occupancy within DTOT() and be the time when the vehicle occupies , then we say that, in this particular situation, is the first time at which starts to collide with . Similarly, is the time at which starts to collide with . In the sequel, this specific time instant for each vehicle in is represented by the variable ’firstTimeAtCollision’. In this particular situation, and are denoted by and , respectively. Vehicles in the set are ordered according to this variable. Specifically, if is earlier than , then gets higher priority than and vice versa. To see more clearly how the ’firstTimeAtCollision’ is determined, we can consider an illustrative example shown in Figure 1. In the figure, DTOT() and DTOT() have space conflicts in {} and {}. If we assume that these occupancies are also conflicting in time, then with respect to the vehicle is .

As shown in Algorithm 1, when ICA receives a REQUEST message from a head vehicle , it first converts the TSS() into the corresponding DTOT() using the vehicle’s VS. Then ICA calls the function checkFV() to determine if there exist front vehicles (See Section 7.1 for more details about front vehicles.) that affect the vehicle ’s motion and also to adjust ’s DTOT if needed. Then the function getCV() is called to determine the set which is the set of vehicles whose DTOTs are space-time conflicting with DTOT(). The updateDTOT() function adjusts DTOT() appropriately so that DTOT() avoids space-time conflict with other vehicle’s DTOT. These two functions are iteratively called within the while loop until the set becomes empty, which indicates that no vehicles in the set will collide with the vehicle . After DTOT() is appropriately adjusted and confirmed that there is no space-time conflict with all other confirmed vehicles, then the confirmed DTOT() is converted into TSS(). Finally, ICA sends the confirmed TSS() back to the vehicle so that the vehicle can cross the intersection safely by following the confirmed DTOT. In the following sections, we provide more detailed explanation on the subfunctions called within DICA.

#### 7.1 Collision Avoidance with Front Vehicles

As shown in Figure 3, there are two types of front vehicles when a vehicle is approaching and crossing an intersection. In DICA, a vehicle is considered as a front vehicle of if the vehicle comes from another lane but has the same exit lane as vehicle or the vehicle is immediately in front of and has the exact same intersection crossing route as that of . For a vehicle , if there is another confirmed vehicle whose exit lane is the same as that of vehicle and will exit the intersection earlier, then they may collide immediately after crossing the intersection if the speed of vehicle is higher than that of the other confirmed vehicle. To address this problem, AIM [23] adopted a simple strategy which gives one second separation time between these two vehicles. However, it is important to note that the separation time should depend on the speeds of the two vehicles. Hence, instead of using a fixed separation time approach, we use an approach that restricts the maximum speed of a following vehicle by the speed of the front vehicle. In the example situation (a) shown in Figure 3, the vehicle ’s maximum allowed speed within an intersection is restricted by the front vehicle’s exit speed. If there is another confirmed vehicle that has the same intersection crossing route as vehicle , we adjust ’s speed to leave adequate distance between them. In Algorithm 1, the function checkFV() looks for the existence of above mentioned front vehicles from all confirmed vehicles and delay the new head vehicle to avoid potential collisions if needed.

#### 7.2 Vehicles for Collision Avoidance

The function getCV() returns the set that contains vehicles which will cause potential collisions inside the intersection with vehicle . To better understand the operation of function getCV(), it is necessary to introduce the way we check the space-time conflict between two occupancies from DTOTs of two vehicles. For every individual occupancy in a DTOT of a vehicle, we define the entrance time () and the exit time () of the occupancy as the times when the vehicle first contacts and is totally out of the occupancy. These two times can be estimated by taking the times of the previous and next occupancies which are the closest to the occupancy while having no overlapping area. As an example, for the occupancy of the vehicle in Figure 1, the entrance time and the exit time of that occupancy can be determined by and , respectively. Note that a DTOT for a vehicle consists of many more numbers of occupancies in practice. Hence, the entrance times and exit times determined in this way can be very close to the actual entrance and exit times of the occupancy. For the first several occupancies in a DTOT, there may not be a previous occupancy that has no overlapping area with themselves. For these occupancies, we simply take the first occupancy’s time in the DTOT as these occupancies’ entrance time. As an example shown in Figure 1, we use as the entrance time for the occupancy . Similarly, we take the last occupancy’s time as the exit time for the last several occupancies in a DTOT.

As shown in Algorithm 2, the function getCV() determines the set by checking space-time conflict for every pair of occupancies for all , and in the set . Since an occupancy in a DTOT is represented as a rectangle, it is relatively straightforward to do a space conflict checking. For this, Algorithm 2 simply checks if two rectangles have a non-empty intersection or not. If a pair of occupancies are space-conflicting, then the function continues to investigate these occupancies to determine if they are in time-conflict as well. The above-explained entrance and exit times of an occupancy are used for this purpose. For a given occupancy , the function getOTI() calculates these entrance and exit times for that occupancy and returns a corresponding time interval which we call the occupancy time interval in the sequel. Then the two occupancy time intervals for the pair of space-conflicting occupancies are compared to determine if these occupancies are also occupied around the same time. If a pair of occupancies are conflicting in both space and time, then the vehicle is included in the set and the corresponding firstTimeAtCollision is determined so that the vehicle is appropriately ordered within the set .

#### 7.3 DTOT Update

The first vehicle in the set is the earliest vehicle that is space-time conflicting with vehicle . Then, in line 8 of Algorithm 1, the function updateDTOT() modifies vehicle ’s DTOT to avoid collision with vehicle based on space-time conflicting occupancies between vehicles and . However, it is still uncertain whether will be empty or not after this update of avoiding collision with vehicle . In fact, it is still possible that the modified DTOT of vehicle will be in space-time conflict with DTOTs of other confirmed vehicles. Hence, to ensure that vehicle avoids collision with all other confirmed vehicles, it is necessary to construct based on the updated vehicle ’s DTOT and update the DTOT again to avoid collision with the first vehicle in the set. This process is repeated in the while loop in Algorithm 1 until the set becomes empty which means that vehicle is not conflicting with any confirmed vehicles. When a vehicle proposes its DTOT to ICA, we assume that it prefers to select the fastest way to pass the intersection which means the vehicle will try to use the maximum allowed speed to cross. Our current strategy for updating a vehicle’s DTOT is to delay the vehicle until other confirmed vehicles cross an intersection safely. While it is an interesting future research problem to develop more sophisticated approaches to improve the overall performance, the current simple delay strategy is still very effective to ensure collision-free intersection traffic. Note that, since the times of occupancies in a vehicle’s DTOT are always delayed whenever the vehicle’s DTOT is updated, it is guaranteed that the vehicle can always meet the updated DTOT by simply decelerating to experience a long time before entering the intersection. The worst case is that a vehicle may need to stop and wait for some time before an intersection to meet the given confirmed TSS from ICA.

### 8 Liveness Analysis

A deadlock is a situation where two or more processes are unable to proceed and each process is waiting for another one to finish because they are competing for shared resources. In an intersection crossing traffic, a deadlock could happen when several vehicles are trying to cross the intersection at the same time. For example, if the coordination between vehicles who want to cross an intersection is not done appropriately, then a deadlock may occur between two vehicles on a same lane. As discussed in [23], it is possible that even when the vehicle in front cannot get confirmed due to the conflict of its intersection crossing route with those of other vehicles which are already confirmed to enter and cross an intersection, the vehicle in the back may get confirmed because its intersection crossing route is not conflicting with other confirmed vehicles’ crossing routes. And the vehicle successfully reserves the space for its intersection crossing route within an intersection. In this situation, the front vehicle cannot get confirmed since some part of the intersection crossing route of it conflicts with that of the behind vehicle which is already confirmed and also the behind vehicle cannot proceed to cross the intersection due to the unconfirmed front vehicle. A deadlock situation may also occur when several vehicles from different directions want to cross an intersection at the same time. This type of deadlock situation is discussed in detail in [72] for the case of four vehicles in which none of the vehicles can progress inside the intersection because each of the vehicles’ next occupancies are already occupied by other vehicles. Now we show that DICA shown in Algorithm 1 are free from these deadlock situations.

###### Proof.

In an intersection crossing traffic, a starvation situation may occur when vehicles from a certain direction are waiting for a very long time or even indefinitely to be allowed to enter and cross an intersection while vehicles from other directions are continuously allowed to cross the intersection. Now we show that a starvation situation will not occur in an intersection crossing traffic that is coordinated by DICA.

###### Proposition 2.

DICA is starvation free.

###### Proof.

First, let us recall that, as discussed in Section 5, DICA considers a vehicle for confirmation only when the vehicle becomes the head vehicle on its lane. Now let be the vehicle ’s entrance time to the communication region of an intersection, be the set of head vehicles which is ordered by for all , and be the set of vehicles which are approaching to cross an intersection but not included in the set . Clearly, is bounded by the number of all lanes from which vehicles are approaching an intersection to cross and is also bounded by both the number of lanes and the length of lanes within the communication region of an intersection. Note that DICA processes vehicles in for confirmation according to the order of vehicles in . Once the first vehicle in is processed and gets confirmed, then the vehicle is removed from . Note that if DICA is not starvation free, then there must exist at least one vehicle such that the vehicle will never (or at least take an unnecessarily very long time to) become the first element in the ordered set . Thus, to prove the starvation free property of DICA, it suffices to show that, for any vehicle , the vehicle will be removed from in finite time. To show this, we can consider the last vehicle in the ordered set . If for all , then the vehicle will be cleared right after all other vehicles in are confirmed and this is the earliest time for to be removed from . On the other hand, if for all as the worst situation for , then the vehicle might need to wait until all () vehicles get confirmed to be considered for confirmation. Thus, it is clear that the vehicle will be cleared from in finite time. ∎

### 9 Simulation

In this section, we present simulation results of DICA and the Concurrent Algorithm [1] under same configurations. Compared with Concurrent Algorithm, DICA provides a more efficient way of coordinating vehicles to avoid unnecessary delay.

#### 9.1 Simulation Setup

Traffic simulation is performed by the microscopic road traffic simulation package SUMO (Simulation of Urban MObility) [73]. This simulator is widely used in the research community, which makes it easy to compare performance of different algorithms. Our intelligent intersection management algorithm is implemented by the Traffic Control Interface (TraCI) in SUMO.

The simulated scenario in our simulation is the traffic of a typical isolated four way intersection with two incoming lanes and one outgoing lane on each road. is set as the maximum allowed speed for incoming roads. We generate vehicles with random velocity within the range of and when they enter the communication region. To simulate intersection traffic as real as possible, we use different maximum allowed speeds for vehicles with different routes. Although there are not specific speed limits for vehicles who are turning left or right, people are still using some lower speed to feel comfortable and maintain safety. We choose conservative speed limits for turning based on experience from driving in daily life. We use for right turning and for left turning. For vehicles with through route, is set as the speed limit. The time step we used in simulation is . The maximum acceleration and deceleration rates are and . Vehicles have a size of meters length and meters width. Since, in some cases, a vehicle may need to stop just before the entrance line of the intersection region to avoid collisions with other vehicles, the distance from the entrance line of the communication region to the entrance line of the intersection region should be long enough so that a vehicle can stop from its maximum speed . Thus, from the value used for the maximum deceleration rate , we need at least . So, we use for the distance from the entrance line of the communication region to the entrance line of the intersection region. We evaluate the performance of our algorithm in situations where vehicles are spawned randomly from each direction at different probabilities. In our simulation, we consider three different traffic volumes. For each traffic volume, through different traffic generation time and randomly generated vehicles’ routes, we test each case for twelve different traffic patterns. Average data of twelve different traffic patterns are used as the result for that case. Each simulation run is terminated when a certain time limit ( min) has been reached. Fig 21 shows a screenshot of simulation in SUMO when vehicles of different routes appears within the intersection simultaneously without occurrence of collision. Inside the intersection, the straight going vehicle from East goes inside the intersection shortly after the vehicle from North to South clears the conflicting space. Vehicles whose DTOTs is not conflicting with these two can pass the intersection at the same time, for example the right-turning vehicle from South in the figure.

#### 9.2 Simulation Results

Performance improvement has been validated through extensive simulations of DICA and Concurrent Algorithm. Simulation results of different volumes are shown in Table 1. To evaluate and compare the performance, we define several performance measures. Trip time () is the difference between actual exit time of the intersection and the time the vehicle enters the intersection communication range. Average trip time () is the average value of trip times of all crossed vehicles. Standard deviation () is computed based on the trip times of all crossed vehicles. Throughput () is defined as the percentage of crossed vehicles against total generated vehicles. Stopped rate () is obtained through dividing stopped vehicles number by crossed vehicles number.

However, note that neither the average trip time nor the throughput alone is sufficient to correctly evaluate the performance of an algorithm. In some cases, it could be possible that one algorithm shows better performance on average trip time while another algorithm performs better on throughput. Thus, both of the two measures should be considered together to correctly compare and evaluate the performances of different intersection control algorithms. We calculated the ratio of average trip time to throughput, which is called effective average trip time () and believe it could show the performance of an algorithm more comprehensively, i.e. .

Compared with Concurrent Algorithm, DICA increases the throughput and largely decreases the average trip time. As shown in Table 1, both algorithms have less and less throughput with the increase of traffic volume. Also, larger decrease of throughput is shown in Concurrent Algorithm compared with DICA. DICA’s smaller values of standard deviation imply that DICA is fairer than Concurrent Algorithm. Stopped rate shows that less vehicles experience a stop at the intersection enter line for our DICA algorithm thus saves energy. Effective average trip time could tell us comprehensive information about the performance of an intersection control algorithm. Efficiency and fairness of an algorithm are integrated in this measure. With more vehicles crossed and less average trip time, DICA has much less value of effective average trip time than that of Concurrent Algorithm.

The histogram of trip times of crossed vehicles in one simulation run from case 1 and one particular traffic pattern is shown in Figure 5. From the figure we can see that under the same traffic setting, for the crossed vehicles, DICA results in less and concentrated trip times. On the other side, Concurrent Algorithm leads to much longer and wider distributed trip times. Compared with Concurrent Algorithm, DICA is fairer and much efficient for crossed vehicles.

Figure 6 shows the maximum, average and minimum trip time for both algorithms under three different volumes. With heavier traffic volume, both algorithms have large maximum trip times and average trip times. However, DICA always performs better than Concurrent Algorithm in all three volumes.

### 10 Summary

In this chapter, we have developed an intelligent intersection control algorithm DICA employing the concept DTOT. V2I interaction protocol has been established for interactions between vehicles and intersection. DICA is able to manage limited intersection space at a more accurate and efficient way. Simulation results show that our algorithm achieves less effective average trip time compared with Concurrent Algorithm proposed by [1].

## Chapter \thechapter Computational Complexity Improvements of DICA

In this chapter, we analyze the overall computational complexity of DICA and improve it in several computational technical approaches. We also enhance the algorithm accordingly so that it is possible to operate the algorithm in real-time for autonomous and connected intersection traffic management.

### 11 Computational Complexity Analysis

In this section, we analyze the computational complexity of DICA shown in Algorithm 1. Recall that is the set of vehicles within the communication region of an intersection that has been confirmed to cross. Let us assume that there are vehicles in , i.e., . Then we have the following result on the computational complexity analysis of DICA.

###### Proposition 3.

DICA has computational complexity where is the maximum length of intersection crossing routes in an intersection.

###### Proof.

Let be the vehicle which is currently being processed by ICA for intersection crossing confirmation. Also let where and is the number of occupancies in the vehicle ’s DTOT. Then, in line 3 (Algorithm 1), it is easy to see that creating DTOT from the TSS and vehicle size information in the vehicle ’s REQUEST message involves only computational complexity. In line 4 (Algorithm 1), as explained in Section 5, the front vehicle checking function checkFV() does a simple comparison with every confirmed vehicle in to see if there are any vehicles which might affect the vehicle ’s DTOT and modifies the DTOT if it is necessary to ensure enough separation time and distance between the vehicle and other vehicles in front. And this process requires computational complexity. Then, in line 5 (Algorithm 1), the function getCV() is called to identify the set of vehicles in whose DTOTs might be in space-time conflict with the vehicle ’s DTOT. (Note that, as shown in Algorithm 2, is an ordered set according to time of collision and it is clearly .) Thus, to return the set from the set , this function performs times of space-time conflict checking between the vehicle and vehicles in . If a non-empty set is returned in line 5 (Algorithm 1), then, in lines 6 10 (Algorithm 1), the vehicle ’s DTOT is iteratively updated until the set becomes empty within the while loop. (As one can see in Algorithms 1 and 2, these steps are indeed the main part of the DICA algorithm and involve some computationally expensive operations. Hence, we describe the computational complexity of steps within the while loop separately in the next paragraph.) After the while loop, as the last steps in Algorithm 1 in lines from 11 to 13, the space-time conflict free DTOT for the vehicle is stored, converted into TSS, and then sent to so that the vehicle can cross the intersection according to the DTOT. Clearly, these steps are fairly simple in terms of computation and in fact require complexity. Next, we analyze the computational complexity of steps within the while loop.

Space-time conflict checking steps: As described in Section 5, space-time conflict checking in getCV() is done using DTOTs of vehicles. Specifically, the two nested if blocks from line 6 to line 14 in Algorithm 2 perform this operation. For space conflict checking, it is checked if there exist non-empty intersections between two occupancies: one from DTOT of the vehicle and another from DTOT of one of the vehicles in the set . This is done in the outer if block and requires times of iteration in the worst case. If two vehicles have a space conflict, then Algorithm 2 proceeds to check for time conflict. To check time overlapping between two space conflicting occupancies, the function needs to calculate time intervals for these occupancies during which each vehicle occupies its occupancy. This can be done easily by comparing occupancy time between occupancies within the same DTOT. As an example, for a given occupancy which is the -th occupancy within the vehicle ’s DTOT, the lower and upper bounds for the occupancy time can be determined by space overlapping checking between the occupancies and for . Thus, the two function calls to getOTI() within the if block involve the computational complexity of . Once the occupancy time intervals are determined, it is a straightforward calculation to check time overlapping as shown in line 9 of Algorithm 2 and it takes computational complexity. After identifying all space-time conflicting vehicles from the set and storing them to the set , Algorithm 2 then sorts the set according to the ascending order of occupancy times of space-time conflicting occupancies and returns the set. Note that and in general. Hence, this sorting operation can be done with computational complexity. If we consider all these calculation steps in the getCV() function, then one can see that the overall computational complexity for space-time conflict checking steps in getCV() is .

DTOT adjustment for collision avoidance: Once the set is returned from the function getCV(), the DICA algorithm updates the vehicle ’s DTOT to avoid space-time conflict with DTOTs of the vehicles in the set . In line 7 (Algorithm 1), it is shown that the first vehicle in the set is considered for updating the vehicle ’s DTOT. As described in Section 5, our update strategy to avoid space-time conflicts is to make the vehicle enter the intersection area a little bit late so as to give enough time for vehicle to cross the intersection safely. For this, the DICA algorithm first needs to compute the delay time needed to avoid the space-time conflict with the vehicle . Since the occupancy time interval for the vehicle ’s earliest space-time conflicting occupancy has already been determined from the function getCV(), it is easy to calculate this delay time in this update process. Once the delay time is determined, then the remaining step is simply to change the occupancy times of all the occupancies in the vehicle ’s DTOT to be delayed and this results in computational complexity.

As described above, the number of vehicles in the set is when the function getCV() is called for the first time in line 5 (Algorithm 1). Then, within the while loop, the function updateDTOT() adjusts the vehicle ’s DTOT to avoid collision with the first vehicle in the set and this step reduces the number of vehicles in the set that can potentially collide with the vehicle at least by one. Thus, in the worst case, the number of vehicles in the set returned by the second call of within the while loop is . If we assume the worst case for all following iterations within the while loop until the set becomes empty, then it is easy to see that the functions getCV() and updateDTOT() are called times within the while loop. This implies that since the computational complexity of the function updateDTOT() is significantly lower than that of the function getCV(), the overall computational complexity of the while loop can be considered as .

Note that the maximum number of occupancies depends on both the time that it takes for a vehicle to cross the intersection and the discrete time step used to construct the DTOT by ICA. If we let be the discrete time step used by ICA and be the time it takes for a vehicle to completely cross an intersection when the vehicle starts from rest and accelerates to cross the intersection as quickly as possible, then we have as an upper bound for . Note that depends on the length of an intersection crossing route that a vehicle takes to cross an intersection. If we let be the maximum length out of all intersection crossing routes for an intersection, then can be expressed in terms of instead of . Specifically, if is long enough so that a vehicle can reach its maximum allowed speed within an intersection before it completely crosses the intersection, then it can be shown that where is the maximum acceleration rate of a vehicle. On the other hand, if is not long enough for a vehicle to reach while crossing an intersection, then it is also relatively straightforward to show that . (These two different cases are illustrated in Figure 7.) If we fix values for , and , then one can see that for the former case is proportional to while, for the latter case, is proportional to the square root of . Hence, if we substitute for in the computational complexity that we derived above, then we finally have as the overall computational complexity of DICA.

### 12 Algorithm Improvements

According to the computational complexity analysis result described in the previous section, it is true that the original DICA algorithm that is shown in Algorithms 1 and 2 is somewhat conservative in terms of computational cost to be used in practice. In this section, we present several approaches that can be used to improve the overall computational efficiency of the algorithm.

#### 12.1 Reduced Number of Vehicles for Space-Time Conflict Check

As shown in Algorithm 2, all confirmed vehicles in the set are examined to obtain the set of space-time conflicting vehicles for a new unconfirmed head vehicle . However, we see that this computation process can be improved by excluding vehicles that cannot be in space-time conflict with the vehicle under any circumstances from the set . For example, a confirmed vehicle who has an intersection crossing time interval that is not overlapping with the vehicle ’s intersection crossing time interval can be excluded. Note that the intersection crossing time interval of a confirmed vehicle can be easily determined by the lower bound of the occupancy time of the vehicle’s first occupancy and the upper bound of the occupancy time of the vehicle’s last occupancy in the vehicle’s confirmed DTOT. In addition to these vehicles, vehicles in the set whose intersection crossing routes are compatible with that of vehicle can also be excluded. Hence, if we let be the subset of all confirmed vehicles in set that can be obtained after excluding all above-mentioned vehicles in determining the set , then the resulting computational complexity for the space-time conflict checking in function getCV() becomes where , , , and is the maximum number of occupancies of all vehicles that are in the set and also the vehicle that is currently under consideration for confirmation. (See the proof of Proposition 3 for the precise definition of .)

#### 12.2 Efficient Space Conflict Check

Note that, for any two vehicles coming from different directions, they can collide with each other only within some parts of their intersection crossing routes. Thus, not all occupancies of a vehicle’s DTOT needs to be checked for space conflict with another vehicle’s DTOT. For example, the two vehicles and in Figure 1 have very short ranges of intersection crossing routes that are space conflicting with each other. Thus, the occupancies to be checked can be reduced to {} and {} from their entire DTOTs. Since the number of occupancies in a DTOT is very large in general, this can improve computational speed considerably. Note that, since the intersection crossing routes are fixed for a specific intersection, we can predetermine these space conflicting short ranges offline only one time for all pairs of incompatible intersection crossing routes. Hence, this extra preparation process does not incur an additional computational cost during the online operation of DICA. If we use DTOT to denote the subset of the original DTOT for a vehicle that can be obtained from this approach, then the computational complexity of the function getCV() in Algorithm 2 can be expressed as where and is the maximum number of occupancies of all vehicles that are in the set and the vehicle that is currently under consideration for confirmation.

#### 12.3 Approximate Occupancy Time Interval Calculation

As explained in Section 3, ICA checks if an occupancy of a vehicle is conflicting in time with another vehicle’s occupancy using occupancy time intervals that can be obtained from each vehicle’s DTOT. However, the way to obtain an occupancy time interval presented in the proof of Proposition 3 is somewhat naive in the sense of computational complexity. In fact, as analyzed in the proof, such an exhaustive search involves a computational complexity of . To simplify this computation process, we propose to estimate the occupancy time interval for a certain occupancy based on the vehicle’s speed, length, and acceleration rate instead of performing the exhaustive search. To clarify this idea, let us consider an example. For simplicity of explanation, we consider a case when a vehicle is moving in a straight line as shown in Figure 8. Let be the occupancy for which the DICA algorithm needs to determine the occupancy time interval , be the vehicle length of the vehicle , be the sampling time interval, be the center position of the along the straight line. Then the algorithm first estimates the vehicle’s speed and acceleration rate around the occupancy from , , , and . Occupancies at are very close to the occupancy and are not shown in Figure 8 for simplicity. Specifically, if we let and be the speed of the vehicle from to and from to respectively, then these speeds can be approximated as follows:

 Vk−(vi)≈xk−xk−1h,Vk+(vi)≈xk+1−xkh (1)

From these speeds, we now approximate the acceleration rate of the vehicle as follows:

 Ak(vi)≈Vk+(vi)−Vk−(vi)h (2)

where denotes the acceleration of the vehicle at the occupancy . If we take the average of the speeds around , then we can also approximate which is the speed of the vehicle at . Note that since the length of a vehicle is just a few meters in general, the actual motion of the vehicle within the occupancy can be approximated fairly accurately by and .

Now, since it is a straightforward process to estimate and from , , and , we omit the details of these calculations. For the case when the vehicle is moving on a curved path, we can still use the same method to approximate and . But, in this case, we may need to add a short extra distance to the to estimate and more accurately. Such an extra distance can be simply determined by the curvature of the path that is represented by the DTOT of a vehicle. Finally, if we apply this approximation method for an occupancy time interval calculation in the getOTI() function, then the computational complexity of the function getCV() improves from to .

#### 12.4 Efficient Occupancies Comparison

In addition to all the techniques described above, the overall computational complexity of Algorithm 1 can be improved further if we employ an efficient searching method such as the bisection method in the process of time-conflict checking between two DTOTs. If we employ this bisection approach for time-conflict checking as shown in Algorithm 3, then the computational complexity of the function getCV() can be improved significantly from to .

All of the improvement techniques discussed in this section are incorporated into the function getCV() to improve the overall computational complexity of the space-time conflict checking process. Algorithm 3 shows this modified getCV() function which is now called enhanced_getCV(). In Algorithm 3, represents the set of already confirmed vehicles that is obtained from the process in Section 12.1 and DTOT represents the subset of original DTOT for a vehicle that can be obtained from the approach in Section 12.2. The function getOTI() within the while loop is now replaced by the new function getEstOTI() that calculates the occupancy time interval approximately as described in Section 12.3. Lastly, the approach for efficient time conflict checking that is presented in Section 12.4 is implemented throughout the while loop of the DICA algorithm.

###### Proposition 4.

Enhanced DICA has computational complexity where , is the number of vehicles already confirmed to cross an intersection, and is the maximum length of intersection crossing routes in an intersection.

###### Proof.

First, note that the only part in Algorithm 1 that is affected by this proposed enhancement is that the number of confirmed vehicles to be considered for a space-time conflict check is reduced from to where and . Thus, in Algorithm 1, the functions enhanced_getCV() and updateDTOT() are now called times. Next, we also note that, since nothing is changed due to this improvement in the updateDTOT() function whose computational complexity is already significantly lower than that of the function getCV(), it suffices to analyze the computational complexity of the function enhanced_getCV() presented in Algorithm 3 for the overall computational complexity of the enhanced DICA.

Now, as one can see in Algorithm 3, the entire block within the outer for loop is executed for times since the number of confirmed vehicles to be checked for a space-time conflict with the vehicle is reduced from to due to the approach discussed in Section 12.1. Then, within the for loop, for each vehicle in the set , occupancies from each vehicle’s DTOT are evaluated for space and time conflict which typically requires times occupancy comparison operation where is the maximum number of occupancies in a vehicle’s DTOT. However, in the enhanced_getCV() function, we first note that the maximum number of occupancies for each vehicle’s DTOT to be tested for space-time conflict is reduced from to where and due to the approach presented in Section 12.2. Another important improvement is that the computational complexity for the occupancy time interval calculation is improved from to within another enhanced function getEstOTI() as discussed in Section 12.3. Therefore, the overall computational complexity of the outer for loop can be estimated as . However, note that this is the case when we use the same occupancies comparison method as used in the original getCV() function. As shown in Algorithm 3, the process of occupancies comparison is now performed based on the bisection search method. Roughly speaking, for given and , this efficient search method improves the overall computational complexity of the function from to as discussed in Section 12.4. If we combine this and others discussed above for the overall computational complexity of the enhanced_getCV() function, then we have . Recall that the enhanced_getCV() function is called at times in the main while loop as discussed above, we have as the overall computational complexity of DICA.

As we have analyzed already in the proof of Proposition 3, is linearly proportional to the maximum length of intersection crossing routes . Hence, if we substitute for , then we finally have as the overall computational complexity of enhanced DICA where . ∎

### 13 Simulation

In this section, we present simulation results that demonstrate the improved performance of the enhanced DICA over the original algorithm. The performance of the enhanced algorithm is also compared with that of an optimized traffic light intersection control.

#### 13.1 Simulation Setup

To evaluate the performance of the original DICA and the enhanced DICA, we implemented both algorithms in SUMO [73], and performed extensive intersection traffic simulations. The simulated situation is an intersection crossing traffic on a typical isolated four-way intersection with three incoming lanes, one of which is a dedicated lane for left-turning vehicles, and two outgoing lanes on each road. We set as the maximum allowed speed for all incoming vehicles. We let vehicles approach an intersection with different speeds when they enter into the communication region of the intersection to make the simulation more realistic. Specifically, when a new vehicle is spawned outside of the communication region, we assign the initial speed of the vehicle randomly within the range from 40% to 100% of the maximum allowed speed . Thus, a vehicle keeps this random initial speed until it enters the communication region and then it either follows another vehicle or is confirmed by ICA with a feasible DTOT. The maximum acceleration () and deceleration () rates for vehicles that are used in simulations are and , respectively. The size of a vehicle used in simulations is meters long and meters wide. The distance from the enter line of the communication region to that of the intersection region is set as . The time step that is used in simulations is seconds. In most cases, a simulation terminates when the simulation time reaches minutes.

In our simulations, vehicles are spawned according to several random variables in order to generate various traffic volumes as well as traffic patterns. Specifically, is the probability that a vehicle is spawned. are the probabilities for this new vehicle to have a route of left-turning, through or right-turning. Thus, by adjusting , we can generate various traffic volumes. As shown in Table 2, we set , , and for all traffic volume cases to generate of all incoming vehicles for left turing, for going straight, and the other for right turning. We use three random seeds to generate three different intersection traffic patterns for each traffic volume. Thus, to obtain simulation data for each traffic volume, we run three simulations with different traffic patterns for each simulation and then use the averages of these simulation results as the result for each traffic volume case. The intersection crossing traffics generated in most of our simulations are balanced traffics in the sense that the numbers of vehicles generated in each incoming road are about the same. However, for a simulation to show the starvation free property of the proposed DICA algorithm, the intersection traffic is purposely designed to be unbalanced where the number of vehicles for minor approaching roads is roughly 30% of the vehicles on major roads.

In the following discussion on our simulation results, simulation time means the simulated time used in simulation program and computation time, which will be discussed later in Section 13.2.1, means the actual elapsed time that it takes for a computer to run a simulation. Also, in Section 13.2.3, the traffic control performance of the enhanced DICA is compared with that of a traffic light algorithm with fixed cycles. To have a comparable traffic light program, we computed the optimal signal cycles for different traffic volume cases by using the exponential cycle length model from [74]. In the model, represents the total lost time within the cycle. The lost time for each phase is assumed to be seconds [75]. Thus, . is the sum of critical phase flow ratios. The duration of the yellow light of each phase is 3 seconds.

All simulations were run on a 64bit Windows computer, and its processor is Intel(R) Core(TM) i7-4770 CPU @ 3.40 GHz with 8 GB RAM. The interface programs with SUMO were coded in Python.

#### 13.2 Simulation Results

Computation times and performances of three different traffic patterns for all five volume cases are recorded from simulations.

##### Computation Time

Figure 9 (a) compares the computation times of the original DICA, the enhanced DICA, and the optimized traffic light algorithm. Figure 9 (b) shows how much computational improvement was made through each computational improvement technique discussed in Sections 12.1, 12.2, 12.3, and 12.4. Note that since the computational improvement technique in Section 12.4 is implemented based on the computational improvement technique in Section 12.2, we had to combine techniques from both Sections 12.4 and 12.2 to show the improvement due to the technique in Section 12.4 indirectly. Here, we show the computation times comparison for only one traffic volume case with 300 vehicles per 10 minutes since the trends for other volume cases are similar. The vertical axis in Figure 9 is the computation time in hour unit which is represented in logarithmic scale. As shown in Figure 9 (a), the enhanced DICA that implements all improvements discussed in Section 12 takes significantly less computation time, i.e. only computation time of the original algorithm. When we apply each computational improvement technique individually, our result shows that it takes about of the computation time of the original DICA with the technique in Section 12.1, with the technique in Section 12.2, with the technique in Section 12.3, and with techniques in Sections 12.2 and Section 12.4 together. If we combine all of these individual improvements altogether to estimate the collective improvement, then we have about computation time of the original DICA which is similar to the computation time result with the enhanced DICA in which all these techniques are implemented.

Table 3 compares the computation times between the enhanced DICA and the optimized traffic light algorithm for all five traffic volume cases. From the results shown in the table, we note that the computation time for the optimized traffic light algorithm gradually increases as the traffic volume increases. However, since the optimized traffic light algorithm has computational complexity, its computation time cannot be affected by the number of vehicles around an intersection. Thus, roughly speaking, one can say that the computation time of the optimized traffic light for a particular traffic volume case is in fact the time required for the simulation software SUMO to run a simulation with the number of vehicles for that particular traffic volume case. Therefore, the actual computation time of the enhanced DICA for a particular traffic volume case can be roughly approximated by subtracting the computation time of the optimized traffic light for the case from the computation time of the enhanced DICA presented in the table. For example, for the traffic volume with 500 vehicles, the actual computation time for the enhanced DICA can be approximated as hours which is 1.86 minutes. Note that this 1.86 minutes is the computation time taken by the algorithm to handle 500 vehicles. Thus this in turn implies that it takes only 0.2232 seconds to handle each vehicle. An exception to this approximation is the case with 100 vehicles traffic volume case where the computation time for optimized traffic light takes longer time than that of the enhanced DICA. The reason for this result can be understood by considering the fact that, in such a low traffic volume situation, the average number of vehicles to be simulated by SUMO at each simulation time step is smaller in the enhanced DICA case since vehicles are crossing an intersection much faster without waiting at an intersection under the enhanced DICA than the optimized traffic light as shown in Section 13.2.3.

##### Liveness and Safety

Although we have theoretically showed the liveness of DICA, it is better to have simulation results that support the theory. Since the simulation in this section is only a verification, we run a simulation with 10, 000 vehicles instead of giving a restriction on the simulation time. The simulation ends after all 10, 000 vehicles have exited the simulation scene. We recorded the number of vehicles that are waiting to cross the intersection at each simulation time step and plot the number profile in Figure 10. As shown in the figure, the number of vehicles drops to zero in almost a linear way within a finite time which demonstrates that every vehicle was able to cross the intersection eventually which proves the proposition 1 in Section 11. We also performed a set of simulations for the case of unbalanced traffic situation where the number of vehicles on minor roads is only 30% of that of major roads to demonstrate the fairness of DICA. To show the fairness of the algorithm, we recorded the average trip times for major roads and minor roads respectively for every traffic volumes. As shown in Table 4, one can find that the average trip time of the minor roads is about the same as that of the major roads. This shows that there is not a case that some vehicles cannot get confirmation or will experience a very long time to be confirmed which demonstrates that DICA is starvation free.

To validate the safety property (i.e., collision freeness) of DICA through simulation, we computed the inter-vehicle distance between every pair of vehicles within an intersection at every second in simulation time. Since each vehicle is represented as a polygon, a long and wide rectangle more precisely, we obtained this data based on an algorithm of the shortest distance calculation between two polygons. A histogram of the recorded inter-vehicle distances is shown in Figure 11. Clearly, the inter-vehicle distance must be less than or equal to zero if two vehicles are in a collision and must be positive otherwise. As one can see from the figure, there is no instance observed throughout the entire simulation with less than inter-vehicle distance, which is a clear indication that there is no collision inside the intersection. Note that Figure 11 is demonstrating the safety of the DICA algorithm, the safety problem that vehicles cannot follow confirmed DTOT correctly pertaining to the robustness of DICA will be studied in our future work.

##### Control Performance

The overall traffic control performance of the enhanced DICA is also evaluated and compared with that of the optimized traffic light algorithm based on the following performance measures. For each vehicle, we recorded the trip time that is the time taken for a vehicle from the moment when it enters into the communication region of an intersection until the vehicle completely crosses the intersection region. From the recorded trip time data for all crossed vehicles, we calculated several related statistic information which is the average trip time and the standard deviation of trip time. Besides these trip time related performance measures, we also calculated the percentage of all crossed vehicles’ number against the total number of generated vehicles, which we call the throughput. However, note that neither the average trip time nor the throughput alone is sufficient to correctly evaluate the performance of an algorithm. In fact, both of these measures should be considered together to correctly compare and evaluate the performances of different intersection traffic control algorithms. For this reason, we calculated the ratio of average trip time to throughput, which we call the effective average trip time, and believe that this could show the performance of an algorithm better. Comparison of the performance between the enhanced DICA and the optimized traffic light control algorithm is shown in Figure 12. From this result, we can see that, since the throughputs of the two algorithms are always similar, the profiles of average trip time and effective average trip time also show similar trends. The enhanced DICA always performs better than the optimized traffic light for the first four traffic volume cases. In the case of the traffic volume with 500 vehicles, the average trip time performance of the enhanced DICA becomes closer to that of the optimized traffic light. Also, the enhanced DICA has a bit larger standard deviation of trip time than the optimized traffic light. In short, the enhanced DICA performs much better than the optimized traffic light from low to medium traffic volume cases while its performance becomes worse and closer to the performance of the optimized traffic light for heavy traffic volumes.

We note that this result is mainly due to the fundamental difference between individual vehicle based traffic coordination algorithms and traffic flow based coordination algorithms. To see this, we can consider a heavy traffic situation when all incoming roads are congested. In such a situation, we know that most vehicles start to cross an intersection at rest when they are allowed to cross the intersection either by green light under traffic light algorithm or confirmation under the proposed DICA. Under a traffic light control, if a vehicle is crossing an intersection, then it is highly likely that a few more following vehicles can also cross the intersection without being stopped. However, in the case when vehicles are controlled by an individual vehicle based coordination algorithm like our enhanced DICA, it is possible to have a situation where vehicles from different roads are permitted alternatively to cross an intersection, which inevitably results in more frequent stops than the case of traffic light control. This is the reason why the enhanced DICA is performing worse and closer to the optimized traffic light in the heavy traffic volume situation. In fact, this result reveals an important point that to achieve the best throughput performance, it is necessary to combine both strategies: an individual vehicle based coordination in normal traffic volume and a traffic flow based coordination in a congested situation. According to this result, we are currently developing algorithms that incorporate the advantage of traffic flow based algorithms when congested into the proposed enhanced DICA.

Another simulation was performed to validate the transient traffic control performance of DICA when the traffic volume is changing. We run a simulation with minutes long simulation time during which the traffic volume increases from the case of vehicles to vehicles per minutes. At each simulation time step, the ratio of the vehicle number generated to the number of vehicles that have exited the intersection, which we call the flow rate ratio, was calculated to see how much congestion can occur and also how long it takes to address the congestion. The flow rate ratio measured during the simulation time is plotted in Figure 13. In this figure, if the flow rate ratio is close to , then it means that all vehicles approached an intersection have already crossed the intersection and there are no vehicles waiting to cross at that time. The simulation time starts from in the figure since the flow rate ratio needs some time to be stable. From the figure, we can also see that before the increase of the traffic volume, the flow rate ratios of the two algorithms are very similar. After at when the traffic volume is changed to the vehicles case, the flow rate ratio of the optimized traffic light increased a lot. Figure 13 shows that DICA is more resilient to the change of traffic volume than the optimized traffic light.

### 14 Conclusion

In this chapter, We analyzed the computational complexity of the original DICA and enhanced the algorithm so that it can have better overall computational efficiency. Simulation results show that the computational efficiency of the algorithm is improved significantly after the enhancement and the properties of starvation free and safety are guaranteed. We also validated that the overall throughput performance of our enhanced DICA is better than that of an optimized traffic light control mechanism in the case when the traffic is not congested.

## Chapter \thechapter Reactive DICA: an Approach for Expedited Crossing of Emergency Vehicles

The problem of evacuating emergency vehicles as quickly as possible through autonomous and connected intersection traffic is addressed in this chapter. DICA is augmented to allow emergency vehicles cross intersections faster and keep the influence on other vehicles’ travel as minimum as possible.

### 15 Reactive DICA

The problem we want to solve is that how to let EVs which are driven autonomously cross an intersection as soon as possible under the connected and autonomous traffic environment. In the mean time, we aims to keep all other vehicles having similar travel times as when there are no EVs in the traffic. In short, our objective is to evacuate EVs through an intersection as quickly as possible while other vehicles’ travel times are minimally affected. Note that for simplicity the term emergency vehicle in this dissertation means a vehicle in an emergency status (i.e. with siren and the lights on). Same assumptions with our previous work [76, 77] are employed in this problem. Overtaking and lane-changing inside the communication region are not allowed which means that vehicles on each lane will keep its lane once it enters the communication region. As an approach to give preference to EVs in autonomous traffic, we give priority to EVs in an intersection crossing traffic by optimizing the sequence of crossing vehicles. Also, since we are augmenting the original DTOT-based intersection control algorithm, the new algorithm will only be used to coordinate vehicles when there is an EV within the communication region of an intersection while the crossing traffic is controlled the same way as before when all vehicles are normal vehicles inside the communication region. Thus, the entering of an EV activates the new algorithm, so we call the augmented DICA the Reactive DICA (R-DICA). DICA is only taking care of head vehicles which reduces computational complexity and communication load of ICA a lot. However, unlike in DICA, more vehicles are needed to be considered in R-DICA in order to allow EVs to cross an intersection as fast as possible. Specifically, all vehicles on the lane of an EV which are ahead of the EV should be included in the set of vehicles whose intersection crossing order are to be optimized. In the sequel, we call all those vehicles as vehicles on EV’s lane. Thus, the set of vehicles that we need to consider for vehicle ordering are all unconfirmed vehicles on EV’s lane and also all confirmed vehicles which are not on EV’s lane. All these vehicles can be divided into two types: vehicles whose DTOTs cannot be modified (vehicles who have already entered the intersection or cannot make a stop at the enter line even with maximum deceleration), and vehicles whose DTOTs could be changed (vehicles who are stopping at the enter line of the intersection or are able to make a stop at the enter line, or unconfirmed vehicles who are ahead of the EV). The sequence of vehicles of the latter type is what we can optimize to expedite the crossing of EVs. We define the set of these vehicles as .

Roughly speaking, our approach for fast crossing of emergency vehicles is to assign the highest priority to them and delay confirmation for all other normal vehicles. Thus, incorporating a priority based ordering of vehicles into the basic DICA framework would achieve this goal. To find such an optimal vehicle ordering, we formulate an optimization problem based on the entrance time of vehicles which is the time a vehicle enters the line of an intersection. Let be the set of ordered vehicle sequences (or simply called a sequence in the sequel) from the set of vehicles in . Then, if we use to represent entrance time of vehicle , a reasonable objective function for our optimization problem would be:

 minP(S∗)TEVe (3)

where is the entrance time of an EV at an intersection. Thus, to solve this optimization problem, we first need to introduce an approach that determines the entrance time of an EV.

First, we note that some sequences in can be eliminated if we impose some constraints for optimal vehicle ordering. For example, the order of vehicles on EV’s lane cannot be altered and hence should be preserved. Also, since all confirmed vehicles are able to stop before the enter line of an intersection, we can allocate higher priorities for vehicles on EV’s lane than those in other lanes. We use to denote the set of ordered sequences of vehicles satisfying these constraints. Now, let us consider a sequence in the set . Then, if we consider the first vehicle in the sequence , then it is easy to see that the vehicle is always a head vehicle on EV’s lane and has a confirmed DTOT. Hence the entrance time of this vehicle can be determined simply by its which is the time when the vehicle occupies the first occupancy of its DTOT. For any other vehicles which are not the first vehicle in the sequence , the way to compute its entrance times is a bit different. We need a time interval between any two successive vehicle in a sequence to ensure safety. This time interval is called separation time . In this chapter, as shown in Figure 14, we define three separation times for different situations between two vehicles.

 τs=⎧⎪⎨⎪⎩δcvi⊗vj Figure ??? (a), orδsvi≺vj or vj≺vi Figure \ref% {fig:separationTime} (b), or0vi⊙vj Figure ??? (c) (4)

where symbols and are used to represent two vehicles’ routes are compatible and conflicting respectively. represents that vehicles and are on a same lane and is following . The separation time’s value depends on pavement conditions, vehicle mechanical errors and weather conditions. The focus of this chapter is proposing a coordination algorithm not the determination of these values. Thus, we just approximate the values from current empirical estimations which is widely accepted [78]. Then the expression to compute the entrance time of which is not the first vehicle in the sequence is:

 Tje=max{Tja,Tie+τs} (5)

where is the immediate predecessor of in the sequence, is the predicted arrival time of the vehicle which is the shortest time for the vehicle to arrive at the enter line of an intersection under the constraints of maximum acceleration and speed without considering other vehicles in a traffic. is ’s entrance time and is the separation time between and . Starting from the second vehicle in sequence, this equation is iteratively used to compute the entrance time of of each vehicle in the sequence until the entrance time of the emergency vehicle is computed.

Now the complete form of an optimization problem for optimal vehicle ordering to minimize the entrance time of the EV is formulated as follows: Given predicted arrival times for all , find such that

 s∗ = mins∈¯P(S∗)TEVe (6) s.t. |Tie−Tje|≥⎧⎪⎨⎪⎩0vi⊙vjδcvi⊗vjδsvi≺vj or vj≺vi Tve≥Tva∀v∈S∗

A naive approach to solve the optimization problem in (6) is an exhaustive search in all possible sequences that can be generated from the set . If we suppose that there are numbers of vehicles in (i.e. ) and there are numbers of vehicles on EV’s lane, then there are numbers of sequences in . However, if is becoming large, then the computational time and resources required to solve the optimization problem are increasing significantly. Hence it might not be an efficient approach to use an exhaustive search method when we want to solve the problem (6) with many vehicles. Such computation issues of the problem present the need to seek heuristic approaches which are good at solving complex problems in a very short time compared with exhaustive search. Several heuristic optimization approaches like genetic algorithm, ant colony system, artificial neural networks exist in literature. [79] used permutation encoding scheme and solved the flowshop scheduling problem with an objective of minimizing the makespan. [19] proposed a genetic algorithm to optimize the groups of compatible vehicles in a very short time. [80] and [81] reviewed many researches that genetic algorithms can be used to solve job scheduling problems which can meet our requirements. Thus, we also choose to use genetic algorithm (GA) to obtain optimal sequence of vehicles.

The high level architecture of R-DICA combining GA and DICA is shown in Figure 15. R-DICA activates GA when ICA detects an EV. Then ICA stop accepting any confirmation of new vehicles which are detected after the EV. All vehicles who belong to are rearranged to obtain the optimal sequence for the EV’s crossing by GA. Then ICA only confirms vehicles who are already included in the set until the EV exits the intersection. Once the EV is complete out of intersection, ICA switchs back to use DICA to manage normal intersection crossing traffic.

### 16 Genetic Algorithm for Vehicle Ordering

In this section, we discuss the details of how GA is used to find the optimal vehicle sequence in (6).

Genetic Algorithms, which have been widely used to solve problems in computer science, artificial intelligence, information technology and engineering, are techniques of self-organized and self-adapting artificial intelligence mimicking the evolutionary process of creatures in nature [82, 80]. A solution in GA is called an individual which is encoded compactly to facilitate the processes of crossover and mutation that are essential in a genetic algorithm. A group of individuals is called a population in which some individuals are selected as parents to generate offspring through crossover and mutation. Based on some features of each individual, some individuals survive and others die among all the original population and new individuals. Individuals who correspond or near correct solution have a better chance to survive during evolving since they have high objective values which is called fitness. Fitness function should be defined properly to evaluate each individual. As introduced above, solutions in GA evolve to adapt the objective problem. Optimal or near-optimal solutions are expected to be obtained after a certain number of generations. In this chapter, we propose a GA to solve the complex traffic control problem for emergency vehicles in a short time. Permutation encoding scheme is used in the algorithm. And crossover and mutation operators suitable for permutation encoding scheme are devised. The proposed GA for vehicle ordering is shown in Algorithm 4. Detailed discussion for permutation scheme, crossover, mutation, etc. of the proposed GA are given in the following sections.