Multiple holonomic circular robots of radius 1 m with 360-degree field of view sensors of unlimited range approach a four-way intersection. The width of the road is 7 m and the speed limit is 20 m/s. At each time step dt = 0.2 s, the probability of a robot entering a region of radius 200 m from the intersection in each direction is p = 0.04. The goal of the robots is to travel straight across the intersection as quickly as possible without leaving the road and without colliding with each other.
Implementing traffic control approach algorithm from “Multiagent Traffic Management: A Reservation-Based Intersection Control Mechanism,” Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 530:537, 2004.
3.2 Simulation Environment
Similar to the previous two scenarios, Unity was used as the simulation and visualization tool due to its high rendering speed and the familiarity of the author. First, a 400 m by 400 m plane field and two 400 m by 7 m traffic roads were made. Additionally, a circular robot with a radius of 1m was denoted as a carmine dot if it travels from west/east to east/west or a cyan dot if it travels from north/south to south/north, as shown in the videoes below. During the simulation, each entrance (i.e. north/south/west/east) has a fixed probability (default is 4%) to generate a robot every 0.2 seconds. The probability of a robot entering an entrance is considered as the main experimental variable in this task, which will be changed from 4% to 20% gradually in the experiment.
Figure 1 Simulation environment (i.e. Unity3D Engine editor interface).
In this task, the delay is considered as the primary metric. For the overpass situation, robots moving in different directions will not collide with each other because they are not in the same physical domain as the real world overpass situation. Thus the average and maximum delay in the overpass situation are both zero. The theoretical time spent by one robot moving from its entrance and exit is 20 seconds (400 m divided by the speed limit 20 m/s), which will be used as a baseline for later usage.
3.3.2 Traffic Light
The traffic light theory is used as the intersection control approach in this task. Similar to real-world traffic lights, each direction (i.e west/east or north/south) has a traffic light with red (stop) and green (pass) signals. The period of the traffic light is chosen as 10 seconds according to the implemented source paper due to relatively low amount of traffic. The fraction of the light's period that the light speeds on green or red in one direction is 0.45. Thus each direction has 4.5 seconds for the red signal and 4.5 seconds for the green signal in each traffic light period. There is a 0.5 seconds "yellow" signal between each transition from one signal to the other, which actually implemented as red signals in both directions preventing robots from colliding other robots already in the intersection. In other words, this "yellow" light situation provides the robots already at the intersection but have not passed through it some time to do so.
A simple equation can show the time of this traffic light approach clearly:
Total traffic light period (10 s) = red signal (4.5 s) + "yellow" signal (0.5 s) + green signal (4.5 s) + "yellow" signal (0.5 s)
In order to show the traffic clearly, the robots travel in the north/south direction are indicated as cyan dots, and the robots travel in the west/east direction are indicated as carmine dots. Figure 2 (left) shows the situation when north/south robots are crossing the intersection while west/east robots are waiting. Similarly, Figure 2 (right) shows the situation when west/east robots are crossing the intersection while north/south robots are waiting.
Figure 2 Robots passing the intersection while others (in the other direction) are waiting
Traffic light (p=0.04)
Traffic light (p=0.20)
As mentioned before, the probability of a robot entering each entrance (p) is varied as 0.04, 0.06, 0.08, 0.10, 0.12, 0.14, 0.16, 0.18 and 0.20 in the experiment to identify its effect on the main metric - average delay of robots. The videoes above show the situations when p is 0.04 and 0.20, respectively. Each experiment with a specific p was performed and recorded the average delay once per second during 5 minutes after the start of running the simulation. The average delay for each case was further obtained from the median of the average delay once per second in the data. The result is as follows.
Figure 3 The probability p of a robot entering the region around the intersection vs. the average delay of each robot
The result indicates that with the increase of the probability of a robot entering each entrance, the average delay of each robot increases correspondingly. To be more specific, at this certain duration of traffic period (i.e. 10 seconds), the average delay of each robot increases rapidly when p is relatively low and reaches a "plateau" when p is relatively large (e.g. 0.17 - 0.20), which is similar to the source paper.
3.3.3 Extra turning behavior
The situation in the last section is still far away from real-world cases since it misses one of the key behaviors of real-world vehicles, that is turning directions in the intersection. This section allows robots to also turn left or right at the intersection instead of each robot always continuing straight across the intersection. Each robot has a probability 0.25 of turning right at the intersection, a probability 0.25 of turning left at the intersection, and a probability 0.5 of continuing straight across the intersection.
Traffic light with turning(p=0.04)
Traffic light with turning(p=0.20)
The videoes show the traffic light situations with turning behavior when p is 0.04 and p is 0.20, respectively. One big problem in these videos is that when the robots are turning left at the intersection, there is some probability that these robots may collide with the robots coming in the opposite direction. Due to time limitation, the author has not fixed this bug when writing this documentation. However, collision avoidance algorithm could be implemented as well for solving this issue. Apart from the collision avoidance approach, robots who will turn left at the intersection could be asked to stop and wait until the robots that are "close" to the intersection in the opposite direction have passed the intersection. This problem will cause the average delay of each robot to be smaller than the actual value.
Figure 4 The probability p of a robot entering the region around the intersection vs. the average delay of each robot with turning behavior
Figure 4 illustrates the extra average delay increased by the additional turning behavior. The orange rectangles show the situations without turning behavior while the cyan rectangles represent the situations with turning behavior. When p is 0.04, the extra average delay reaches about 41.46% while when p is 0.20, the extra average delay only gets to 3.15%. Thus, the turning behavior has a larger influence on relatively small amount of traffic situations than the relatively large amount of traffic situations.