Abstract 1 Introduction 2 A polynomial-time algorithm for Min-Sum 3 Existence of an optimal canonical-grid plan 4 Conclusion References

Optimal Motion Planning for Two Square Robots in a Rectilinear Environment

Pankaj K. Agarwal ORCID Department of Computer Science, Duke University, Durham, NC, USA Mark de Berg ORCID Department of Mathematics and Computer Science, TU Eindhoven, The Netherlands Benjamin Holmgren ORCID Department of Computer Science, Duke University, Durham, NC, USA Alex Steiger ORCID Department of Computer Science, Duke University, Durham, NC, USA Martijn Struijs ORCID Department of Mathematics and Computer Science, TU Eindhoven, The Netherlands
Abstract

Let 𝒲2 be a rectilinear polygonal environment (that is, a rectilinear polygon potentially with holes) with a total of n vertices, and let A,B be two robots, each modeled as an axis-aligned unit square, that can move rectilinearly inside 𝒲. The goal is to compute an optimal collision-free motion plan 𝝅 for A and B between a given pair of source and target configurations. We study two variants of this problem and obtain the following results.

  • Min-Sum: Here the goal is to compute a motion plan that minimizes the sum of the lengths of the paths of the robots. We present an O(n4logn)-time algorithm for computing an optimal solution to the min-sum problem. This is the first polynomial-time algorithm to compute an optimal, collision-free motion of two robots amid obstacles in a planar polygonal environment.

  • Min-Makespan: Here the robots can move with at most unit speed, and the goal is to compute a motion plan that minimizes the maximum time taken by a robot to reach its target location. We prove that the min-makespan variant is NP-hard.

Keywords and phrases:
Computational geometry, motion planning, multiple robots, rectilinear paths
Funding:
Pankaj K. Agarwal: Supported by NSF grants CCF-20-07556, CCF-22-23870, and IIS-24-02823, and by the Binational Science Foundation Grant 2022131.
Mark de Berg: Supported by the Dutch Research Council (NWO) through Gravitation-grant NETWORKS-024.002.003.
Benjamin Holmgren: Supported by the U.S. Department of Energy, Office of Science, Office of Advanced Scientific Computing Research, Department of Energy Computational Science Graduate Fellowship under Award Number DE-SC0024386.
Copyright and License:
[Uncaptioned image] © Pankaj K. Agarwal, Mark de Berg, Benjamin Holmgren, Alex Steiger, and
Martijn Struijs; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Design and analysis of algorithms
Editors:
Oswin Aichholzer and Haitao Wang

1 Introduction

A wide range of applications have led to extensive work on designing efficient algorithms for computing high-quality motion plans in a structured or an unstructured environment for a system of robots; see e.g. [7, 45] for recent surveys. Several criteria have been proposed to measure the quality of a motion plan, including the total length of the robot paths, the makespan (i.e., the maximum time taken by a robot to complete its motion), and the utility of the plan (i.e., how well it performs the underlying task). Already for two simple robots, such as unit squares or disks, translating in a planar polygonal environment, little is known about computing an optimal motion plan. Although polynomial-time algorithms are known for computing a collision-free motion plan of two simple robots [8, 35], no polynomial-time algorithm is known for computing a plan such that the sum (or the maximum) of the path lengths of the two robots is minimized, nor is the problem known to be NP-hard. In this paper we study the problem of computing an optimal motion plan for two simple robots, each modeled as a unit square.

Problem statement.

Let :={x2||x||1/2} denote the axis-aligned square of unit side length – referred to as a unit square for short – centered at the origin. Let A and B be two robots, each modeled as a unit square, that can translate inside the same closed rectilinear polygonal environment 𝒲2. In other words, the shared workspace 𝒲 is a rectilinear polygon, possibly with holes. Let n be the number of vertices of 𝒲. A placement of A (and, similarly, of B) is represented by the position of its center in the workspace 𝒲. For such a placement to be free of collision with the boundary 𝒲 of 𝒲, the representing point should be at -distance at least 1/2 from 𝒲. (Note that the robot is allowed to touch an obstacle, since we define to be a closed set.) We let 𝒲 denote the free space of a single robot, which is the subset of 𝒲 consisting of all collision-free placements. A (joint) configuration 𝒑 of A and B is represented as a pair 𝒑=(pA,pB)𝒲×𝒲, where pA and pB are the placements of A and B, respectively. The configuration space, called C-space for short, is the set of all configurations, and is thus represented as 𝒲×𝒲4. A configuration 𝒑=(pA,pB)4 is called free if pA,pB and ||pApB||1. Let 𝑭× denote the four-dimensional free space, comprising the set of all free configurations.

Let 𝒔=(sA,sB) be a given source configuration and let 𝒕=(tA,tB) be a given target configuration. An (𝐬,𝐭)-plan is a continuous function 𝝅:[0,T]𝒲×𝒲, for some T0, with 𝝅(0)=𝒔 and 𝝅(T)=𝒕. The image of 𝝅 is a continuous curve in the C-space, referred to as an (𝐬,𝐭)-path. With a slight abuse of notation, we use 𝝅 to denote its image as well. If 𝝅𝑭 we say that 𝝅 is feasible, and if there exists a feasible (𝒔,𝒕)-plan we say that the pair (𝒔,𝒕) is reachable. For a plan 𝝅:[0,T]𝒲×𝒲, let πA:[0,T]𝒲 and πB:[0,T]𝒲 be the projections of 𝝅 onto the two-dimensional plane spanned by the first two coordinates and the last two coordinates, respectively. The functions πA and πB specify the motions of A and B that 𝝅 induces, that is, 𝝅(λ)=(πA(λ),πB(λ)) for all λ[0,T]. Again, with a slight abuse of notation, we also use πA and πB to denote the paths followed by A and B, respectively. We define two versions of optimal motion planning.

  • Min-Sum. For a path γ in 𝒲, let γ denote its 1-length. We define 𝝅, the cost of an (𝒔,𝒕)-plan 𝝅, by 𝝅:=πA+πB, that is, 𝝅 is the sum of the 1-lengths of the paths of the two robots. The problem is to decide whether a given pair 𝒔,𝒕𝑭 is reachable, and, if so, compute a minimum-cost feasible (𝒔,𝒕)-plan. As explained later, we can restrict our attention to rectilinear paths because we work with the 1-metric inside a rectilinear environment.

  • Min-Makespan. We define the makespan of an (𝒔,𝒕)-plan 𝝅:[0,T]𝒲×𝒲, denoted by ¢(𝝅), to be T. The problem is to decide for a given pair 𝒔,𝒕𝑭 if (𝒔,𝒕) is reachable and, if so, compute a feasible (𝒔,𝒕)-plan that minimizes the makespan under the condition that the maximum speed of each robot is at most 1. Note that we do not require the (𝒔,𝒕)-plan to be C1 continuous, so the speed of A or B may instantaneously change from 0 to 1, and the robots may take sharp turns.

Both variants of the optimal motion planning problem are interesting in their own right. The first minimizes the total work done by the robots, while the second minimizes the total time taken until both robots have reached their destination.

Related work.

It is beyond the scope of this paper to review the known results on motion-planning algorithms; for an overview of key results, we refer the reader to recent books and surveys on the topic [22, 23, 30, 31, 7, 33]. We mention here only a small sample of results – ones that are most closely related to the problem at hand.

Computing an optimal motion plan for a single translating square robot, or more generally for a single convex polygonal translating robot with a constant number of vertices, is equivalent – through C-space formulation – to computing a shortest path for a point robot amid polygonal obstacles with O(n) vertices, and it can be solved in O(nlogn) time [16, 25, 44]. If the robot is allowed to rotate, the problem becomes much harder and it is NP-hard in some cases [10, 9, 34, 1]. Computing the shortest path for a point robot amid polyhedral obstacles in 3 is NP-hard [15], and fast (1+ε)-approximation algorithms are known [17, 5].

Computing a feasible (not necessarily optimal) plan for a team of translating unit square robots in a polygonal environment is PSPACE-hard [38]; see [13, 14, 24, 26, 41, 46] for related intractability results. Notwithstanding a rich literature [18, 33, 36, 42, 43] on multi-robot motion planning, little is known about algorithms for computing plans with provable quality guarantees. Even in the absence of obstacles, computing the min-sum motion plan for two unit squares/disks is non-trivial under the 2-metric [21, 29]. Variants with more than two robots in a setting without obstacles have been studied as well [19, 20, 27]. Recently, Agarwal et al. [4] presented the first polynomial-time approximation algorithm for the min-sum motion-planning problem for two squares that computes an (1+ε)-approximate solution in εO(1)n2logn time (under both the 1- and 2-metrics). They leave it as an open problem whether an optimal plan in this case can be computed in polynomial time. Approximation algorithms have been proposed for min-sum multi-robot motion planning under the assumption that the source and target positions of robots are separated from each other and from the obstacles [3, 37, 40]; see also  [2, 11]. There is also work on the unlabeled version of the problem, where each robot can end up at any of the (collective) target positions, as long as all of the target positions are occupied by robots at the end of the motion. Finally, we remark that sampling-based approaches have been proposed for optimal multi-robot motion planning [18, 28, 36, 39]; and that there is extensive work on the discrete version of the problem, where robots are moving on graphs; see e.g., [7, 42] for recent surveys.

Our contributions.

Our main result is that Min-Sum is in P, while Min-Makespan is NP-hard. This is stated in the two following theorems.

Theorem 1.

Let 𝒲 be a closed rectilinear polygonal environment with n vertices, let A,B be two axis-parallel unit-square robots translating inside 𝒲, and let 𝐬,𝐭 be source and target configurations of A,B. We can compute an optimal min-sum motion plan from 𝐬 to 𝐭 under the 1-metric, or determine that no feasible motion exists, in O(n4logn) time.

Theorem 2.

Let 𝒲 be a closed rectilinear polygonal environment with n vertices, let A,B be two axis-parallel unit-square robots translating inside 𝒲, let 𝐬,𝐭 be source and target configurations of A,B, and let Tmax be a given maximum time. It is NP-hard to determine whether there is a feasible (𝐬,𝐭)-plan 𝛑 such that the maximum speed of each robot is at most 1 and the makespan of 𝛑 is at most Tmax.

We prove Theorem 2 by a reduction from the Partition problem, which is to decide whether a given set Y of integers admits a partition into subsets YA,YB such that yiYAp=yiYBq. The idea of the reduction is to build a workspace 𝒲 that consists of gadgets 𝒲1,,𝒲m, each corresponding to an element of Y and to choose a parameter μ0, so that both robots must pass through every gadget and there is a plan with makespan at most μ if and only if there is a valid partition of Y. See Figure 1.

Figure 1: The workspace created for a set Y={y1,,y4}. The paths shown for the two robots correspond to the partition YA={y1,y4} and YB={y2,y3}. The black areas are obstacles, and the red/blue regions are the areas swept by the two robots. The detour made by a robot in a gadget 𝒲i when it goes via the top (for A) or bottom (for B) of the gadget, is equal to yi. Hence, a solution with certain makespan can only be achieved if there is an equal partition of Y.

Our main technical contribution is a polynomial-time exact algorithm for Min-Sum, as stated in Theorem 1. The crucial step toward designing this algorithm is to prove the existence of an optimal plan that is a canonical-grid plan, in which the path followed by each robot lies on an O(n)×O(n) non-uniform predefined grid; see Theorem 4.

For a single robot translating in a rectilinear environment in 2, it is well known that there is an optimal path, under the 1-metric, on the grid defined by the horizontal and vertical lines through the source and target positions and the lines containing the edges of the free space  [32]. For a pair of robots, the existence of an optimal plan on a suitably defined grid seems intuitive as well. Indeed, consider an optimal plan 𝝅(𝒔,𝒕). As argued in Section 2, we can assume each robot follows a rectilinear path (in ) under the plan 𝝅. Imagine trying to push a horizontal (resp. vertical) segment of πA to a horizontal (resp. vertical) line of the (nonuniform) grid formed by the lines supporting the edges of or the lines at distance 1 from . It may happen that we fail to push the segment onto the grid because robot B is blocking it. The hope is that we can continue to push the segment of πA and push the appropriate segment of πB in the same direction – essentially A is pushing B out of the way – until B hits 𝒲– without increasing the total cost. Thus, we have pushed a segment of πB onto a line containing an edge of  and the segment of πA onto a line at distance 1 from that line. Making this idea work is highly nontrivial, though. For instance, we must choose the direction into which we push a specific segment of πA in such a way that πA does not increase, but this may force us to push πB in such a way that πB increases. This is further complicated by the fact that B may be on different sides of a segment of πA at different moments in time. Finally, a major complication is that pushing (a segment of) one robot onto a line at distance i from an edge of , so that its length does not increase, may cause the other robot to end up on a line at distance i+1 from this edge, and this may cause a cascading effect so that the final grid will be too large.

To overcome these issues, we combine local pushing operations with global re-routing operations in such a way that the transformed paths lie on lines at distance 0, 1, or 2 from the edges of . These operations may increase the length of one path, but we prove that whenever this happens, the length of the other path decreases by at least the same amount. Thus we obtain an optimal plan that lies on a grid of size O(n)×O(n) and is still optimal.

After having established the existence of an optimal canonical-grid plan, we show that we can construct a 4-dimensional weighted grid graph 𝒢=(𝒱,), with 𝒔,𝒕𝒱, of size O(n4), in 𝑭 such that a shortest (𝒔,𝒕)-path in 𝒢 corresponds to a min-sum (𝒔,𝒕)-plan.

2 A polynomial-time algorithm for Min-Sum

This section describes a polynomial-time algorithm for Min-Sum. We first define a canonical-grid plan in Section 2.1 – an (𝒔,𝒕)-plan where both robots move on a predefined O(n)×O(n) nonuniform grid – and claim that for any reachable pair 𝒔,𝒕𝑭, there exists an optimal (𝒔,𝒕)-plan that is a canonical-grid plan. In Section 2.2 we give a high-level overview of the proof of this claim; a more detailed sketch of the proof is deferred to Section 3. Finally, we describe our algorithm in Section 2.3.

2.1 Canonical-grid plans

Rectilinear, decoupled plans.

Since 𝒲 is a rectilinear environment and A,B are squares, it is easily seen that 𝑭 is a polyhedral region. Hence, if there is a feasible (𝒔,𝒕)-plan, then there is a piecewise-linear optimal (𝒔,𝒕)-plan, that is, an optimal plan whose image is a polygonal chain in 𝑭 [4]. We thus focus on piecewise-linear plans. We refer to the vertices of such a plan as breakpoints. For a path 𝝅=(πA,πB), the breakpoints of πA and πB are the projections of the breakpoints of 𝝅.

An (𝒔,𝒕)-plan 𝝅 is decoupled if only one robot moves at any given time; the other robot is then parked somewhere in the free space. A decoupled plan can be represented as a sequence of moves, with each move specifying the parking location of one robot and the motion of the other robot. By definition of breakpoints, each parking spot of A (resp. B) is a breakpoint of πA (resp. πB). Agarwal et al. [4] proved that for any pair 𝒔,𝒕 of reachable configurations, there is an optimal (𝒔,𝒕)-plan that is decoupled. Since only one robot moves at a time, the parked robot can be considered as a rectilinear obstacle during the move, and (since we measure path length in the 1-metric) we can ensure that each robot follows a rectilinear path in in each move. We refer to such a plan as a rectilinear plan. The breakpoints of πA and πB in a rectilinear plan 𝝅=(πA,πB) are the parking spots of A and B and the points at which they switch between horizontal and vertical segments. We conclude the following.

Proposition 3.

For any reachable pair of configurations 𝐬,𝐭𝐅, there is an optimal (𝐬,𝐭)-plan that is rectilinear and decoupled.

The canonical grid.

For an integer i0, we define an i-line to be a horizontal or vertical line  that lies at distance i from an edge of parallel to , or that lies at distance i from one of the points sA,sB,tA,tB. Note that 0-lines support an edge of or pass through one of the points sA,sB,tA,tB. Let Li denote the set of all i-lines, and set Li:=j=0iLj. We will be mostly interested in L2. The arrangement [6] of L2, denoted by 𝒜(L2), is the subdivision of 2 induced by L2. Since each edge of is contained in a 0-line, each face of 𝒜(L2) is a rectangle that is either contained in or disjoint from . The vertices and edges of 𝒜(L2) form a planar grid graph. Let G=(V,E) denote the subgraph of this graph that lies in , that is, V and E are the sets of vertices and edges, respectively, of 𝒜(L2) that lie in . Note that |V|=O(n2) and |E|=O(n2). We refer to G as a grid, to a vertex of V as a grid point, to an edge of E as a grid edge, and to a line of L2 as a grid line. We call a rectilinear, decoupled (𝒔,𝒕)-plan 𝝅=(πA,πB) a canonical-grid plan if each breakpoint of πA and πB is a grid point. Thus each segment of the path is the union of a number of consecutive collinear grid edges. By definition, each parking spot of A or B in a canonical-grid plan is a grid point. Our main technical result is the following theorem.

Theorem 4.

Let 𝒲 be a closed rectilinear polygonal environment with n vertices, let A,B be two axis-parallel unit-square robots translating inside 𝒲. For a reachable pair of configurations (𝐬,𝐭), there is an optimal (𝐬,𝐭)-plan that is a canonical-grid plan.

2.2 Converting an optimal plan to a canonical-grid plan

We give an overview of how we convert an optimal (𝒔,𝒕)-plan 𝝅 to an optimal (𝒔,𝒕)-plan that is a canonical-grid plan. By Proposition 3, we can assume 𝝅 is rectilinear and decoupled.

Alternating plans.

We assume that πA alternates between vertical and horizontal segments; hence, each breakpoint of πA is incident on a horizontal and a vertical segment and is thus a vertex of πA. This alternation property for πA can be ensured by adding zero-length segments at breakpoints where necessary. The alternation property, which we also assume for πB, implies that all parking spots of A and B lie on the vertices of their respective paths.

We convert 𝝅 into a canonical-grid plan in two phases: the first phase modifies the plan 𝝅 such that all horizontal segments of πA and πB lie on grid lines, and the second phase does the same for the vertical segments. Here we describe the first phase; the second phase proceeds analogously, with the roles of the x and y-axis exchanged.

The first phase.

We define a bad horizontal segment to be a horizontal segment on πA or πB that does not lie on a grid line. As long as 𝝅 contains a bad horizontal segment e, we modify 𝝅 into a new plan 𝝅=(πA,πB) so that the following conditions are satisfied:

  • (P1) Feasibility: The new plan 𝝅 is feasible.

  • (P2) Optimality: The cost of the plan does not increase, that is, 𝝅𝝅.

  • (P3) Progress: The plan 𝝅 has at least one fewer bad horizontal segment than 𝝅.

  • (P4) Vertical alignment: Any vertical segment of πA is collinear with a vertical segment of πA or πB, or it is contained in a vertical grid line; and the same holds for any vertical segment of πB.

  • (P5) Alternation: 𝝅 is an alternating, rectilinear, decoupled plan.

The Progress property guarantees that by applying the procedure finitely many times, starting with the optimal plan 𝝅, we obtain a plan without bad horizontal segments. The Feasibility and Optimality properties imply that 𝝅 is an optimal (𝒔,𝒕)-plan. Furthermore, the Alternation property implies that 𝝅 is also a rectilinear, decoupled, alternating plan, so we can indeed apply the procedure iteratively.

After eliminating all bad horizontal segments in the first phase, we eliminate all bad vertical segments in the second phase. The Vertical Alignment property, which in the second phase applies to horizontal segments, guarantees that the horizontal segments are not moved off the grid in the second phase. So, all segments of 𝝅 lie on grid lines, and since 𝝅 is alternating, its breakpoints therefore lie on grid points. Hence, at the end of the second phase, we obtain an optimal, canonical-grid plan.
Note: Our transformation of the original plan 𝝅 into a 𝝅 satisfying (P1)–(P5) is done via several intermediate steps. When describing these steps, we typically denote, with a slight abuse of notation, the current plan by 𝝅 and the next plan by 𝝅.

Corridors.

To be able to push bad horizontal segments onto horizontal grid lines without creating a cascading effect, we classify the horizontal grid lines into two classes: primary grid lines, which are the horizontal 0- and 1-lines, and secondary grid lines, which are the horizontal 2-lines. Let hor() be the subdivision of  induced by the primary grid lines; see Figure 2.

Figure 2: The 0-lines and 1-lines define hor(), the subdivision of into corridors. To avoid cluttering the figure, the start and target configurations and the grid lines they define are omitted.

Each face of hor() is a rectangle because every vertex of is contained in a horizontal 0-line. We refer to the faces of hor() as corridors. Note that the interior of a corridor may be intersected by secondary grid lines.

By definition, (the relative interior of) every bad horizontal segment lies in the interior of a corridor. At each step, we pick a bad segment e, say of πA. We perform surgery on πA and πB so that e is aligned with one of the horizontal edges of the corridor R containing e, and so that the resulting plan 𝝅 satisfies (P1)–(P5). The surgery and its proof of correctness are quite delicate because the topology of in the neighborhood of R can be complex.

2.3 Computing an optimal canonical-grid plan

The configuration graph.

Let G=(V,E) be the canonical grid described in Section 2.1. We construct an edge-weighted configuration graph 𝒢=(𝒱,) with weight function w:0 whose nodes correspond to free configurations 𝒖𝑭. More precisely,

𝒱:={𝒖=(uA,uB)V×V:uAuB1}.

By construction, 𝒔,𝒕𝒱. The set of edges of the configuration graph is defined as

:={(𝒖,𝒗)𝒱×𝒱:(uA=vA and (uB,vB)E) or (uB=vB and (uA,vA)E)}.

An edge ((p,uB),(p,vB)) corresponds a move in which robot A is parked at p while robot B moves from uB to an adjacent grid point vB. Similarly, an edge ((uA,q),(vA,q)) corresponds to a move in which A moves from a grid point uA to an adjacent grid point vA while B is parked at q. (We can prove that such moves are feasible.) The weight of an edge (𝒖,𝒗) is defined to be w(𝒖,𝒗):=𝒖𝒗, which is the 1-distance between 𝒖 and 𝒗 in 4.

The algorithm.

We first compute in O(nlogn) time in a standard manner [12, Chapter 13]. Next, we compute L2 in O(n) time and then compute the grid graph G in O(n2logn) time using a sweep-line algorithm. After computing G, we compute the configuration graph 𝒢 in O(n4) time. Finally, we compute a shortest path from 𝒔𝒱 to 𝒕𝒱 in 𝒢 in O(n4logn) time using Dijkstra’s algorithm. If we find that no path from 𝒔 to 𝒕 exists in 𝒢, we report the instance to be infeasible, otherwise we return the (𝒔,𝒕)-plan corresponding to the shortest path in 𝒢. The total run time is O(n4logn). This completes the proof of Theorem 1.

3 Existence of an optimal canonical-grid plan

Let 𝝅 be an optimal plan that contains a bad horizontal segment e, say of πA. Let R=Ix×Iy where Ix=[xR,xR+] and Iy=[yR,yR+], be the corridor that contains e. This section describes how to modify 𝝅 so that e becomes aligned with a grid line and the resulting plan satisfies (P1)–(P5). We begin by introducing some notation. For an axis-aligned rectangle ρ=δx×δy, let top(ρ) and bot(ρ) be the top and bottom edge of ρ, respectively, and let 0pt(ρ):=|δy| denote its height. For 0μ1μ2, let 𝝅[μ1,μ2] denote the subplan of 𝝅 (or its image) during the closed interval [μ1,μ2], and let 𝝅(μ1,μ2) denote the subplan during the open interval (μ1,μ2). We define πA[μ1,μ2] and πA(μ1,μ2), and πB[μ1,μ2] and πB(μ1,μ2), in the same manner. For a horizontal segment g, let y(g) be its y-coordinate, and for a point p let px and py denote its x- and y-coordinates.

Let [λ,λ′′] be the time interval associated with e; thus e=πA[λ,λ′′]. We now define two critical time values related to the bad segment e:

λ1=max{λ<λπA(λ)top(R)bot(R)}, and (1)
λ2=min{λ>λ′′πA(λ)top(R)bot(R)}.

Thus, πA(λ1) (resp. πA(λ2)) is the last (resp. first) point on πA before (resp. after) e at which A lies on a horizontal edge of R. Note that eπA(λ1,λ2)R(top(R)bot(R)) and that πA(λ1,λ2) may touch a vertical edge of R. The goal of our surgery is to push πA[λ1,λ2] to top(R) or bot(R) to align it with a grid line. This may cause collisions with πB[λ1,λ2], so we have to proceed carefully. Sometimes we push part of πA[λ1,λ2] to top(R) and part to bot(R), and in one case we even modify the paths outside the interval [λ1,λ2]. In all cases, we resolve the collisions by pushing B out of the way, without increasing the overall length of the paths.

In the remainder of this section, we sketch the ideas underlying our pushing strategy. We first define a neighborhood of R, called the influence region of R and denoted by (R), and prove a few key properties of (R). Next, we define unsafe and swap time intervals, subintervals of [λ1,λ2] during which the surgery on 𝝅 requires more care, and we state the crucial structural properties of an optimal plan during these intervals. With these properties at our disposal, we describe the surgery and give some ideas about the correctness proof. Before proceeding, we state a simple but important property of that we will use repeatedly.

Observation 5.

For any axis-aligned line , the length of each connected component of is more than 1. Consequently, for any axis-aligned segment pq of length at most 1 such that p,q, we have pq.

Figure 3: An overview of the various regions inside R (not to scale). The regions Z,Z,Z+ partition R. Corner squares are yellow.

The influence region.

Let be the unit square as defined in Section 1. Let R:=R2. Thus, R=Ix×Iy where Ix:=[xR1,xR++1] and Iy:=[yR1,yR++1]. For any pair p,q2, if pR and (p+)(q+), then qR. Next, we define two different extensions of R that play a role in our analysis; see Figure 3. Let R:=Ix×Iy, that is, R is obtained by extending R by unit length to the left and to the right. Similarly, R:=Ix×Iy is the extension of R by unit length in the upward and downward directions. Observe that R(RR) consists of four semi-open unit squares, which we refer to as the corner squares of R. Finally, we define Z=Ix×[yR+1,yR+1], and Z=Ix×[yR1,yR+1), and Z+=Ix×(yR+1,yR++1]. Note that 0pt(Z)=1+δ and 0pt(Z)=0pt(Z+)=1δ. The closures of Z,Z+ are translates of R by distance 1 in the y-direction, and Z,Z,Z+ is a partition of R. Since no primary grid line of L1 intersects int(R), the regions Z+ and Z do not contain any vertices of . By Observation 5, the connected components of Z+ and Z are therefore rectangles, and R is an x-monotone rectilinear polygon.

We define the influence region of R to be (R):=R. For λ[λ1,λ2], if πB(λ)(R) then πA(λ) can be pushed to top(R) or bot(R) without colliding with B, so we have to worry about subintervals of [λ1,λ2] during which πB lies in (R). As illustrated in Figure 4, the influence region (R) may consist of several connected components: a giant component γ(R) that contains R, and several tiny components, each of which lies inside a corner square of R. Tiny components are xy-monotone by Observation 5. Note that the giant component may intersect the corner squares. In particular, let ρ be a corner square that lies, say, to the left of R. By Observation 5, there is at most one connected component ϕ of ρ adjacent to the right edge of ρ. If such a component ϕ exists, then ϕ=ργ(R) and (like the tiny components) ϕ is xy-monotone. Other components of ρ are tiny components of (R). Let ρ,ρ be two corner squares on the same side of R. If both ρ and ρ have non-empty connected components inside γ(R), denoted by ϕ and ϕ respectively, then we refer to pairs of points in ϕ×ϕ as blocked pairs. The next lemma states the significance of blocked pairs.

Lemma 6.

Let p,q be two points lying in the same connected component of (R). Then the shortest paths from p to q in are x-monotone if and only if p,q is not a blocked pair.

Thus, if πB[λ1,λ2] contains a blocked pair, then the surgery of 𝝅 and the proof of its correctness become significantly harder.

Unsafe and swap intervals.

Figure 4: (i) An example influence region within R (not to scale), with the giant component γ(R) drawn in green, and tiny components in the corner squares in yellow. (ii) Example of tiny components in a corner square, with obstacles in dark gray and the forbidden space in light gray.

We next define critical subintervals of the time interval [λ1,λ2] during which the surgery of 𝝅 requires more care, and then prove some structural properties of 𝝅 during these intervals. Again, we begin with a few definitions. A configuration 𝒑=(pA,pB) is called x-separated if |(pA)x(pB)x|1 and y-separated if |(pA)y(pB)y|1. We say that two x-separated configurations 𝒑,𝒒 have the same x-order if sign((pA)x(pB)x)=sign((qA)x(qB)x); otherwise the x-order is swapped. An interval [ν1,ν2] is called x-separated if 𝝅(ν1) and 𝝅(ν2) are both x-separated. Note that this definition does not require that 𝝅(ν) is x-separated for all ν[ν1,ν2].

Definition 7.

An interval [ν1,ν2][λ1,λ2] is unsafe if

  1. (i)

    [ν1,ν2] is a maximal interval such that πB(ν)(R) and 𝝅(ν) is y-separated for all ν[ν1,ν2]; and

  2. (ii)

    there is a time ν[ν1,ν2] such that 𝝅(ν) is not x-separated.

For any unsafe interval [ν1,ν2], either robot B lies above A throughout the interval – that is, πB(ν)yπA(ν)y for all ν[ν1,ν2] – or B lies below A throughout the interval. Indeed, the robots cannot change their y-order during an unsafe interval, because they must remain y-separated. If an endpoint νi{ν1,ν2} is not x-separated then either νi=λi or πB(νi)(R). An important type of unsafe interval is the so-called swap interval, as defined next.

Definition 8.

A swap interval is an x-separated unsafe interval such that the x-orders at 𝛑(ν1) and 𝛑(ν2) are swapped.

Roughly speaking, the roles of unsafe and swap intervals are as follows. If a time λ[λ1,λ2] does not lie in an unsafe interval, translating πA(λ) vertically within R does not cause a conflict with πB(λ) because 𝝅(λ) is x-separated or πB(λ)(R). If an unsafe interval is not x-separated, we show that we can modify πB to avoid conflicts after translating πA(λ) vertically without increasing the length of πB. We prove the following crucial property of x-separated unsafe intervals using Lemma 6. Suppose λ,μ[λ1,λ2] are the endpoints of x-separated unsafe intervals, not necessarily endpoints of the same unsafe interval, such that λ<μ and 𝝅(λ),𝝅(μ) have the same x-order. If πB(λ), πB(μ) lie in the same component of (R) and are not a blocked pair, then we can obtain another feasible plan 𝝅[λ,μ] by re-parametrizing 𝝅[λ,μ] such that the configuration 𝝅(ν) is x-separated for all ν[λ,μ]. Thus, we can eliminate all such unsafe intervals during [λ,μ] and push πA[λ,μ] vertically to top(R)bot(R) as above.

Hence, the challenging case is to perform surgery when [λ1,λ2] contains a swap interval. We keep the situation under control using Lemma 9, which bounds the number of swap intervals and which relies on the above property of x-separated unsafe intervals. The proof of this lemma is involved and needs a sequence of intermediate lemmas; see the full version.

We say that a modification 𝝅 of 𝝅 is compliant if the Feasibility (P1), Optimality (P2), Vertical alignment (P4) and Alternation (P5) properties hold, and all bad segments of 𝝅 are either present in 𝝅 or are a segment of πA[λ1,λ2].

Lemma 9.

Let 𝛑 be an optimal (𝐬,𝐭)-plan, let e be a bad horizontal segment on πA, and let [λ1,λ2] be as defined in (1). Then there is a compliant modification 𝛑 of 𝛑 such that any unsafe x-separated interval is a swap interval with the following properties.

  1. (i)

    The plan 𝝅[λ1,λ2] has at most one swap interval with B above A and at most one swap interval with B below A.

  2. (ii)

    If 𝝅[λ1,λ2] has two swap intervals [μ0,μ1] and [μ2,μ3], then (R) is connected, πB[λ1,λ2] contains a blocked pair, and 𝝅B[μ0,μ3] leaves (R).

We now describe the surgery we perform on πA and πB to align a given bad horizontal segment e of πA with a grid line. The surgery consists of a sequence of one or more Push operations, described below, which push a part of πA or πB vertically onto a grid line. Let 𝝅 denote the (modified) plan after the surgery.

The Push procedure.

A Push operation takes three parameters: a robot X{A,B}, a time interval I=[μ1,μ2], and a y-coordinate y of a horizontal grid line – a line from the set L2 – and it pushes the subpath πX[I] onto the grid line :y=y. More formally, the new plan 𝝅X resulting from the operation Push(X,I,y) is obtained by setting

πX(μ)x:=πX(μ)x for all μ, and πX(μ)y:={y if μI,πX(μ)yotherwise.

Thus a Push operation only changes the y-coordinates on the subpath πX[I]. The exact surgery – the values of the parameters X,I,y used in the Push operations that we perform – depends on the location of πA(λ1), the set of unsafe and swap intervals during [λ1,λ2], and the position of B during the swap intervals, as explained later.

A Push operation may have two side effects that we need to address. First, Push(X,I,y) may introduce a discontinuity at μ1 and/or μ2, the endpoints of I.

Figure 5: (i) Example of a corridor R, the surrounding lines and areas within R+2. (ii) The modification in Case I. The original paths are shown in pink and light blue. The light-blue disks mark the endpoints of a swap interval on πB.

In other words, for μ{μ1,μ2} we may have p(μ)p+(μ), where p(μ):=limλμπX(λ) and p+(μ):=limλμπX(λ). This happens when πX(μ)πX(μ). We can resolve the discontinuity by adding the vertical segment p(μ)p+(μ), called a ghost segment, to πX to make the path continuous, and by re-parametrizing the motion along the ghost segments so that the resulting motion plan is feasible. The second side effect of pushing πX[I] to πX[I] is that X may collide with the other robot during the interval I. When this happens we perform a set of secondary pushes, as described later.

The overall surgery.

Without loss of generality, we assume that πA(λ2)top(R). Our modification of 𝝅 into 𝝅 follows three main cases:

  • Case I: πA(λ1)top(R).
    We perform one push operation: Push(A,[λ1,λ2],y(top(R))); see Figure 5(ii).

  • Case II: πA(λ1)bot(R). Furthermore, either there is at most one swap interval, or there are two swap intervals and πB lies above πA during the first swap interval.
    In this case, we pick λ¯[λ1,λ2] suitably and perform two push operations:
    Push(A,[λ1,λ¯],y(bot(R))) and Push(A,[λ¯,λ2],y(top(R))). Thus, robot A moves along bot(R) from time λ1 to λ¯, and then it switches to moving along top(R) until time λ2.

    Figure 6: The modifications in the subcases of Case II. The original paths are shown in pink and light blue. In all cases, πA jumps to top(R) at a suitable time λ¯. (i) The modification in Case II(a). λ¯ is the moment when 𝝅 enters the last y-separated interval. (ii) The modification in Case II(b). λ¯=μ1 is the moment when 𝝅 enters the swap interval with B below A. (iii) The modification in Case II(c). λ¯=μ2 is the moment when 𝝅 leaves the swap interval with B above A.

    We have three subcases for the choice of λ¯, illustrated in Figure 6.

    • Case II(a): There are no swap intervals. If every configuration in 𝝅[λ1,λ2] is y-separated, then either B lies below A, or above A, during the entire interval [λ1,λ2]. If B lies below (resp. above) A during [λ1,λ2], set λ¯=λ1 (resp. λ¯=λ2). On the other hand, if there is a configuration in 𝝅[λ1,λ2] that is not y-separated, set λ¯:=sup{λ[λ1,λ2]:𝝅(λ) is not y-separated}.

    • Case II(b): There is one swap interval and πB is below πA during this swap interval. Let [μ0,μ1] be this swap interval. Set λ¯:=μ0.

    • Case II(c): There is at least one swap interval and πB lies above πA during the first one. Let [μ0,μ1] be this swap interval. Set λ¯:=μ1.

  • Case III: πA(λ1)bot(R) and there are exactly two swap intervals, and πB lies below πA the during the first swap interval.
    Let [μ0,μ1] and [μ2,μ3] be the two swap intervals, with μ1<μ2. Since all configurations in 𝝅[μ0,μ1] are y-separated and B lies below A during [μ0,μ1], the path πB[μ0,μ1] lies in a connected component of Z, which is a rectangle Q. We prove that πB[μ0,μ1] is contained in a rectangle QQ of the subdivision of induced by the lines of L0. Let [ν0,ν1] be the maximal interval containing [μ0,μ1] such that πB(ν0,ν1)int(Q). The push operations depend on which of πB(ν0),πB(ν1) lie on top(Q).

    • Case III(a): πB(ν0)bot(Q) and πB(ν1)top(Q). We perform two push operations, Push(A,[λ1,λ2],y(bot(R))) and Push(B,[ν0,μ1],y(bot(Q))).

    • Case III(b): πB(ν0)top(Q) and πB(ν1)bot(Q). Symmetric to the previous case.

    • Case III(c): πB(ν0),πB(ν1)top(Q). Again, we perform two push operations. The first is Push(A,[λ1,λ2],y(top(R))). (Note that, unlike in the previous two subcases, we pushed A to top(R) instead of bot(R).) Recall that πB[μ0,μ1]Z, and let [ρ0,ρ1][μ0,μ1] be the maximal interval such that πB[ρ0,ρ1] lies on or below the horizontal line :y=y(top(R))1 that contains top(Z). The second push operation is Push(B,[ρ0,ρ1],y(top(R))1).

    • Case III(d): πB(ν0),πB(ν1)bot(Q). We argue that this case does not occur.

Figure 7: The modifications in the subcases of Case III. The original paths are shown in pink and light blue. (i) In Case III(a) we push πA[λ1,λ2] onto bot(R), and we push πB[ν0,μ1] onto y(bot(Q)). (ii) In Case III(b) we also push πA[λ1,λ2] onto bot(R), and we push πB[λ1,ν1] onto y(bot(Q)). In this example, we have μ0=λ1. (iii) In Case III(c) we push πA[λ1,λ2] onto top(R), and we push πB[ρ0,ρ1] onto top(R)1. We also have a secondary push, namely πB[μ2,μ3] onto top(R)+1.

Secondary pushes.

After applying the above surgery, we possibly apply secondary pushes to πB, as follows. For every unsafe interval [ν1,ν2], if there is a time ν[ν1,ν2] such that πA(ν) conflicts with πB(ν), then we execute Push(B,(ν1,ν2),y) , where

y:={y(top(R))+1if πB(ν)y>πA(ν)y,y(bot(R))1if πB(ν)y<πA(ν)y. (2)

Correctness proof (sketch).

To prove the correctness of the surgery, we need to prove that the new plan has properties (P1)–P(5). The proofs of (P3)–(P5) are not difficult – they are essentially satisfied by construction. The proof of Feasibility (P1) for the surgery performed in Cases (I) and (II) is not hard either, but it is highly nontrivial for Case (III) because πB might get modified beyond the interval [λ1,λ2], e.g. during the interval [ν0,μ1] with ν0<λ1 in Case III(a) or during the interval [ρ0,μ1] in Case III(c). Since A might not lie in R during [ν0,μ1] (or [ρ0,μ1]), we have to prove that the modified plan 𝝅 during the interval [ν0,λ1] (or [ρ0,λ1]) remains feasible. We can prove the feasibility of 𝝅[ν0,λ1] in Case III(a) by showing that if 𝝅[ν0,λ1] were not feasible then 𝝅 would not have been an optimal plan. We prove the feasibility of 𝝅[ρ0,μ1] in Case III(c) by showing the existence of an optimal plan with additional structural properties, performing a compliant modification on 𝝅, if necessary, to ensure these properties, and arguing that these properties ensure that 𝝅[ρ0,μ1] is feasible. Finally, we need to prove Optimality (P2) of the modified path, which is also nontrivial because the surgery may increase the length of one of the paths. To illustrate this, we show that the surgery in Case I does not increase the total length of the plan, even though it may increase the length of the plan of robot A.

Lemma 10.

The modification in Case I yields a plan 𝛑 that is optimal.

Proof.

By construction, πA[λ1,λ2]πA[λ1,λ2]. If πB remains unchanged then trivially 𝝅𝝅, so assume there is an unsafe interval [ν1,ν2] in which πB lies in Z+ and is pushed to top(R). If 𝝅(ν1) is not x-separated then either ν1=λ1 or πB enters (R) through top(R). (It cannot enter through the right or left edge of R, because then 𝝅(ν1) would be x-separated.) Since πA(λ1)top(R), we have πB(ν1)top(R) if ν1=λ1; this is true since 𝝅(ν) is y-separated for all ν[ν1,ν2]. Hence, if 𝝅(ν1) is not x-separated then πB(ν1)y=yR++1. Since πB is pushed to top(R) during [ν1,ν2], we prove that this push procedure does not increase the length of the path of B. The same holds if 𝝅(ν2) is not x-separated. Hence, 𝝅 is still optimal in these cases.

Now assume that both 𝝅(ν1) and 𝝅(ν2) are x-separated. By Lemma 9, we know that [ν1,ν2] is a swap interval. Since there is at most one swap interval with B above A, by Lemma 9, there is at most one swap interval [ν1,ν2] during which πB is modified. Pushing B to top(R) during [ν1,ν2] increases πB by at most the total length of the ghost segments g(ν1) and g(ν2), which is 2yR++2πB(ν1)yπB(ν2)y. Pushing A to top(R) during [ν1,ν2] decreases the length of its path by at least 2yR+πA(ν1)yπA(ν2)y. By definition, the configurations 𝝅(νi) are y-separated for i=1,2, so πB(νi)yπA(νi)y1. Hence,

𝝅𝝅 (2yR+πA(ν1)yπA(ν2)y)(2yR++2πB(ν1)yπB(ν2)y)
=(πB(ν1)yπA(ν1)y1)+(πB(ν2)yπA(ν2)y1)0.

We thus conclude that 𝝅 is optimal. Omitting further details of the correctness, we conclude that Theorem 4 holds, which is the crucial ingredient for Theorem 1. This concludes our sketch of the proof of our main result.

4 Conclusion

We presented an O(n4logn) algorithm to compute a plan of minimum total length for two unit squares in a rectilinear environment; this is the first polynomial algorithm for 2-robot optimal motion planning in a polygonal environment. In contrast, we showed that minimizing the makespan is weakly NP-hard. We conclude with some open problems:

  • Can the runtime of our algorithm for the Min-Sum problem be improved to O(n2logn)? Can our algorithm be extended to k unit squares with nO(k) runtime?

  • Is the Min-Sum problem for two squares in a general polygonal environment in 𝖯?

  • Is there a pseudo-polynomial-time algorithm for the Min-Makespan problem for two unit squares translating in a rectilinear environment?

References

  • [1] Mohammad Ali Abam and Mohammad Ghodsi. An approximation algorithm for d1-optimal motion of a rod robot with fixed rotations. Int. J. Comput. Math., 83(3):357–370, 2006. doi:10.1080/00207160600847787.
  • [2] Aviv Adler, Mark de Berg, Dan Halperin, and Kiril Solovey. Efficient multi-robot motion planning for unlabeled discs in simple polygons. IEEE Trans. Autom. Sci. Eng., 12(4):1309–1317, 2015. doi:10.1109/TASE.2015.2470096.
  • [3] Pankaj K. Agarwal, Tzvika Geft, Dan Halperin, and Erin Taylor. Multi-robot motion planning for unit discs with revolving areas. Comput. Geom., 114:102019, 2023. doi:10.1016/j.comgeo.2023.102019.
  • [4] Pankaj K. Agarwal, Dan Halperin, Micha Sharir, and Alex Steiger. Near-optimal min-sum motion planning for two square robots in a polygonal environment. In Proceedings of the 2024 ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 4942–4962, 2024. doi:10.1137/1.9781611977912.176.
  • [5] Pankaj K. Agarwal, R. Sharathkumar, and Hai Yu. Approximate Euclidean shortest paths amid convex obstacles. In Proceedings of the 2009 ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 283–292, 2009. doi:10.1137/1.9781611973068.32.
  • [6] Pankaj K. Agarwal and Micha Sharir. Arrangements and their applications. In J.-R. Sack and J. Urrutia, editors, Handbook of Computational Geometry, pages 49–119. North-Holland, 2000. doi:10.1016/B978-044482537-7/50003-6.
  • [7] Luke Antonyshyn, Jefferson Silveira, Sidney Givigi, and Joshua A. Marshall. Multiple mobile robot task and motion planning: A survey. ACM Comput. Surv., 55(10):213:1–213:35, 2023. doi:10.1145/3564696.
  • [8] Boris Aronov, Mark de Berg, A. Frank van der Stappen, Petr Svestka, and Jules Vleugels. Motion planning for multiple robots. Discret. Comput. Geom., 22(4):505–525, 1999. doi:10.1007/PL00009476.
  • [9] Tetsuo Asano, David Kirkpatrick, and Chee K. Yap. d1-Optimal motion for a rod (extended abstract). In Proceedings of the 12th Annual Symposium on Computational Geometry, pages 252–263, 1996. doi:10.1145/237218.237394.
  • [10] Tetsuo Asano, David G. Kirkpatrick, and Chee-Keng Yap. Minimizing the endpoint trace length of rod motions amidst polygonal obstacles is NP-hard. In Proc. 15th Canadian Conf. Comput. Geom., pages 10–13, 2003. URL: https://api.semanticscholar.org/CorpusID:123390076.
  • [11] Bahareh Banyassady, Mark de Berg, Karl Bringmann, Kevin Buchin, Henning Fernau, Dan Halperin, Irina Kostitsyna, Yoshio Okamoto, and Stijn Slot. Unlabeled multi-robot motion planning with tighter separation bounds. In Proceedings of the 38th International Symposium on Computational Geometry (SoCG), pages 12:1–12:16, 2022. doi:10.4230/LIPICS.SOCG.2022.12.
  • [12] Mark de Berg, Otfried Cheong, Marc van Kreveld, and Mark Overmars. Computational Geometry: Algorithms and Applications (3rd edition). Springer-Verlag, 2008.
  • [13] Thomas Brocken, G. Wessel van der Heijden, Irina Kostitsyna, Lloyd E. Lo-Wong, and Remco J. A. Surtel. Multi-robot motion planning of k-colored discs is PSPACE-hard. In Proceedings of the 10th International Conference on Fun with Algorithms (FUN), volume 157 of LIPIcs, pages 15:1–15:16, 2021. doi:10.4230/LIPICS.FUN.2021.15.
  • [14] Josh Brunner, Lily Chung, Erik D. Demaine, Dylan H. Hendrickson, Adam Hesterberg, Adam Suhl, and Avi Zeff. 1×1 rush hour with fixed blocks is PSPACE-complete. In Proceedings of the 10th International Conference on Fun with Algorithms (FUN), volume 157 of LIPIcs, pages 7:1–7:14, 2021. doi:10.4230/LIPICS.FUN.2021.7.
  • [15] John Canny and John Reif. New lower bound techniques for robot motion planning problems. In Proceedings of the 28th IEEE Symposium on Foundations of Computer Science (FOCS), pages 49–60, 1987. doi:10.1109/SFCS.1987.42.
  • [16] Danny Z Chen and Haitao Wang. Computing shortest paths among curved obstacles in the plane. ACM Trans. Alg., 11(4):1–46, 2015. doi:10.1145/2660771.
  • [17] Kenneth L. Clarkson. Approximation algorithms for shortest path motion planning. In Proceedings of the 19th ACM Symposium on Theory of Computing (STOC), pages 56–65, 1987. doi:10.1145/28395.28402.
  • [18] Dror Dayan, Kiril Solovey, Marco Pavone, and Dan Halperin. Near-optimal multi-robot motion planning with finite sampling. IEEE Trans. Robotics, 39(5):3422–3436, 2023. doi:10.1109/TRO.2023.3281152.
  • [19] Argyrios Deligkas, Eduard Eiben, Robert Ganian, Iyad Kanj, and M. S. Ramanujan. Parameterized algorithms for coordinated motion planning: Minimizing energy. In Proceedings of the 51st International Colloquium on Automata, Languages, and Programming (ICALP), volume 297 of LIPIcs, pages 53:1–53:18, 2024. doi:10.4230/LIPICS.ICALP.2024.53.
  • [20] Eduard Eiben, Robert Ganian, and Iyad Kanj. The parameterized complexity of coordinated motion planning. In Proceedings of the 39th International Symposium on Computational Geometry (SoCG), volume 258 of LIPIcs, pages 28:1–28:16, 2023. doi:10.4230/LIPICS.SOCG.2023.28.
  • [21] Guillermo Esteban, Dan Halperin, Víctor Ruíz, Vera Sacristán, and Rodrigo I. Silveira. Shortest coordinated motions for square robots. In Proceedings of the 18th International Symposium on Algorithms and Data Structures (WADS), volume 14079 of Lecture Notes in Computer Science, pages 430–443, 2023. doi:10.1007/978-3-031-38906-1_28.
  • [22] Dan Halperin, Lydia Kavraki, and Kiril Solovey. Robotics. In Jacob E. Goodman, Joseph O’Rourke, and Csaba Tóth, editors, Handbook of Discrete and Computational Geometry, chapter 51, pages 1343–1376. Chapman & Hall/CRC, 3rd edition, 2018.
  • [23] Dan Halperin, Micha Sharir, and Oren Salzman. Algorithmic motion planning. In Jacob E. Goodman, Joseph O’Rourke, and Csaba Tóth, editors, Handbook of Discrete and Computational Geometry, chapter 50, pages 1311–1342. Chapman & Hall/CRC, 3rd edition, 2018.
  • [24] Robert A. Hearn and Erik D. Demaine. PSPACE-completeness of sliding-block puzzles and other problems through the nondeterministic constraint logic model of computation. Theor. Comput. Sci., 343(1-2):72–96, 2005. doi:10.1016/J.TCS.2005.05.008.
  • [25] John Hershberger and Subhash Suri. An optimal algorithm for Euclidean shortest paths in the plane. SIAM J. Comput., 28(6):2215–2256, 1999. doi:10.1137/S0097539795289604.
  • [26] John E Hopcroft, Jacob Theodore Schwartz, and Micha Sharir. On the complexity of motion planning for multiple independent objects: PSPACE-hardness of the “warehouseman’s problem”. Int. J. Robotics Res., 3(4):76–88, 1984.
  • [27] Iyad Kanj and Salman Parsa. On the parameterized complexity of motion planning for rectangular robots. In Proceedings of the 40th International Symposium on Computational Geometry (SoCG), volume 293 of LIPIcs, pages 65:1–65:15, 2024. doi:10.4230/LIPICS.SOCG.2024.65.
  • [28] Sertac Karaman and Emilio Frazzoli. Sampling-based algorithms for optimal motion planning. Int. J. Robotics Res., 30(7):846–894, 2011. doi:10.1177/0278364911406761.
  • [29] David G. Kirkpatrick and Paul Liu. Characterizing minimum-length coordinated motions for two discs. In Proc. 28th Canadian Conf. Comput. Geom., pages 252–259, 2016.
  • [30] Steven M. LaValle. Planning Algorithms. Cambridge University Press, 2006.
  • [31] Joseph S.B. Mitchell. Shortest paths and networks. In Jacob E. Goodman, Joseph O’Rourke, and Csaba Tóth, editors, Handbook of Discrete and Computational Geometry, chapter 51, pages 811–848. Chapman & Hall/CRC, 3rd edition, 2018.
  • [32] Pedro J. Rezende, Der-Tsai Lee, and Ying-Fung Wu. Rectilinear shortest paths in the presence of rectangular barriers. Discrete Comput. Geom., 4(1):41–53, 1989. doi:10.1007/BF02187714.
  • [33] Oren Salzman. Sampling-based robot motion planning. Commun. ACM, 62(10):54–63, 2019. doi:10.1145/3318164.
  • [34] Micha Sharir. A note on the papadimitriou-silverberg algorithm for planning optimal piecewise-linear motion of a ladder. Inf. Process. Lett., 32(4):187–190, 1989. doi:10.1016/0020-0190(89)90042-2.
  • [35] Micha Sharir and Shmuel Sifrony. Coordinated motion planning for two independent robots. Ann. Math. Artif. Intell., 3(1):107–130, 1991. doi:10.1007/BF01530889.
  • [36] Rahul Shome, Kiril Solovey, Andrew Dobson, Dan Halperin, and Kostas E. Bekris. dRRT*: Scalable and informed asymptotically-optimal multi-robot motion planning. Auton. Robots, 44(3-4):443–467, 2020. doi:10.1007/S10514-019-09832-9.
  • [37] Israela Solomon and Dan Halperin. Motion planning for multiple unit-ball robots in d. In Proceedings of the 13th Workshop on the Algorithmic Foundations of Robotics (WAFR), pages 799–816, 2018. doi:10.1007/978-3-030-44051-0_46.
  • [38] Kiril Solovey and Dan Halperin. On the hardness of unlabeled multi-robot motion planning. Int. J. Robotics Res., 35(14):1750–1759, 2016. doi:10.1177/0278364916672311.
  • [39] Kiril Solovey, Lucas Janson, Edward Schmerling, Emilio Frazzoli, and Marco Pavone. Revisiting the asymptotic optimality of RRT. In Proceedings of the 2020 IEEE International Conference on Robotics and Automation (ICRA), pages 2189–2195, 2020. doi:10.1109/ICRA40945.2020.9196553.
  • [40] Kiril Solovey, Jingjin Yu, Or Zamir, and Dan Halperin. Motion planning for unlabeled discs with optimality guarantees. In Robotics: Science and Systems, 2015. doi:10.15607/RSS.2015.XI.011.
  • [41] Paul G. Spirakis and Chee-Keng Yap. Strong NP-hardness of moving many discs. Inf. Process. Lett., 19(1):55–59, 1984. doi:10.1016/0020-0190(84)90130-3.
  • [42] Roni Stern, Nathan R. Sturtevant, Ariel Felner, Sven Koenig, Hang Ma, Thayne T. Walker, Jiaoyang Li, Dor Atzmon, Liron Cohen, T. K. Satish Kumar, Roman Barták, and Eli Boyarski. Multi-agent pathfinding: Definitions, variants, and benchmarks. In Proc. 12th Int. Sympos. Combinatorial Search, pages 151–159, 2019. doi:10.1609/SOCS.V10I1.18510.
  • [43] Matthew Turpin, Kartik Mohta, Nathan Michael, and Vijay Kumar. Goal assignment and trajectory planning for large teams of interchangeable robots. Auton. Robots, 37(4):401–415, 2014. doi:10.1007/S10514-014-9412-1.
  • [44] Haitao Wang. A new algorithm for Euclidean shortest paths in the plane. In Proceedings of the 53rd Symposium on the Theory of Computing (STOC), pages 975–988, 2021. doi:10.1145/3406325.3451037.
  • [45] Zhi Yan, Nicolas Jouandeau, and Arab Ali Cherif. A survey and analysis of multi-robot coordination. International Journal of Advanced Robotic Systems, 10(12):399, 2013.
  • [46] Jingjin Yu and Steven M. LaValle. Structure and intractability of optimal multi-robot path planning on graphs. In Proc. 27th Conf. Artificial Intelligence, 2013. doi:10.1609/AAAI.V27I1.8541.