Multi-Robot Path Planning Using Medial-Axis-Based Pebble-Graph Embedding
Abstract
We present a centralized algorithm for labeled, disk-shaped Multi-Robot Path Planning (MPP) in a continuous planar workspace with polygonal boundaries. Our method automatically transform the continuous problem into a discrete, graph-based variant termed the pebble motion problem, which can be solved efficiently. To construct the underlying pebble graph, we identify inscribed circles in the workspace via a medial axis transform and organize robots into layers within each inscribed circle. We show that our layered pebble-graph enables collision-free motions, allowing all graph-restricted MPP instances to be feasible. MPP instances with continuous start and goal positions can then be solved via local navigations that route robots from and to graph vertices. We tested our method on several environments with high robot-packing densities (up to of the workspace). For environments with narrow passages, such density violates the well-separated assumptions made by state-of-the-art MPP planners, while our method achieves an average success rate of .
I Introduction
We propose a centralized approach for Multi-Robot Path Planning (MPP) for planar workspaces with polygonal obstacles. This problem has a wide range of applications such as warehouse management [1], computer games [2], and crowd modeling [3], which require the coordination of a large swarm of robots within a limited computational budget. MPP plans must be computed within a couple of milliseconds for an interactive game and an automatic warehouse needs to answer thousands of queries on a daily basis. Unfortunately, solving general MPP problems is NP-hard [4, 5, 6] and practical algorithms based on sampled roadmaps [7] and conflict-based search [8] quickly become intractable for more than a few robots. Follow-up research relies on additional assumptions on environment shapes and/or robot arrangements to attain practical performance.
I-A Related Work
We review the three assumptions most relevant to our work. To begin with, graph pebbling [9, 10, 11] lays the theoretical foundation of discrete structure in MPP problems. It assumes that robots are restricted to vertices and move along the edges of a graph. Prior work established fast algorithms to verify and construct feasible solutions for sub-classes of pebble-graphs [9, 11]. Certain regular grids are endowed with complete results [12, 13, 8, 14] and near-optimal solutions [15, 16] although exact optimality is intractable to attain [17]. However, building a pebble-graphs for workspaces with complex boundaries is still challenging, because regular grids cannot cover narrow passages and sharp features as illustrated in Figure 1 (b).
Some methods [18, 19, 20, 21, 22, 23] use random sampling to build discrete graphs that capture the structure of the continuous problem. Some of these methods have completeness guarantees, that is, if a graph leading to feasible solutions exists, they can ultimately build one. However, to the best of our knowledge, those approaches do not scale well with the number of robots.
Lastly, the well-separated assumption [24, 25, 26, 27] partially addresses the shortcomings of the above methods. By assuming robots (as well as their goal positions) are sufficiently separated from each other and the obstacles, each robot can find paths to their goal regardless of the order of movements of other robots. Unlike graph-pebbling, the well-separated assumption can be verified and established for an arbitrary workspace easily, after which feasibility can be guaranteed. On the downside, the large separation distance can limit the number of robots.
I-B Main Results
We propose a new method to construct pebble-graphs for arbitrary workspaces without using sampling-based methods. As illustrated in Figure 1 (c), our method relies on the medial-axis transform [28] to identify a series of inscribed circles with center points connected into skeleton curves. We then organize robots into discrete layers inside each inscribed circles, as illustrated in Figure 1 (d). We show that our robot arrangement allows both translational and rotational pebble motions. Following an idea similar to [11], we prove that all the MPP instances restricted to our pebble-graph are feasible as long as the number of graph vertices is larger than the number of robots. Finally, our method can inherently extend to continuous start and goal positions by moving robots to and from closest graph vertices via local navigation algorithms [29].
Our method works well in workspaces with complex obstacles and boundary shapes. We have conducted systematic comparisons with [16] in different environments, each having randomized MPP instances. For the benchmark with narrow passages, our method achieves a success rate on an average robot density between of the workspace, while such a high density violates the well-separated assumption in [25] and the method in [16] can fail whenever agents fall inside these narrow passages.

II Problem Statement and Approach Overview
We formalize 2D labeled MPP problems. We define as the 2D workspace and assum that the boundary of workspace, , is piecewise linear. We have a set of disk-shaped robots initially centered at with identical unit radii, and we denote as a unit circle centered at . The robots have distinct goal positions . Our method aims at finding a continuous path for each robot connecting and , where the disk-shaped regions of any two robots do not overlap for any given time instance and no robot collides with obstacles.
Having defined the problem, we provide an overview of our approach. The first step of our algorithm is pebble-graph embedding (Section III). The pebble-graph is embedded into with the help of Blum’s medial axis analysis, which can be performed through robust algorithms such as [31]. The medial axis analysis extracts two crucial pieces of information from a continuous workspace: skeleton lines and inscribed circles, as illustrated in Figure 1 (c). An inscribed circle, denoted as , is defined as a circular subset of the workspace that touches the boundary of the workspace at least two points, and skeleton lines are derived by connecting centers of inscribed circles. These two pieces of information, skeleton lines and inscribed circles, are crucial because they allow the structure in to move and accommodate robots: robots can reside in inscribed circles and move along sub-paths of skeleton lines. As illustrated in Figure 1 (d), we design an algorithm to select a subset of inscribed circles where robots can be arranged into connected loops such that they can move to nearby vacant positions or rotate along loops in a collision-free manner as illustrated in Figure 1 (e). By construction, our pebble-graph is topologically identified with the setting considered in [11]. Our second step is motion planning (Section IV), where we compute a series of motions to answer arbitrary MPP queries. In other words, robots can perform arbitrary position permutations restricted to the graph vertices. Finally, start and goal positions might not coincide with graph vertices, and we use unlabeled, local navigations to move robots between their start/goal positions and graph vertices (Section V).
III Pebble-Graph Embedding
The first step of our method finds graph vertex positions using the greedy Algorithm 1. These vertices should be close to robots’ start positions, so that robots can be moved to vertices with a high success rate via local navigation algorithms such as [29]. We further assume each robots’ goal position set is close to its start position set, so goal positions can be ignore in the graph construct step. Our method maintains: 1) a set of considered robot start positions initialized to be empty; 2) a set of remaining positions initialized to be ; 3) a set of considered inscribed circles initialized to be empty. During each iteration, an arbitrary position in the remaining set is picked, e.g. . By the definition of inscribed circles, must be contained in at least one inscribed circle, and we select the circle whose center is closest to , denoted as . (To find , we sample the skeleton lines at regular intervals and extract inscribed circles centered at sample points, giving a discrete circle set .) We then move from the remaining set to the considered set and move into the circle set . Further, if there is another in the remaining set such that , we also move into the considered set. We terminate when the remaining set is empty. Note the success of our method depends on the order of choosing positions in the remaining set. To increase the success rate, we propose executing the algorithm multiple times using randomly shuffled start positions and return the first successful result. The resulting circle set would be used to construct our discrete loop graph using a BuildGraph function.
Remark 1.
The result of Algorithm 1 is a graph with vertices corresponding to and edges constructed in the BuildGraph function. If is not connected, has only one , or , then we immediately return failure because our pebble motion planner (Section IV) relies on these pre-conditions. Otherwise, we will use local navigation (Section V) to move robots from to out of positions. If robots get stuck during local navigation, we also return failure.
In the following, we analyze the relationship between loops and derive geometric conditions of a graph embedding, such that robot motions are collision-free. Since two loops can belong to different inscribed circles or different layers of the same inscribed circle, we use the subscript to index circles and superscript to index loops inside a circle. For example, indicates the th loop (starting from the innermost one) of the th circle.
III-A A Single Circle
We refine the details of the BuildGraph function, which arranges robots into loops within inscribed circles, ensuring that translational and rotational motions are collision-free. We denote the th loop as , where the th loop is the innermost loop. We use subscripts to distinguish different circles and superscripts to distinguish different loops. We have an upper bound on the number of loops can hold as , where is the radius. In addition, we denote as the number of prescribed positions that can be put into some subset region without any collisions between positions or with .
We begin with the simplest case where there is only one in . Although a single robot can be put into , we let because our pebble motion planner requires each loop to have at least 3 positions (see Section IV for more details). For other loops, we have and for we have:
(1) |

As illustrated in Figure 2, Equation 1 allows a capsule-shaped region between and to contain only the two positions, allowing a pebble motion to be performed between the two loops. A pebble or rotational motion inside a single can be performed within without affecting any other loops by having all the positions trace out a circular arc along the centerline of . In summary, the procedure to convert a single inscribed circle into a graph is Algorithm 2. Note that Algorithm 2 requires that , since our pebble motion planner requires more than one loop in . In addition, Equation 1 allows positions to be placed along the centerline of that are at least apart, positions of different layers are non-overlapping.

Each pebble or rotational motion in can be performed by moving robots along the centerline of without affecting other layers. To realize pebble motions between two robots and of neighboring layers (Line 9 of Algorithm 2), we first rotate robots continuously in to make sure that the capsule-shaped region between and does not contain other robots, as illustrated in Figure 3. After the pebble motion, we rotate robots in back to their original positions.
III-B Two Overlapping Circles
Next, we discuss the case where two circles are overlapping, which might result in loop sharing. Since the interiors of different layers in the same circle are disjointed, we always have the following decomposition of the domain:
(2) |
where the inequality can be strict since we exclude robots that can cross the boundary of sub-domains. We choose to construct our graph using the lower bound on the righthand side. As illustrated in Figure 4, the three terms on the righthand side can be derived analytically by considering 4 different cases. These four cases are distinguished by the distance between center vertices of and , denoted as . In addition, we require that the center of is outside and vice versa:
(3) |

III-B1 Case I
The first case is illustrated in Figure 4 (a), and it happens if the following condition holds:
(4) |
In this case, we cannot fit any circle in the overlapping area, i.e. . The capacity of is reduced to:
(5) |
and a symmetric equation applies to . Although the two loops overlap, they are not connected in because is too narrow to perform pebble motions. It is trivial to show that rotational motions can be performed in either or . We can convert this case by building two loops for and without adding edges to .
III-B2 Case II
The second case is illustrated in Figure 4 (b), which happens if Equation 4 does not hold but we have:
(6) |
In this case, we still have and Equation 5 holds. However, is now wide enough to allow an robot to travel in the blue region of Figure 4 (b) to swap with a vacant position, which also utilizes the blue region. Therefore, we can insert an edge into between two loops.
III-B3 Case III
The third case is illustrated in Figure 4 (c), which happens if Equation 6 does not hold but we have:
(7) |
In this case, we have and we have:
Moreover, the two robots in can be swapped if one of them is vacant and rotational motions can be performed in either or . Therefore, we can construct two loops for and , let them share two robots in , and the edge between them.
III-B4 Case IV
The last case is illustrated in Figure 4 (d), and it happens if we have:
(8) |
In this case, we have , but has a new expression:
(9) |
Similar to case III, we can construct two loops for and , let them share two robots in , but the two loops do not share any edges.
Note that we have computed in the four cases but we need in Equation 2, which can be computed by excluding each layer from (the details are similar to the four cases and omitted for brevity). We summarize our method to convert to for two overlapping circles in Algorithm 3. This algorithm inserts vertices corresponding to each term of the righthand side of Equation 2 in Line 2 and Line 5, respectively, and then inserts edges to connect loops. Note that we only need to insert inter-loop edges in Case II, as is done in Line 14.
Informally, we justify the correctness of Algorithm 3. First, since each summand in Equation 2 corresponds to pairwise disjointed regions, the embedding is collision-free. Second, it is trivial to show that pebble or rotational motions within a single circle can be performed in the same way as in Section III-A. In addition, pebble motions between two overlapping loops are only required in Case II, which can also be safely performed, as shown in Figure 4 (b). Note that we might not get a valid pebble graph in two scenarios: 1) when some loop might not have 3 vertices; 2) when two circles are not connected, leading to disconnected .
III-C More Than Two Circles
We can combine the two previous cases to derive the final BuildGraph procedure. We assume that inscribed circles are used and our algorithm is based on the assumption that, for any three (pairwise distinct) circles , we have:
(10) |
As a result, we have the following inequality:
(11) |

which is valid only when Equation 10 holds. We can compute each of the terms in Equation 11 analytically. For a term of type , we can compute it using the four cases in Section III-B. For a term of type , we use a procedure illustrated in Figure 5, where we first identify all the tangent cases (red circle) using triangular relationships (black), then find the angles between tangent cases (), and finally compute the number of spheres that can be put into the interval between neighboring tangent cases as .

However, as shown in Section III-B, two scenarios might lead to invalid pebble-graphs that also apply for multiple circles. First, there may be invalid loops with less than 3 positions. In Section III-B, we eliminate this case by having two circles’ centers outside each other, but this cannot be done for multiple circles. Second, two circles might be too far apart, leading to disconnected . This later scenario can be mitigated with the help of a medial axis. For two circles , their centers are on the medial axis. If we can find a sub-path along the medial axis such that:
(12) | ||||
then we can insert an edge into between the outermost loops of and . Here is the Minkowski Sum, i.e. we require the path to have no interference with any obstacle or other circle. When performing pebble motions along , we follow the procedure illustrated in Figure 6. The motions can be performed in a collision-free manner when Equation LABEL:eq:path holds. The procedure to convert the circles into is summarized in Algorithm 4. This algorithm adds vertices corresponding to each term of the righthand side of Equation 10 in Line 3 and Line 6, respectively. It then adds three kinds of edges: 1) loop edges (Line 8); 2) inter loop edges (Line 11 and Line 16); and 3) medial axis edges (Line 20).
IV Pebble Motion Planning
We allow robots to perform two types of movements on the pebble graph: 1) cyclic permutation of robots in a single loop; 2) movement of robot to an adjacent vacant position (either in the same loop or in an adjacent loop). This setting is similar to prior work in [17], but that method focuses on checking the feasibility, while we ensure feasibility of arbitrary robot configuration change on the graph under the assumption that the graph vertices are not fully occupied. Our pebbling motion planner does not differentiate between loops of the same circle or loops of different circles (because such differences have been taken care of in Section III). Therefore, we only use a global superscript to index loops. For the th loop, the set of vertices is denoted as . These vertices are connected by a set of edges denoted as .
Formally, the topology of a pebble-graph successfully constructed from Algorithm 1 is simple, undirected, and connected. Different loops can be interpreted as a partition of as follows:
(13) |
The partition of vertices induces a partition of edge set as follows:
(14) |
Specifically, we assume that the vertices can be partitioned into loops, where is the number of loops in the graph. We also require that is the unique loop connecting and that is a simple loop (with no repeated vertices). Note that, under these definitions, each loop must have at least vertices, i.e. . This is necessary because our motion planner moves robots by swapping the positions of two neighbors connected by a graph edge, where we need a third position as a buffer to accommodate temporary robots (see our extended version [32] for more details). Finally, we allow two loops to overlap; however, if the th loop and the th loop overlap, we require that they share exactly vertices. As a result, two loops can also share a common edge (this is why we have and ). This corresponds to Case III of Section III-B. In summary, a successful graph returned by Algorithm 1 satisfies the following conditions:
Definition 1 (Pebble Graph).
On such a graph, we could follow similar reasoning as [9, 11] to verify feasibility for all the MPP instances and construct the corresponding motion plans, as summarized in the following result:
Theorem 1 (Pebble-Graph Feasibility).
On a pebble-graph with , we assume and , where is an arbitrary permutation. there exists a finite sequence of pebble or rotational motions to move robots from to for all , and the length of the motion sequence is .
We prove Theorem 1 constructively in our extended version [32] by converting the permutation into a sequence of pairwise position swaps between two neighboring vertices, and we use the proof to construct a planning algorithm to solve MPP instances in our extended version [32].We then show that each swap can be accomplished by a -sequence of motions. We further show that the amortized length of motion sequence for permuting the position of two arbitrarily distant vertices is also . Therefore, the total length of motion sequence to solve the pebbling problem is . To accomplish each position swap, we need to move the vacant vertex, which is not occupied by any robot, near the to-be-swapped vertices. We could optimize the motion plan by moving the vacant vertex along the shortest path. It is convenient to pre-compute the all-pair shortest paths, which costs . This step dominates the complexity of computing the motion sequence.






Bench. | Precomp. | Planning | Total | Succ. | Makespan | Traj. Length | |
Figure 7 (a)/ | Ours | 2 | 313 | 316 | 100% | 73600 | 178600 |
[16] | - | 333 | 333 | 100% | 81600 | 171600 | |
[25] | - | 258 | 258 | - | - | - | |
Figure 7 (b)/ | Ours | 2 | 451 | 453 | 100% | 82710 | 163710 |
[16] | - | 432 | 432 | 100% | 76710 | 166710 | |
[25] | - | 357 | 357 | - | - | - | |
Figure 7 (c)/ | Ours | 4 | 212 | 216 | 100% | 33170 | 122170 |
[16] | - | 208 | 208 | 82% | 28170 | 118170 | |
[25] | - | 205 | 205 | - | - | - | |
Figure 7 (d)/ | Ours | 3 | 128 | 131 | 100% | 26130 | 132130 |
[16] | - | 122 | 122 | 100% | 23130 | 136130 | |
[25] | - | 107 | 107 | - | - | - |
V Local Navigation
In general, robot start/goal positions do not coincide with the graph vertices and we use local navigations to move robots to/from graph vertices. To this end, we propose a heuristic method based on RVO [29] and CAPT [14]. The RVO algorithm resolves local collisions between robots, and CAPT further uses the Hungarian algorithm to solve unlabeled navigation problems by assigning robots to goal positions. Since our graph vertices do not coincide with robot start/goal positions, we use a similar technique to assign each to some graph vertex. This assignment can be arbitrary in our method because robots can be moved to any graph vertices and permuted later, while we propose computing an as-close-as-possible assignment via optimal transport by solving the following mixed integer linear programming:
s.t. |
where implies assigning to . After the assignment is computed, we can move each to using RVO. An identical procedure is used to assign to with decision variables denoted as . Finally, the graph vertex permutation can be determined from and . We set if and for some .
VI Experiments
We evaluate the performance of our method on a set of benchmarks. The algorithm is implemented in C++ and tested on a desktop machine with an Intel Core i7 CPU running at 3.30GHz with 16GB of RAM. We have also compared our algorithm with [16, 25], which are recently proposed methods for centralized motion planning in continuous workspaces. Our method can compute motion plans for up to robots in less than seconds shown in Figure 7 (a) and (b), where the cost of pebble-graph embedding (Algorithm 1) is marginal and the majority of computation is spent on scheduling pebble motions on the graph. The detailed timing and trajectory qualities of the three methods are summarized in Table I. These results are derived by performing 50 random trials and taking the average. For each random trial, the robots’ start positions are randomly sampled.
Our first benchmark is illustrated in Figure 7 (a), where we compare our method and prior work [16] under different robot densities. The robots’ start positions are shown in red and their goal positions are derived by randomly permuting the starts. For robots, our method takes seconds to compute the motion plan (including pebble-graph construction and pebble motion planning, but not local navigation), while it takes seconds to compute the motion plan using [16]. We then increase the number of robots to in Figure 7 (a), where our algorithm still takes seconds to find a motion plan, while the computational cost of [16] is seconds using a rectangular grid as the graph. We can further increase the number of robots up to , resulting in robots occupying of , and the motion plan can be computed within seconds. We have tried a similar benchmark (Figure 7 (b)) with a different obstacle setup, where the overall computation time of our method is seconds for robots. We can increase the number of robots up to , occupying of , for which our method computes a motion plan within seconds. Our third benchmark in Figure 7 (c) involves a maple-shaped boundary with a narrow passage and our forth benchmark contains irregular obstacles. Both [16, 25] fail for these irregular cases. This is because the regular grid used by [16] does not fit into the narrow space and the well-separated assumption of [25] does not hold, In contrast, our method succeeds in computing a motion plan within seconds for robots in Figure 7 (c) and robots in Figure 7 (d), with a success rate of over all executions.
Furthermore, we implement a similar scenario to [25], but unlike their experiments, the robots in our experiments are randomly placed. As a results, some robots do not have sufficient free space to accomplish a revolving motion, which is needed in [25] to find feasible motion plans. However, our method successfully moves robots into inscribed circles via local navigation, and revolving motions can still be performed. These behaviors are illustrated in the video and the overall computation time is less than seconds.
In Figure 9, we have profiled the success rate of our method and [16] under different scenarios and robot densities. Note that our method relies on a randomized, greedy Algorithm 1 to construct the pebble graph, so it is possible to improve our success rate by running Algorithm 1 multiple times using different random seeds until a solution is found, as in Line 15 to Line 17 of Algorithm 1.
VII Conclusion and Limitations
We presented a new method to bridge the gap between continuous MPP planning and discrete pebble-graph motion. We first use medial axis analysis to extract critical information from the workspace, i.e. skeleton lines and inscribed circles. Using this information, we convert the free space into a pebble-graph via embedding.

We show that motion planning on the pebble-graph is always feasible under mild assumptions and general MPP instances can be reduced to graph pebbling problems via local navigation. We conduct experiments using a set of challenging benchmarks and achieve a success rate under robot densities less than . In Figure 10, the robots take up of the free space, which implies that our method can work under extreme robot densities. The major limitation of our method lies in the overly conservative conditions derived in Section III which can leave some gap regions between robots. In large open areas, regular grids can have better space coverage [16]. Our future work would consider hybrid graph embedding techniques that combine multiple space tiling patterns, and we plan to derive improved boundary conditions for neighboring inscribed circles to accommodate more robots. Another limitation is that, our Algorithm 1 only considers robots’ start positions, and ignores their goals. This works well if the goal set is derived by permuting the start positions (as in Figure 7 (ab)), but the local navigation can fail if goal sets are far from the start positions (as in Figure 7 (cd)). \AtNextBibliography
References
- [1] Hang Ma, Jiaoyang Li, TK Kumar and Sven Koenig “Lifelong multi-agent path finding for online pickup and delivery tasks” In Proceedings of the 16th Conference on Autonomous Agents and MultiAgent Systems, 2017, pp. 837–845 International Foundation for Autonomous AgentsMultiagent Systems
- [2] Mikayel Samvelyan et al. “The starcraft multi-agent challenge” In Proceedings of the 18th International Conference on Autonomous Agents and MultiAgent Systems, 2019, pp. 2186–2188 International Foundation for Autonomous AgentsMultiagent Systems
- [3] Artur Malinowski et al. “Multi-agent large-scale parallel crowd simulation” In Procedia Computer Science 108 Elsevier, 2017, pp. 917–926
- [4] J.E. Hopcroft, J.T. Schwartz and M. Sharir “On the Complexity of Motion Planning for Multiple Independent Objects; PSPACE- Hardness of the ”Warehouseman’s Problem”” In The International Journal of Robotics Research 3.4, 1984, pp. 76–88 DOI: 10.1177/027836498400300405
- [5] Robert A. Hearn and Erik D. Demaine “PSPACE-Completeness of Sliding-Block Puzzles and Other Problems through the Nondeterministic Constraint Logic Model of Computation” In Theor. Comput. Sci. 343.1–2 GBR: Elsevier Science Publishers Ltd., 2005, pp. 72–96 DOI: 10.1016/j.tcs.2005.05.008
- [6] Paul Spirakis and Chee K. Yap “Strong np-hardness of moving many discs” In Information Processing Letters 19.1, 1984, pp. 55–59 DOI: https://doi.org/10.1016/0020-0190(84)90130-3
- [7] Duong Le and Erion Plaku “Cooperative Multi-Robot Sampling-Based Motion Planning with Dynamics” In Proceedings of the International Conference on Automated Planning and Scheduling 27.1, 2017, pp. 513–521 URL: https://ojs.aaai.org/index.php/ICAPS/article/view/13854
- [8] Guni Sharon, Roni Stern, Ariel Felner and Nathan R Sturtevant “Conflict-based search for optimal multi-agent pathfinding” In Artificial Intelligence 219 Elsevier, 2015, pp. 40–66
- [9] Vincenzo Auletta, Angelo Monti, Mimmo Parente and Pino Persiano “A linear-time algorithm for the feasibility of pebble motion on trees” In Algorithmica 23.3 Springer, 1999, pp. 223–245
- [10] David Moews “Pebbling graphs” In Journal of Combinatorial Theory, Series B 55.2, 1992, pp. 244–252 DOI: https://doi.org/10.1016/0095-8956(92)90043-W
- [11] Jingjin Yu and Daniela Rus “Pebble motion on graphs with rotations: Efficient feasibility tests and planning algorithms” In Algorithmic foundations of robotics XI Springer, 2015, pp. 729–746
- [12] Trevor Scott Standley and Richard Korf “Complete Algorithms for Cooperative Pathfinding Problems” In Twenty-Second International Joint Conference on Artificial Intelligence, 2011
- [13] Guni Sharon, Roni Stern, Ariel Felner and Nathan R Sturtevant “Meta-Agent Conflict-Based Search For Optimal Multi-Agent Path Finding.” In SoCS 1, 2012, pp. 39–40
- [14] Matthew Turpin, Nathan Michael and Vijay Kumar “Concurrent assignment and planning of trajectories for large teams of interchangeable robots” In 2013 IEEE International Conference on Robotics and Automation, 2013, pp. 842–848 DOI: 10.1109/ICRA.2013.6630671
- [15] J. Yu “Average Case Constant Factor Time and Distance Optimal Multi-Robot Path Planning in Well-Connected Environments” In Autonomous Robots, 2019
- [16] Jingjin Yu and Daniela Rus “An effective algorithmic framework for near optimal multi-robot path planning” In Robotics research Springer, 2018, pp. 495–511
- [17] Jingjin Yu and Steven M. LaValle “Optimal Multi-Robot Path Planning on Graphs: Structure and Computational Complexity” In ArXiv abs/1507.03289, 2015
- [18] Kiril Solovey and Dan Halperin “k-Color multi-robot motion planning” In The International Journal of Robotics Research 33.1 SAGE Publications Sage UK: London, England, 2014, pp. 82–97
- [19] Athanasios Krontiris et al. “Rearranging similar objects with a manipulator using pebble graphs” In 2014 IEEE-RAS International Conference on Humanoid Robots, 2014, pp. 1081–1087 IEEE
- [20] Michael Otte and Nikolaus Correll “Dynamic teams of robots as ad hoc distributed computers: reducing the complexity of multi-robot motion planning via subspace selection” In Autonomous Robots 42.8 Springer, 2018, pp. 1691–1713
- [21] Aviel Atias, Kiril Solovey, Oren Salzman and Dan Halperin “Effective metrics for multi-robot motion-planning” In The International Journal of Robotics Research 37.13-14 SAGE Publications Sage UK: London, England, 2018, pp. 1741–1759
- [22] Dror Dayan, Kiril Solovey, Marco Pavone and Dan Halperin “Near-Optimal Multi-Robot Motion Planning with Finite Sampling” In IEEE International Conference on Robotics and Automation, ICRA 2021, Xi’an, China, May 30 - June 5, 2021 IEEE, 2021, pp. 9190–9196
- [23] Rahul Shome et al. “dRRT*: Scalable and informed asymptotically-optimal multi-robot motion planning” In Autonomous Robots 44.3 Springer, 2020, pp. 443–467
- [24] Aviv Adler, Mark De Berg, Dan Halperin and Kiril Solovey “Efficient multi-robot motion planning for unlabeled discs in simple polygons” In Algorithmic foundations of robotics XI Springer, 2015, pp. 1–17
- [25] Israela Solomon and Dan Halperin “Motion Planning for Multiple Unit-Ball Robots in Rd” In International Workshop on the Algorithmic Foundations of Robotics, 2018, pp. 799–816 Springer
- [26] K. Solovey, J. Yu, O. Zamir and D. Halperin “Motion planning for unlabeled discs with optimality guarantees” In Robotics: Sciences and Systems, 2015
- [27] Sarah Tang and Vijay Kumar “A Complete Algorithm for Generating Safe Trajectories for Multi-Robot Teams” Citeseer
- [28] Joachim Giesen, Balint Miklos and Mark Pauly “The medial axis of the union of inner Voronoi balls in the plane” In Computational Geometry 45.9 Elsevier, 2012, pp. 515–523
- [29] Jur Van Den Berg, Stephen J Guy, Ming Lin and Dinesh Manocha “Reciprocal n-body collision avoidance” In Robotics research Springer, 2011, pp. 3–19
- [30] J. Yu and S. M. LaValle “Optimal Multi-Robot Path Planning on Graphs: Complete Algorithms and Effective Heuristics” In IEEE Transactions on Robotics 32.5, 2016, pp. 1163–1177
- [31] Harry Blum and Roger N Nagel “Shape description using weighted symmetric axis features” In Pattern recognition 10.3 Elsevier, 1978, pp. 167–180
- [32] Liang He, Zherong Pan, Biao Jia and Dinesh Manocha “Efficient Multi-Agent Motion Planning in Continuous Workspaces Using Medial-Axis-Based Swap Graphs” In ArXiv abs/2002.11892, 2020