Open Access
This article is
 freely available
 reusable
Algorithms 2018, 11(11), 183; https://doi.org/10.3390/a11110183
Article
Virtual Belt Algorithm for the Management of Isolated Autonomous Intersection
School of Mechanical Engineering, Southeast University, Nanjing 211189, China
^{*}
Author to whom correspondence should be addressed.
Received: 8 October 2018 / Accepted: 2 November 2018 / Published: 8 November 2018
Abstract
:To enhance traffic efficiency, in this paper, a novel virtual belt algorithm is proposed for the management of an isolated autonomous intersection. The proposed virtual belt algorithm consists of an offline algorithm and an online algorithm. Using the offline algorithm, the considered intersection can be modeled as several virtual belts. The online algorithm is designed for the realtime application of the virtual belt algorithm. Compared with the related algorithms, the main advantage of the proposed algorithm is that, there are several candidate trajectories for each approaching vehicle. Thus, there are more opportunities for an approaching vehicle to obtain a permission to pass an intersection, which is effective to improve traffic efficiency. The proposed algorithm is validated using numerical simulations conducted by Matlab and VISSIM. The simulation results show that the proposed algorithm is effective for autonomous intersection management.
Keywords:
autonomous intersection; intersection management; virtual belt algorithm; isolated intersection; autonomous vehicle1. Introduction
Intersection is one of the key elements of a modern traffic system. A great deal of time was wasted to wait for green lights, which brought huge economic losses [1]. Traffic light is a conventional method to control traffic flows at intersections. Generally, the traffic lights with several signal phases are applied to coordinate conflicting traffic flows. While due to the limitations of traffic lights (i.e., the minimum and maximum green times), an approaching vehicle may have to spend some extra time for green lights even there are no potential collisions. These limitations not only decrease traffic efficiency but also cost unnecessary time of passengers.
In recent years, the Dedicated Short Range Communication (DSRC) technology has greatly facilitated the vehicletovehicle and vehicletoinfrastructure communication [2,3,4,5,6,7]. Based on DSRC, autonomous vehicles can be connected and share their information with other vehicles and infrastructures. Thus, CAVs can be coordinated simultaneously to improve traffic efficiency [8]. Autonomous intersection, which is designed based on DSRC and CAVs, has drawn much attention around the world. A variety of algorithms for the management of an isolated autonomous intersection have been proposed to improve traffic efficiency without traffic lights.
According to the method used to coordinate approaching CAVs, the previous algorithms can be classified as globaltrajectoryoptimization based algorithms and nonglobaltrajectoryoptimization based algorithms. For the globaltrajectoryoptimization based algorithms, the decision variables of the trajectories of many CAVs (at least including all CAVs in collision zones) are used to construct an optimization problem. These trajectories are optimized simultaneously using iteration calculation to determine the trajectories of these CAVs. For the noglobaltrajectoryoptimization based algorithms, there is no such an optimization problem. The permissions of CAVs to pass an intersection are determined by a predefined policy.
The globaltrajectoryoptimization based algorithms mainly include model predictive control [9], genetic algorithm [10], mixinteger nonlinear programming [11], mixinteger linear programming [12,13], integer linear programming [14], linear programming [8], etc. Using optimization, these algorithms can plan the trajectories of the CAVs at an intersection simultaneously to improve traffic efficiency. The main advantage of these algorithms is that the optimal calculation can be used to find an optimal or a local optimal solution for intersection management. Thus, theoretically, these algorithms show better performance than the nonglobaltrajectoryoptimizationbased algorithms. The major disadvantage of these algorithms is the high requirement for calculation. Due to the coupling of vehicle trajectories, these algorithms have to simultaneously control all CAVs at an intersection (at least within a certain range including all conflict zones), which leads to a high requirement for calculation from two aspects. First, the count of decision variables of optimal calculation increases with the count of CAVs, which aggravates the calculation burden. Second, even the trajectories of all CAVs at collision zones have been planned, these trajectories have to be planned again when a new approaching CAV is found. Thus, the trajectory of a CAV may be planned again and again, which further increases the high requirement for calculation.
The nonglobaltrajectoryoptimization based algorithms mainly include cooperative adaptive cruise control [15,16], multiagent [1,17], priorities and brakesafe control based algorithm [18], auction [19] (or market [20]) based algorithm, bufferassignment mechanism algorithm [21], platoon based algorithm [22], slots preassigning [23], virtual traffic light [24], and the combination of these algorithms [25], etc. These algorithms can improve traffic efficiency by coordinating the orders of CAVs to pass intersections. The main advantage of these algorithms is the low computation burden. Thus, they can be easily applied for the intersections with a large number of CAVs. The disadvantage is that there is only one candidate trajectory for a CAV during a control circle. If there are potential collisions for a CAV, the CAV will have to slow down or stop to wait for a possible permission next control circle. Thus, there are still some potentials to improve traffic efficiency if more trajectories are designed and compared in a control circle.
Aiming to enhance traffic efficiency, a VB algorithm is proposed for the management of an isolated autonomous intersection. The proposed algorithm is divided into an offline algorithm and an online algorithm. By the proposed algorithm, most of the calculation caused by the coupling of vehicle trajectories can be done offline. There is no optimization problem to calculate the trajectories of all CAVs simultaneously in the VB algorithm. Thus, the VB algorithm is a noglobaltrajectoryoptimization based algorithm. Compared with previous noglobaltrajectoryoptimization based algorithms, the main advantage of the proposed algorithm is that, there are several candidate trajectories can be chose for a CAV to pass an intersection in a control circle. Thus, there are more opportunities for an approaching CAV to get a permission to pass an intersection. By contrast, for previous noglobaltrajectoryoptimization based algorithms, in a control circle, there is only one candidate trajectory can be used for an approaching CAV.
As shown in Figure 1, the proposed VB algorithm consists of an online algorithm and an offline algorithm. As indicated by the name, the offline algorithm is used before the online application of the algorithm. The offline algorithm is comprised of VBs modeling and collision checking. By the method of VBs modeling, the considered intersection is modeled as several VBs. There are several VGs that fixed on each VB. The collision relations among these VGs can be obtained by collision checking. The online algorithm is used for the online application of the VB algorithm, which is designed based on the principle of “firstinfirstservice” [1]. The online algorithm consists of VG selecting and trajectory planning. Several suitable VGs can be obtained by the method of VG selecting. By the trajectory planning method, the most suitable VG and the collision free trajectory can be found for each approaching CAV. Following the planned trajectory, an approaching CAV can pass an intersection without collisions.
The remainders of the paper are organized as follows: In Section 2, the problem of the considered intersection management is illustrated. In Section 3, several basic conceptions of the VB algorithm are introduced, which lay the foundation of this algorithm. In Section 4, the method to obtain the collision relation among the VGs in different VBs is proposed. In Section 5, the initial ideal of VB algorithm is discussed, which provides a simple demonstration of the VB algorithm. In Section 6, the VB algorithm designed for actual application is presented. In Section 7, the numerical simulations of the VB algorithm are conducted to demonstrate the effectiveness of this algorithm. At last conclusion is given in Section 8.
2. Problem Formulation
In this study, an inhomogeneous fourroad intersection is considered as shown in Figure 2. The roads in the intersection are labeled with “E”, “N”, “W” and “S”, respectively. The paths of vehicles at the intersection are plotted in Figure 3. This figure shows that there are many cross points among these paths. The proposed VB algorithm can be easily extended to a homogeneous intersection. The inhomogeneous intersection considered in this study is used to represent a more general case.
2.1. Components of Intersection Management System
The main components of the intersection management system include an IMU and CAVs. The communication between the IMU and a CAV can be achieved by vehicletoinfrastructure communication. The IMU is responsible for the trajectory planning of the CAVs at intersection. A CAV should send a request for passing the intersection and follow the trajectory planned by the IMU. The request of a CAV is called a RCAV for short. Several assumptions are made to facilitate the discussion of intersection management. These assumptions are feasible in technology. Some of these assumptions are commonly made in previous studies [1,8,14].
 The position, velocity and dynamic limits of a CAV can be transmitted to the IMU.
 A trajectory planned by the IMU can be sent to the corresponding CAV.
 A CAV can follow the trajectory planned by the IMU within the limits of the CAV.
 The mean speed of the considered traffic flow is much lower than the maximum speed of the vehicle with low dynamic performance. Generally, the maximum speed of vehicles on road is higher than 90 km/h. However, the mean speed of the traffic flow on city environment is much lower than 60 km/h.
 Before the intersection, each approaching vehicle has turned to the corresponding lane according to its destination.
2.2. Working Process of Intersection Management Unit
To determine the passing orders of CAVs, the CAVs at intersection are divided into a waiting group and a passing group. The CAVs in the waiting group are the CAVs whose trajectories of passing the intersection have not been planned, which are called waiting CAVs. The CAVs in the passing group are the CAVs whose trajectories have been planned successfully to pass the intersection, which are called passing CAVs. The RCAVs of the CAVs in the waiting group are organized into a queue based on the principle of firstinfirstservice.
The working process of the IMU is shown in Figure 4. First, the IMU finds the first waiting CAV in the waiting group. Then the trajectory of the CAV is planned by the IMU using the proposed online algorithm. At last the planned trajectory is sent to the corresponding CAV. The IMU repeats the same working process to coordinate approaching CAVs to pass the intersection. The waiting CAVs should slow down before the finding of the planned trajectory.
3. Basic Concepts for Virtual Belt Algorithm
In this section, several concepts for the VB algorithm are introduced. These concepts include virtual path, virtual grid, virtual belt, loop add and loop subtract, which are the foundation of the proposed VB algorithm.
3.1. Virtual Path and Virtual Grid
As shown in Figure 5, there are a VP and a VG in this figure. VP is a directed continuous curve with a start point (${p}_{s}$) and an end point (${p}_{e}$). The length of VP is denoted by ${l}_{p}$. VG is a grid which consists of four edges in geometry space. A VG moves circularly from ${p}_{s}$ to ${p}_{e}$ along a VP with a constant speed of ${v}_{g}$. ${l}_{g}$ and ${l}_{w}$ mean the length and width of the VG, respectively. The nearest edge to ${p}_{s}$ is defined as the start edge of the VG. The start edge is represented by ${e}_{s}$ as shown in Figure 5.
The motion of a VG is plotted in Figure 6. At the time of ${t}_{0}$, the center of ${e}_{s}$ coincides with ${p}_{s}$. The VG is called to be born at the time of ${t}_{0}$. The center of ${e}_{s}$ will coincide with ${p}_{e}$ at the time of ${t}_{d}$. Where ${t}_{d}={t}_{0}+{t}_{c}$. ${t}_{c}=\frac{{l}_{p}}{{v}_{g}}$ is defined as the time circle of the VG. ${t}_{g}=\frac{{l}_{g}}{{v}_{g}}$ is defined as the grid time of the VG. At the time of ${t}_{d}$, the center of ${e}_{s}$ coincides with ${p}_{e}$ and the VG disappears, which is called the death of the VG. The VG will appear and move forward to ${p}_{e}$ at the time of ${t}_{d}$ as well. Thus, the VG moves circularly from ${p}_{s}$ to ${p}_{e}$ with the time circle of ${t}_{c}$. Consider a set of VGs. If these VGs are of the same speed and size, and the lengths of the VPs of these VGs are equal as well, these VGs are called uniform. A VG can be viewed as a virtual container that appears at ${p}_{s}$, and moves to ${p}_{e}$ with the speed of ${v}_{g}$. When a VG arrives at ${p}_{e}$, the VG returns to ${p}_{s}$ in no time. The VG repeats the same motion along the time.
3.2. Virtual Belt
VB is a belt that consists of several closespaced VGs along the same VP. There are no clearances or overlaps of these VGs. The total count of the VGs of a VB is denoted as ${C}_{g}$. All VGs in a VB are uniform. These VGs are represented by ${G}_{vi,i=1,2,\cdots {C}_{g}}$. A VB with 7 VGs which are labeled from 1 to 7 is shown in Figure 7. The motion of the VB is demonstrated in Figure 7 as well. When a VG in the VB is dead at ${p}_{e}$, the VG will be born at ${p}_{s}$. In this figure, VG 7 is dead and born at ${t}_{0}+{t}_{g}$. VG 6 is dead and born at ${t}_{0}+2\xb7{t}_{g}$. Note that as the lengths and speeds of these VGs are equal, ${G}_{v(i{}_{{C}_{g}}1)}$ will be the same place of ${G}_{vi}$ after the time of ${t}_{g}$. Similar to VG, VB is defined in geometry space instead of in actual world.
3.3. Loop Add and Loop Subtract
The mathematic functions loop add (represented by ${+}_{L}$) and loop subtract (represented by ${}_{L}$) are defined for the calculation of integrators. Based on these functions, the collisions among VGs can be discussed in a simple way, which will be demonstrated in the following section. Consider two integrators i and j ($1\le i,j\le L$, L is an integrator and $2\le L$). The function of loop add is defined as
$$i{+}_{L}j=\left\{\begin{array}{cc}i+j,\hfill & \hfill (i+j)\le L\\ i+jL,\hfill & \hfill L<(i+j)\end{array}\right..$$
For example, one has $3{+}_{3}2=3+23=2$.
Similarly, the function of loop subtract is defined as
$$i{}_{L}j=\left\{\begin{array}{cc}ij,\hfill & \hfill (ij)\ge 1\\ ij+L,\hfill & \hfill (ij)<1\end{array}\right..$$
For instance, one has $1{}_{3}2=12+3=2$.
4. Collision Checking of Virtual Belts
In this section, the method to find the collision relation among the VGs of different VBs is shown. In certain condition, a very interesting phenomenon is that some VGs never collide with each other and some always collide with each other in each time circle.
4.1. Collision Checking between Virtual Grids
Consider two uniform VGs (${G}_{v}$ and ${G}_{v}^{\prime}$). ${G}_{v}$ is born at ${t}_{0}$ and ${G}_{v}^{\prime}$ is born at ${t}_{0}+\Delta t$. Depending on the VPs and the born times of these VGs. During the time of (${t}_{0}+{t}_{\Delta},{t}_{0}+{t}_{c}+{t}_{\Delta}$), there are only two possible results of collision checking between the two VGs. The first one is that ${G}_{v}$ collides with ${G}_{v}^{\prime}$ in a certain time as plotted in Figure 8. The second one is that ${G}_{v}$ never collides with ${G}_{v}^{\prime}$ as shown in Figure 9.
These VGs move along the corresponding VPs with the same speed. If ${G}_{v}$ does not collide with ${G}_{v}^{\prime}$ during the time range of (${t}_{0}+{t}_{\Delta}$, ${t}_{0}+{t}_{c}+{t}_{\Delta}$), then ${G}_{v}$ will not collided with ${G}_{v}^{\prime}$ at the time range of (${t}_{0}+{t}_{c}+{t}_{\Delta}$, ${t}_{0}+2{t}_{c}+{t}_{\Delta}$). Consequently, it can be deduced that ${G}_{v}$ and ${G}_{v}^{\prime}$ will not collide forever. Similarly, if ${G}_{v}$ collides with ${G}_{v}^{\prime}$ during the time range of (${t}_{0}+{t}_{\Delta}$, ${t}_{0}+{t}_{c}+{t}_{\Delta}$), then ${G}_{v}$ will collide with ${G}_{v}^{\prime}$ at each time circle in future. In another word, the future collision between two uniform VGs can be predicted based the result of collision checking in a time circle.
The collision checking algorithm for two uniform VGs is shown in Algorithm 1.
Algorithm 1 Collision checking of two VGs. 
Input: two VGs (${G}_{v}$ and ${G}_{v}^{\prime}$) Output: whether two VGs will collide with each other in the future

If ${G}_{v}^{\prime}$ collides with ${G}_{v}$ in a time circle, ${G}_{v}^{\prime}$ is called a CVG of ${G}_{v}$. The total CVGs of a VG is defined as the CVGR of the VG. CVGR provides a simple but effective method to record the collisions among VGs. As all VGs repeat the same motion, a CVG of ${G}_{v}$ collides with ${G}_{v}$ in each time circle. And a VG that not belongs to the CVGs of ${G}_{v}$ will not collide with ${G}_{v}$ forever.
4.2. Collision Checking of Virtual Grid and Virtual Belt
Given a set of VGs (denoted as S, the VGs in S are represented by ${G}_{v1}$, ${G}_{v2}$, ⋯), the CVGR of a VG (denoted as ${G}_{v}$ ) in these VGs can be obtained through Algorithm 2.
Consider two VGs (which are labeled as ${G}_{v1}$ and ${G}_{v2}$, respectively) and a VB (labeled as ${B}_{v}$) as shown in Figure 10. The VPs of these VGs and VB are plotted with solid red line in that figure. The coordinates of the start and end points of these VPs are shown in that figure as well. The unit of the coordinate is meter. The lengths of the three VPs are 72 m. There are twelve VGs on ${B}_{v}$, which are represented by ${G}_{vi,i=1,2,\cdots ,12}^{B}$. All of these VGs are uniform. ${l}_{g}$ = 6 m, ${l}_{w}$ = 4 m, ${v}_{g}$ = 2 m/s. ${t}_{c}=\frac{{l}_{p}}{{v}_{g}}$ = 36 s.
Algorithm 2 Calculation of the CVGR of A VG. 
Input: a set of VGs (S) and a VG (${G}_{v}$) Output: the CVGR of ${G}_{v}$

Several camera shots of ${B}_{v}$, ${G}_{v1}$ and ${G}_{v2}$ between 28 s and 33 s are plotted in Figure 11. Using Algorithm 2, it can be found that ${G}_{v1}$ collides with ${G}_{v1}^{B}$, ${G}_{v12}^{B}$ and ${G}_{v11}^{B}$. ${G}_{v2}$ collides with ${G}_{v2}^{B}$, ${G}_{v1}^{B}$ and ${G}_{v12}^{B}$. The CVGR of ${G}_{v1}$ can be organized as {${G}_{v1}^{B}$, ${G}_{v12}^{B}$, ${G}_{v11}^{B}$}. The CVGR of ${G}_{v2}$ is {${G}_{v2}^{B}$, ${G}_{v1}^{B}$, ${G}_{v12}^{B}$}. Similarly, one can obtain that the CVGR of ${G}_{v5}^{B}$ is empty.
4.3. Collisions Checking of Virtual Belts
If the VGs in several VBs are uniform, the CVGR of each VG on these VBs can be obtained by Algorithm 2.
Consider three VBs as shown in Figure 12. The coordinate unit is meter. These VBs are denoted by ${B}_{vj,j=1,2,3}$. The VGs of ${B}_{vj}$ are represented by ${G}_{vi,i=1,2,\cdots ,{C}_{g}}^{Bj}$, respectively. ${C}_{g}=12$ means the total count of the VGs in a VB. The VGs in these VBs are uniform. As demonstrated previous, the CVGR of ${G}_{v1}^{B2}$ is $\{{G}_{v1}^{B1},{G}_{v12}^{B1},{G}_{v11}^{B1}\}$. Note that ${G}_{v(i{}_{{C}_{g}}1)}^{Bj}$ will be the same position of ${G}_{vi}^{Bj}$ after the time of ${t}_{g}$. If ${G}_{vi}^{Bj}$ collides with ${G}_{vx}^{By}$ (which is a CVG of ${G}_{vi}^{Bj}$) at the time of t, then ${G}_{v(i{}_{{C}_{g}}1)}^{Bj}$ will collide with ${G}_{v(x{}_{{C}_{g}}1)}^{By}$ at the time of $t+{t}_{g}$. Thus, the CVGR of ${G}_{v12}^{B2}$, note that ${G}_{v12}^{B2}={G}_{v\left(1{}_{{C}_{g}}1\right)}^{B2}$, is $\{{G}_{v12}^{B1},{G}_{v11}^{B1},{G}_{v10}^{B1}\}$. The CVGR of ${G}_{vi}^{B2}$ can be summarized as $\{{G}_{vi}^{B1},{G}_{v(i{}_{{C}_{g}}1)}^{B1},{G}_{v(i{}_{{C}_{g}}2)}^{B1}\}$. Similarly, the CVGRs of ${G}_{vi}^{B3}$ and ${G}_{vi}^{B1}$ are $\{{G}_{v(i{+}_{{C}_{g}}1)}^{B1},{G}_{vi}^{B1},{G}_{v(i{}_{{C}_{g}}1)}^{B1}\}$ and $\{{G}_{vi}^{B2},{G}_{v(i{+}_{{C}_{g}}1)}^{B2},{G}_{v(i{+}_{{C}_{g}}2)}^{B2},{G}_{v(i{+}_{{C}_{g}}1)}^{B1},{G}_{vi}^{B1},{G}_{v(i{}_{{C}_{g}}1)}^{B1}\}$, respectively.
5. Initial Idea of Virtual Belt Algorithm
In this section, the initial ideal of the proposed algorithm is discussed. Then an example to demonstrate the idea for intersection management is shown. At last several deficiencies of the initial ideal are discussed. This example demonstrates the basic principle of the proposed VB algorithm, which is made to facilitate the understanding of the core of the proposed VB algorithm.
5.1. Discussion of The Initial Idea
Consider that ${G}_{v}$ and ${G}_{v}^{\prime}$ (as shown in Figure 9) are placed on an intersection with two through lanes. The start and end points of these VPs can be used to represent the departures and destinations of several approaching CAVs. The size of the VG is bigger than these CAVs. It is required that these CAVs should follow the trajectories of ${G}_{v}$ and ${G}_{v}^{\prime}$ to their destinations one by one without collision.
If a CAV is required to follow the trajectory of a VG to through the intersection, the CAV is called to be transferred by the VG and the VG is called assigned with the CAV as well. When a CAV arrives at the destination, it should move away from the intersection in constant speed to avoid affecting the “transfer service” of the intersection.
The VGs used for the transfer of CAVs should be selected carefully. An inappropriate choice may lead to collisions among CAVs. For instance, if the VGs demonstrated in Figure 8 are used for CAV transfer, the approaching CAVs may collide with each other. If a VG and its CVGs are used for the transfer of CAVs simultaneously, collisions among these CAVs may occur. A natural idea is that when a VG is used to transfer a CAV, its CVGs should not be used. Thus, the collisions among CAVs can be avoided at the considered intersection.
The starting point of the initial idea is that several VBs are placed on the considered intersection. Each approaching CAV is assigned with a VG before the conflict points in the intersection. Thus, the approaching CAVs can follow the trajectories of the selected VGs and pass the intersection without collisions. Two requirements should be satisfied to ensure the safety of intersection management: First, the VGs which are assigned with CAVs should not collide with each other at the intersection. Second, the CAVs should be able to follow the planned trajectories with small tracking error.
5.2. Demonstration of the Initial Idea
A simplified intersection with three through lanes is shown in Figure 13. There are two approaching CAVs for each lane. According to the time of getting entry to the intersection, the orders of these CAVs are labeled from 1 to 6 as shown in this figure. The length and width of each lane are 120 m and 4 m, respectively. The length and width of these CAVs are 4 m and 2 m, respectively. It is preferred for these CAVs to pass the intersection with the speed of 2 m/s and least time delay. The collisions among these CAVs are prohibited. It can be found that there are potential collisions among these CAVs. Thus, these CAVs should be coordinated to pass the intersection by the IMU. The designed VPs based on the simplified intersection are shown in this figure as well. These VPs are the same as these shown in Figure 12. Thus, the VBs in Figure 12 are used to demonstrate the initial idea.
To show the initial ideal in a simple way, the dynamic limits of these CAVs are ignored. Thus, when a CAV is assigned to a VG, the CAV can reach the position of the VG with neglectable time. It is assumed that a CAV can keep a safe clearance with the front CAV in the same lane. These simplifications are made to show the initial idea of VB algorithm clearly. The VB algorithm considering the dynamic limits of CAVs will be designed next section.
Several definitions are made for VG to simplify the discussion:
 A VG that approaches to the intersection is called a closing VG.
 A VG that has been assigned with a CAV is called an occupied VG.
 A VG without CAV is called a free VG. A occupied VG becomes free at the time of born.
 A VG that may transfer a CAV cross the intersection with collision is called an unsafe VG.
Naturally, a collision avoidance policy can be proposed to prevent collisions among these CAVs: only the VGs before collision zone can be used for the transfer of CAVs. When a VG is occupied, the CVGs of the VG should be marked to avoid assignment of CAVs. Note that the mark should be cleared in certain conditions. Or a marked VG will not be utilized for CAVs forever, even all of its CVGs become free. To prevent such a condition, the mark will be cleared when the VG is dead. When a VG is born, it should be checked if there are potential conflict VGs. If a conflict VG is found, the VG should be marked to avoid usage. An unmarked VG before collision zones is called a candidate VG.
In order to avoid collision among CAVs, a policy is used to coordinate approaching CAVs: only a candidate VG can be used for the transfer of CAVs. The candidate VGs are ordered according to their distances to the intersection. The closer the distance, the higher order the VG. To transfer a CAV with the least time, it is preferred to assign a VG with the candidate VG with higher order.
The steps to control CAVs to pass the intersection are shown below:
Step 1: At the time of 0 s, as shown in Figure 14, find the VG (${G}_{v9}^{B1}$) with the highest order in ${B}_{v1}$ for the first waiting CAV. Then, assign the first waiting CAV to ${G}_{v9}^{B1}$. Finally, mark the CVGs of ${G}_{v9}^{B1}$ and fill them with gray.
When CAV 1 is assigned to ${G}_{v9}^{B1}$, CAV 2 becomes the first waiting CAV. According to the assumption at the beginning of the section, the dynamic limits of CAVs are ignored in this section. It is assumed that a CAV can catch up with the assigned VG in no time.
Similar to step 1, the other CAVs can be assigned to the optimal VGs with steps 2–6 as shown in Figure 15.
When all CAVs have been assigned with VGs, these CAVs can get through the intersection without collision as demonstrated in Figure 16.
It can be seen from the above discussion that, the designed VBs can be used for the management of intersection. The trajectories of approaching CAVs can be selected among the trajectories of these VGs. Using simple VBs, the collision between the CAVs can be avoided. Provided longer VBs, more CAVs can be transferred in a time.
5.3. Deficiencies of The Initial Ideal
If all CAVs are in the corresponding assigned VGs, there will no collision occur among these CAVs as shown in Figure 16. However, there are two deficiencies of the initial ideal, which make it difficult for practical application:
 There are physical limits, such as maximum speed and acceleration, of CAVs. Thus, it is impractical for a CAV to catch up with the assigned VG in no time. As shown in Figure 14, in fact CAV 1 has to spend some time to catch up with the assigned VG.
 The performance of collision avoidance between the CAVs in the same lane cannot be guaranteed. As shown in Figure 15, if CAVs 1 and 4 reach the assigned VGs simultaneously, then collisions between these CAVs may occur, which is not considered in the initial ideal.
These deficiencies can be resolved by planning a suitable trajectory considering actual physical constraints for each CAV. Following the planned trajectory, a CAV can catch up with the assigned VG and avoid collision within the physical limits. The method of trajectory planning will be discussed next section, which guarantees the feasibility of the proposed algorithm.
6. Virtual Belt Algorithm
In this section, several practical problems for the application of VB algorithm are discussed. And the deficiencies of the initial ideal mentioned previous can be resolved.
6.1. Offline Algorithm
The offline algorithm consists of VBs modeling and collision checking. Using the offline algorithm, an intersection can be modeled by several VBs. And the CVGRs of the VGs in these VBs can be obtained as well.
6.1.1. Virtual Belts Modeling
There are several steps to construct the VBs for an intersection:
 Design the length of a VG. To ensure the safety of CAVs, a VG should be larger than CAVs with certain safe margin. Thus, the length of a VG should be longer than that of CAVs. The length of a VG is calculated as$${l}_{g}={l}_{veh}\xb7{l}_{s},$$
 Construct VPs based on the path of CAVs, which can be done by selecting the start points and end points of VPs. There are several aspects should be considered:
 The start points of VPs should be selected before the collision zones in the considered intersection. The end points of VPs should be selected after the collision zones in the considered intersection. Thus, the VBs algorithm can be applied to avoid collision.
 The lengths of these VPs should be equal.
 If all CAVs have past the collision zone, there is no collision during the routes they drive away from the intersection with the same constant speed. Thus, it is unnecessary to place the end points far away from the intersection.
 The VPs before the cross points should be long enough to provide sufficient VGs for the approaching CAVs. In fact this is also limited by the length of road.
 Construct VBs based on the VPs designed previous. Each VP should be utilized to construct a VB with the same lane width. The constructed VGs in all VBs should be uniform as well.
6.1.2. Collision Checking
As these VGs constructed previous are uniform, the CVGR of each VG can be obtained by checking the collisions during a time circle of these VGs as demonstrated in Algorithm 2.
6.2. Online Algorithm
The online algorithm can be used recursively for the management of intersection, which includes the methods of VG selecting and trajectory planning.
6.2.1. Virtual Grid Selecting
As the designed VG is bigger than the CAVs, if each CAV is assigned with a candidate VG, these CAVs can pass the intersection safely. The VG selecting method for each approaching CAV can be described straightforward:
 Find all candidate VGs suitable for the first waiting CAV.
 Sort these candidate VGs according to their distances to the intersection.
These candidate VGs are moving to the intersection. Thus, a waiting CAV should catch up with the corresponding candidate VG before the conflict points of the intersection.
6.2.2. Trajectory Planning
As discussed in previous section, two issues should be addressed: First, a CAV should catch up with the assigned VG within a certain time. Second, the collisions among the CAVs in the same lane should be avoided. These issues should be considered for trajectory planning. Due to physical limits, a CAV may fail to catch up with the candidate VG with the highest order. On this condition, the other candidate VGs should be examined according to their orders to find the suitable one. Two assumptions are made for the algorithm of trajectory planning: First, the speed of a CAV is nonnegative. Second, a CAV without an assigned VG can maintain a safe clearance with the front CAV in the same lane.
The problem of trajectory planning is demonstrated in Figure 19. There are three VGs in a VB and two CAVs that move along the same straight lane. The speeds of these VGs are ${v}_{e}$. CAV A is the first waiting CAV. CAV B is a passing CAV and has been assigned to VG 3. The trajectory of CAV B has been planned completely. VG 1 is a candidate VG for CAV A. ${s}_{c}$ means the longitudinal position just before the conflict point. ${s}_{e}$ means the longitudinal position of the VG center when the VG reaches to the conflict point. Collisions may occur if the CAV cannot catch up with the assigned VG. At the time of ${t}_{s}$, the initial speed and position of CAV A are ${v}_{s}$ and ${s}_{s}$, respectively.
The aim of trajectory planning is to find a suitable trajectory for a waiting CAV to catch up with the candidate VG. The trajectory should be within the dynamic limits of the waiting CAV and avoid collisions with the frontal CAV. Considering these requirements, the trajectory of the CAV is planned using a polynomial based method.
The longitudinal trajectory of a CAV can be expressed as
$$s=f\left(t\right).$$
There are mainly four constraints for the speeds and the positions of the CAV:
where ${t}_{s}$ and ${t}_{e}$ are the times at the beginning and end of planned trajectory, respectively. ${v}_{s}$ and ${x}_{s}$ are the speed and position of the CAV at ${t}_{s}$, respectively. ${v}_{e}$ and ${s}_{e}$ are the speed and position at ${t}_{e}$, respectively.
$$\left\{\begin{array}{c}\dot{f}\left({t}_{s}\right)={v}_{s}\hfill \\ f\left({t}_{s}\right)={s}_{s}\hfill \\ \dot{f}\left({t}_{e}\right)={v}_{e}\hfill \\ f\left({t}_{e}\right)={s}_{e}\hfill \end{array}\right.,$$
To simplify the problem of trajectory planning, the third order polynomial is used to design the trajectory of the CAV
where ${q}_{i,i=0,1,2,3}$ denote the parameters of the planned trajectory. There are four parameters need to be obtained. And there are four constraints of the speed and position of the CAV. Substituting Equation (6) into Equation (5), one has
$$f\left(t\right)={q}_{3}\xb7{t}^{3}+{q}_{2}\xb7{t}^{2}+{q}_{1}\xb7t+{q}_{0},$$
$$\left[\begin{array}{cccc}3\xb7{t}_{s}^{2}\hfill & 2\xb7{t}_{s}& 1& 0\\ {t}_{s}^{3}\hfill & {t}_{s}^{2}& {t}_{s}& 1\\ 3\xb7{t}_{e}^{2}\hfill & 2\xb7{t}_{e}& 1& 0\\ {t}_{e}^{3}\hfill & {t}_{e}^{2}& {t}_{e}& 1\end{array}\right]\left[\begin{array}{c}{q}_{3}\hfill \\ {q}_{2}\hfill \\ {q}_{1}\hfill \\ {q}_{0}\hfill \end{array}\right]=\left[\begin{array}{c}{v}_{s}\hfill \\ {x}_{s}\hfill \\ {v}_{e}\hfill \\ {x}_{e}\hfill \end{array}\right].$$
The parameters in Equation (7) can be calculated as
$$\left[\begin{array}{c}{q}_{3}\hfill \\ {q}_{2}\hfill \\ {q}_{1}\hfill \\ {q}_{0}\hfill \end{array}\right]={\left[\begin{array}{cccc}3\xb7{t}_{s}^{2}\hfill & 2\xb7{t}_{s}& 1& 0\\ {t}_{s}^{3}\hfill & {t}_{s}^{2}& {t}_{s}& 1\\ 3\xb7{t}_{e}^{2}\hfill & 2\xb7{t}_{e}& 1& 0\\ {t}_{e}^{3}\hfill & {t}_{e}^{2}& {t}_{e}& 1\end{array}\right]}^{1}\left[\begin{array}{c}{v}_{s}\hfill \\ {x}_{s}\hfill \\ {v}_{e}\hfill \\ {x}_{e}\hfill \end{array}\right].$$
The acceleration and speed of the CAV should be constrained to avoid an unpractical trajectory. Taking derivation of Equation (6), the speed of the CAV can be expressed as
$$v\left(t\right)=3\xb7{q}_{3}\xb7{t}^{2}+2\xb7{q}_{2}\xb7t+{q}_{1}.$$
Taking derivation of Equation (9), the acceleration of the CAV can be expressed as
$$a\left(t\right)=6\xb7{q}_{3}\xb7t+2\xb7{q}_{2}.$$
It can be found from Equation (10) that the acceleration of the vehicle is a linear polynomial. Thus, $a\left({t}_{s}\right)$ and $a\left({t}_{e}\right)$ are the extreme values of acceleration. To limit the amplitude of acceleration, the following equations should be satisfied
where ${a}_{min}$ and ${a}_{max}$ are the lower and upper bounds of the acceleration of the CAV, respectively.
$$\left\{\begin{array}{c}{a}_{min}\le a\left({t}_{s}\right)\le {a}_{max}\hfill \\ {a}_{min}\le a\left({t}_{e}\right)\le {a}_{max}\hfill \end{array}\right.,$$
As the speed of the CAV is a quadratic polynomial, there are three possible extreme values: $v\left({t}_{s}\right)$, $v\left({t}_{e}\right)$ and $v\left({t}_{z}\right)$. ${t}_{z}$ is the time which satisfies $\dot{v}\left({t}_{z}\right)=0$. ${t}_{z}=\frac{{q}_{2}}{3\xb7{q}_{3}}$ can be obtained by solving
$$\dot{v}\left(t\right)=0.$$
If ${t}_{s}<{t}_{z}<{t}_{e}$, the maximum and minimum speeds of the planned trajectory can be expressed as
$$\left\{\begin{array}{c}{v}_{p,max}=max\left(v\left({t}_{s}\right),v\left({t}_{z}\right),v\left({t}_{e}\right)\right)\hfill \\ {v}_{p,min}=min\left(v\left({t}_{s}\right),v\left({t}_{z}\right),v\left({t}_{e}\right)\right)\hfill \end{array}\right..$$
If ${t}_{z}\le {t}_{s}$ or ${t}_{e}\le {t}_{z}$, the maximum and minimum speeds of the planned trajectory can be expressed as
$$\left\{\begin{array}{c}{v}_{p,max}=max\left(v\left({t}_{s}\right),v\left({t}_{e}\right)\right)\hfill \\ {v}_{p,min}=min\left(v\left({t}_{s}\right),v\left({t}_{e}\right)\right)\hfill \end{array}\right..$$
To limit the speed of the planned trajectory, the following equation should be satisfied
$$\left\{\begin{array}{c}{v}_{p,max}\le {v}_{max}\hfill \\ {v}_{min}\le {v}_{p,min}\hfill \end{array}\right..$$
To avoid rearend collisions with the front CAV, the following equation should be satisfied
where ${d}_{s}$ is the minimum distance to avoid rearend collisions. ${s}_{f}$ is the longitudinal position of the front CAV. ${t}_{i,i=1,2,\cdots ,{n}_{c}}$ is the time used to check potential rearend collisions. ${n}_{c}={t}_{s}+i\xb7{t}_{\Delta}$ is the total count of collision checking time. ${t}_{\Delta}$ is a small time interval.
$${s}_{f}\left({t}_{i}\right)s\left({t}_{i}\right)\ge {d}_{s},$$
By solving Equation (8), ${q}_{i,i=0,1,2,3}$ can be obtained and a trajectory described by Equation (6) can be determined. If the trajectory is within the constraints shown in Equations (11), (15) and (16), the trajectory can be used for the CAV to catch up with the corresponding candidate VG. The trajectory may be not satisfied with Equations (11), (15) and (16) simultaneously, which means the CAV is not able to track the selected candidate VG. And another candidate VG should be tested for that CAV using the trajectory planning method.
In light of the prioritybased trajectory planning [26], when planning the trajectory of a CAV in a straight lane, only the front CAV should be considered to avoid rearend collisions. There is no need to plan the trajectories of CAVs in the same lane simultaneously. Using the trajectory planning method, the trajectories of waiting CAVs can be planned successively based on the firstinfirstservice policy.
7. Numerical Simulation
In this section, two simulations are conducted to verify the effectiveness of the proposed VB algorithm. The layout of the center of the considered intersection is shown in Figure 20. In the first simulation, several scenarios with low traffic load are constructed to compare the performances of the VB algorithm, MultiAgent (MA) algorithm [1] and fourphase traffic lights with different green light time. In the second simulation, several scenarios with high traffic load are constructed to further compare the performances of these algorithms.
The VB and MA algorithms are performed using Matlab. Using the offline algorithm of the VB algorithm, the VBs designed at the intersection are illustrated in Figure 21. The simulations of traffic lights are conducted using VISSIM. The parameters of the intersection and CAVs in these simulations are listed in Table 1. A camera shot of the intersection controlled by the proposed VB algorithm is shown in Figure 22. The proposed VB algorithm consists of an offline algorithm and an online algorithm. The offline algorithm is used to model the considered intersection using several VBs and calculate the collision among the VGs in these VBs. As the collision of each VG with all VGs in other VBs will be checked according to Algorithms 1 and 2, the complexity of the offline algorithm is $O({C}_{g}\xb7{C}_{v}\xb7{C}_{g}\xb7({C}_{v}1))\approx O({({C}_{g}\xb7{C}_{v})}^{2})$. Where ${C}_{v}$ and ${C}_{g}$ mean the count of VBs and the count of VGs in each VB, respectively. The online algorithm is used to calculate the trajectories of waiting vehicles in each circle one after another. The trajectory of a waiting vehicle can be obtained by successively checking the trajectories which are planned based on candidate VGs. As the candidate VGs of each vehicle is no more than ${C}_{g}$, the complexity of the online algorithm is $O({C}_{g}\xb7{C}_{veh})$. Where ${C}_{veh}$ is the count of the waiting vehicles in each control circle. In the simulation, the computation time of the offline algorithm is about one hour. As the offline algorithm can be used before the realtime application of the VB algorithm, the time cost in the offline algorithm has no effect to the realtime performance of the VB algorithm. For the online algorithm, the time used to plan the trajectory of a waiting vehicle is less than 1 ms, which indicates that the proposed VB algorithm can be used for realtime application.
7.1. Simulation A
In this simulation, several scenarios are constructed to show the performance of the VB algorithm on low traffic load. The MA algorithm and traffic lights are used as comparison. The green times of these traffic lights are 17 s, 22 s and 27 s, which are denoted by TLA (traffic light A), TLB (traffic light B) and TLC (traffic light C), respectively. The mean traffic load of each road varies from 100 vehicle/h to 600 vehicle/h in the simulation.
Maximum travel time (${t}_{max}$) is a commonly used index to compare the performances of different intersection management methods, which can be obtained by taking the maximum value of the travel times of all CAVs. Figure 23 shows the maximum travel times of the intersections managed by VB, MA, TLA, TLB and TLC in 1800 s. The maximum travel times of the scenarios using VB algorithm are further plotted in Figure 24. Figure 23 suggests that with the growing of traffic load, the maximum travel times of the intersection controlled by these algorithms do not show notable increasement. This figure indicates that, on low traffic load, the change of traffic load has little effect on the performances of these algorithms. The maximum travel times of the traffic lights methods are about 250 s on different traffic loads. The maximum travel times of the MA algorithm are higher than 150 s but lower than 200 s, which are better than these of the traffic lights methods. As a comparison, the maximum travel times of the intersection controlled by the VB algorithm are lower than 150 s, which are much less than these of the MA algorithm. These comparisons indicate that, compared with traffic lights and MA algorithm, the VB algorithm can increase traffic efficiency and save travel time for CAVs on low traffic load. The main reason is that the CAVs can be coordinated by the VB algorithm without waiting for the green light. Several candidate trajectories can be selected to find the optimal one for each CAV. Thus, they can pass the intersection with constant desired speed and little delay. For the traffic lights methods, the CAVs have to wait for green lights, which is low efficient and time consuming on low traffic load. For the MA algorithm, on low traffic load, there are a few conflicts among the trajectories of approaching CAVs. Most of these CAVs can pass the intersection without delay. While, when there is a conflict between the trajectories of two CAVs, one of these CAVs has to slow down and wait for permission next control circle. Thus, the MA algorithm shows better performance than the traffic light but worse than the VB algorithm on low traffic load.
7.2. Simulation B
In this simulation, several scenarios are constructed to show the performance of the VB algorithm on high traffic load. The MA algorithm and traffic lights are used as comparison. The mean traffic load of each road varies from 500 vehicle/h to 3000 vehicle/h in the simulation.
Figure 25 shows the maximum travel times of the intersections managed by VB, MA, TLA, TLB and TLC in 1800 s. The maximum travel times of the scenarios using VB algorithm are further plotted in Figure 26. Figure 25 suggests that with the growing of traffic load, the maximum travel times of the intersection controlled by TLA, TLB and TLC increase remarkably. The maximum travel times exceed 500 s on the traffic load of 2000 vehicle/h. The MA algorithm shows better than the TL algorithm just on the traffic load of 500 vehicle/h and 1000 vehicle/h. The maximum travel time shows a notable increase on the traffic load of 1500 vehicle/h, which is worse than the traffic lights methods. This is because on high traffic load, there are more conflicts among the trajectories of approaching CAVs. Most of these CAVs with conflicts will stop before the collision zone, which leads to much loss of time. As a comparison, the maximum travel time of the intersection controlled by the VB algorithm shows less increasement than other algorithms, which is below 170 s as indicated in Figure 25 and Figure 26. The main reason is that, on high traffic load, the CAVs can be coordinated by the VB algorithm using trajectory planning to avoid collision. And less CAVs need to wait before the intersection. Thus, the traffic efficiency can be improved than the compared algorithms. These comparisons indicate that the VB algorithm can increase traffic efficiency and save travel time greatly for CAVs on high traffic load.
8. Conclusions
This study proposes VB algorithm for intersection management to improve traffic efficiency of intersections. The proposed VB algorithm not only can be used for commonly discussed intersection, but also provides a framework to the investigation of general intersection management. As the VBs can be constructed based on the vehicle paths, the offline algorithm can also be applied for roundabout and other types of intersections without modification. Moreover, as indicated in the considered intersection, the overlap among VBs is also acceptable for the VB algorithm. Thus, the offline algorithm provides a flexible way to model an intersection. Because the calculation of the offline algorithm can be done before realtime application, the complexity of the intersection will not affect the realtime performance of the VB algorithm. When an intersection is modeled as several VBs, the online algorithm can be utilized to plan the trajectories of waiting vehicle to pass the intersection. The core of the online algorithm is that, based on the constructed VBs, several candidate trajectories can be selected for each approaching CAV. Thus, there are more opportunities can be provided by the VB algorithm for an approaching CAV through the intersection. Since the constraints of the speed and acceleration of CAVs are considered, the online algorithm can be used for different kinds of vehicles on road, which guarantees the flexible of the VB algorithm to common vehicles. In the simulation, instead of a homogeneous intersection with a symmetrical structure, an inhomogeneous intersection with a general structure is considered to represent a general case. The counts of VBs in different roads are not the same and there are overlaps among these VBs. Moreover, the considered CAVs are of different dynamic performances, such as maximum speed and maximum acceleration. The successful application of the proposed VB algorithm indicates that this algorithm is effective to manage such a general intersection.
There are three research directions for the future investigation: The first one is to apply the VB algorithm to other types of intersection, such as roundabout and 3way intersection. The second one is to extend the VB algorithm to the management of multiintersection. The third one is to investigate the VB algorithm with the fuel economy performance.
Author Contributions
Conceptualization, C.B. and G.Y.; methodology, C.B.; validation, C.B., G.Y. and L.X.; writing—original draft preparation, C.B.; writing—review and editing, N.Z.; supervision, G.Y.
Funding
This research was funded by National Natural Science Foundation of China, grant number 51575103, U1664258, National Key R&D Program in China, grant number 2016YFB0100906, 2016YFD0700905, Foundation of State Key Laboratory of Automotive Simulation and Control, grant number 20160112, Scientific Research Foundation of Graduate School of Southeast University and Southeast University Excellent Doctor Degree Thesis Training Fund, grant number YBJJ1703, YBJJ1704.
Acknowledgments
The authors wish to express their gratitude to the anonymous reviewers and the associate editor for their rigorous comments during the review process.
Conflicts of Interest
The authors declare no conflict of interest.
Abbreviations
The following abbreviations are used in this manuscript:
CAV  Connected and Autonomous Vehicle 
CVG  Collided Virtual Grid 
CVGR  Collided Virtual Grid Record 
DSRC  Dedicated Short Range Communication 
MA  MultiAgent 
IMU  Intersection Management Unit 
RCAV  Request of a CAV 
TLA  Traffic Light with the green time of 17 s 
TLB  Traffic Light with the green time of 22 s 
TLC  Traffic Light with the green time of 27 s 
VB  Virtual Belt 
VG  Virtual Grid 
VP  Virtual Path 
References
 Kurt, D.; Peter, S. A multiagent approach to autonomous intersection management. J. Artif. Intell. Res. 2008, 31, 591–656. [Google Scholar] [CrossRef]
 Li, S.; Guo, Q.; Xu, S.; Duan, J.; Li, S.; Li, C.; Su, K. Fuelsaving predictive control for adaptive cruise control system considering road elevation information. IEEE Trans. Intell. Veh. 2017, 2, 150–160. [Google Scholar] [CrossRef]
 Li, Y.; Song, Y.; Yang, B.; Zheng, T.; Feng, H.; Li, Y. A new lattice hydrodynamic model considering the effects of bilateral gaps on vehicular traffic flow. Nonlinear Dyn. 2017, 87, 1–11. [Google Scholar] [CrossRef]
 Willke, T.L.; Tientrakool, P.; Maxemchuk, N.F. A survey of intervehicle communication protocols and their applications. IEEE Commun. Surv. Tutor. 2009, 11, 3–20. [Google Scholar] [CrossRef]
 Gao, K.; Sadollah, A.; Zhang, Y.; Su, R. Jaya, harmony search and water cycle algorithms for solving largescale reallife urban traffic light scheduling problem. Swarm Evol. Comput. 2017, 37, 58–72. [Google Scholar] [CrossRef]
 Gao, K.; Zhang, Y.; Zhang, Y.; Su, R.; Suganthan, P.N. Metaheuristics for biobjective urban traffic light scheduling problems. IEEE Trans. Intell. Transp. Syst. 2018. [Google Scholar] [CrossRef]
 Gao, K.; Zhang, Y.; Sadollah, A.; Su, R. Optimizing urban traffic light scheduling problem using harmony search with ensemble of local search. Appl. Soft. Comput. 2016, 48, 359–372. [Google Scholar] [CrossRef]
 Zhu, F.; Ukkusuri, S.V. A linear programming formulation for autonomous intersection control within a dynamic traffic assignment and connected vehicle environment. Transp. Res. Pt. CEmerg. Technol. 2015, 55, 363–378. [Google Scholar] [CrossRef]
 Kamal, M.A.S.; Imura, J.; Hayakawa, T.; Ohata, A.; Aihara, K. A vehicleintersection coordination scheme for smooth flows of traffic without using traffic lights. IEEE Trans. Intell. Transp. Syst. 2015, 16, 1136–1147. [Google Scholar] [CrossRef]
 Joyoung, L.; Byungkyu, P. Development and evaluation of a cooperative vehicle intersection control algorithm under the connected vehicles environment. IEEE Trans. Intell. Transp. Syst. 2012, 13, 81–90. [Google Scholar] [CrossRef]
 Sun, W.; Zheng, J.; Liu, H.X. A capacity maximization scheme for intersection management with automated vehicles. Transp. Res. Pt. CEmerg. Technol. 2018, 94, 19–31. [Google Scholar] [CrossRef]
 Fayazi, S.A.; Vahidi, A. Mixedinteger linear programming for optimal scheduling of autonomous vehicle intersection crossing. IEEE Trans. Intell. Veh. 2018, 3, 287–299. [Google Scholar] [CrossRef]
 Levin, M.W.; Rey, D. Conflictpoint formulation of intersection control for autonomous vehicles. Transp. Res. Pt. CEmerg. Technol. 2017, 85, 528–547. [Google Scholar] [CrossRef]
 Ghaffarian, H.; Fathy, M.; Soryani, M. Vehicular adhoc networks enabled traffic controller for removing traffic lights in isolated intersections based on integer linear programming. IET Intell. Transp. Syst. 2012, 6, 115–123. [Google Scholar] [CrossRef]
 Liu, B.; Sun, Q.; Kamel, A.E. Improving the intersection’s throughput using V2X communication and cooperative adaptive cruise control. IFACPapersOnLine 2016, 49, 359–364. [Google Scholar] [CrossRef]
 Zohdy, I.H.; Rakha, H.A. Intersection management via vehicle connectivity: The intersection cooperative adaptive cruise control system concept. J. Intell. Transport. Syst. 2016, 20, 17–32. [Google Scholar] [CrossRef]
 Jin, Q.; Wu, G.; Boriboonsomsin, K.; Barth, M. Platoonbased multiagent intersection management for connected vehicle. In Proceedings of the IEEE International Conference on Intelligent Transportation Systems, The Hague, The Netherlands, 6–9 October 2013; pp. 1462–1467. [Google Scholar]
 Qian, X.; Altche, F.; Gregoire, J.; De La Fortelle, A. Autonomous intersection management systems: Criteria, implementation and evaluation. IET Intell. Transp. Syst. 2017, 11, 182–189. [Google Scholar] [CrossRef]
 Carlino, D.; Boyles, S.D.; Stone, P. Auctionbased autonomous intersection management. In Proceedings of the International IEEE Conference on Intelligent Transportation Systems, The Hague, The Netherlands, 6–9 October 2013; pp. 529–534. [Google Scholar] [CrossRef]
 Matteo, V.; Sascha, O. A marketinspired approach to reservationbased urban road traffic management. In Proceedings of the International Conference on Autonomous Agents and Multiagent Systems, Budapest, Hungary, 10–15 May 2009; pp. 617–624. [Google Scholar]
 Lin, P.; Liu, J.; Jin, P.J.; Ran, B. Autonomous vehicleintersection coordination method in a connected vehicle environment. IEEE Intell. Transp. Syst. Mag. 2017, 9, 37–47. [Google Scholar] [CrossRef]
 Bashiri, M.; Fleming, C.H. A platoonbased intersection management system for autonomous vehicles. In Proceedings of the IEEE Intelligent Vehicles Symposium, Los Angeles, CA, USA, 11–14 June 2017; pp. 667–672. [Google Scholar]
 Chai, L.; Cai, B.; Shangguan, W.; Wang, J. Connected and autonomous vehicles coordinating method at intersection utilizing preassigned slots. In Proceedings of the IEEE Conference on Intelligent Transportation Systems, Yokohama, Japan, 16–19 October 2017; pp. 1–6. [Google Scholar] [CrossRef]
 Fathollahnejad, N.; Villani, E.; Pathan, R.; Barbosa, R. On reliability analysis of leader election protocols for virtual traffic lights. In Proceedings of the IEEE/IFIP Conference on Dependable Systems and Networks Workshop, Budapest, Hungary, 24–27 June 2013; pp. 1–12. [Google Scholar]
 Vasirani, M.; Ossowski, S. Learning and coordination for autonomous intersection control. Appl. Artif. Intell. 2011, 25, 193–216. [Google Scholar] [CrossRef]
 van den Berg, J.P.; Overmars, M.H. Prioritized motion planning for multiple robots. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, Edmonton, AB, Canada, 2–6 August 2005; pp. 430–435. [Google Scholar]
Figure 8.
Motion of two VGs with collision, (a) $t={t}_{0}+\Delta t$, (b) $t={t}_{0}+\frac{1}{5}{t}_{c}+\Delta t$, (c) $t={t}_{0}+\frac{2}{5}{t}_{c}+\Delta t$, (d) $t={t}_{0}+\frac{3}{5}{t}_{c}+\Delta t$, (e) $t={t}_{0}+\frac{4}{5}{t}_{c}+\Delta t$, (f) $t={t}_{0}+{t}_{c}+\Delta t$.
Figure 9.
Motion of two VGs without collision, (a) $t={t}_{0}+\Delta t$, (b) $t={t}_{0}+\frac{1}{5}{t}_{c}+\Delta t$, (c) $t={t}_{0}+\frac{2}{5}{t}_{c}+\Delta t$, (d) $t={t}_{0}+\frac{3}{5}{t}_{c}+\Delta t$, (e) $t={t}_{0}+\frac{4}{5}{t}_{c}+\Delta t$, (f) $t={t}_{0}+{t}_{c}+\Delta t$.
Figure 11.
Motion of a VB and two VGs Motion of a VB and two VGs, (a) t = 28 s, (b) t = 29 s, (c) t = 0 s, (d) t = 31 s, (e) t = 32 s, (f) t = 33 s.
Figure 16.
Transfer of CAVs, (a) t = 3 s, (b) t = 6 s, (c) t = 9 s, (d) t = 12 s, (e) t = 15 s, (f) t = 18 s, (g) t = 21 s, (h) t = 24 s, (i) t = 27 s, (j) t = 30 s.
Figure 24.
Maximum travel time of the intersection controlled by the VB algorithm on low traffic load.
Figure 26.
Maximum travel time of the intersection controlled by the VB algorithm on high traffic load.
Parameter  Value 

Lane width  3.75 m 
Desired speed  36 km/h 
Length of virtual belt  880 m 
Length of virtual grid  8 m 
Length of CAV  4.1 m~6.2 m 
Width of CAV  1.6 m~2.1 m 
Maximum velocity of CAV  30 m/s~35 m/s 
Minimum velocity of CAV  0 m/s 
Maximum acceleration of CAV  2.5 m/s^{2}~4.5 m/s^{2} 
Minimum acceleration of CAV  −6 m/s^{2}~−4 m/s^{2} 
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).