The traditional traffic light system works on the principle of centralized control, i.e., a vehicle must stop when the light is red and it can go ahead when the light is green. Drivers will plan trajectory based on their visual data. On the other hand, autonomous intersection management is a fully autonomous system. Technically, autonomous intersection management relies on the communication between vehicles and the intersection manager. It will replace the traffic light with the intersection manager as well as replacing the typical vehicle with the autonomous vehicle. The intersection manager has the ability to communicate wirelessly with every incoming vehicle. Likewise, the vehicle also has the same feature, in order to transmit and receive information to intersection manager. The responsibility of the intersection manager is that it will prioritize the timing index, corresponding to the occupied space and tell a vehicle when it can pass through the intersection, based on the incoming, requested message from vehicles. In the same way, an autonomous vehicle will follow the policy from the intersection manager strictly and accurately. The trajectory will be planned based on the returned, available timing index from the intersection manager. The management mechanism is similar to the personal, virtual traffic signal. Every vehicle will get the personal timing index from the intersection manager and drive according to the received policy. The V2I communication is the tool in which the requested message from vehicle to the intersection manager is delivered and vice versa. The message protocol is defined in the section below.
Crossing intersection problem
In order to cross an intersection, the nature of the problem is the resource sharing. In this case, the resource is concerned as a space and how vehicles use the limited space together. Therefore, the problem will be dealing with space and time. In practice, a vehicle is allowed to drive over the intersection area following the traffic signal. That is, the method to manage several vehicles to use the intersection area at different points of time. For the sample scenario, there are two vehicles on the different streets. The red vehicle (no. 1.) drives on the West Street and plans to go to the North Street. On the other side, the green vehicle (no. 2.) drives on the East street and the destination is the West street. The trajectory of both vehicles is clearly crossed over. Therefore, the collision can occur while vehicle no. 1. is turning left and vehicle no. 2. goes straight and both vehicles arrive at the confliction point at the same time. The general scenario of crossing an intersection is illustrated in Figure 2a:
$$ {P}^{*}=\left\{{x}^{*},{y}^{*}\Big|{x}_1,{x}_2\in {x}^{*}\ \varDelta\ {y}_1,{y}_2\in {y}^{*}\right\} $$
(5)
where P
* is the coordinate of the confliction point, x
* is the position in x direction, y
* is the position in y direction, x
1
and x
2
are the x positions of vehicles no. 1 and no. 2, respectively, and y
1
and y
2
are the positions of vehicles no. 1 and no. 2, respectively.
Vehicle-to-infrastructure communication protocol
There are several works in vehicle inter-communication by using wireless communication. In this work, we implemented wireless communication between a vehicle and an infrastructure by using the normal standard of wireless local area network (WLAN, IEEE 802.11) for computer communication. User datagram protocol (UDP) together with a broadcasting technique is used to communicate between a vehicle and the intersection manager. In order to limit the number of vehicles communicating with the intersection manager, a vehicle will start sending a message when it reaches the designated range of communication. The communication region is set at the radius of 100 m away from the center of the intersection as illustrated in Figure 2b. The intersection manager will be polling the message and updating its state every 0.1 s or with in10-Hz frequency. Then, it returns the computed timing index, with the maximum and minimum acceleration allowance back to the requested vehicle. The requested message package from a vehicle contains the following six information:
-
Vehicle identification code (vehicle ID): it is used to identify that a vehicle is present and to prevent the wrong determining vehicle, the Internet protocol (IP) address or the media access control (MAC) address can be used to represent a vehicle.
-
Location: the position information integrates with the digital map of the local street containing the current street where a vehicle is located. It is used to determine the approaching vector of a vehicle to an intersection.
-
Destination: the information containing the expected street where a vehicle will drive to. The direction of travel can be computed through corresponding the current location.
-
Distance to intersection: it is the distance between the current position of a vehicle and an intersection.
-
Vehicle size: the length of a vehicle is usually taken into account for determining the leaving time of intersection. Different sizes of vehicles spend different times to cross an intersection.
-
Velocity: the current longitudinal velocity of a vehicle
The intersection manager extracts the message information into the proposed parameters. The arrival time to the intersection and the leaving time are determined based on the provided information of the successor vehicle and the predecessor vehicle. The intersection will be updated and the new time slot will be transmitted to the requested vehicle. The V2I communication mechanism is illustrated in Figure 3.
Discretizing intersection
Following the crossing-an-intersection problem, a way to manage vehicles crossing intersection without using traffic light control is to manage the time interval of using an intersection space for incoming vehicles. This problem is expressed with the discrete time event, where the space and time can be solved deterministically. The reason is that the space of an intersection is constant, and the required output is time of possession corresponding to the specific reservation space. The exact position of a vehicle can be calculated deterministically at every time step by the given, inputted velocity. Then, it is able to guarantee that the intersection space will be reserved by only one vehicle at a time.
As mentioned earlier, the nature of crossing an intersection is generally to manage multiple vehicles not driving over the same area at the same moment of time. If we can then calculate the exact time that a vehicle can drive through the conflict area and a vehicle is able to follow that policy, the collision will not occur. Then, the problem of crossing an intersection can be modeled as a discrete problem. With the proposed intersection model, there are two processes of discretization, composed of distance discretization and time discretization.
Distance discretization: the intersection is firstly discretized into a section of distance. And every section is represented by each node of a discretized distance. It contains position coordinates of each discretized distance. In addition, each node is connected with an edge that is a discretized distance and the whole travelling distance is equal to the summation of the total discretized distances:
$$ {s}_{i,0}<{s}_{i,1}<{s}_{i,2}<\dots {s}_{i,k};0<{s}_{i,k}<{S}_{i,f} $$
(6)
$$ {\displaystyle {\sum}_{k=0}^f{s}_k={S}_{i,f}} $$
(7)
$$ {P}_{i,k}=\left\{{x}_i\left({s}_{i,k}\right),{y}_i\left({s}_{i,k}\right)\right\};\ {P}_{i,k}\subseteq {P}_{i,f} $$
(8)
where i is the index of a vehicle, k is the discretized step, and f is the final step of the discretization. s
i,k
is the discretized distance of step k of the trajectory of a vehicle. S
i,f
is the total travelling distance of a vehicle. P
i,k
is the discrete position of a vehicle, and with respect to the Cartesian coordinate, it is the function of each discretized distance.
The desired trajectory of both vehicles in the proposed scenario is able to discretize into a set of connected nodes. The problem of the space reservation will transfer the location to the network of nodes. The illustration of the intersection distance discretization is shown in the Figure 4.
Concerning time discretization, if there were a timing problem, an accident is able to occur if, and only if, the vehicles meet each other at a specific point of the intersection at the same time. To prevent that situation, time is discretized. The discretizing time step is constant. Time will be discretized into small steps, and the summation of the total discretized time will equal to total travelling time. Time discretization criteria can be written as the following equations:
$$ \dots <{t}_{k-1}<{t}_k<{t}_{k+1}< \dots; {t}_k\le {T}_f $$
(9)
$$ {t}_{k+1}-{t}_k=\varDelta k $$
(10)
$$ {\displaystyle {\sum}_{k=0}^f{t}_k={T}_f} $$
(11)
where t
k
is the time step, T
f
is the total travelling time, and ∆k is the discretizing time.
The time discretizing model corresponding with the distance discretizing model for crossing an intersection of both vehicles is illustrated in the Figure 5.
The trajectory of each vehicle is planned by the vehicle itself based on the returned timing index from the intersection manager. The possession time of each node is calculated and accumulated from one discretized section to the next discretized section. The process is so that when a vehicle is reaching the designated communication region of the target intersection, it has to send a requested message to the intersection manager by wireless communication. From the V2I message protocol, the proposed information is extracted. This information, along with the current state of intersection, is then used to generate the trajectory of a vehicle. In Figure 6, the discrete trajectory of two vehicles is shown while they are crossing an intersection. The vehicle’s trajectory was plotted together with the lateral and longitudinal distance and time discretization.
The process of reservation is made through iteratively calculating the nodes parameters, coordinate data of distance, and time of the incoming vehicle. The illustration of the node reservation is shown in Figure 7. The horizontal axis is the discretized distance. The vertical axis is the discretized time. The occupied nodes are shown by red, cross circles, and the blue circles represent the free nodes. In this case, there is no reservation of the current node from the predecessor, it means that the state of intersection is free to reserve for that period of time. The successor has the right to occupy the required nodes by setting the time of possession to the nodes based on its desired velocity.
The distance discretization process will divide the total travelling distance (s
f
) into small connected sections (s
k
, s
k + 1, …, s
k + i
| ∀ s
k
∈ s
f
), and the required set of nodes will be determined based on the received information from a requesting vehicle. The reservation nodes are obtained with the information of time and distance (N[s
i,k
, t
i,k
]). Integrating with the information of the current velocity of a vehicle, the average travelling time (t
f
) to the destination can be determined by the relationship of the linear motion principle. In addition, the discretization of time into equally small timing steps (∆k) is applied to assign the timing index of each node to the corresponding discrete distance. The size of a vehicle is taken into account, when computing the number of nodes to be used and reserved.
On the other hand, the incoming vehicle is not allowed to reserve a node which has already been reserved for the previous vehicle. In order to make a successful reservation, the timing index for the specific node for the successor is shifted. The time is increased with respect to the predecessor timing index by the discretized time step, until the node is free to reserve. The cost of node is defined as the function of the accumulated time given by a specific node and the relative time between successor and predecessor. Generally speaking, the cost of node indicates the absolute value of time until the node will be released or it means until a vehicle has already left the intersection.
The time of possession of the successor is dependant on the situation of the predecessor. In the same way, the system determines the successor state based on the predecessor state. Then, it is able to consider the system as the first order system. According to the first order system property, the forward Euler method is used to update the timing index of the successor node. The term of the prior time is defined by the progression of the possession time which depends on the velocity of the predecessor itself. The time of possession of the predecessor is counting down along the increasing of accumulated distance until it is vanished when a vehicle has already passed the occupied node and the state of the node will be changed from an occupied node to a free node. Comparing to the predecessor state, the relative time between the predecessor and the successor is determined at the same reference distance after the message of the successor was received. Therefore, the absolute possession time of each node is iteratively updated until the predecessor vehicle has left the intersection. The time update can be written as the following equations:
$$ {t}_k^{-}(j)={t}_k(i)+\varDelta {k}_i $$
(12)
$$ \varDelta {k}_i={\displaystyle \sum_{k-1}^k}\frac{s_k(i)}{v(i)} $$
(13)
$$ {T}_d(j)={t}_{s=0}(j)-{t}_{s=0}(i) $$
(14)
$$ {t}_k(j)={t}_k^{-}(j)-{T}_d(j) $$
(15)
where i is the predecessor node, j is the successor node, \( {t}_k^{-} \) is the prior timing index of the successor, t
k
is the posterior timing index of the successor, ∆k
i
is the accumulative time step of the predecessor node, s
k
is the discretized distance, v is the average velocity, and T
d
is relative time between the predecessor and the successor determined from a reference distance.
The recursive determination is required to find a solution of this discrete problem. The tool that we used to implement for the node reservation is dynamic programming (DP). Dynamic programming is frequently used for solving complex problems by breaking them down into several sub problems. It then solves each sub problem, part by part, and combines those solutions. Similarly, dynamic programming can deliver the optimal solution. It looks into all possible solutions of the problem and will select the best solution, e.g., finding the shortest path between two points is the most popular application of DP.
Therefore, dynamic programming is appropriate for solving the proposed discrete problem. It is used to find the trajectory of a vehicle at every discretized time step. Shown in the presented scenario, is the classic problem of crossing an intersection. The node reservation method is able to provide the safe trajectory of vehicles while crossing an intersection. The pseudo algorithm of node reservation for intersection management is calculated by using dynamic programming which is provided in the Algorithm 3.1.
The management mechanism relies on the communication between vehicles and the intersection manager. To prevent the message crashing, the principle of FCFS is implemented for ordering the message queue. The intersection manager will make a service based on the sequence of the received message from vehicle.
The discretization of distance and time combined with the node reservation allows the possession time of required nodes to be calculated and then reserved. The state of an intersection is updated and waits for the next iteration from the next vehicle’s request. The intersection state was reserved by the predecessor vehicle, and the time of possession was registered. The following vehicle is allowed to reserve the node after the possession time of the predecessor vehicle has expired. For this reason, both vehicles are at different places or nodes at the same time. The result of the vehicle’s trajectories while crossing an intersection which are computed by using DP is illustrated in Figure 8. It is a time-distance plot. The horizontal axis indicates the discretized distance, and the vertical axis indicates the discretized time. The node reservation of a vehicle is illustrated. The trajectory of the first vehicle is showed in red and the following vehicle is showed in green. Gray represents the predecessor vehicle that has already left the intersection.