<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Sustain. Cities</journal-id>
<journal-title>Frontiers in Sustainable Cities</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Sustain. Cities</abbrev-journal-title>
<issn pub-type="epub">2624-9634</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/frsc.2021.670454</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Sustainable Cities</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Resilient Intersection Management With Multi-Vehicle Collision Avoidance</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Worrawichaipat</surname> <given-names>Phuriwat</given-names></name>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1233301/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Gerding</surname> <given-names>Enrico</given-names></name>
<uri xlink:href="http://loop.frontiersin.org/people/1272729/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Kaparias</surname> <given-names>Ioannis</given-names></name>
<uri xlink:href="http://loop.frontiersin.org/people/1272730/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Ramchurn</surname> <given-names>Sarvapali</given-names></name>
<uri xlink:href="http://loop.frontiersin.org/people/1345282/overview"/>
</contrib>
</contrib-group>
<aff><institution>Faculty of Engineering and Physical Sciences, University of Southampton</institution>, <addr-line>Southampton</addr-line>, <country>United Kingdom</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Emanuele Crisostomi, University of Pisa, Italy</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Zafeiris Kokkinogenis, Centro Para a Excel&#x000EA;ncia e Inova&#x000E7;&#x000E1;o na Ind&#x000FA;stria Autom&#x000F3;vel, Portugal; Bo Yang, The University of Tokyo, Japan</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Phuriwat Worrawichaipat <email>pw1r19&#x00040;soton.ac.uk</email></corresp>
<fn fn-type="other" id="fn001"><p>This article was submitted to Urban Transportation Systems and Mobility, a section of the journal Frontiers in Sustainable Cities</p></fn></author-notes>
<pub-date pub-type="epub">
<day>03</day>
<month>06</month>
<year>2021</year>
</pub-date>
<pub-date pub-type="collection">
<year>2021</year>
</pub-date>
<volume>3</volume>
<elocation-id>670454</elocation-id>
<history>
<date date-type="received">
<day>21</day>
<month>02</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>10</day>
<month>05</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2021 Worrawichaipat, Gerding, Kaparias and Ramchurn.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Worrawichaipat, Gerding, Kaparias and Ramchurn</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license> </permissions>
<abstract><p>In this paper, we propose a novel decentralised agent-based mechanism for road intersection management for connected autonomous vehicles. In our work we focus on road obstructions causing major traffic delays. In doing so, we propose the first decentralised mechanism able to maximise the overall vehicle throughput at intersections in the presence of obstructions. The distributed algorithm transfers most of the computational cost from the intersection manager to the driving agents, thereby improving scalability. Our realistic empirical experiments using SUMO show that, when an obstacle is located at the entrance or in the middle of the intersection, existing state of the art algorithms and traffic lights show a reduced throughput of 65&#x02013;90% from the optimal point without obstructions while our mechanism can maintain the throughput up to 94&#x02013;99%.</p></abstract>
<kwd-group>
<kwd>transportation</kwd>
<kwd>multi-agent</kwd>
<kwd>simulation - computers</kwd>
<kwd>intersection management</kwd>
<kwd>computer science</kwd>
</kwd-group>
<counts>
<fig-count count="8"/>
<table-count count="3"/>
<equation-count count="1"/>
<ref-count count="24"/>
<page-count count="10"/>
<word-count count="7159"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1. Introduction</title>
<p>Traffic congestion is one of the key factors of air pollution, causing losses in economic efficiency, as well as having wider impacts on health and climate change (May, <xref ref-type="bibr" rid="B13">2013</xref>). For example, in the US alone, congestion is estimated to cost around US$305B (Schneider, <xref ref-type="bibr" rid="B19">2018</xref>). A key contributing factor to congestion in urban road networks is the poor management of intersections using standard traffic lights. Despite a number of recent advances in traffic lights management, they rarely consider traffic in dynamic situations, e.g., accidents or road constructions, which are common occurrences. These situations interrupt the flow, causing a congestion surge at the intersection level or even at the network level. Ignoring these real-world issues can put people&#x00027;s lives at risk and increase the cost of transportation.</p>
<p>At the same time, the increasing adoption of Connected Autonomous Vehicles (CAVs)<xref ref-type="fn" rid="fn0001"><sup>1</sup></xref> presents an opportunity to make a step change from the status quo. Indeed, according to KPMG, 25% of the vehicles on the road will be fully autonomous by 2030 (KPMG, <xref ref-type="bibr" rid="B8">2015</xref>). It is thus not difficult to imagine a future where nearly all vehicles will be fully autonomous. Moreover, work in the Artificial Intelligence (AI) community has sought to address the problem of intersection management with CAVs since the early 2000s, including the seminal work by Dresner and Stone (<xref ref-type="bibr" rid="B3">2008</xref>). They proposed a grid model of intersection and simple heuristic called First Come First Served (FCFS), considering the intersection as a central agent that allocates paths and time-slots to the incoming vehicles. Since their work, a number of approaches have emerged in the field (Vasirani and Ossowski, <xref ref-type="bibr" rid="B21">2009</xref>; Carlino et al., <xref ref-type="bibr" rid="B2">2013</xref>; Liu et al., <xref ref-type="bibr" rid="B12">2013</xref>; Zohdy and Rakha, <xref ref-type="bibr" rid="B24">2016</xref>; Lin et al., <xref ref-type="bibr" rid="B11">2017</xref>; Isele et al., <xref ref-type="bibr" rid="B6">2018</xref>; Vu et al., <xref ref-type="bibr" rid="B22">2018</xref>). However, to date, most works ignore two important elements: (i) the dynamism of intersection topology, e.g., unequal numbers of lanes or heterogeneous traffic directions (ii) the resiliency of mechanism against the obstructions across the intersection.</p>
<p>To address the latter, a simple solution for the obstructions is to close the obstructed lane(s), e.g., with a red traffic light, and wait until the problem is resolved. However, doing so results in long delays which can be avoided if there is enough space to route around obstructions. Instead, obstructions can be treated as a part of the collision avoidance problem. This problem is widely studied in the robotics community, even though they are not explicitly designed for road intersection (Rebai et al., <xref ref-type="bibr" rid="B16">2009</xref>; Savkin and Wang, <xref ref-type="bibr" rid="B18">2014</xref>; Kim and Kwon, <xref ref-type="bibr" rid="B7">2015</xref>; Pudics et al., <xref ref-type="bibr" rid="B15">2015</xref>; Savkin and Li, <xref ref-type="bibr" rid="B17">2018</xref>). Adapting the robotics algorithms to the road environment presents a certain challenge. In particular, there are different physical constraints. For example, robots can turn more easily and occupy a smaller footprint.</p>
<p>Against this background, we propose a new resource reservation intersection management mechanism that ensures obstructions can be avoided. In addition, it reduces the reliance on the intersection manager to compute paths through decentralised computation of dynamic trajectories for individual vehicles. By so doing, our mechanism is resilient to obstructions and reduces computational cost at the intersection manager compared to the centralised FCFS. More specifically, our approach allows vehicles to use as much space as is available within the intersection and endow them with more intelligent path planning and conflict resolution. In particular, we build on the work by Savkin and Li (<xref ref-type="bibr" rid="B17">2018</xref>) who provide a computationally and space-efficient approach to collision avoidance<xref ref-type="fn" rid="fn0002"><sup>2</sup></xref>. We, therefore, adapt it to consider the constraints from the traffic intersection management problem. Thus, this paper advances the state of the art in the following ways:</p>
<list list-type="order">
<list-item><p>First, we introduce a computationally decentralised method for the FCFS mechanism by having vehicles responsible for path prediction and conflicts resolution against other reservations using minimal information provided by the intersection manager.</p></list-item>
<list-item><p>Second, we propose a new path prediction algorithm with a collision avoidance extension customised for intersection management, that guarantees safe paths and adaptability to different intersection topology.</p></list-item>
<list-item><p>We then empirically show that our mechanism algorithm can significantly outperform improved extensions of traffic lights and FCFS that account for potential collisions with obstructions. Specifically, we evaluate our mechanism on Simulation of Urban MObility (SUMO), a realistic simulator. Overall, the experiments show that we can maintain up to 94&#x02013;99% of the optimal performance while traffic lights and FCFS can achieve up to only 65&#x02013;90%.</p></list-item>
</list>
<p>The rest of this paper is structured as follows. Second section describes related work. A description of the model and relevant definitions and assumptions are presented in the third section. Fourthly, the details of our algorithm including behaviour of the driver agents and the intersection agent are provided. The fifth section evaluates our algorithm against realistic traffic settings. The last section concludes.</p>
</sec>
<sec id="s2">
<title>2. Related Work</title>
<p>In addition to Dresner and Stone (<xref ref-type="bibr" rid="B3">2008</xref>) other related work includes Vasirani and Ossowski (<xref ref-type="bibr" rid="B21">2009</xref>), Carlino et al. (<xref ref-type="bibr" rid="B2">2013</xref>), Liu et al. (<xref ref-type="bibr" rid="B12">2013</xref>), Au et al. (<xref ref-type="bibr" rid="B1">2015</xref>), and Vu et al. (<xref ref-type="bibr" rid="B22">2018</xref>). The main objectives of these works are to optimise the efficiency of the intersection (either based on incentives or waiting time) or to scale up the solution (e.g., consider multi-intersection systems or large numbers of vehicles). Most of these assume a centralised system where the an intersection manager performs all of the computation.</p>
<p>Specifically, Vasirani and Ossowski (<xref ref-type="bibr" rid="B21">2009</xref>) proposed a market-inspired approach for intersection management that explicitly schedules the access through bidding. Their method is designed in a scalable manner, which can be extended to cover a road network or multiple intersections. However, due to the heterogeneous vehicles&#x00027; bidding power, the reduction in overall delays cannot be guaranteed, especially in rush hours. In the same vein, an auction-based method proposed by Carlino et al. (<xref ref-type="bibr" rid="B2">2013</xref>) also experiences similar issues.</p>
<p>Moreover, recently, Vu et al. (<xref ref-type="bibr" rid="B22">2018</xref>) proposed an approach based on a distributed constraint optimisation solution that aims to account for surges in traffic flow. This solution addresses the risk of a single point of failure of such centralised systems by distributing the computation across multiple CAVs. However, their distributed approach requires significantly high communication costs, approximately 10<sup>5</sup> times more messages than FCFS. Furthermore, unlike Dresner and Stone (<xref ref-type="bibr" rid="B3">2008</xref>), Vasirani and Ossowski (<xref ref-type="bibr" rid="B21">2009</xref>), Carlino et al. (<xref ref-type="bibr" rid="B2">2013</xref>), and Liu et al. (<xref ref-type="bibr" rid="B12">2013</xref>), Zohdy and Rakha (<xref ref-type="bibr" rid="B24">2016</xref>) proposed an intersection Cooperative Adaptive Cruise Control (iCACC), allowing multiple vehicles to cross the intersection as a group or platoon simultaneously. The results show that the delays can be reduced by 90% compared to the stop sign control.</p>
<p>In general, while these approaches consider variations in traffic flow of different kinds, they ignore the dynamism inherent in the real world. For example, many approaches study only regular intersection topology where a number of lanes are symmetrically equal. More importantly, vehicle trajectories are often assumed to be static without considering any intervention cases, e.g., road obstructions. Therefore, these approaches are more likely to be vulnerable to real-world scenarios.</p>
<p>Furthermore, as we consider the problem of collision avoidance, there are many recent relevant works from the robotics domain (e.g., Rebai et al., <xref ref-type="bibr" rid="B16">2009</xref>; Savkin and Wang, <xref ref-type="bibr" rid="B18">2014</xref>; Kim and Kwon, <xref ref-type="bibr" rid="B7">2015</xref>; Pudics et al., <xref ref-type="bibr" rid="B15">2015</xref>; Savkin and Li, <xref ref-type="bibr" rid="B17">2018</xref>). In particular, Kim and Kwon (<xref ref-type="bibr" rid="B7">2015</xref>) proposed an algorithm that uses an ordinary camera sensor accomplishing lane following navigation while also avoiding obstacles. Similarly, Pudics et al. (<xref ref-type="bibr" rid="B15">2015</xref>) uses a 360-degree camera as a sensor that can provide rich information. With several calibrations and image processing methods, the obstacles can be detected and avoided.</p>
<p>However, unlike Kim and Kwon (<xref ref-type="bibr" rid="B7">2015</xref>) and Pudics et al. (<xref ref-type="bibr" rid="B15">2015</xref>), Savkin and Li (<xref ref-type="bibr" rid="B17">2018</xref>) proposed a simplified and more computationally efficient collision avoidance method that only uses 2D range finding sensors. Despite having a 2D sensor, the information is sufficient to determine obstacle existence and provide several tangent lines between the robot and the edge of the obstacles. More precisely, the robot will choose a tangent line to move along avoiding a head-on blockage before continue moving on the obstacle&#x00027;s boundary. Nevertheless, adapting such algorithms to the road environment presents some difficulties, mainly due to the physical differences between robots and vehicles, such as turning or steering movements, occupancy, speed, and, more importantly, centrifugal force.</p>
</sec>
<sec id="s3">
<title>3. The Traffic Model</title>
<p>This section describes how we model the vehicles, obstacles and the intersection in our study system. Specifically, we base our model on the original FCFS model (Dresner and Stone, <xref ref-type="bibr" rid="B3">2008</xref>) that considers a road intersection managed by an <italic>Intersection Manager Agent</italic> or IMA<xref ref-type="fn" rid="fn0003"><sup>3</sup></xref>. The intersection agent is able to grant its resource (time-slotted space in the intersection) to each vehicle&#x02014;<italic>driver agent</italic> or DA&#x02014;to coordinate each vehicle&#x00027;s movement. Later, our traffic intersection management mechanism will be explained in detail.</p>
<sec>
<title>3.1. Vehicles</title>
<p>We define <italic>A</italic><sub><italic>t</italic></sub> &#x0003D; {<italic>a</italic><sub>1</sub>...<italic>a</italic><sub><italic>n</italic></sub>} as a set of DAs in our system at time <italic>t</italic>. Each <italic>a</italic><sub><italic>i</italic></sub> &#x02208; <italic>A</italic><sub><italic>t</italic></sub> is modelled with its own properties: position <italic>pos</italic><sub><italic>i</italic></sub>, velocity <italic>v</italic><sub><italic>i</italic></sub>, width <italic>w</italic><sub><italic>i</italic></sub>, length <italic>l</italic><sub><italic>i</italic></sub>, minimum gap between the agent and the leading agent, and the orientation &#x003B8;<sub><italic>i</italic></sub>. All agents in <italic>A</italic><sub><italic>t</italic></sub> have the same value of maximum velocity <italic>v</italic><sub><italic>max</italic></sub> and accelerating rate &#x003B1;.</p>
</sec>
<sec>
<title>3.2. Obstacles</title>
<p>In this paper, we only focus on static obstructions (e.g., road construction) that occur either within the intersection or at the entrance of intersection. We assume the following about the obstacles:</p>
<list list-type="order">
<list-item><p>Each obstacle is unmovable and free shape.</p>
<p>A virtual safe ring around is defined to ensure safety.</p></list-item>
<list-item><p>The obstacles can only position in either (1) in the intersection area or (2) at the exit of the lanes.</p></list-item>
<list-item><p>The IMA has full knowledge of the obstacles&#x00027; position and safe ring and also is able to pass these details to the DAs.</p></list-item>
</list>
<p>Let <italic>O</italic> be an obstacle our system, and it is modelled with its own properties such as the position, the radius of the obstacle <italic>r</italic>(<italic>O</italic>), the radius of the safe ring <italic>r</italic><sub><italic>safe</italic></sub>(<italic>O</italic>), the circle around the obstacle <italic>C</italic>(<italic>O</italic>), and the circle of the safe ring <italic>C</italic><sub><italic>safe</italic></sub>(<italic>O</italic>).</p>
</sec>
<sec>
<title>3.3. The Intersection</title>
<p>Unlike the perfectly configured intersection in Dresner&#x00027;s work where the number of lanes and traffic directions are identical in all directions, we look at more general or non-symmetrical intersections, i.e., with unequal numbers of lanes or nonidentical traffic directions. Additionally, when obstacles are located nearby, this type of intersections has a realistic impact on the traffic, which allows us to study the disruption cause by obstacles in more detail. Moreover, this type of intersection can be seen extensively in many urban areas such as New Delhi, Bangkok, and Manhattan. We, therefore, model the intersection after a real and non-symmetrical intersection in Manhattan that intersects between Park Av South and East 23rd Street. Note that our algorithm works with different intersection settings as well.</p>
<p>In this work, the access of vehicles are scheduled based on the cell-based space reservation similar to Dresner and Stone (<xref ref-type="bibr" rid="B3">2008</xref>) where the centre of the intersection is discretised as a grid composed of a number of cells (<italic>k</italic>) (see <xref ref-type="fig" rid="F1">Figure 1</xref>). These cells help DAs keep track of their used space and time-slots according to the predicted paths and also use to detect conflicts with other DAs preventing overlapping reservations (explains more in section 3). Specifically, this method supports dynamic vehicles trajectories that may happen due to the collision avoidance while several contemporary methods do not (e.g., Zohdy and Rakha, <xref ref-type="bibr" rid="B24">2016</xref>; Lin et al., <xref ref-type="bibr" rid="B11">2017</xref>; Vu et al., <xref ref-type="bibr" rid="B22">2018</xref>).</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>This figure illustrates the topology of intersection in Manhattan where the space in the middle of the intersection is virtually divided into squared cells. The arrows represent directions of the traffic.</p></caption>
<graphic xlink:href="frsc-03-670454-g0001.tif"/>
</fig>
<p>However, whenever an obstacle is positioned at the exit of the lane, the vehicles in that lane must perform lane changing to avoid the blockage before they begin crossing. These movements interrupt the flow, resulting in increasing delays. Therefore, we introduce an extension to this cell-based approach. In particular, the grid is extended from the intersection area to cover the area around the obstacle according to the position (see <xref ref-type="fig" rid="F2">Figure 2</xref>). The benefit of this extended section is to have the lane-changing movements combine with the crossing movements, allowing those movements to be reserved as one. As a result, DAs can make a reservation promptly after arriving at the queuing area, bypassing the delays that lane-changing movements may cause.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>The extended area whenever obstacle is positioned at the exit of the lane. The circle represents the obstacle, and the highlighted area is where the grid is extended.</p></caption>
<graphic xlink:href="frsc-03-670454-g0002.tif"/>
</fig>
<p>Additionally, to aid the queuing, a virtual stop bar is defined in front of the extended grid. The virtual stop bar&#x00027;s distance is calculated using the Gipps lane-changing model (Gipps, <xref ref-type="bibr" rid="B5">1986</xref>). By limiting the lane changing speed to 25 km/h, a safe distance can be derived, &#x0007E;7.5 m. DAs explicitly slow down until meeting that speed before changing the lane.</p>
<p>Moreover, to decentralise the system, we introduce a new piece of information for the IMA to hold called a reservation map, which is requestable by the DAs. This map contains a 2D-array of cells, and each cell also contains a vector of numbers representing its specific reserved timestamps. Simply put, this map allows the DAs to determine when and how long each cell is reserved and able to perform the conflict resolution on their own.</p>
</sec>
</sec>
<sec id="s4">
<title>4. Resilient Intersection Management With Multi-Vehicle Collision Avoidance</title>
<p>Having defined the elements of the model, we next define our resilient intersection management mechanism that ensure the computation is distributed while incorporating collision avoidance. The purpose of distributing the computation is to address the high computational load for the IMA which is considered to be the main drawback of Dresner and Stone (<xref ref-type="bibr" rid="B3">2008</xref>). We thus propose a new mechanism called Resilient Intersection Management with Multi-vehicle Collision Avoidance (RIMMCA). Next, we detail the behaviour of the DAs and the IMA in the system.</p>
<sec>
<title>4.1. Driver Agents Behaviour</title>
<p>DAs have to execute the following operations to reserve the time-slotted space.</p>
<list list-type="order">
<list-item><p>Ask for information about the target lane (important for path prediction), the reservation map (i.e., which cells in the intersection are already reserved) and obstructions from the intersection agent once they arrive at the waiting area.</p></list-item>
<list-item><p>Initiate path prediction with or without collision avoidance depending on the presence of obstructions.</p></list-item>
<list-item><p>Resolve the conflict that may arise due to the previous reservations.</p></list-item>
<list-item><p>Send a requesting message containing the vehicle properties and the predicted path to the intersection agent and then wait for a confirmation.
<list list-type="bullet">
<list-item><p>If the request is rejected, go back to step (1)</p></list-item>
<list-item><p>If the request is confirmed, begin the crossing.</p></list-item>
</list></p></list-item>
<list-item><p>Notify the intersection agent that they have left the intersection area.</p></list-item>
</list>
<p>The main feature of decentralisation in our algorithm is that the driver agents are fully responsible for computations in two operations: path prediction (2) and conflict resolution (3). The key objective of these two operations is to find a conflict-free path from the agents&#x00027; position to the target lane.</p>
<sec>
<title>4.1.1. Path Prediction</title>
<p>This operation simulates the agents&#x00027; movements step by step from their position to the target lane. It modifies the orientation of agents, &#x003B8;<sub><italic>i</italic></sub>, mimicking a steering mechanism while moving toward the assigned target lane. The output of this operation is called a predicted path <inline-formula><mml:math id="M1"><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">{</mml:mo><mml:mrow><mml:mo>&#x0003C;</mml:mo><mml:mi>p</mml:mi><mml:mi>o</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x0003E;</mml:mo><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x0003C;</mml:mo><mml:mi>p</mml:mi><mml:mi>o</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x0003E;</mml:mo></mml:mrow><mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:math></inline-formula>, where <italic>t</italic> &#x0002B; <italic>s</italic> is the end timestamp of this path vector.</p>
<p>However, this prediction is only applicable in non-obstructed situations. Therefore, we introduce an alternative method that predicts a sub-optimal path avoiding collisions with obstacles, which is explained in the next section.</p>
</sec>
<sec>
<title>4.1.2. Path Prediction With Obstructions</title>
<p>Here we explain how the agents perform path prediction even when obstructions exist with two main procedures.</p>
<p><bold>A. Obstruction detection function:</bold> This function task is to determines the need for collision avoidance. Upon DAs&#x00027; arrival at the intersection, the DAs must execute the normal path prediction retrieving an initial predicted path. The obstruction is detected when the distance between one of the waypoints in the predicted path and the centre of the obstacle&#x00027;s circle is smaller than <italic>r</italic><sub><italic>safe</italic></sub>(<italic>O</italic>). If an obstruction is found, the initial predicted path is discarded, and the DAs execute the path prediction with collision avoidance instead. Nevertheless, the collision avoidance still requires this function in the process, which is referred to as <italic>obstruction</italic>_<italic>detection</italic>(). Particularly, the usage is highlighted at line 8 in <xref ref-type="table" rid="T3">Algorithm 1</xref>.</p>
<table-wrap position="float" id="T3">
<label>Algorithm 1</label>
<caption><p>Collision avoidance.</p></caption>
<table frame="hsides" rules="groups">
<tbody><tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;// <monospace>When the</monospace> <italic>a</italic><sub><italic>i</italic></sub> <monospace>is obstructed</monospace></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<bold>input</bold> : <italic>Obstacle O</italic>, <italic>tanget line T</italic>, <italic>agent a</italic><sub><italic>i</italic></sub>, <italic>time step t</italic></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<bold>output</bold>: <italic>path</italic></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;1&#x000A0;&#x000A0;<inline-formula><mml:math id="M2"><mml:msubsup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x02190;</mml:mo></mml:math></inline-formula> a virtual duplicate of <italic>a</italic><sub><italic>i</italic></sub></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;2&#x000A0;&#x000A0;&#x003C4; &#x02190; a virtual time step of <italic>t</italic></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;3&#x000A0;&#x000A0;<italic>obstructed</italic> &#x02190; <italic>True</italic></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;4&#x000A0;&#x000A0;<bold>while</bold> <inline-formula><mml:math id="M3"><mml:msubsup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> <italic>not reaching the target lane</italic> <bold>do</bold></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;5&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<bold>if</bold> <inline-formula><mml:math id="M4"><mml:msubsup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> <italic>not touching</italic> <italic>C</italic><sub><italic>safe</italic></sub>(<italic>O</italic>) &#x00026;<italic> obstructed</italic> <bold>then</bold></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;6&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x003B8; &#x02190; the orientation of <italic>T</italic></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;7&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<bold>if</bold> <inline-formula><mml:math id="M5"><mml:msubsup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> <italic>is touching</italic> <italic>C</italic><sub><italic>safe</italic></sub>(<italic>O</italic>) <bold>then</bold></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;8&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>obstructed</italic> &#x02190; <italic>obstruction</italic>_<italic>detection</italic>()</td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;9&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<bold>if</bold> <inline-formula><mml:math id="M6"><mml:msubsup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> <italic>is</italic> <italic>obstructed</italic> <bold>then</bold></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;10&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x003B8; &#x02190; the orientation follows <italic>C</italic><sub><italic>safe</italic></sub>(<italic>O</italic>)&#x00027;s curve</td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;11&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<bold>else</bold></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;12&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x003B8; &#x02190; the orientation to the target lane</td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;13&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;update <inline-formula><mml:math id="M7"><mml:msubsup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>&#x00027;s position and orientation by steering toward &#x003B8;</td></tr>
<tr>
<td valign="top" align="left">&#x000A0;14&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<inline-formula><mml:math id="M8"><mml:mi>p</mml:mi><mml:mi>o</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x02190;</mml:mo><mml:msubsup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msubsup><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">position</mml:mtext></mml:mstyle></mml:math></inline-formula></td></tr>
<tr>
<td valign="top" align="left">&#x000A0;15&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<inline-formula><mml:math id="M9"><mml:msubsup><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x02190;</mml:mo><mml:msubsup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msubsup><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">orientation</mml:mtext></mml:mstyle></mml:math></inline-formula></td></tr>
<tr>
<td valign="top" align="left">&#x000A0;16&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>path</italic> &#x0002B;= <inline-formula><mml:math id="M10"><mml:mo>&#x0003C;</mml:mo><mml:mi>p</mml:mi><mml:mi>o</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x0003E;</mml:mo></mml:math></inline-formula></td></tr>
<tr>
<td valign="top" align="left">&#x000A0;17&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x003C4; &#x0002B;= 1</td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;18&#x000A0;&#x000A0;<bold>end</bold></td>
</tr>
</tbody>
</table>
</table-wrap>
<p><bold>B. Collision avoidance algorithm:</bold></p>
<p>Here, we explain how the DAs can move to the target lane without causing any collisions. Our algorithm is designed based on the model proposed by Savkin and Li (<xref ref-type="bibr" rid="B17">2018</xref>). However, we adapt their models to suit the intersection environment. In their model, a robot agent has to explore a restricted area until it is fully discovered, which requires the robot to constantly check for the collisions against walls. While, in our case, since the position of the obstacle is static, the algorithm is modified to check for the collisions only when needed, which is more suitable to our environment and more computationally efficient than Savkin and Li (<xref ref-type="bibr" rid="B17">2018</xref>). Moreover, due to the differences between robots and vehicles, the physical constraints of each vehicle are taken into account, e.g., the maximum steering angle and maximum turning velocity. This is to prevent such sharp turns or potential accidents in the real environment.</p>
<p>Specifically, the key algorithm is described in <xref ref-type="table" rid="T3">Algorithm 1</xref>, which mainly records the obstructed-free path per time step while updating the vehicle&#x00027;s position and orientation. The obstructed-free path of each DA can be broken down into three main parts of movement as follow:</p>
<list list-type="order">
<list-item><p>Avoid the blockage that DA follows the tangent line <italic>T</italic> between its entry point and obstacles&#x00027; safe ring <italic>C</italic><sub><italic>safe</italic></sub>(<italic>O</italic>)<xref ref-type="fn" rid="fn0004"><sup>4</sup></xref>, line 5, 6, and 13.</p></list-item>
<list-item><p>Follow the <italic>C</italic><sub><italic>safe</italic></sub>(<italic>O</italic>) curve that DA moves along the safe ring until the obstruction is no longer detected (using obstruction detection function), line 7&#x02013;10 and 13.</p></list-item>
<list-item><p>Continue to steer and move forward from the end position in (2) to the entry of the target lane, line 11&#x02013;13.</p></list-item>
</list>
<p>The movement (3) acts as a recovery mechanism forcing the agent to go back to the initial aiming direction while using the least possible space. The example of these movements is shown in <xref ref-type="fig" rid="F3">Figure 3</xref>.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>The predicted path considering the obstacle, where the solid line represents path from the collision avoidance algorithm while the dashed line represents the normal predicted path.</p></caption>
<graphic xlink:href="frsc-03-670454-g0003.tif"/>
</fig>
<p>Now, our driver agents can predict a path either with or without consideration of obstructions. Next, this predicted path is processed further in the conflict resolution operation.</p>
</sec>
<sec>
<title>4.1.3. Conflict Resolution</title>
<p>Although the predicted path is already defined, the DAs cannot begin crossing immediately due to the conflicts that may arise against other reservations. An example of this situation is shown in <xref ref-type="fig" rid="F4">Figure 4</xref>. By following the first come first served principle, a typical solution is to have the DA that comes later wait for a certain time, <italic>waiting time</italic>, letting the DAs that come before pass through first until no conflicts left, then the DAs that comes later can continue moving.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>An example of a conflict between two paths.</p></caption>
<graphic xlink:href="frsc-03-670454-g0004.tif"/>
</fig>
<p>Specifically, our conflict resolution algorithms composed of three main steps:</p>
<list list-type="order">
<list-item><p>Calculate to-be-reserved cells and their timestamps by projecting <italic>a</italic><sub><italic>i</italic></sub> &#x02208; <italic>A</italic><sub><italic>t</italic></sub> vehicle&#x00027;s body using width <italic>w</italic><sub><italic>i</italic></sub>, length <italic>l</italic><sub><italic>i</italic></sub>, and <inline-formula><mml:math id="M11"><mml:mo>&#x0003C;</mml:mo><mml:mi>p</mml:mi><mml:mi>o</mml:mi><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x0003E;</mml:mo></mml:math></inline-formula> in the predicted path <italic>p</italic><sub><italic>i</italic></sub> on the intersection <italic>grid</italic> per timestamp <italic>h</italic> which starts from <italic>t</italic> &#x0002B; 1 and keep increasing by 1.</p></list-item>
<list-item><p>Check potential conflicted timestamp <inline-formula><mml:math id="M12"><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>g</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> by overlapping the to-be-reserved cells with the reservation map (retrievable from IMA), where <inline-formula><mml:math id="M13"><mml:msubsup><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>g</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the timestamp conflict firstly occurs, and <inline-formula><mml:math id="M14"><mml:msubsup><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the timestamp conflict ends.</p></list-item>
<list-item><p>Shift the begin timestamp of the predicted path <italic>p</italic><sub><italic>i</italic></sub> by <italic>waiting time</italic> &#x0003D; |<italic>q</italic><sub><italic>a</italic><sub><italic>i</italic></sub></sub>| &#x0002B; 1.</p></list-item>
</list>
<p>However, the conflicts may even occur again after the shifting. To resolve this issue, the DAs must keep repeating the conflict checking (2) and timestamp shifting (3) until the predicted path is free from any conflicts.</p>
<p>In terms of the total computational cost for each DA, the cost required for path prediction for a vehicle <italic>a</italic><sub><italic>i</italic></sub> is in the order <inline-formula><mml:math id="M15"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">O</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>/</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> and for conflict resolution is <inline-formula><mml:math id="M16"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">O</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> where <italic>w</italic><sub><italic>cell</italic></sub> is the width of cell, <italic>k</italic><sub><italic>a</italic><sub><italic>i</italic></sub></sub> is the number of cells used by <italic>a</italic><sub><italic>i</italic></sub>, and <italic>k</italic> is the total number of cells.</p>
<p>Lastly, the DAs construct the requesting message with two pieces of information: the properties of the vehicle and the conflict-free path and send it to the IMA. We term the DA that sends out the message as the requesting DA. With our decentralised approach the IMA thus has only two tasks left, namely, verifying the request and sending an approval. We next explain the function of this agent in more detail.</p>
</sec>
</sec>
<sec>
<title>4.2. Intersection Manager Agent Behaviour</title>
<p>Unlike the original FCFS, the IMA does perform neither path prediction nor conflict resolution since the path (or requested path) is already included in the requesting message. However, due to concurrency issues that occur in practice, to maintain the synchronisation between agents, the IMA must be responsible for the final permission granting process. In this process, the IMA verifies the validity of the requested path against the current state of the reservation map.</p>
<p>Specifically, the IMA simulates all the movements of the requesting DA and the previously granted DAs with respect to the timestamps while looking for reservation conflicts. If there is no conflict, the IMA will send an approval message with reservation details back to the requesting DA and update the reservation map as usual. However, the conflict may occur when a requesting message of <italic>a</italic><sub><italic>i</italic>&#x0002B;1</sub> arrives after the reservation map has already been updated by accepting a request from <italic>a</italic><sub><italic>i</italic></sub>. In this case, the request will be rejected, and <italic>a</italic><sub><italic>i</italic>&#x0002B;1</sub> has to start the path prediction and conflict resolution from the beginning. The overall interaction flow between the IMA and DAs can be seen as a flow chart in <xref ref-type="fig" rid="F5">Figure 5</xref>.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>The interactions flow between the IMA and DAs.</p></caption>
<graphic xlink:href="frsc-03-670454-g0005.tif"/>
</fig>
<p>To compare the computational cost with the original FCFS, in FCFS the cost for the IMA is <inline-formula><mml:math id="M17"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">O</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>/</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">]</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mrow><mml:mi mathvariant="-tex-caligraphic">O</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> per requesting message. This is due to the path prediction and the conflict resolution operations. While, with our approach the computational cost is reduced to <inline-formula><mml:math id="M18"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">O</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> per requesting message. This opens an opportunity to replicate the function of IMA across multiple nodes, i.e., the vehicles, since the computational cost is reasonably small.</p>
<p>Furthermore, our distributed method can reduce the overall number of messages compared to FCFS. This is because, in RIMMCA, DAs can internally resolve the reservation conflicts before sending requests to IMA. While, in FCFS, DAs notice the conflicts only when IMA notifies them via messages. <xref ref-type="table" rid="T1">Table 1</xref> shows a comparison of an average number of messages between our method and FCFS. Indeed, it can be seen that with 1,500 vehicles our method requires more messages than FCFS. However, as the number of vehicles increases where the conflicts are likely to occur, our RIMMCA requires significantly less messages than FCFS.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Average number of messages in comparison between FCFS and RIMMCA, under different number of vehicles.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="center"><bold>Number of vehicles</bold></th>
<th valign="top" align="center"><bold>FCFS</bold></th>
<th valign="top" align="center"><bold>RIMMCA</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="center">1,500</td>
<td valign="top" align="center">5,260</td>
<td valign="top" align="center">6,012</td>
</tr>
<tr>
<td valign="top" align="center">3,000</td>
<td valign="top" align="center">13,362</td>
<td valign="top" align="center">12,011</td>
</tr>
<tr>
<td valign="top" align="center">6,000</td>
<td valign="top" align="center">41,480</td>
<td valign="top" align="center">24,080</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s5">
<title>5. Empirical Evaluation</title>
<p>We aim to benchmark our RIMMCA model against two intersection controls: traffic lights (TL) and FCFS. To do so, we chose the open-source traffic simulator SUMO (Simulation of Urban MObility) (Krajzewicz et al., <xref ref-type="bibr" rid="B9">2002</xref>). With the client-server based Traffic Control Interface (TraCI) (Wegener et al., <xref ref-type="bibr" rid="B23">2008</xref>) available in SUMO, external applications can be built upon allowing simulated vehicles to be controlled at run time. With this feature, FCFS and RIMMCA algorithms can be implemented on the simulated intersections enabling coordination between DAs and IMA. To do so, two important modifications were made to the SUMO: (1) the vehicles can progress beyond the stop bar at any specific time even though the traffic lights are red<xref ref-type="fn" rid="fn0005"><sup>5</sup></xref> (2) the vehicles can ignore their car following models when they are crossing the intersection<xref ref-type="fn" rid="fn0006"><sup>6</sup></xref>.</p>
<sec>
<title>5.1. Obstacles Placement</title>
<p>Since SUMO does not support the placement of obstacles, in the following we explain how we deal with obstacles in the simulation. For an in-lane obstacle, we place an immobile vehicle at a specific position on the lane, which partially reduces the lane&#x00027;s available space. It sometimes even blocks the lane exit or entry depending on the position of the obstacle. However, by using the SUMO vehicle objects as obstacles, all simulated vehicles can respond to the blockage themselves (e.g., changing lane and choosing the best driving lane; Erdmann, <xref ref-type="bibr" rid="B4">2015</xref>), without any manipulation from the algorithms. This means that, in the evaluation process, there is no collision avoidance extension required for both TL and FCFS.</p>
<p>Nevertheless, an obstacle in the intersection cannot be expressed with the immobile vehicle in the same way as in-lane obstacles. Otherwise, the car following model from Krau&#x000DF; et al. (<xref ref-type="bibr" rid="B10">1997</xref>) will force the crossing vehicles to stop in the middle of the intersection and eventually cause a deadlock (only for TL). Our solution is to represent this obstacle with a point of interest, a circle-shape object provided by SUMO despite having no physical meaning. Moreover, since no study has considered obstructions in the intersection to date, we have to evaluate our algorithm against the naive collision avoidance extension of TL and FCFS, which is a lane closing solution. Specifically, any lanes that are blocked by the obstruction will be closed throughout the run. We refer to the lane closing solution of TL and FCFS as TL-LC and FCFS-LC.</p>
<p>We separate the experiment into two main types: in-lane obstruction type and in-intersection obstruction type. In the first type, to create situations that significantly worsen the throughput, an obstacle is placed at the exit of the left most lane (see <xref ref-type="fig" rid="F6">Figure 6A</xref>). This left most lane is more likely to have a long queue due to the left turn trajectory that heavily conflicts with other trajectories. Having only one obstacle at this position can seriously affect overall traffic throughput. In the second type, we place the obstacle in the middle of the intersection aiming to create three-lane blocking scenarios (see <xref ref-type="fig" rid="F6">Figure 6B</xref>). This three-lane blocking is sufficient to show its effect on the throughput but still maintain a good flow. When more than three lanes are blocked, the throughput becomes poor and even fluctuate whenever the position is changed, and it is difficult to acquire accurate results. This is due to the non-symmetric intersection design.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>This figure shows example placements of obstacles where the red circle represents the obstacle, while the dashed circles represent the possible alternative positions of the obstacle. The left part <bold>(A)</bold> shows in-lane obstructions, while the right part <bold>(B)</bold> shows in-intersection obstructions.</p></caption>
<graphic xlink:href="frsc-03-670454-g0006.tif"/>
</fig>
<p>Note that the purpose of this obstacle placement is to demonstrate how our method performs with baseline cases, not to exhaust the algorithm with such complex situations. For example, in the case of the bigger obstacle, this means more lanes will be blocked, which significantly worsens the performance of TL-LC and FCFS-LC approaches in terms of queue lengths and delays. While, RIMMCA does not rely on the lane-closure approach, the bigger obstacle only has a moderate effect on the results. Evaluation with this case would appear to have considerably better performance than TL and FCFS, which is considered an unfair comparison and overstating the results.</p>
<p>Moreover, with regards to the case of multiple obstruction types at the same time, it will introduce an entirely new problem to the system, namely, multiple obstructions. The solution to this problem would require a more complex algorithm. Even though our proposed method can be modified to avoid obstacles one by one, the resulting manoeuvring path would be only sub-optimal. An additional optimisation process would be required to address this aspect, which will be another challenge to our method. Still, this is beyond our current research scope.</p>
</sec>
<sec>
<title>5.2. Experimental Settings</title>
<p>Unlike Dresner and Stone (<xref ref-type="bibr" rid="B3">2008</xref>), where FCFS is tested in the ideal conditions, we test our model on the real intersection which is a replica of the intersection in Manhattan. Given that our focused intersection is located in New York, real traffic data is available via New York State Department of Transportation (<xref ref-type="bibr" rid="B14">2016</xref>). This dataset provides the average daily traffic count of each road in 2016 allowing us to estimate the value of traffic flow. Specifically, the flow is between 2,300 and 2,500 vehicles/hour, including 10% peak-time increase. Additionally, to create more practical traffic state, we weigh this flow across the two roads based on their actual usage, 67.46% on Park Av South and 32.54% on East 23rd Street. Given this, all simulated vehicles can be generated distributively and realistically per each run.</p>
<p>We leave all vehicles&#x00027; attributes as default. These attributes include width 1.8 <italic>m</italic>, length 5 <italic>m</italic>, maximum speed 11.18 <italic>m</italic>/<italic>s</italic> (&#x02248; 40 <italic>km</italic>/<italic>h</italic>), acceleration 2.6 <italic>m</italic>/<italic>s</italic><sup>2</sup>, deceleration 4.5 <italic>m</italic>/<italic>s</italic><sup>2</sup>, minimum gap 2.5 <italic>m</italic>, and etc. The size of the obstacles are <italic>r</italic>(<italic>O</italic>) &#x0003D; 2.5 <italic>m</italic>, <italic>r</italic><sub><italic>safe</italic></sub>(<italic>O</italic>) &#x0003D; 4.5 <italic>m</italic>. Only one obstacle will be placed per run (i.e., simulation instance).</p>
<p>Note that the obstacle safe distance, <italic>r</italic><sub><italic>safe</italic></sub>(<italic>O</italic>), is defined using three factors, obstacle radius <italic>r</italic>(<italic>O</italic>), vehicle&#x00027;s width <italic>w</italic><sub><italic>i</italic></sub>, and additional safe gap <italic>g</italic><sub><italic>safe</italic></sub>. Specifically, <italic>r</italic><sub><italic>safe</italic></sub>(<italic>O</italic>) is equal to:</p>
<disp-formula id="E1"><label>(1)</label><mml:math id="M19"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>a</mml:mi><mml:mi>f</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>r</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>a</mml:mi><mml:mi>f</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Where SUMO passenger vehicle&#x00027;s width (<italic>w</italic><sub><italic>i</italic></sub>) = 1.8 <italic>m</italic>, and <italic>g</italic><sub><italic>safe</italic></sub> is set to be 1.1 <italic>m</italic>. Hence, <italic>r</italic><sub><italic>safe</italic></sub>(<italic>O</italic>) = 4.5 <italic>m</italic> as stated. Also, the additional safe gap can be changed dynamically depending on specific vehicle types.</p>
</sec>
<sec>
<title>5.3. Experimental Results and Discussions</title>
<p>We set each run to be 1 h simulation time with randomly generated input flow and vehicles trips (from the estimated traffic flow and the usage weight). For the evaluation, three traffic measurement units: flow rate (<italic>vehicles</italic>/<italic>hour</italic> or <italic>veh</italic>/<italic>h</italic>), queue length (<italic>metre</italic>) and delays (<italic>seconds</italic>/<italic>veh</italic> or <italic>s</italic>/<italic>veh</italic>) were chosen. Moreover, to gain more accurate results, each experiment was also repeated more than 20 runs. The values reported below are the average over 20 runs.</p>
<sec>
<title>5.3.1. No Obstructions</title>
<p>We initially set up obstruction-free experiments to see the optimal performance of traffic lights, FCFS and RIMMCA. The results show that traffic lights are significantly outperformed by FCFS and RIMMCA, while both FCFS and RIMMCA show similar results. To be exact, the optimal performance of traffic lights is the flow rate of 1569.8 <italic>veh</italic>/<italic>h</italic>, queuing length of 33.28 <italic>m</italic>, and delays of 93.43 <italic>s</italic>/<italic>veh</italic>. While, the optimal performance of FCFS and RIMMCA are similar and is much higher than the traffic lights, with the flow rate of 2, 402 <italic>veh</italic>/<italic>h</italic>, queuing length of &#x02248; 0.13&#x02212;0.15 <italic>m</italic> and delays of 0.01 <italic>s</italic>/<italic>veh</italic>. Note that the flow rate and the delays are recorded at the end of each simulation.</p>
<p>Next, we perform experiments with the two obstruction types: in-lane obstruction and in-intersection obstruction.</p>
</sec>
<sec>
<title>5.3.2. In-lane Obstructions</title>
<p>We created four different in-lane obstruction scenarios by placing obstacles at four distinct positions (see <xref ref-type="fig" rid="F6">Figure 6A</xref>). The results show that the performance of TL significantly drops to the flow rate of 1023.75 <italic>veh</italic>/<italic>h</italic>, queuing length of 44.85 <italic>m</italic>, and delays of 162.01 <italic>s</italic>/<italic>veh</italic>. Similarly, the performance of FCFS also drops to the flow rate of 2371.75 <italic>veh</italic>/<italic>h</italic>, queuing length of 11.2 <italic>m</italic>, and delays of 1.61 <italic>s</italic>/<italic>veh</italic>. While, RIMMCA can maintain its performance to be close to its optimal point with the flow rate of 2380 <italic>veh</italic>/<italic>h</italic>, queuing length of 0.25 <italic>m</italic> and delays of 0.03 <italic>s</italic>/<italic>veh</italic>.</p>
<p>Due to the obstacles at the entry of the lane, the queuing length values become higher in both TL and FCFS, but not in RIMMCA. This is because in TL and FCFS, when vehicles are blocked, they have to perform the lane changing, and it tends to interrupt the flow resulting in a long queue and high delays. While, in RIMMCA the lane changing movements (only to avoid collisions) are already included in the reserved path, vehicles only have to follow the scheduled time-slots. <xref ref-type="fig" rid="F7">Figure 7</xref> shows the average queuing length over time of TL, FCFS and RIMMCA.</p>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Average queuing length results with standard deviation of four different in-lane obstruction scenarios (20 runs per scenario).</p></caption>
<graphic xlink:href="frsc-03-670454-g0007.tif"/>
</fig>
<p>By using the optimal performance without obstructions as a baseline, the traffic lights and FCFS offer the flow rate &#x02248; 65 and &#x02248; 98% of the optimal point, while RIMMCA offers 99% of the optimal point. From the results, it can be seen that RIMMCA can outperform both traffic lights and FCFS even with the presence of in-lane obstacles.</p>
</sec>
<sec>
<title>5.3.3. In-intersection Obstruction</title>
<p>Given four possible obstacle positions (see <xref ref-type="fig" rid="F6">Figure 6B</xref>), we were able to create four distinct in-intersection obstruction scenarios. With this type of obstructions, even though the amount of the incoming lanes is greatly reduced due to the lane-closing solution it affects the performance of each intersection control differently. For TL-LC, the performance is better than in-lane obstruction case with the flow rate of 1416.7 <italic>veh</italic>/<italic>h</italic>, queuing length of 42 <italic>m</italic>, and delays of 118.82 <italic>s</italic>/<italic>veh</italic>. For FCFS-LC, the flow rate drops to 2, 170 <italic>veh</italic>/<italic>h</italic>, while the performance in queuing length and delays are better, 1.3 <italic>m</italic> and 0.6 <italic>s</italic>/<italic>veh</italic>. Meanwhile, RIMMCA slightly loses its performance when compare to the in-lane obstruction case with the flow rate of 2, 260 <italic>veh</italic>/<italic>h</italic>, queuing length of 2.73 <italic>m</italic>, and the delays of 4.7 <italic>s</italic>/<italic>veh</italic>. The comparison graph of queuing length between three intersection controls with this obstruction type is shown in <xref ref-type="fig" rid="F8">Figure 8</xref>.</p>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Average queuing length results with standard deviation of four different in-intersection obstruction scenarios (20 runs per scenario).</p></caption>
<graphic xlink:href="frsc-03-670454-g0008.tif"/>
</fig>
<p>Comparing FCFS-LC and RIMMCA, the average queuing length of FCFS is better (smaller) than RIMMCA. This is because the required space of the obstructed-free paths are overlapping with other normal paths causing some DAs to wait longer, which results in increase of overall <italic>waiting time</italic>. However, even though RIMMCA has to sacrifice some efficiencies in the queuing length and delays, RIMMCA still outperforms both TL-LC and FCFS-LC in terms of the flow rate. Specifically, with the presence of in-intersection obstacles, RIMMCA can offer the flow rate up to &#x02248; 94% of the optimal point, while the TF-LC and FCFS-LC offer only &#x02248; 90% of the optimal point. The overall comparison between three intersection controls can be seen in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>A performance comparison table between three intersection controls in different experiment scenarios.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th/>
<th valign="top" align="center" style="border-bottom: thin solid #000000;" colspan="3"><bold>Flow rate (veh/h)</bold></th>
<th valign="top" align="center" style="border-bottom: thin solid #000000;" colspan="3"><bold>Queuing length (m)</bold></th>
<th valign="top" align="center" style="border-bottom: thin solid #000000;" colspan="3"><bold>Delays (s/veh)</bold></th>
</tr>
<tr>
<th/>
<th valign="top" align="center"><bold>TL</bold></th>
<th valign="top" align="center"><bold>FCFS</bold></th>
<th valign="top" align="center"><bold>RIMMCA</bold></th>
<th valign="top" align="center"><bold>TL</bold></th>
<th valign="top" align="center"><bold>FCFS</bold></th>
<th valign="top" align="center"><bold>RIMMCA</bold></th>
<th valign="top" align="center"><bold>TL</bold></th>
<th valign="top" align="center"><bold>FCFS</bold></th>
<th valign="top" align="center"><bold>RIMMCA</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="center">Optimal</td>
<td valign="top" align="left">1569.8</td>
<td valign="top" align="left">2402</td>
<td valign="top" align="left">2403</td>
<td valign="top" align="left">33.28</td>
<td valign="top" align="left">0.13</td>
<td valign="top" align="left">0.15</td>
<td valign="top" align="left">93.43</td>
<td valign="top" align="left">0.01</td>
<td valign="top" align="left">0.01</td>
</tr>
<tr>
<td valign="top" align="center">In-lane</td>
<td valign="top" align="left">1023.75</td>
<td valign="top" align="left">2371.75</td>
<td valign="top" align="left">2380</td>
<td valign="top" align="left">44.85</td>
<td valign="top" align="left">11.2</td>
<td valign="top" align="left">0.25</td>
<td valign="top" align="left">162.01</td>
<td valign="top" align="left">1.61</td>
<td valign="top" align="left">0.03</td>
</tr>
<tr>
<td valign="top" align="center">In-intersection</td>
<td valign="top" align="left">1416</td>
<td valign="top" align="left">2170</td>
<td valign="top" align="left">2260</td>
<td valign="top" align="left">42</td>
<td valign="top" align="left">1.3</td>
<td valign="top" align="left">2.73</td>
<td valign="top" align="left">118.82</td>
<td valign="top" align="left">0.6</td>
<td valign="top" align="left">4.7</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>To conclude, the experiments of in-lane and in-intersection obstructions show that RIMMCA is more robust to obstructions in terms of flow rate compared to TL and FCFS, whether obstructions are either in-lane or in-intersection.</p>
</sec>
</sec>
</sec>
<sec id="s6">
<title>6. Conclusion and Future work</title>
<p>Many intersection management approaches only consider well behaved environments, and this means they are unable to cope with unexpected situations such as obstructions. To this end, we presented a resilient intersection management method with multi-vehicle collision avoidance. Our model offers decentralised computation of multiple vehicles to cross the intersection while avoiding collisions with obstacles. Without obstructions, our decentralised approach is shown to achieve a similar performance to FCFS. However, with obstructions, our realistic empirical study shows that our model is more robust to obstructions interfering with some crossing paths and maintain throughput or flow rate up to 94&#x02013;99% of the optimal performance without obstructions, while traffic lights and FCFS can maintain only up to 65&#x02013;90% of the optimal performance without obstructions.</p>
<p>Future work will investigate how robust RIMMCA is to communication drop-outs. Also, we plan to consider scenarios with dynamic obstacles and having multiple obstacles at the same time.</p>
</sec>
<sec sec-type="data-availability-statement" id="s7">
<title>Data Availability Statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material, further inquiries can be directed to the corresponding author/s.</p>
</sec>
<sec id="s8">
<title>Author Contributions</title>
<p>PW wrote the first draft of the paper. All authors contributed to conception and design of the study, paper revision, read, and approved the submitted version.</p>
</sec>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of Interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
</body>
<back>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Au</surname> <given-names>T.-C.</given-names></name> <name><surname>Zhang</surname> <given-names>S.</given-names></name> <name><surname>Stone</surname> <given-names>P.</given-names></name></person-group> (<year>2015</year>). <article-title>Autonomous intersection management for semi-autonomous vehicles</article-title>, in <source>Handbook of Transportation</source>, ed <person-group person-group-type="editor"><name><surname>Teodorovi&#x00107;</surname> <given-names>D.</given-names></name></person-group> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>Routledge</publisher-name>), <fpage>88</fpage>&#x02013;<lpage>104</lpage>.</citation></ref>
<ref id="B2">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Carlino</surname> <given-names>D.</given-names></name> <name><surname>Boyles</surname> <given-names>S. D.</given-names></name> <name><surname>Stone</surname> <given-names>P.</given-names></name></person-group> (<year>2013</year>). <article-title>Auction-based autonomous intersection management</article-title>, in <source>16th International IEEE Conference on Intelligent Transportation Systems (ITSC 2013)</source> (<publisher-loc>The Hague</publisher-loc>), <fpage>529</fpage>&#x02013;<lpage>534</lpage>. <pub-id pub-id-type="doi">10.1109/ITSC.2013.6728285</pub-id></citation></ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dresner</surname> <given-names>K.</given-names></name> <name><surname>Stone</surname> <given-names>P.</given-names></name></person-group> (<year>2008</year>). <article-title>A multiagent approach to autonomous intersection management</article-title>. <source>J. Artif. Intell. Res</source>. <volume>31</volume>, <fpage>591</fpage>&#x02013;<lpage>656</lpage>. <pub-id pub-id-type="doi">10.1613/jair.2502</pub-id></citation></ref>
<ref id="B4">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Erdmann</surname> <given-names>J.</given-names></name></person-group> (<year>2015</year>). <article-title>Sumo&#x00027;s lane-changing model</article-title>, in <source>Modeling Mobility with Open Data</source>, eds <person-group person-group-type="editor"><name><surname>Behrisch</surname> <given-names>M.</given-names></name> <name><surname>Weber</surname> <given-names>M.</given-names></name></person-group> (<publisher-loc>Berlin</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>105</fpage>&#x02013;<lpage>123</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-15024-6_77</pub-id></citation></ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gipps</surname> <given-names>P. G.</given-names></name></person-group> (<year>1986</year>). <article-title>A model for the structure of lane-changing decisions</article-title>. <source>Transport. Res. Part B Methodol</source>. <volume>20</volume>, <fpage>403</fpage>&#x02013;<lpage>414</lpage>. <pub-id pub-id-type="doi">10.1016/0191-2615(86)90012-3</pub-id></citation></ref>
<ref id="B6">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Isele</surname> <given-names>D.</given-names></name> <name><surname>Rahimi</surname> <given-names>R.</given-names></name> <name><surname>Cosgun</surname> <given-names>A.</given-names></name> <name><surname>Subramanian</surname> <given-names>K.</given-names></name> <name><surname>Fujimura</surname> <given-names>K.</given-names></name></person-group> (<year>2018</year>). <article-title>Navigating occluded intersections with autonomous vehicles using deep reinforcement learning</article-title>, in <source>2018 IEEE International Conference on Robotics and Automation (ICRA)</source> (<publisher-loc>Brisbane, QLD</publisher-loc>), <fpage>2034</fpage>&#x02013;<lpage>2039</lpage>. <pub-id pub-id-type="doi">10.1109/ICRA.2018.8461233</pub-id></citation></ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kim</surname> <given-names>Y.</given-names></name> <name><surname>Kwon</surname> <given-names>S.</given-names></name></person-group> (<year>2015</year>). <article-title>A heuristic obstacle avoidance algorithm using vanishing point and obstacle angle</article-title>. <source>Intell. Service Robot</source>. <volume>8</volume>, <fpage>175</fpage>&#x02013;<lpage>183</lpage>. <pub-id pub-id-type="doi">10.1007/s11370-015-0171-4</pub-id></citation></ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><collab>KPMG</collab></person-group> (<year>2015</year>). <source>Connected and Autonomous Vehicles the UK Economic Opportunity</source>. Technical report, KPMG.</citation></ref>
<ref id="B9">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Krajzewicz</surname> <given-names>D.</given-names></name> <name><surname>Hertkorn</surname> <given-names>G.</given-names></name> <name><surname>R&#x000F6;ssel</surname> <given-names>C.</given-names></name> <name><surname>Wagner</surname> <given-names>P.</given-names></name></person-group> (<year>2002</year>). <article-title>Sumo (simulation Q17 of urban mobility)-an open-source traffic simulation</article-title>, in <source>Proceedings of the 4th middle East Symposium on Simulation and Modelling (MESM20002)</source> (<publisher-loc>Sharjah</publisher-loc>), <fpage>183</fpage>&#x02013;<lpage>187</lpage>.</citation></ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Krau&#x000DF;</surname> <given-names>S.</given-names></name> <name><surname>Wagner</surname> <given-names>P.</given-names></name> <name><surname>Gawron</surname> <given-names>C.</given-names></name></person-group> (<year>1997</year>). <article-title>Metastable states in a microscopic model of traffic flow</article-title>. <source>Phys. Rev. E</source> <volume>55</volume>:<fpage>5597</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevE.55.5597</pub-id></citation></ref>
<ref id="B11">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lin</surname> <given-names>P.</given-names></name> <name><surname>Liu</surname> <given-names>J.</given-names></name> <name><surname>Jin</surname> <given-names>P. J.</given-names></name> <name><surname>Ran</surname> <given-names>B.</given-names></name></person-group> (<year>2017</year>). <article-title>Autonomous vehicle-intersection coordination method in a connected vehicle environment</article-title>. <source>IEEE Intell. Transp. Syst. Mag</source>. <volume>9</volume>, <fpage>37</fpage>&#x02013;<lpage>47</lpage>. <pub-id pub-id-type="doi">10.1109/MITS.2017.2743167</pub-id></citation></ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>K.</given-names></name> <name><surname>Chan</surname> <given-names>E.</given-names></name> <name><surname>Lee</surname> <given-names>V.</given-names></name> <name><surname>Kapitanova</surname> <given-names>K.</given-names></name> <name><surname>Son</surname> <given-names>S. H.</given-names></name></person-group> (<year>2013</year>). <article-title>Design and evaluation of token-based reservation for a roadway system</article-title>. <source>Transp. Res. Part C</source> <volume>26</volume>, <fpage>184</fpage>&#x02013;<lpage>202</lpage>. <pub-id pub-id-type="doi">10.1016/j.trc.2012.09.001</pub-id></citation></ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>May</surname> <given-names>A. D.</given-names></name></person-group> (<year>2013</year>). <article-title>Urban transport and sustainability: the key challenges</article-title>. <source>Int. J. Sustain. Transp</source>. <volume>7</volume>, <fpage>170</fpage>&#x02013;<lpage>185</lpage>. <pub-id pub-id-type="doi">10.1080/15568318.2013.710136</pub-id></citation></ref>
<ref id="B14">
<citation citation-type="journal"><person-group person-group-type="author"><collab>New York State Department of Transportation</collab></person-group> (<year>2016</year>). <source>Traffic Data Viewer</source>. New York State Department of Transportation.</citation></ref>
<ref id="B15">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Pudics</surname> <given-names>G.</given-names></name> <name><surname>Szab&#x000F3;-Resch</surname> <given-names>M. Z.</given-names></name> <name><surname>V&#x000E1;mossy</surname> <given-names>Z.</given-names></name></person-group> (<year>2015</year>). <article-title>Safe robot navigation using an omnidirectional camera</article-title>, in <source>2015 16th IEEE International Symposium on Computational Intelligence and Informatics (CINTI)</source> (<publisher-loc>Budapest</publisher-loc>), <fpage>227</fpage>&#x02013;<lpage>231</lpage>. <pub-id pub-id-type="doi">10.1109/CINTI.2015.7382928</pub-id></citation></ref>
<ref id="B16">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Rebai</surname> <given-names>K.</given-names></name> <name><surname>Benabderrahmane</surname> <given-names>A.</given-names></name> <name><surname>Azouaoui</surname> <given-names>O.</given-names></name> <name><surname>Ouadah</surname> <given-names>N.</given-names></name></person-group> (<year>2009</year>). <article-title>Moving obstacles detection and tracking with laser range finder</article-title>, in <source>2009 International Conference on Advanced Robotics</source> (<publisher-loc>Munich</publisher-loc>), <fpage>1</fpage>&#x02013;<lpage>6</lpage>.</citation></ref>
<ref id="B17">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Savkin</surname> <given-names>A. V.</given-names></name> <name><surname>Li</surname> <given-names>H.</given-names></name></person-group> (<year>2018</year>). <article-title>A safe area search and map building algorithm for a wheeled mobile robot in complex unknown cluttered environments</article-title>. <source>Robotica</source> <volume>36</volume>, <fpage>96</fpage>&#x02013;<lpage>118</lpage>. <pub-id pub-id-type="doi">10.1017/S0263574717000194</pub-id></citation></ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Savkin</surname> <given-names>A. V.</given-names></name> <name><surname>Wang</surname> <given-names>C.</given-names></name></person-group> (<year>2014</year>). <article-title>Seeking a path through the crowd: Robot navigation in unknown dynamic environments with moving obstacles based on an integrated environment representation</article-title>. <source>Robot. Auton. Syst</source>. <volume>62</volume>, <fpage>1568</fpage>&#x02013;<lpage>1580</lpage>. <pub-id pub-id-type="doi">10.1016/j.robot.2014.05.006</pub-id></citation></ref>
<ref id="B19">
<citation citation-type="web"><person-group person-group-type="author"><name><surname>Schneider</surname> <given-names>B.</given-names></name></person-group> (<year>2018</year>). <source>Traffic&#x00027;s Mind-Boggling Economic Toll. Bloomberg CityLab</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://www.bloomberg.com/news/articles/2018-02-07/new-study-of-global-traffic-reveals-that-traffic-is-bad">https://www.bloomberg.com/news/articles/2018-02-07/new-study-of-global-traffic-reveals-that-traffic-is-bad</ext-link> (accessed November 2019).</citation></ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><collab>SMMT</collab></person-group> (<year>2017</year>). <source>Connected and Autonomous Vehicles</source>. Technical report, SMMT.</citation></ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Vasirani</surname> <given-names>M.</given-names></name> <name><surname>Ossowski</surname> <given-names>S.</given-names></name></person-group> (<year>2009</year>). <article-title>A market-inspired approach to reservationbased urban road traffic management</article-title>, in <source>Proceedings of the 8th International Conference on Autonomous Agents and Multiagent Systems</source>, Vol. 1 (Budapest), <fpage>617</fpage>&#x02013;<lpage>624</lpage>.</citation></ref>
<ref id="B22">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Vu</surname> <given-names>H.</given-names></name> <name><surname>Aknine</surname> <given-names>S.</given-names></name> <name><surname>Ramchurn</surname> <given-names>S. D.</given-names></name></person-group> (<year>2018</year>). <article-title>A decentralised approach to intersection traffic management</article-title>, in <source>Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence, IJCAI-18</source> (<publisher-loc>Stockholm</publisher-loc>), <fpage>527</fpage>&#x02013;<lpage>533</lpage>. <pub-id pub-id-type="doi">10.24963/ijcai.2018/73</pub-id></citation></ref>
<ref id="B23">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Wegener</surname> <given-names>A.</given-names></name> <name><surname>Pi&#x000F3;rkowski</surname> <given-names>M.</given-names></name> <name><surname>Raya</surname> <given-names>M.</given-names></name> <name><surname>Hellbr&#x000FC;ck</surname> <given-names>H.</given-names></name> <name><surname>Fischer</surname> <given-names>S.</given-names></name> <name><surname>Hubaux</surname> <given-names>J.-P.</given-names></name></person-group> (<year>2008</year>). <article-title>Traci: an interface for coupling road traffic and network simulators</article-title>, in <source>Proceedings of the 11th Communications and Networking Simulation Symposium</source> (<publisher-loc>Ottawa, ON</publisher-loc>), <fpage>155</fpage>&#x02013;<lpage>163</lpage>. <pub-id pub-id-type="doi">10.1145/1400713.1400740</pub-id></citation></ref>
<ref id="B24">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zohdy</surname> <given-names>I. H.</given-names></name> <name><surname>Rakha</surname> <given-names>H. A.</given-names></name></person-group> (<year>2016</year>). <article-title>Intersection management via vehicle connectivity: the intersection cooperative adaptive cruise control system concept</article-title>. <source>J. Intell. Transp. Syst</source>. <volume>20</volume>, <fpage>17</fpage>&#x02013;<lpage>32</lpage>. <pub-id pub-id-type="doi">10.1080/15472450.2014.889918</pub-id></citation></ref>
</ref-list>
<fn-group>
<fn id="fn0001"><p><sup>1</sup>A CAV is a vehicle that is capable of driving itself without human interference and wirelessly communicate and exchange information with other devices outside the vehicle and external networks (SMMT, <xref ref-type="bibr" rid="B20">2017</xref>).</p></fn>
<fn id="fn0002"><p><sup>2</sup>In this paper, collision refers to the collision between obstacle and vehicle, not between vehicles themselves.</p></fn>
<fn id="fn0003"><p><sup>3</sup>The IMA typically sits within the infrastructure at the intersection and communicates with nearby vehicles using typical RF communications.</p></fn>
<fn id="fn0004"><p><sup>4</sup>The size of <italic>C</italic><sub><italic>safe</italic></sub>(<italic>O</italic>) is adaptable to different vehicles&#x00027; width.</p></fn>
<fn id="fn0005"><p><sup>5</sup>The red traffic lights are required to aid the DAs waiting, indeed, according to the calculated <italic>waiting time</italic>.</p></fn>
<fn id="fn0006"><p><sup>6</sup>This enables more close distance between vehicles allowing FCFS and RIMMCA to achieve their best performance.</p></fn>
</fn-group>
</back>
</article>