Introduction
Multi-agent pathfinding (MAPF) is the problem of finding collision-free paths for a team of agents from their start to goal in a given graph. MAPF has long been a classic challenge in the AI field [1], and many powerful approaches to solve it have been proposed in recent years [2], [3]. In this work, we addresss a challenging class of MAPF problems 1) for hundreds of agents 2) moving on a 2D roadmap that approximates a 2D environment in a non-grid fashion, 3) with continuous time such that the agents can start or stop moving at any time. Planning collision-free paths for such a large number of agents is critical for practical applications including large-scale warehouses [4], [5] and swarm robotics [6], [7]. On the other hand, planning on non-grid roadmaps with continuous time is known to lead to better solutions [8].
Nevertheless, solving the three challenges above all at the same time, namely scalable MAPF on 2D roadmaps with continuous time, is still technically intractable. Unlike classical MAPF on grid maps (e.g., [9], [10]) where agents can collide with each other only in the same vertices or edges, non-grid 2D roadmaps involve collisions across different vertices and edges that are in close proximity [11]. This makes collision checks computationally more intensive, and having to take a continuous time setup into account makes it further complicated as we need to check where and when collisions can happen. The most relevant approach in this regard is CCBS [8], which extends conflict-based search (CBS) [10] to work on 2D roadmaps and the continuous time setup by using Safe-Interval Path Planning (SIPP) [12]. However, this approach is not scalable due to the inherent limitation of CBS that requires computational time increasing very rapidly with the number of agents.
A promising direction to enable MAPF on a large scale is to adopt prioritized planning [13], a fast non-complete MAPF algorithm that determines a set of agent paths one by one in sequence. We are interested in extending the prioritized planning to work with a continuous time setup, particularly by performing SIPP to find each agent's path. This is significantly challenging as SIPP requires all possible ‘safe’ (i.e., collision-free) intervals to be enumerated for each vertex and edge for each agent, which is computationally too expensive. A recent work has proposed pre-computing conflicts, pairs among vertices and edges that can cause collisions between agents, so that planning can be done without expensive collision checks [14]. This idea has been applicable only for a discrete-time setup and motivates our key question: “how can we enable such conflict-annotated roadmaps for a continuous-time setup?”
To this end, we propose a novel concept named Continuous-Time Conflict (CTC), the conflicts associated with time intervals that cause collisions among agents along a continuous timeline (Fig. 1(a)). CTCs can be precomputed efficiently using geometric neighbor search and sweeping algorithms, and can be used to annotate 2D roadmaps with where and when collisions can happen. Then we present a concrete algorithm called Prioritized Safe-Interval Path Planning with Continuous-Time Conflicts (PSIPP/CTC), which leverages the annotated roadmaps to efficiently enumerate all possible safe intervals and find a collision-free path for each agent via SIPP (Fig. 1(b)). Note that the annotation with CTCs is required only once for each roadmap and reusable for multiple problem instances as long as the roadmap remains unchanged.
Proposed approach. (a) We annotate a given 2D roadmap with Continuos-Time Conflicts (CTCs) that describe pairs among vertices and edges associated with temporal intervals within which collisions between agents can happen. (b) The annotated roadmap is then used by Prioritized Safe-Interval Path Planning with CTCs (PSIPP/CTC) that efficiently performs SIPP using CTCs to find collision-free paths for each agent during prioritized planning.
We evaluate the effectiveness of the proposed PSIPP/CTC on a variety of challenging MAPF problems. Our extensive experimental results demonstrate that, thanks to the annotation with CTCs, our approach is several orders-of-magnitude faster than CCBS [8] as well as a straight-forward extension of prioritized planning to our problem setup without CTCs, while maintaining a high success rate and acceptable solution quality. Under certain conditions, the proposed approach can even allow us to find collision-free paths for thousands of agents in just 30 seconds. As a proof-of-concept, we also confirmed the applicability of our method on a wheeled robot simulation with differential drive kinematics, which is widely adopted to real-world robots in indoor environments. We show that, without essential changes, our approach can produce feasible solutions for hundreds of robots while taking into account their acceleration, deceleration, and rotation.
Related Work
Multi-agent pathfinding (MAPF) has a long history in the AI and robotics fields [1]. Popular approaches include, but are not limited to, Conflict-Based Search (CBS) [10], A*-based algorithms (e.g., M* [15]), Increasing Cost Tree Search (ICTS) [16], and prioritized planning [13] (e.g., HCA* [9]). However, most of these classical works have addressed relatively simplified problems where the edges of a graph, typically a grid map given a priori, have a uniform cost and collisions happen only when agents are in the same vertices or edges. This limits their application to scenarios where such assumptions hold, such as planning in simple warehouse [5].
On the other hand, planning on a non-grid 2D roadmap has been a research topic of interest mainly for single-agent cases with the motivation of how to better approximate continuous state-spaces on the plane. To this end, diverse types of space representation have been proposed, i.e., trapezoidal map, visibility graph [17], and pathnet graph [18]. Constrained Delaunay Triangulation (CDT) [19] can produce roadmaps constrained with the obstacles while reducing the size of the adjacency graph for searching paths to be much smaller than that of grid-based representations. Aside from these geometric representations, Probabilistic Roadmaps (PRM) [20] that iteratively samples state points from continuous spaces is widely used for path planning in high-dimensional spaces [21]. In addition to these works for single-agent planning, a few recent studies have explored how to construct effective roadmaps for MAPF with discrete times [22]–[24], which is orthogonal to our focus on how planning can be done efficiently on a given roadmap.
Studies on MAPF for non-grid roadmap graphs and continuous time setups have been relatively limited. Some existing work has addressed this challenging problem by extending CBS [8], [25]–[27] and ICTS [11]. A recent work particularly relevant to our approach is CCBS [25], which leverages SIPP to plan on non-grid roadmaps with continuous time. However, all of these extensions require computational time that rapidly increases with the number of agents. Other work incorporated SIPP with prioritized planning [28], [29] to improve the scalability for the continuous-time setup, which nevertheless only assumed planning on a gridmap. Another apporach has addressed the scalability issue for non-grid graphs by enumerating all possible collisions before the planning [14], but this has only worked for the case of discrete time. In summary, there are currently no scalable approaches for MAPF with continuous time on 2D roadmaps.
Preliminaries
A. MAPF With Continuous Time on 2D Roadmaps
Our focus in this work is a problem of MAPF where agents move with continuous time on 2D roadmaps, i.e., an arbitrary graph consisting of vertices associated with 2D points. Such roadmaps can be constructed by, for example, running roadmap construction methods such as PRM [20] or CDT [19] on 2D environments. Following [11], [25], [27], we also assume that agents have a body modeled by a circular shape with fixed and identical radii, leave and arrive at vertices at any time in a continuous timeline, move along edges at the same constant unit speed, and stay at their own goal vertices once arrived. Two agents are regarded as being collided if their bodies are physically overlapped. Formally, let us represent a problem instance by a tuple
On a given roadmap, agents take two types of actions: move along edges and wait on vertices. We represent a moving action along edge
The solution to an MAPF problem with
B. Solving MAPF Problems
We build our MAPF algorithm on top of the prioritized planning technique [13], which is non-optimal and incomplete but efficient and scalable to the number of agents. In the prioritized planning, agents are first assigned with a unique ‘priority’ determined in some way. Then, collision-free paths are searched for each agent sequentially on the basis of the assigned priority, where the paths of agents with higher priorities are regarded as dynamic obstacles for the remaining agents with lower priorities.
Any pathfinding algorithm can be used to determine each agent path, as long as it has the ability to handle dynamic objects that move, in our case, with continuous time. In this work, we adopt a popular approach called Safe Interval Path Planning (SIPP) [12]. In SIPP, roadmaps are converted into a safe interval graph, whose vertices (resp. edges) are a safe interval, i.e., a time interval within which agents can stay at a certain vertex (resp. edge) in the original roadmap without colliding with moving obstacles. Collision-free paths are then searched on the safe-interval graph such that agents are always in the safe intervals. The output of SIPP is a sequence of move or wait actions introduced in Section III-A.
In principle, constructing safe interval graphs requires all possible collisions with all moving obstacles (agents in our case) to be enumerated. Naively doing so results in the computational complexity of
Continuous-Time Conflict Annotations
The key novelty of this work is the concept of Continuous-Time Conflicts (CTCs), i.e., pairs among vertices and edges associated with time intervals causing collisions between agents in a continuous timeline. Roadmaps annotated with CTCs can then be used to efficiently construct and update a safe interval graph used by SIPP to find individual agent paths in the prioritized planning. In this section, we first formalize collisions in Section IV-A and CTCs in Section IV-B. Then, Section IV-C presents our technique to annotate roadmaps with CTCs using geometric neighbor-search and sweeping algorithms.
A. Collisions in Continuous Time
We consider two types of collisions between agents: vertex-edge collisions (VEC) and edge-edge collisions (EEC). They are validated by the following predicates:
indicating if an agent staying at a vertex\text{VEC}(v, e, t_{1}, t_{2})\in \lbrace \text{True}, \text{False}\rbrace at timev\in \mathcal {V} will collide with another agent starting to move along an edget_{1} \in \mathbb {R} at timee \in \mathcal {E} , andt_{2} \in \mathbb {R} checking if an agent starting moving along the edge\text{EEC}(e_{1}, e_{2}, t_{1}, t_{2}) \in \lbrace \text{True}, \text{False}\rbrace at timee_{1}\in \mathcal {E} will collide with another agent moving along the edget_{1}\in \mathbb {R} from timee_{2}\in \mathcal {E} .t_{2}\in \mathbb {R}


B. Continuous-Time Conflicts (CTCs)
We shall call vertex
Crucially, we can derive the following relationships between
\begin{align*}
\text{VEC}(v, e, t_{1}, t_{2})& \\
\iff \exists I \in \text{Int}: &(v, e, I) \in \mathcal {C}_{\text{VEC}} \wedge t_{2}-t_{1} \in I,\tag{5}
\\
\text{EEC}(e_{1}, e_{2}, t_{1}, t_{2})& \\
\iff \exists I \in \text{Int}: &(e_{1}, e_{2}, I) \in \mathcal {C}_{\text{EEC}} \wedge t_{2}-t_{1} \in I. \tag{6}
\end{align*}
C. Annotating Roadmaps With CTCs
While annotating roadmaps with CTCs would make it efficient to search for a collision-free path for each agent in prioritized planning, naively doing such annotation just by checking all pairs of vertices and edges, as done in [14], is impractical for large graphs due to its time complexity of
The overall pseudocode for the proposed annotation algorithm is summarized in Algorithm 1, which involves the enumeration of
Algorithm 1: Annotate Roadmaps with CTCs.
function AnnotateRoadmapsWithCTCs(
for all
for all
end for
for all
end for
end for
for all
for all
end for
end for
for all
end for
for all
for all
end for
end for
for all
end for
return
end function
1) Enumerating \mathcal {C}_\text{VEC}
Recall that we denote the agent size by
2) Enumerating \mathcal {C}_\text{EEC}
As for pairs of conflicting edges, they should satisfy the condition that 1) one of the endpoints of one of the edges is within
Prioritized SIPP With CTCs
PSIPP with Continuous-Time Conflicts.
function PSIPP/CTC(
Sort
for all
end for
for all
end for
for all
if
return
end if
for all
for all
end for
end for
for all
for all
end for
for all
end for
end for
end for
return
end function
Algorithm 2 presents the proposed Prioritized Safe-Interval Path Planning with Continuous-Time Conflicts (PSIPP/CTC). Here we introduce the individual safe intervals for every vertex and edge, i.e.,
Specifically, let us define the following functions that return sets of vertices and edges with intervals within which they conflict with a query vertex or edge:
\begin{align*}
&\mathcal {V}_\text{VEC}(e):=\lbrace (v, \tau _{0}, \tau _{1})\mid v \in \mathcal {V}, I \in \text{Int}, (v, e, I)\in \mathcal {C}_\text{VEC}\rbrace,\\
&\mathcal {E}_\text{VEC}(v):=\lbrace (e, \tau _{0}, \tau _{1})\mid e \in \mathcal {E}, I \in \text{Int}, (v, e, I)\in \mathcal {C}_\text{VEC}\rbrace,\\
&\mathcal {E}_\text{EEC}(e):=\lbrace (e,^{\prime } \tau _{0}, \tau _{1})\mid e^{\prime } \in \mathcal {E}, I \in \text{Int}, (e, e,^{\prime } I)\in \mathcal {C}_\text{EEC}\rbrace,
\end{align*}
getSuccessors for SIPP.
function getSuccessors(
for all
for all
for all
end for
end for
end for
return
end function
In addition, we extend the original SIPP by using Algorithm 3 to obtain neighbor nodes in A* search. Here, a pair of a vertex
Evaluation
In this section, we first evaluate the three key aspects of the proposed PSIPP/CTC: (1) overall performance comparisons with several different roadmap generation methods as well as the density of the generated roadmaps; (2) applicability for various environments with different obstacle layouts; and (3) scalability for a large number of agents. Further, we demonstrate using a physical simulation that, without any essential change of our algorithm, our method can easily be adopted to wheeled robots with differential drive kinematics.
A. Problem Setup
a) Environments
Figure 2 shows the environments used in the experiments: den (
b) Roadmaps
We constructed roadmaps by connecting vertices sampled from free space bidirectionally using a variant of PRM [20] called k-sPRM [34] with
B. Experimental Setup
a) Methods
We compare PSIPP/CTC with CCBS [25] as it is the most relevant approach to our problem setting with continuous-time and 2D roadmaps. We used the official implementation of CCBS available online3. We also evaluate a degraded version of our approach referred to as PSIPP, which computes
b) Evaluation scheme
Agent radius
C. Result 1: Performance Comparisons With Baselines
We first investigated the performance of each algorithm with different roadmaps with different construction methods (PRM and CDT) and densities with three different
Success rate for Result 1 and 2. Horizontal axis: number of agents; vertical axis: success rate.
The upper half of Figure 4 shows the semi-log scatter plots of runtime in milliseconds with respect to the numbers of agents. PSIPP/CTC was several orders-of-magnitude faster than CCBS and PSIPP, thanks to the efficiency of prioritized planning combined with the CTCs annotated already before the planning (see Section VI-F for the runtime required for the roadmap annotation.) We also note that the runtimes of PSIPP/CTC and PSIPP have less variance compared to those of CCBS. This is because these approaches are built on top of the prioritized planning that requires all safe intervals to be enumerated, whereas CCBS is based on CBS that requires different runtimes depending on how many collisions are detected during planning. Nevertheless, we found that the runtime of PSIPP/CTC had higher variance for very-dense PRM, possibly due to the high non-uniformity of the local density of roadmaps. Figure 5 shows the cumulative distributions for the ratio of SoCs between PSIPP/CTC and CCBS. More rapid growth of percentile means that our method provided effective solutions for more problem instances. We can see that 1) denser roadmaps led to better ratios, and 2) the use of k-sPRM with
Scatter plots of runtime for Result 1 and 2. Horizontal axis: number of agents; vertical axis: runtime (ms).
Cumulative distributions for the ratio of SoCs. Horizontal axis: ratio of SoC; vertical axis: percentile.
D. Result 2: Effect of Environments
Next, we evaluated how the performances of our approach and the baselines vary for diverse environments with different obstacle layouts. We used CDT roadmaps with
Figure 5 shows the cumulative distributions for the ratios of SoCs. PSIPP/CTC performed the best in the maze environment, while demonstrating rather limited performances in room. We speculate that path costs become high in room when the order of agents (i.e., priority given in a FIFO fashion) to go through the narrow parts is not optimal.
E. Result 3: Scalability to the Number of Agents
We also explored the scalability of the proposed method to the number of agents. Specifically, we constructed very dense roadmaps with
F. Runtime for Roadmap Annotation
Figure 6 reports the average runtime required for annotating roadmaps with CTCs in each experiment. As long as the roadmaps were not extremely dense, the required time was acceptable (less than 1 s). Even for the most dense roadmap with
G. Evaluation on the Wheeled Robot Simulation
To further validate the applicability of the proposed approach for practical scenarios, we investigate if the solutions are executable by wheeled robots via a simulation. Our simulator is built using PyBullet [36], and simulates a team of wheeled robots moving with the differential drive kinematics [37] that is one of the most popular mechanisms for many real robots working in indoor environments [38].
The proposed approach can allow for the gaps arising from rotations, acceleration, and deceleration of differential drive systems with a slight modification. Specifically, we (a) constrain robots to wait at the current vertex within a specified time depending on their rotation angles and (b) approximate their trajectories with acceleration and deceleration by a ramp function consisting of “awaiting” and “moving at constant speed” actions. As a result, we confirmed that a team of 300 simulated robots successfully followed the solution paths while avoiding collisions. Further details are available in the supplementary video. Note that it would be possible to further optimize robot trajectories via trajectory optimization (e.g., [39]), which we leave for future work.
H. Limitations and Possible Extensions
Finally, we discuss some limitations and possible extensions of the proposed approach. The time to annotate roadmaps with CTCs becomes non-negligible when the number of agents is smaller or the number of edges in a roadmap becomes larger (e.g., the fully connected grids considered in [28]), thus limiting its effectiveness. Moreover, as it is built on top of prioritized planning, the proposed PSIPP/CTC is non-optimal and non-complete and sometimes results in inefficient solutions or planning failures especially when the environment involves narrow regions. Possible extensions to mitigate this issue include an any-time approach [40], a re-ordering strategy [41], and priority-based search [42]. Adopting the revised prioritized planning [43] would further enhance the proposed approach with a guarantee on completeness under some assumptions as in [43].
Another interesting direction is an extension of the proposed approach to higher-dimensional roadmaps, non-straight edges, or agents with diverse shapes and kinematics. Efficient techniques to annotate roadmaps with CTCs for such challenging scenarios remain an open question.
Conclusion
In this work, we proposed a scalable approach to MAPF with continuous time on 2D roadmaps. The key technical novelty is the concept of CTCs that can describe pairs among vertices and edges associated with continuous time intervals within which agents can collide. By annotating the roadmaps with the CTCs precomputed before the planning, our approach can enable the prioritized planning with SIPP to find collision-free paths along a continuous timeline for a large number of agents. The effectiveness of the proposed approach was confirmed with an extensive evaluation including a wheeled robot simulation. We believe that our work opens new avenues of applications of MAPF, including large-scale warehouse management and factory automation as well as swarm robotics.