Motion Planning for Unlabeled Discs with Optimality GuaranteesK. Solovey, O. Zamir and D. Halperin are with the Blavatnic School of Computer Science, Tel Aviv University, Israel; Email: {kirilsol,danha}post.tau.ac.il, orzamirmail.tau.ac.il; The work of K.S. and D.H. has been supported in part by the Israel Science Foundation (grant no. 1102/11), by the German-Israeli Foundation (grant no. 1150-82.6/2011), and by the Hermann Minkowski-Minerva Center for Geometry at Tel Aviv University. J. Yu is with the Computer Science and Artificial Intelligence Lab at the Massachusetts Institute of Technology; Email: jingjincsail.mit.edu; His work has been supported in part by ONR projects N00014-12-1-1000 and N00014-09-1-1051.
Abstract
We study the problem of path planning for unlabeled (indistinguishable) unit-disc robots in a planar environment cluttered with polygonal obstacles. We introduce an algorithm which minimizes the total path length, i.e., the sum of lengths of the individual paths. Our algorithm is guaranteed to find a solution if one exists, or report that none exists otherwise. It runs in time , where is the number of robots and is the total complexity of the workspace. Moreover, the total length of the returned solution is at most , where OPT is the optimal solution cost. To the best of our knowledge this is the first algorithm for the problem that has such guarantees. The algorithm has been implemented in an exact manner and we present experimental results that attest to its efficiency.
1Introduction
We study the problem of path planning for unlabeled (i.e., indistinguishable) unit-disc robots operating in a planar environment cluttered with polygonal obstacles. The problem consists of moving the robots from a set of start positions to another set of goal positions. Throughout the movement, each robot is required to avoid collisions with obstacles and well as with its fellow robots. Since the robots are unlabeled, we only demand that at the end of the motion each position will be occupied by exactly one robot, but do not insist on a specific assignment of robots to goals (in contrast to the standard labeled setting of the problem).
Following the methodology of performing target assignments and path planning concurrently [1] and adopting a graph-based vertex ordering argument from [4], we develop a complete combinatorial algorithm to the unlabeled problem described above. Our algorithm makes two simplifying assumptions regarding the input. First, it assumes that each start or goal position has a (Euclidean) distance of at least to any obstacle in the environment (recall that the robot discs have unit radius) . Additionally, it requires that the distance between each start or goal position to any other such position will be at least (see Figure 1). Given that the two separation conditions are fulfilled, out algorithm is guaranteed to generate a solution if one exists, or report that none exists otherwise. It has a running time
This paper should be juxtaposed with another work by the authors [5] in which we show that a slightly different setting of the unlabeled problem is computationally intractable. In particular, we show that the unlabeled problem of unit-square robots translating amid polygonal obstacles is pspace-hard. Our proof relies on a construction of gadgets in which start and goal positions are very close to one another or to the obstacles, i.e., no separation is assumed. This can be viewed as a justification to the assumptions used in the current paper which allow an efficient solution of the problem.
We make several novel contributions. To the best of our knowledge, we are the first to describe a complete algorithm that fully addresses the problem of planning minimum total-distance paths for unlabeled discs. We mention that Turpin et al. [3] describe a complete algorithm for unlabeled discs; however their algorithm minimizes the maximal path length of an individual robot. Furthermore, our algorithm makes more natural assumptions on the input problem than the ones made by Turpin et al. We also mention the work by Adler et al. [6] in which a complete algorithm is described, but it does not guarantee optimality. While the latter work makes the same assumption as we make on a separation of between starts and goals, it does not assume separation from obstacles. However, it requires that the workspace environment will consist of a simple polygon. On the practical side, we provide an exact and efficient implementation which does not rely on non-deterministic procedures, unlike sampling-based algorithms. The implementation will be made publicly available upon the publication of this paper.
Our work is motivated by theoretical curiosity as well as potential real world applications. From a theoretical standpoint, we have seen great renewed interests in developing planning algorithms for multi-robot systems in continuous domains (see, e.g., [?]) and discrete settings (see, e.g., [2]). Whereas significant headway has been made in solving multi-robot motion-planning problems, many challenges persist; the problem studied in this paper—path planning for unlabeled disc robots in a general environment with guarantees on total distance optimality—remains unresolved (until now). On the application side, in the past few years, we have witnessed the rapid development and adaptation of autonomous multi-robot and multi-vehicle systems in a wide variety of application domains. The most prominent example is arguably the success of Kiva Systems, now part of Amazon, which developed a warehousing system employing hundreds of mobile robots to facilitate order assembly tasks [12]. More recently, Amazon, DHL, and Google have demonstrated working prototypes of aerial vehicles capable of automated package delivery. Since the vehicles are intended to operate in an autonomous, swarm-like setting, we can foresee in the near future the emerging demand of efficient path planning algorithms designed for such systems. We note that when the warehouse robots or the delivery aerial vehicles do not carry loads, they are effectively unlabeled robots. In such scenarios, planning collision-free, total-distance near-optimal paths translates into allowing the vehicles, as a whole, to travel with minimum energy consumption.
The rest of the paper is organized as follows. In Section 2 we review related work. In Section 3 we provide an overview of our algorithm and necessary background material. In Section 4 we establish several basic properties of the problem and describe the algorithm in Section 5. We report on experimental results in Section 6 and conclude with a discussion in Section 7.
2Related work
The problem of multi-robot motion planning is notoriously challenging as it often involves many degrees of freedom, and consequently a vast search space [13]. In general, each additional robot introduces several more degrees of freedom to the problem. Nevertheless, there is a rich body of work dedicated to this problem. The earliest research efforts can be traced back to the 1980s [15].
Approaches for solving the problem can be typically subdivided into categories. Decoupled techniques (see, e.g., [16]) reduce the size of the search space by partitioning the problem into several subproblems, which are solved separately, and then the different components are combined. In contrast to that, centralized approaches (see, e.g., [22]) usually work in the combined high-dimensional configuration space, and thus tend to be slower than decoupled techniques. However, centralized algorithms often come with stronger theoretical guarantees, such as completeness. Besides these, the multi-robot motion-planning problem has also been attacked using methods based on network flow [8] and mixed integer programming [29], among others.
Multi-robot motion planning can also be considered as a discrete problem on a graph [30]. In this case the robots are pebbles placed on the vertices of the graph and are bound to move from one set of vertices to another along edges. Many aspects of the discrete case are well understood. In particular, for the labeled setting of the problem there exist efficient feasibility-test algorithms [31], as well as complete planners ([9]). For the unlabeled case, there even exist complete and efficient planners that generate the optimal solution [4] under different metrics. While there exists a fundamental difference between the discrete and the continuous setting of the multi-robot problem, the continuous case being exceedingly more difficult, several recent techniques in the continuous domain [3] have employed concepts that were initially introduced in the discrete domain.
As mentioned above, the works by Adler et al. [6] and Turpin et al. [3] solve very similar settings of the unlabeled problem for disc robots to the one treated in this paper, only with different assumptions and goal functions, and thus it is important to elaborate on these two techniques. Adler et al. [6] show that the unlabeled problem in the continuous domain can be transformed into a discrete pebble-motion on graph problem. Their construction guarantees that in case a solution to the former exists, it can be generated by solving a discrete pebble problem and adapted to the continuous domain. In particular, a motion of a pebble along an edge is transformed into a motion of a robot along a local path in the free space. Turpin et al. [3] find an assignment between starts and goals which minimize the longest path length traveled by any of the robots. Given such an assignment a shortest path between every start position to its assigned goal is generated. However, such paths still may result in collisions between the robots. The authors show that collisions can be elegantly avoided by prioritizing the paths. Our current work follows to some extent a similar approach, although in our case some of the robots must slightly stray from the precomputed paths in order to guarantee completeness—a thing which makes our technique much more involved. This follows from the fact that we make milder assumptions on the input. Another difference is that the goal function of our algorithm is to minimize the total path length, which requires very different machinery than the one used by Turpin et al.
3Preliminaries and algorithm overview
Our problem consists of moving indistinguishable unit-disc robots in a workspace cluttered with polygonal obstacles, whose overall number of edges is . We define to be the complement of the workspace, and we call the obstacle space. For given , we define to be the open disc of radius , centered at . For given we also define .
We consider the unit-disc robots to be open sets. Thus a robot avoids collision with the obstacle space if and only if its center is at distance at least 1 from . More formally, the collection of all collision free configurations, termed the free space, can be expressed as . We also require the robots to avoid collisions with each other. Thus for every given two configurations two distinct robots can be placed in and only if . Throughout this paper the notation will indicate the norm.
In addition to the workspace we are given sets and such that . These are respectively the sets of start and goal configurations of our indistinguishable disc robots. The problem is now to plan a collision-free motion for unit-disc robots such that each of them starts at a configuration in and ends at a configuration in . Since the robots are indistinguishable or unlabeled, it does not matter which robot ends up at which goal configuration, as longs as all the goal configurations are occupied at the end of the motion. Formally, we wish to find paths , for , such that and . Furthermore, we are interested in finding a set of such paths which minimizes the expression , where represents the length of in the norm.
3.1Simplifying assumptions
By making the following simplifying assumptions (see Figure 1) we are able to show that our algorithm is complete and near-optimal. The first assumption that we make is identical to the one used by Adler et al. [6]. It requires that every pair of start or goal positions will be separated by a distance of at least :
The motivation for the above assumption is the ability to prove the existence of a standalone goal—a goal position that does not block other paths, assuming that the paths minimize the total length of the solution.
We also need the following assumption in order to guarantee that the robots will be able switch targets, in case that a given assignment of robots to goals induces collision between the robots:
3.2Overview of algorithm
Here we provide an overview of our technique. Recall that our problem consists of , which specify the set of start and goal positions for a collection of unit-disc robots, and a workspace environment .
We describe the first iteration of our recursive algorithm. For every we find the shortest path from to . Among these paths we select a set of paths , where for every , such that . Furthermore, we require that will be the path set that minimizes the total length of its paths under these conditions. Note that at this point we only require that the robots will not collide with obstacles, and do not worry about collisions between the robots. The generation of is described in detail in Section 5, Theorem ?.
In the next step we find a goal which does not block paths in that do not lead to . We call such a a standalone goal. Next, we find a start from which a robot will be able to move to without colliding with other robots situated in the rest of the start positions. We carefully select such a start and generate the respective path to in order to minimize the cost of the returned solution. We prepare the input to the next iteration of the algorithm by assigning , and by treating the robot placed in as an obstacle, i.e., .
4Theoretical foundations
In this section we establish several basic properties of the problem. Recall that our problem is defined for a workspace , whose free space for a single unit-disc robot is . Additionally, we have two sets of start and goal positions , respectively.
The following lemma implies that if a robot moving from some start position along a given path collides with a region , for some other goal , then there exists another path which moves the robot from to . In the context of our algorithm this lemma implies that if a path for a robot interferes with some other goal position, then the path can be modified such that it will move the robot to the interfering goal instead.
Here we use the fact that for every it holds that , which is the second separation assumption. Without loss of generality, assume that the straight-line segment from to is parallel to the -axis. Denote by and the bottom points of the unit discs around and , respectively (see Figure 2). Similarly, denote by and the top points of these discs. By definition of , we know that . Thus, (see dashed red segment). This implies that the rectangle defined by the points is entirely contained in (see orange square). Thus, the straight-line path is fully contained in .
Note that is not necessarily a feasible solution to our problem since at this stage we still ignore possible collisions between robots. Let be an optimal-assignment path set for . Without loss of generality, assume that for every , .
Standalone goals play a crucial role in our algorithm. We first show that at least one such goal always exists.
Assume by contradiction that every goal interferes with some path . This implies that there is a circular interference, i.e., there exist goals, which we denote, for simplicity and without loss of generality, as such that for every , , and . More formally, let be a directed graph vertices are . For every which interferes with a path , where we draw an edge from to . If there exists no standalone goal then has a directed cycle of size greater than one. This is due to the fact that if were directed acyclic then it should have had a node whose out degree is zero.
We show that in this case, the paths do not induce the minimal assignment for the starts and goals . This would imply that is not the optimal assignment path set. We claim that instead of assigning to we may assign to for and from to and get a collection of paths , such that for every . Denote by the first interference point with along . Additionally, denote by the subpath of that starts with and ends with . Define to be the concatenation of and .
We need to show first that and that . The subpath is obstacle-collision free, and so is according to Lemma ?. Thus, is free as well. Now, note that and . Thus, by the triangle inequality . This finishes our proof.
We introduce the notion of -hop and -hop paths. Informally, a -hop path is a path assigned to the standalone goal which is not blocked by any start position.
Namelly, the -hop path moves the robot situated in , which interferes with , to (see Figure 3). The following theorem shows that a robot situated in that blocks the -hop path can be moved to without inducing collisions with other robots.
By separation of start positions, and by definition of (see Definition ?), there exists a single start position for which . By Lemma ?, and the separation condition, the path , does not induce collisions between a robot moving along it and other robots placed in , for . Finally, by definition of , the rest of the path , which is a subpath of , is free of collisions with a robot situated in .
After moving a robot from to we have to ensure that some other robot can reach . We define the following switch path (see Figure 3).
can potentially interfere with only along , due to the definition of . For any it follows that . If then it follows that , which is a contradiction.
5Near-optimal algorithm for unlabeled planning
In this section we describe our algorithm for the unlabeled multi-robot motion planning problem of unit-disc robots moving amid polygonal obstacle and establish its completeness. Additionally, we bound the cost of the returned solution. Finally, we analyze the complexity of the algorithm.
5.1The algorithm
We describe our recursive algorithm, which returns a set of paths . Recall that the input consists of and a workspace , which induces the free space . The algorithm first produces the optimal-assignment path set . Let OPT be the optimal solution cost and note that since is a lower bound on the actual cost, as interactions between the robots might increase the traversed distance.
Let be a standalone goal, which exists according to Theorem ?. Suppose that the -hop path is not blocked by any other robot located in a start position. Then, is added to and the algorithm is run recursively on the input , with the workspace , which results in the free space .
Alternatively, in case that is blocked, i.e., in interference with some , the algorithm produces the -hop path , as described in Theorem ?, and adds it to . Then, the algorithm is run recursively on the input , with the workspace , and the free space .
5.2Completeness and near-optimality
We first show that the algorithm is guaranteed to find a solution, if one exists, or report that none exists otherwise.
Consider the first iteration of the algorithm. Let be the optimal-assignment path set and let be a standalone goal.
Suppose that is a -hop path. Then, for every , , since is a standalone goal. Now suppose that is not a -hop path. By Theorem ? the -hop path from to does not collide with any other start position. By Lemma ? . Additionally, notice that for every , .
Thus, in any of the two situations, the removal of the standalone goal does not separate between start and goal configurations that are in the same connected component of . Note that in the first level of the recursion the existence of a standalone goal guarantees the existence of a path to which does not collide with the other robots. This is possible due to assumptions Equation 1, Equation 2. Thus, in order to ensure the success of the following recursions, we need to show that these assumptions are not violated. First, note that assumption Equation 1 is always maintained, since we do not move existing start and goal positions. Secondly, when a robot situated in is treated as an obstacle added to the set (or conversely removed from , as described above), the first assumption induces the second.
We proceed to prove the near-optimality of our solution.
Let be the optimal-assignment path set for the input , and let be a standalone. Additionally, assume that the algorithm generated the -hop path , since was blocked (the case when is not blocked is simpler to analyze). Let be the switch path from to . Similarly, denote by the optimal-assignment path set for and the workspace , which induces the free space .
We will show that . As mentioned in Theorem ?, for every , it follows that for and . We also showed that the same holds for , i.e., . Thus, the path set represents a valid assignment for , even though it might not be optimal. This means that . Thus,
where the third step is due to Corollary ?. Thus, every level of the recursion introduces and additive error factor of . Repeating this process for the iterations we obtain .
5.3Complexity Analysis
We analyze the complexity of the algorithm. In order to do so, we have to carefully consider the operations that are performed in every iteration of the algorithm.
Let us consider a specific iteration . The input of this iteration consists of start positions and goal positions . The workspace region of this iteration is defined to be , which induces the free space . Note that .
In order to find the optimal-assignment path set for one has to first find the shortest path in for every pair of start and goal positions . Given the costs of all those combinations, the Hungarian algorithm [38]
The complexity of finding a shortest path for a disc depends on the complexity of the workspace, which in our case is . This task is equivalent to finding a shortest path for a point robot in . The generation of can be done in time complexity, and the overall complexity of this structure would be [39]. A common approach for finding shortest paths in the plane is to construct a visibility graph [40] which encapsulates information between every pair of vertices of a given arrangement of segments, while avoiding crossings with the segments. In our case, the arrangement should include as well as all the points from and . Thus, we would need to generate a visibility graph over a generalized polygon of total complexity . This can be done in [40]
To find we employ the Hungarian algorithm [38], which runs in time. Now, given we wish to find a standalone goal . We first note that the complexity of each path in is bounded by the complexity of , which is . For every we check whether . This step has a running time of . Finding the last closest blocking start from of the path takes additional time by going over all starts in and comparing the distance of their interference point with . Thus, the overall complexity of a given iteration is
Note that the cost of the different components is absorbed in the cost of calculating the shortest paths. We conclude with the running time of the entire algorithm:
6Experimental results
We implemented the algorithm and evaluated its performance on various challenging scenarios.
6.1Implementation details
First, we wish to emphasize that our implementation deals with geometric primitives, e.g., polygons and discs, and does not rely on any graph discretization of the problem. The implementation relies on exact geometric methods that are provided by CGAL [41]. As such, it is complete, robust and deterministic. In addition to that, the implementation is parameter-free.
We implemented the algorithm in C.08ex and relied heavily on CGAL for geometric computing, and in particular on the
Arrangement_2
package [42]. Generation of the free space was done using Minkowski sums, while shortest paths were generated using visibility graphs [40]. In order to find the optimal assignment, we used a C.08ex implementation of the Hungarian algorithm [38], available at [43].
6.2Test scenarios
We report in Table 1 on the running time of the algorithm for the four scenarios depicted in Figure ?. The grid scenario (Figure Figure 4) is used to illustrate the performance of the algorithm in a sterile obstacles-free workspace. The triangles and cross scenarios (Figure Figure 5,Figure 7) include multiple obstacles, which have a tremendous affect on the performance of the algorithm. The maze scenario (Figure Figure 6), which also includes multiple obstacles, has several narrow passages.
It is evident that the running time is dominated by shortest-path calculations (see Theorem ?). The second largest contributor to the running time of the algorithm, is the calculation and maintenance of the configuration space, which includes the update of the free space for every iteration. A interesting relation is found between the overall complexity of finding the optimal assignment () and its modest contribution to the actual running time in practice, when compared to the other components. This can be explained by the fact that the implementation of the Hungarian algorithm [43] employs floating-point arithmetic, while the geometric operations, e.g., shortest pathfinding, rely on exact geometric kernels, which have unlimited precision [44]. It is noteworthy that the algorithm produces solutions whose cost is very close to the optimal cost.
To gather a better understanding of the running time of the algorithm, we also report on the running time of each iteration for the triangles scenario (see Figure 8). For every iteration we report on the running time of maintaining the configuration space, and finding shortest paths.
Another important aspect of the algorithm is the relation between the number of robots and the performance. To test this relation we performed the following experiment, which is based on the triangles scenario as well. We report in Figure 9 how the performance is affected by an increase or decrease in the number of robots. In order to maintain a similar level of density between the various tests we increase the radius of the robots to the maximal allowed radius which abides by the separation assumptions.
The algorithm and its current implementation can deal with rather complex scenarios. However, it is clear that there is a limit to the number of robots or workspace complexity with which it can cope, due the relatively high degree of the polynomial, in the running time complexity.
Grid | Triangles | Maze | Cross | ||
robots | 40 | 32 | 26 | 8 | |
workspace vertices | 4 | 118 | 56 | 44 | |
robot radius | 0.05 | 0.034 | 0.035 | 0.09 | |
configuration space | 261 | 832 | 141 | 17 | |
shortest paths | 50 | 5532 | 658 | 1 | |
optimal assignment | 0.016 | 0.001 | 0.016 | 0 | |
standalone goal | 0.001 | 0.016 | 0.119 | 0 | |
total | 311 | 6394 | 800 | 19 | |
lower bound | 36.33 | 10.41 | 154.86 | 12.11 | |
actual cost | 37.16 | 10.69 | 155.21 | 12.4 | |
-hop paths | 25 | 32 | 14 | 7 | |
-hop paths | 1 | 0 | 12 | 1 | |
7Discussion and future work
7.1Relaxing the separation conditions
The algorithm presented in this paper requires that two conditions will hold. First it is assumed that every pair of start or goal position will be separated by a distance of at least . The second condition requires that every start or goal positions will be separated from an obstacle by a distance of at least . We believe that the obstacles-separation factor can be lowered to using a tighter mathematical analysis. While the proof for Lemma ? would change, the rest of the proofs will not require any special modification. In the near future we aim to consider less strict separation requirements such as reducing the robots separation to and removing the requirement that start positions will be separated from goal positions. However, it seems that the machinery described here will not suffice for the tighter setting and different tools will be required.
We note that without adequate obstacle clearance, it is in fact impossible for any algorithm to guarantee a maximum deviation from the cost of an optimal-assignment path set, regardless of the separation between start and goals. For instance, see the gadget in Figure 10. The two pairs of (blue) start and (red) goal positions satisfy the separation requirement. The disc starting at the bottom left, which we call disc , is matched by the optimal assignment with the goal on the top left of the figure, and the disc starting in the middle, which we call disc , is matched with the goal on the right. This is due to the fact that disc and disc reside in two disjoint components of the free space. For disc to go through the lower tunnel, disc 2 must move non-trivially ( e.g., to the location of the green discs). Let this nontrivial distance be . Then, as disc passes through the upper tunnel, another nontrivial move of distance must be performed by disc to clear the way. Now, we remove disc from the gadget and stack of the resulting gadget vertically. If we require the rest discs to pass through the stacked construction, a total distance penalty of is incurred.
7.2Improving the algorithm
It is evident from our experiments that most of the running time of the algorithm in practice is devoted to finding shortest paths. To be specific, in each iteration the algorithm performs a shortest-path search between every pair of start and target positions. This entire process is performed only for the sake of finding a single standalone goal. It will be interesting to investigate whether more information can be extracted from the optimal assignment returned by the Hungarian algorithm. For instance, could there be two or more standalone goals to which there are separate non-interfering paths?
7.3Implementation in 3D
For simplicity of presentation, our algorithm is discussed for the planar setting. Yet, its completeness and near-optimality guarantees hold also for the three-dimensional case with ball robots under the two separation assumptions used in this paper. A main requirement for a correct implementation of the algorithm is the ability to produce shortest paths for a single robot moving amid static obstacles. While this task does not pose particular challenges in the planar case, it becomes extremely demanding in 3D. In particular, finding a shortest path for a polyhedral robot translating amid polyhedral obstacles is known to be NP-Hard [45]. It would be interesting to investigate whether our algorithm can be extended to work with approximate shortest paths.
Footnotes
- For simplicity of presentation, we omit factors when stating the complexity of the algorithm, and hence use the notation.
- Also known as the Kuhn-Munkres algorithm.
- We note that in our setting the arrangement consists not only of straight-line segments, but also of circular arcs which are induced by robots situated in target positions. Yet, the algorithm constructing the visibility graph can treat such cases as well, while still guaranteeing the (near-)quadratic run-time complexity mentioned above.
References
- G. Calinescu, A. Dumitrescu, and J. Pach, “Reconfigurations in graphs and grids,” SIAM Journal on Discrete Mathematics, vol. 22, no. 1, pp. 124–138, 2008.
- J. Yu and S. M. LaValle, “Multi-agent path planning and network flow,” in Workshop on the Algorithmic Foundations of Robotics (WAFR), MIT, Cambridge, Massachusetts, USA, 2012, pp. 157–173.
- M. Turpin, N. Michael, and V. Kumar, “Concurrent assignment and planning of trajectories for large teams of interchangeable robots,” in International Conference on Robotics and Automation (ICRA), 2013.
- J. Yu and S. M. LaValle, “Distance optimal formation control on graphs with a tight convergence time guarantee,” in Proceedings IEEE Conference on Decision & Control, 2012, pp. 4023–4028.
- K. Solovey and D. Halperin, “On the hardness of unlabeled multi-robot motion planning,” in Robotics: Science and Systems (RSS), 2015, these proceedings.
- A. Adler, M. de Berg, D. Halperin, and K. Solovey, “Efficient multi-robot motion planning for unlabeled discs in simple polygons,” in Workshop on the Algorithmic Foundations of Robotics (WAFR), 2014.
- M. Turpin, N. Michael, and V. Kumar, “Trajectory planning and assignment in multirobot systems,” in Workshop on the Algorithmic Foundations of Robotics (WAFR), MIT, Cambridge, Massachusetts, USA, 2012, pp. 175–190.
- I. Karamouzas, R. Geraerts, and A. F. van der Stappen, “Space-time group motion planning,” in Workshop on the Algorithmic Foundations of Robotics (WAFR), MIT, Cambridge, Massachusetts, USA, 2012, pp. 227–243.
- A. Krontiris, R. Luna, and K. E. Bekris, “From feasibility tests to path planners for multi-agent pathfinding,” in Symposium on Combinatorial Search, (SOCS), Leavenworth, Washington, USA, 2013.
- M. Turpin, K. Mohta, N. Michael, and V. Kumar, “Goal assignment and trajectory planning for large teams of aerial robots,” in Robotics: Science and Systems, 2013.
- J. Yu and S. M. LaValle, “Planning optimal paths for multiple robots on graphs,” in International Conference on Robotics and Automation (ICRA), 2013, pp. 3612–3617.
- P. R. Wurman, R. D’Andrea, and M. Mountz, “Coordinating hundreds of cooperative, autonomous vehicles in warehouses,” AI Magazine, vol. 29, no. 1, pp. 9–19, 2008.
- 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”,” International Journal of Robotics Research, vol. 3, no. 4, pp. 76–88, 1984.
- P. G. Spirakis and C.-K. Yap, “Strong NP-hardness of moving many discs,” Information Processing Letters, vol. 19, no. 1, pp. 55–59, 1984.
- J. T. Schwartz and M. Sharir, “On the piano movers’ problem: III. coordinating the motion of several independent bodies: the special case of circular bodies moving amidst polygonal barriers,” International Journal of Robotics Research, vol. 2, no. 3, pp. 46–75, 1983.
- M. A. Erdmann and T. Lozano-Pérez, “On multiple moving objects,” in International Conference on Robotics and Automation (ICRA), 1986, pp. 1419–1424.
- S. M. LaValle and S. A. Hutchinson, “Optimal motion planning for multiple robots having independent goals,” IEEE Transactions on Robotics & Automation, vol. 14, no. 6, pp. 912–925, 1998.
- J. Peng and S. Akella, “Coordinating multiple robots with kinodynamic constraints along specified paths,” in Algorithmic Foundations of Robotics V, J.-D. Boissonat, J. Burdick, K. Goldberg, and S. Hutchinson, Eds.1em plus 0.5em minus 0.4emBerlin: Springer-Verlag, 2002, pp. 221–237.
- J. van den Berg and M. H. Overmars, “Prioritized motion planning for multiple robots,” in International Conference on Intelligent Robots and Systems (IROS), 2005, pp. 430 – 435.
- R. Ghrist, J. M. O’Kane, and S. M. LaValle, “Computing Pareto Optimal Coordinations on Roadmaps,” International Journal of Robotics Research, vol. 24, no. 11, pp. 997–1010, 2005.
- J. van den Berg, J. Snoeyink, M. Lin, and D. Manocha, “Centralized path planning for multiple robots: Optimal decoupling into sequential plans,” in Robotics: Science and Systems, 2009.
- P. A. O’Donnell and T. Lozano-Pérez, “Deadlock-free and collision-free coordination of two robot manipulators,” in International Conference on Robotics and Automation (ICRA), 1989, pp. 484–489.
- P. Švestka and M. H. Overmars, “Coordinated path planning for multiple robots,” Robotics and Autonomous Systems, vol. 23, no. 3, pp. 125–152, 1998.
- B. Aronov, M. de Berg, A. F. van der Stappen, P. Švestka, and J. Vleugels, “Motion planning for multiple robots,” Discrete & Computational Geometry, vol. 22, no. 4, pp. 505–525, 1999.
- S. Kloder and S. Hutchinson, “Path planning for permutation-invariant multirobot formations,” IEEE Transactions on Robotics, vol. 22, no. 4, pp. 650–665, 2006.
- O. Salzman, M. Hemmer, and D. Halperin, “On the power of manifold samples in exploring configuration spaces and the dimensionality of narrow passages,” in Workshop on the Algorithmic Foundations of Robotics (WAFR), 2012, pp. 313–329.
- K. Solovey, O. Salzman, and D. Halperin, “Finding a needle in an exponential haystack: Discrete RRT for exploration of implicit roadmaps in multi-robot motion planning,” in Workshop on the Algorithmic Foundations of Robotics (WAFR), 2014.
- G. Wagner and H. Choset, “Subdimensional expansion for multirobot path planning,” Artif. Intell., vol. 219, pp. 1–24, 2015.
- E. J. Griffith and S. Akella, “Coordinating multiple droplets in planar array digital microfluidic systems,” International Journal of Robotics Research, vol. 24, no. 11, pp. 933–949, 2005.
- D. Kornhauser, G. Miller, and P. Spirakis, “Coordinating pebble motion on graphs, the diameter of permutation groups, and applications,” in Foundations of Computer Science (FOCS).1em plus 0.5em minus 0.4emIEEE Computer Society, 1984, pp. 241–250.
- V. Auletta, A. Monti, M. Parente, and P. Persiano, “A linear time algorithm for the feasibility of pebble motion on trees,” in Scandinavian Symposium and Workshops on Algorithm Theory (SWAT), 1996, pp. 259–270.
- G. Goraly and R. Hassin, “Multi-color pebble motion on graphs,” Algorithmica, vol. 58, no. 3, pp. 610–636, 2010.
- J. Yu, “A linear time algorithm for the feasibility of pebble motion on graphs,” CoRR, vol. abs/1301.2342, 2013.
- D. Kornhauser, “Coordinating pebble motion on graphs, the diameter of permutation groups, and applications,” M.Sc. Thesis, Department of Electrical Engineering and Computer Scienec, Massachusetts Institute of Technology, 1984.
- R. Luna and K. E. Bekris, “An efficient and complete approach for cooperative path-finding,” in Conference on Artificial Intelligence, San Francisco, California, USA, 2011.
- M. Katsev, J. Yu, and S. M. LaValle, “Efficient formation path planning on large graphs,” in 2013 IEEE International Conference on Robotics and Automation, Karlsruhe, Germany, 2013, pp. 3606–3611.
- K. Solovey and D. Halperin, “k-Color multi-robot motion planning,” International Journal of Robotic Research, vol. 33, no. 1, pp. 82–97, 2014.
- E. L. Lawler, Combinatorial optimization: networks and matroids. 1em plus 0.5em minus 0.4emCourier Dover Publications, 1976.
- K. Kedem, R. Livne, J. Pach, and M. Sharir, “On the union of jordan regions and collision-free translational motion amidst polygonal obstacles,” Discrete & Computational Geometry, vol. 1, pp. 59–70, 1986.
- M. de Berg, O. Cheong, M. van Kreveld, and M. Overmars, Computational Geometry: Algorithms and Applications, 3rd ed.1em plus 0.5em minus 0.4emSpringer-Verlag, 2008.
- “Cgal, Computational Geometry Algorithms Library,” http://www.cgal.org.
- E. Fogel, D. Halperin, and R. Wein, CGAL Arrangements and Their Applications - A Step-by-Step Guide, ser. Geometry and computing. 1em plus 0.5em minus 0.4emSpringer, 2012, vol. 7.
- “Implementation of the Kuhn-Munkres algorithm,” https://github.com/saebyn/munkres-cpp.
- L. Kettner, K. Mehlhorn, S. Pion, S. Schirra, and C. Yap, “Classroom examples of robustness problems in geometric computations,” Comput. Geom., vol. 40, no. 1, pp. 61–78, 2008.
- J. F. Canny and J. H. Reif, “New lower bound techniques for robot motion planning problems,” in 28th Annual Symposium on Foundations of Computer Science, Los Angeles, California, USA, 1987, pp. 49–60.