Rods and Rings: Soft Subdivision Planner for R^3 x S^2
Ching-Hsiang Hsu, Yi-Jen Chiang, Chee Yap

TL;DR
This paper introduces a complete, practical subdivision path planner for spatial robots shaped as rods or rings in R^3 x S^2, with theoretical guarantees and real-time performance, advancing the field of robot motion planning.
Contribution
It provides the first rigorous, complete algorithms for planning with ring-shaped robots in R^3 x S^2, including novel subdivision techniques and implementation in an open-source library.
Findings
Algorithms achieve near real-time performance.
Planner outperforms state-of-the-art sampling methods.
Provides theoretical guarantees for robot path planning.
Abstract
We consider path planning for a rigid spatial robot moving amidst polyhedral obstacles. Our robot is either a rod or a ring. Being axially-symmetric, their configuration space is R^3 x S^2 with 5 degrees of freedom (DOF). Correct, complete and practical path planning for such robots is a long standing challenge in robotics. While the rod is one of the most widely studied spatial robots in path planning, the ring seems to be new, and a rare example of a non-simply-connected robot. This work provides rigorous and complete algorithms for these robots with theoretical guarantees. We implemented the algorithms in our open-source Core Library. Experiments show that they are practical, achieving near real-time performance. We compared our planner to state-of-the-art sampling planners in OMPL. Our subdivision path planner is based on the twin foundations of \epsilon-exactness and soft…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsRobotic Mechanisms and Dynamics · Robotic Path Planning Algorithms · Advanced Numerical Analysis Techniques
Department of Computer Science, Courant Institute, New York University, New York, NY, USA [email protected] Supported by NSF Grant #CCF-1423228 Department of Computer Science and Engineering, Tandon School of Engineering, New York University, Brooklyn, NY, USA [email protected]
Department of Computer Science, Courant Institute, New York University, New York, NY, USA [email protected] Supported in part by NSF Grants #CCF-1423228 and #CCF-1563942. \Copyright Ching-Hsiang Hsu and Yi-Jen Chiang and Chee Yap \ccsdescTheory of computation Computational geometry; Computing methodologies Robotic planning. \supplement\funding Supported in part by NSF Grants #CCF-1423228 and #CCF-1563942.
Acknowledgements.
Rods and Rings: Soft Subdivision Planner
for 111The conference version of this paper will appear in Proc. Symposium on Computational Geometry (SoCG ’19), June, 2019.
Ching-Hsiang Hsu
Yi-Jen Chiang
Chee Yap
Abstract
We consider path planning for a rigid spatial robot moving amidst polyhedral obstacles. Our robot is either a rod or a ring. Being axially-symmetric, their configuration space is with 5 degrees of freedom (DOF). Correct, complete and practical path planning for such robots is a long standing challenge in robotics. While the rod is one of the most widely studied spatial robots in path planning, the ring seems to be new, and a rare example of a non-simply-connected robot. This work provides rigorous and complete algorithms for these robots with theoretical guarantees. We implemented the algorithms in our open-source Core Library. Experiments show that they are practical, achieving near real-time performance. We compared our planner to state-of-the-art sampling planners in OMPL [30].
Our subdivision path planner is based on the twin foundations of -exactness and soft predicates. Correct implementation is relatively easy. The technical innovations include subdivision atlases for , introduction of representations for footprints, and extensions of our feature-based technique for “opening up the blackbox of collision detection”.
keywords:
Algorithmic Motion Planning; Subdivision Methods; Resolution-Exact Algorithms; Soft Predicates; Spatial Rod Robots; Spatial Ring Robots.
1 Introduction
Motion planning [17, 5] is a fundamental topic in robotics because the typical robot is capable of movement. Such algorithms are increasingly relevant with the current surge of interest in inexpensive commercial mobile robots, from domestic robots that vacuum the floor to drones that deliver packages. We focus on what is called path planning which, in its elemental form, asks for a collision-free path from a start to a goal position, assuming a known environment. Path planning is based on robot kinematics and collision-detection only, and the variety of such problems are surveyed in [14]. The output of a “path planner” is either a path or a NO-PATH, signifying that no path exists. Remarkably, the single bit of information encoded by NO-PATH is often missing in discussions. The standard definitions of correctness for path planners (resolution completeness and probabilistic completeness) omit this bit [31]. The last 30 years have seen a flowering of practical path planning algorithms. The dominant algorithmic paradigm of these planners has been variants of the Sampling Approach such as PRM, EST, RRT, SRT, etc (see [5, p. 201]). Because this bit of information is not built into the specification of such algorithms, it has led to non-termination issues and a large literature addressing the “narrow passage problem” (e.g., [21, 8]).
Our present paper is based on the Subdivision Approach. This approach has a venerable history in robotics – see [3, 39] for early planners based on subdivision.
Exact path planning has many issues including a serious gap between theory and implementability. In [31, 32], we introduced a theoretical framework based on subdivision to close this gap. This paper demonstrates for the first time that our framework is able to achieve rigorous state-of-the-art planners in 3D. Figure 1 shows our rod robot in an environment with 100 random tetrahedra. Figure 6 shows our ring robot in an environment with pillars and L-shaped posts. See a video demo from
\ulhttp://cs.nyu.edu/exact/gallery/rod-ring/rod_ring.html.
In this paper, we consider a rigid spatial robot that has an axis of symmetry. See Figure 2(a) for several possibilities for : rod (“ladder”), cone (“space shuttle”), disc (“frisbee”) and ring (“space station”). Our techniques easily allow these robots to be “thickened” by Minkowski sum with balls (see [34]). The configuration space may be taken to be where is the unit -sphere. We identify with a closed subset of , called its “canonical footprint”. E.g., if is a rod (resp., ring), then the canonical footprint is a line segment (resp., circle) in . Each configuration corresponds to a rotated translated copy of the canonical footprint, which we denote by . Path planning involves another input, the obstacle set that the robot must avoid. We assume that is a closed polyhedral set. Say is free if is empty. The free space comprising all the free configurations is an open set by our assumptions, and is denoted . A parametrized continuous curve is called a path if the range of is in . Path planning amounts to finding such paths. Following [39], we need to classify boxes into one of three types: , or . Let denote the classification of : if , and if is in the interior of . Otherwise, .
One of our goals is to introduce classifications that are “soft versions” of (see Appendix A).
We present four desiderata in path planning:
(G0) the planner must be mathematically rigorous and complete;
(G1) it must have correct implementations which are also:
(G2) relatively easy to achieve and
(G3) practically efficient.
In (G0), we use the standard Computer Science notion of an algorithm being complete if (a) it is partially complete222 Partial completeness means the algorithm produces a correct output provided it halts.
and (b) it halts. The notions of resolution completeness and probabilistic completeness in robotics have requirement (a) but not (b). In probabilistic-complete algorithms, halting with NO-PATH is achieved heuristically by putting limits on time and/or number of samples. But such limits are not intrinsic to the input instance. In resolution-complete algorithms, NO-PATH halting is based on width of subdivision box being small enough (say ). One issue is that the width of a box is a direct measure of clearance (but there is a nontrivial correlation); secondly, box predicates are numerical and “accurate enough” (-effective in our theory). These issues are exacerbated when algorithms do not use box predicates, but perform sampling at grid points of the subdivision. In contrast, our NO-PATH guarantees an intrinsic property: there is no path of clearance (see below).
But desideratum (G0) is only the base line. A (G0)-planner may not be worth much in a practical area like robotics unless it also has implementations with properties (G1-G3). E.g., the usual exact algorithms satisfy (G0) but their typical implementations fail (G1). With proper methods [29], it is possible to satisfy (G1); Halperin et al [13] give such solutions in 2D using CGAL. Both (G0) and (G1) can be formalized (see next), but (G2) and (G3) are informal. The robotics community has developed various criteria to evaluate (G2) and (G3). The accepted practice is having an implementation (proving (G2)) that achieves “real time” performance on a suite of non-trivial instances (proving (G3)).
The main contribution of this paper is the design of planners for spatial robots with 5 DOFs that have the “good” properties (G0-G3). This seems to be the first for such robots. To achieve our results, we introduce theoretical innovations and algorithmic techniques that may prove to be more widely applicable.
In path planning and in Computational Geometry, there is a widely accepted interpretation of desideratum (G0): it is usually simply called “exact algorithms”. But to stress our interest in alternative notions of exactness, we refer to the standard notion as exact (unqualified). Planners that are exact (unqualified) are first shown in [25]; this can be viewed as a fundamental result on decidability of connectivity in semi-algebraic sets [1]. The curse of exact (unqualified) algorithms is that the algorithm must detect any degeneracies in the input and handle them explicitly. But exact (unqualified) algorithms are rare, mainly because degeneracies are numerous and hard to analyze: the usual expedient is to assume “nice” (non-degenerate) inputs. So the typical exact (unqualified) algorithms in the literature are conditional algorithms, i.e., its correctness is conditioned on niceness assumptions. Such gaps in exact (unqualified) algorithms are not an issue as long as they are not implemented. For non-linear problems beyond 2D, complete degeneracy analysis is largely non-existent. This is vividly seen in the fact that, despite long-time interest, there is still no exact (unqualified) algorithm for the Euclidean Voronoi diagram of a polyhedral set (see [15, 12, 11, 35]). For similar reasons, unconditional exact (unqualified) path planners in 3D are unknown.
We now address (G1-G3). The typical implementation is based on machine arithmetic (the IEEE standard), which may satisfy (G2) but almost certainly not (G1). We regard this as a (G1-G2) trade-off. In fact, our implementations here as well as in our previous papers [31, 19, 34] are such machine implementations. This follows the practice in the robotics community, in order to have a fair comparison against other implementations. Below, we shall expand on our claims about (G1-G3) including how to achieve theoretically correct implementation (G1). What makes this possible is our replacement of “exact (unqualified)” planners by “exact (up to resolution)” planners, defined below:
Resolution-Exact Path Planning for robot :
Input:
where is the start and goal,
the obstacle set, is a box, and .
Output: Halt with either an -free path from to in ,
or NO-PATH satisfying the conditions (P) and (N) below.
The resolution-exact planner (or, -exact planner) has an accuracy constant (independent of input) such that its output satisfies two conditions:
- •
(P) If there is a path (from to in ) of clearance , the output must be333 For simplicity, we do not require the output path to have any particular clearance, but we could require clearance as in [31].
a path.
- •
(N) If there is no path in of clearance , the output must be NO-PATH.
Here, clearance of a path is the minimum separation of the obstacle set from the robot’s footprint on the path. Note that the preconditions for (P) and (N) are not exhaustive: in case the input fails both preconditions, our planner may either output a path or NO-PATH. This indeterminacy is essential to escape from exact computation (and arguably justified for robotics [32]).
The constant is treated in more detail in [31, 33]. But resolution-exactness is just a definition. How do we design such algorithms? We propose to use subdivision, and
couple with soft predicates to exploit resolution-exactness. We replace the classification by a soft version [31]. This leads to a general resolution-exact planner which we call Soft Subdivision Search (SSS) [32, 33] that shares many of the favorable properties of sampling planners (and unlike exact planners). We demonstrated in [31, 19, 34] that for planar robots with up to 4 DOFs, our planners can consistently outperform state-of-the-art sampling planners.
1.1 What is New: Contributions of This Paper
In this work, we design -exact planners for rods and rings, with accompanying implementation that addresses the desiderata (G0-G3). This fulfills a long-time challenge in robotics. We are able to do this because of the twin foundations of resolution-exactness and soft-predicates. Although we had already used this foundation to implement a variety of planar robots [31, 19, 34, 38] that can match or surpass state-of-the-art sampling methods, it was by no means assured that we can extend this success to 3D robots. Indeed, the present work required a series of technical innovations: (I) One major technical difference from our previous work on planar robots is that we had to give up the notion of ”forbidden orientations” (which seems ‘forbidding’ for 3D robots). We introduced an alternative approach based on the “safe-and-effective” approximation of footprint of boxes. We then show how to achieve such approximations for the rod and ring robots separately. (II) The approximated footprints of boxes are represented by what we call -sets (Sec. 4.1); this representation supports desideratum (G2) for easy implementation. One side benefit of -sets is that they are very flexible; thus, we can now easily extend our planners to “thick” versions of the rod or ring. In contrast, the forbidden orientation approach requires non-trivial analysis to justify the “thick” version [34]. The trade-off in using -sets is a modest increase in the accuracy constant . (III) We also need good representations of the 5-DOF configuration space. Here we introduce the square model of to avoid the singularities in the usual spherical polar coordinates [18], and also to support subdivision in non-Euclidean spaces. (IV) Not only is the geometry in 3D more involved, but the increased degree of freedom requires new techniques to further improve efficiency. Here, the search heuristic based on Voronoi diagrams becomes critical to achieve real-time performance (desideratum (G3)).
Overview of the Paper
Section 2 is a brief literature review. Section 3 explains an essential preliminary to doing subdivision in . Sections 4–6 describe our techniques for computing approximate footprints of rods and rings. We discuss efficiency and experimental results in Section 7. We conclude in Section 8. Appendices A-F contain some background and all the proofs.
2 Literature Review
Halperin et al [14] gave a general survey of path planning. An early survey is [36] where two universal approaches to exact path planning were described: cell-decomposition [24] and retraction [23, 22, 4]. Since exact path planning is a semi-algebraic problem [25], it is reducible to general (double-exponential) cylindrical algebraic decomposition techniques [1]. But exploiting path planning as a connectivity problem yields singly-exponential time (e.g, [10]). The case of a planar rod (called “ladder”) was first studied in [24] using cell-decomposition. More efficient (quadratic time) methods based on the retraction method were introduced in [27, 28]. On-line versions for a planar rod are also available [7, 6].
Spatial rods were first treated in [26]. The combinatorial complexity of its free space is in the worst case and this can be closely matched by an time algorithm [16]. The most detailed published planner for a 3D rod is Lee and Choset [18]. They use a retraction approach. The paper exposes many useful and interesting details of their computational primitives (see its appendices). In particular, they follow a Voronoi edge by a numerical path tracking. But like most numerical code, there is no a priori guarantee of correctness. Though the goal is an exact path planner, degeneracies are not fully discussed. Their two accompanying videos have no timing or experimental data.
One of the few papers to address the non-existence of paths is Zhang et al [37]. Their implementation work is perhaps the closest to our current work, using subdivision. They noted that “no good implementations are known for general robots with higher than three DOFs”. They achieved planners with 3 and 4 DOFs (one of which is a spatial robot). Although their planners can detect NO-PATH, they do not guarantee detection (this is impossible without exact computation).
3 Subdivision Charts and Atlas for
Terminology. We fix some terminology for the rest of the paper. The fundamental footprint map from configuration space to subsets of was introduced above. If is any set of configurations, we define as the union of as ranges over . Typically, is a “box” of (see below for its meaning in non-Euclidean space ). We may assume is regular (i.e., equal to the closure of its interior). Although need not be bounded (e.g., it may be the complement of a box), we assume its boundary is a bounded set. Then is partitioned into a set of (boundary) features: corners (points), edges (relatively open line segments), or walls (relatively open triangles). Let denote the set of features of . The (minimal) set of corners and edges is uniquely defined by , but walls depend on a triangulation of . If , define their separation \mathrm{Sep}(A,B){\color[rgb]{1,0,0}\mathrel{\,:=\,}}\inf\left\{\|a-b\|:a\in A,b\in B\right\} where is the Euclidean norm. The clearance of is . Say is -free (or simply free) if it has positive clearance. Let be the set of -free configurations. The clearance of a path is the minimum clearance attained by as ranges over .
Subdivision in Non-Euclidean Spaces. Our has an Euclidean part () and a non-Euclidean part (). We know how to do subdivision in but it is less clear for . Non-Euclidean spaces can be represented either (1) as a submanifold of for some (e.g., viewed as orthogonal matrices) or (2) as a subset of subject to identification (in the sense of quotient topology [20]). A common representation of (e.g., [18]) uses a pair of angles (i.e., spherical polar coordinates) with the identification iff or (North Pole) or (South Pole). Thus an entire circle of values is identified with each pole, causing severe distortions near the poles which are singularities. So the numerical primitives in [18, Appendix F] have severe numerical instabilities.
To obtain a representation of without singularities, we use the map [33]
[TABLE]
whose range is the boundary of a 3D cube {\widehat{S^{2}}}{\color[rgb]{1,0,0}\mathrel{\,:=\,}}\partial([-1,1]^{3}). This map is a bijection when its domain is restricted to , with inverse map q\in{\widehat{S^{2}}}\mapsto\overline{q}{\color[rgb]{1,0,0}\mathrel{\,:=\,}}q/\|q\|_{2}\in S^{2}. Thus is the identity for . We call the square model of . We view and as metric spaces: has a natural metric whose geodesics are arcs of great circles. The geodesics on are mapped to the corresponding polygonal geodesic paths on by . Define the constant
[TABLE]
where and are the metrics on and respectively. Clearly . Intuitively, is the largest distortion factor produced by the map (by definition the inverse map has the same factor).
Lemma 3.1**.**
.
The proof in Appendix B.1 also shows that the worst distortion is near the corners of . The constant is one of the 4 constants that go into the ultimate accuracy constant in the definition of -exactness (see [33] for details).
It is obvious how to do subdivision in . This is illustrated in Figure 2(b). After the first subdivision of into 6 faces, subsequent subdivision is just the usual quadtree subdivision of each face. We interpret the subdivision of as a corresponding subdivision of . In [33], we give the general framework using the notion of subdivision charts and atlases (borrowing terms from manifold theory).
4 Approximate Footprints for Boxes in
We focus on soft predicates because, in principle, once we have designed and implemented such a predicate, we already have a rigorous and complete planner within the Soft Subdivision Search (SSS) framework [31, 33]. For convenience, the SSS framework is summarized in Appendix A. As noted in the introduction, our soft predicate classifies any input box into one 3 possible values. A key idea of our 2-link robot work [19, 34] is the notion of “forbidden orientations” (of a box , in the presence of ). The same concept may be attempted for , except that the details seem to be formidable to analyze and to implement. Instead, this paper introduces a direct approximation of the footprint of a box, F\!p(B){\color[rgb]{1,0,0}\mathrel{\,:=\,}}\bigcup\left\{F\!p(\gamma):\gamma\in B\right\}. We now introduce as the approximate footprint, and discuss its properties. This section is abstract, in order to expose the mathematical structure of what is needed to achieve resolution-exactness for our planners. The reader might peek at the next two sections to see the instantiations of these concepts for the rod/ring robot.
To understand what is needed of this approximation, recall that our approach to soft predicates is based on the “method of features” [31]. The idea is to maintain a set of approximate features for each box . We softly classify as as long as is non-empty; otherwise, we can decide whether is or . This decision is relatively easy in 2D, but is more involved in 3D and detailed in Appendix B.2. For correctness of this procedure, we require
[TABLE]
Here is some global constant and “” denotes the box shrunk by factor . Basically, (1) guarantees that our soft predicate is conservative and -effective (i.e., if is free then ). For computational efficiency, we want the approximate feature sets to have inheritance property, i.e.,
[TABLE]
We now show what this computational scheme demands of our approximate footprint. Define the exact feature set of box as usual: \phi(B){\color[rgb]{1,0,0}\mathrel{\,:=\,}}\left\{f\in\Phi(\Omega):f\cap F\!p(B)\neq\emptyset\right\} and (tentatively) the approximate feature set of box as
[TABLE]
The important point is that is defined prior to . We need the fundamental inclusions
[TABLE]
Note that this immediately implies (1). Unfortunately, (3) and (4) together do not guarantee inheritance, i.e., (2). Instead, we define recursively as follows:
[TABLE]
Notice that this only defines when is an aligned box (i.e., obtained by recursive subdivision of the root box). But is never aligned when is aligned, and thus is not captured by (5). Therefore we introduce a parallel definition:
[TABLE]
Now, satisfies (2). But does it satisfy (1), which is necessary for correctness? This is answered affirmatively by the following lemma (see proof in Appendix B.3):
Lemma 4.1**.**
If the approximate footprint satisfies Eq. (4), then satisfies Eq. (1), i.e.,
[TABLE]
Since has all the properties we need, we have no further use for the definition of given in (3). Henceforth, we simply write “” to refer to the set defined in (5) and (6).
Geometric Notations. We will be using planar concepts like circles, squares, etc, for sets that lie in some plane of . We shall call them embedded circles, squares, etc. By definition, if is an embedded object then it defines a unique plane (unless lies in a line). Let denote a ball of radius centered at . If is the origin, we simply write . Suppose is any non-empty set. Let denote the circumscribing ball of , defined as the smallest ball containing . Next, if then denotes the union of all the rays from through points in , called the cone of with apex . We consider two cases of in this cone definition: if is a ball, then is called a round cone. If the radius of ball is and the distance from the center of to is , then call the half-angle of the cone; note that the angle at the the apex is twice this half-angle. If is an embedded square, we call a square cone, and the ray from through the center of the square is called the axis of the square cone. If is any plane that intersects the axis of a square cone , then is a square iff is parallel to square . A ring (resp., cylinder) is the Minkowski sum of an embedded circle (resp., a line) with a ball. Finally consider a box where and are the translational and rotational components of , and is either or a subsquare of a face of . We let and denote the center and radius (distance from the center to any corner) of . The cone of , denoted , is the round cone . If the center of square is and width of is , then is just .
4.1 On -Sets
Besides the above inclusion properties of , we also need to decide if intersects a given feature . We say is “nice” if there are intersection algorithms that are easy to implement (desideratum G2) and practically efficient (desideratum G3). We now formalize and generalize some “niceness” properties of that were implicit in our previous work ([31, 19, 34], especially [38]).
An elementary set (in ) is defined to be one of the following sets or their complements: half space, ball, ring, cone or cylinder. Let (or ) denote the set of elementary sets in . In , we have a similar notion of elementary sets comprising half-planes, discs or their complements. All these elementary sets are defined by a single polynomial inequality – so technically, they are all “algebraic half-spaces”. The sets in are evidently “nice” (niceness of a ring has some subtleties – see Sec. 6). We next extend our collection of nice sets: define a -set to be a finite intersection of elementary sets. We regard a -set to be “nice” because we can easily check if a feature intersects by a simple while-loop (see below). Notice that contains all convex polytopes in . Our definitions of in [31, 19, 34] are all -sets. But in [38], we make a further extension: define a -set to be a finite union of the -sets, i.e., each -set has the form
[TABLE]
where ’s are elementary sets. We still say such an is “nice” since checking if a feature intersects can be written in a doubly-nested loop (see below). Although this intersection is more expensive to check than with a -set, it may result in fewer subdivisions and better efficiency in the overall algorithm. Thus, there is an accuracy-efficiency trade-off. Good approximations of footprints are harder to do accurately in 3D, and the extra power of seems critical.
We can put all these in the framework of a well-known444 From mathematical analysis, constructive set theory and complexity theory. construction of an infinite hierarchy of sets, starting from some initial collection of sets. If is any collection of sets, let denote the collection of finite intersections of sets in ; similarly, denotes the collection of finite unions of sets in . Then, starting with any collection of sets, define the infinite hierarchy of sets:
[TABLE]
where \Sigma_{i}{\color[rgb]{1,0,0}\mathrel{\,:=\,}}\Sigma(\Delta_{i}), \Pi_{i}{\color[rgb]{1,0,0}\mathrel{\,:=\,}}\Pi(\Delta_{i}), and \Delta_{i+1}{\color[rgb]{1,0,0}\mathrel{\,:=\,}}\Sigma_{i}\cup\Pi_{i}. An element of or is simply called a -set or a -set.
We call (7) a -decomposition of , where \Delta_{1}{\color[rgb]{1,0,0}\mathrel{\,:=\,}}\mathcal{E}. Note that this decomposition may not be unique, but in the cases arising from our simple robots, there is often an obvious optimal description. Moreover, and ’s are small constants. We can construct new sets by manipulating such a decomposition, e.g., replacing each by its -expansion, i.e., (where denotes the Minkowski sum), which remains elementary. Under certain conditions, the corresponding set is a reasonable approximation to . If so, we can generalize the corresponding soft predicate to robots with thickness .
Once we have a -decomposition of , we can implement the intersection test with relative ease (G2) and quite efficiently (G3). For instance we can test intersection of the set in (7) with a feature by writing a doubly nested loop. At the beginning of the inner loop, we can initialize a set to . Then the inner loop amounts to the update “” for . If ever becomes empty, we know that the set has empty intersection with . The possibility of such representations is by no means automatic but in the next two sections we verify that they can be achieved for our rod and ring robots. These sections make our planners fully “explicit” for an implementation.
5 Soft Predicates for a Rod Robot
In this section, is a rod with length ; we choose one endpoint of the rod as the rotation center. Let be a box. Our main goal is to define approximate footprint , and to prove the basic inclusions in Eqs. (4) and (1). This turns out to be a -set (we also indicate a more accurate -set.)
It is useful to define the inner footprint of , , as .
This set is the intersection of a ball and a square cone:
[TABLE]
The edges of this square cone is shown as green lines in Figure 3; furthermore, the brown box is (translation of so that it is centered at ). Note that the box footprint is the Minkowski sum of with (the translation of to make it centered at the origin). It is immediate that
[TABLE]
Thus we may write as the intersection of four half spaces (). Let denote the intersection of the expanded half-spaces, (). In general, is not a cone (it may not have a unique “apex”). Similarly we “expand” the inner footprint of (9) into
[TABLE]
We use quotes for “” in (10) because we view it as a candidate for an approximate footprint of . Certainly, it has the desired property of containing the exact footprint . Unfortunately, this is not good enough. To see this, let be the half-angle of the round cone . Then Hausdorff distance of “” from can be arbitrarily big as becomes arbitrarily small. Indeed can be arbitrarily small because it can be proportional to the input resolution . We conclude that such a planner is not resolution-exact. To fix this problem, we finally define
[TABLE]
where is another half space. A natural choice for is the half-space “above” the pink-color plane of Figure 3, defined as the plane normal to the axis of cone and at distance “below” . We can also use the “horizontal” plane that is parallel to and containing the “lower” face of . We adopt this latter to have a simpler geometric structure.
This completes the description of . It should be clear that checking if intersects any feature is relatively easy (since it is even a -set). In Appendix C we prove the following theorem:
Theorem 5.1**.**
The approximate footprint as defined for a rod robot satisfies Eq. (4), i.e., there exists some fixed constant such that .
6 Soft Predicates for a Ring Robot
Let be a ring robot. Its footprint is an embedded circle of radius . First we show how to compute , the separation of an embedded circle from a feature . This was treated in detail by Eberly [9]. This is easy when is a point or a plane. When is a line, Eberly gave two formulations: they reduce to solving a system of 2 quadratic equations in 2 variables, and hence to solving a quartic equation; see Appendix D.1. The predicate “Does intersect , a ring of thickness ?” is needed later; it reduces to “Is ?”.
Our next task is to describe an approximate footprint, First recall the round cone of box defined in the previous section: . Let be the half-angle of this cone, and the center of . Here, we think of as a point of , and define \gamma(B){\color[rgb]{1,0,0}\mathrel{\,:=\,}}m_{B}\times c viewed as an element of . Call the central configuration of box . Let be the ray from through . If is the plane through and normal to , then the footprint is an embedded circle lying in . We define the inner footprint of as F\!p_{\,0}(B){\color[rgb]{1,0,0}\mathrel{\,:=\,}}F\!p(m_{B}\times B^{r}). The map is the inverse of , taking to . It is hard to work with . Instead consider the set of all points in whose distance555 Recall that is a metric space whose geodesics are arcs of great circles.
from is at most . So is the intersection of with a round cone with ray from the origin to . Then we have where
[TABLE]
Our main computational interest is the approximate footprint of defined as
[TABLE]
Note that has a simple geometric description. We illustrate this in Figure 4 using a central cross-section with a plane through containing the axis of (the axis of is drawn vertically). The footprint of is a circle that appears as two red dots in the horizontal line (i.e., ). Let denote the 2-sphere centered at with radius . Then is the intersection of with a slab (i.e., intersection of two half-spaces whose bounding planes and are parallel to ). These planes appear as two horizontal blue lines in Figure 4. In the cross section, are seen as two blue circular arcs. For , let ; it is an embedded circle that appears as a pair of green points in Figure 4. Each is centered at , with radius ; see Figure 4.
We can now describe a -decomposition of : it is the union of two ”thick rings”, and (both of thickness ), and a shape which we call a truncated annulus. First of all, the region bounded between the spheres (the brown arcs in the figure) and (the magenta arcs) is called a (solid) annulus. Let denote the embedded disc whose relative boundary is . Then we have two round cones, and . Together, they form a double cone that is actually a simpler object for computation! Finally, define to be the intersection of the annulus with the complements of the double cone.
For each thick ring , deciding “Does a feature intersect ?” is equivalent to “Is ?” (see beginning of this section). Appendix D.1 discusses this computation and proves (in D.2) the following theorem:
Theorem 6.1**.**
The approximate footprint as defined for a ring robot satisfies Eq. (4), i.e., there exists some fixed constant such that .
7 Practical Efficiency of Correct Implementations
We have developed -exact planners for rod and ring robots. We have explicitly exposed all the details necessary for a correct implementation, i.e., criterion (G1). The careful design of the approximate footprints of boxes as -sets ensures (G2), i.e., it would be relatively easy to implement. We now address (G3) or practical efficiency. For robots with 5 or more DOFs, it becomes extremely critical that good search strategies are deployed. In this paper, we have found that some form of Voronoi heuristic is extremely effective: the idea is to find paths along Voronoi curves (in the sense of [23, 27]), and exploit subdivision Voronoi techniques based (again) on the method of features [35, 2]. There are subtleties necessitating the use of pseudo-Voronoi curves [18, 27, 28]. Since we do not rely on Voronoi heuristics for correctness, simple expedients are available.
To recognize Voronoi curves, we maintain (in addition to the collision-detection feature set ), the Voronoi feature set . These two sets have some connection but there are no obvious inclusion relationships.
Our current implementation achieves near real-time performance (see video
\ulhttp://cs.nyu.edu/exact/gallery/rod-ring/rod_ring.html). Table 1 summarizes experiments on our rod and ring robots. The environments Rand100, Rand40 (100 and 40 random tetrahedra), Posts and Posts2 are shown in Figs. 1, 5, 6 and 7. The dimensions of the environments are . Our implementation uses C++ and OpenGL on the Qt platform. Our code, data and experiments are distributed666 http://cs.nyu.edu/exact/core/download/core/.
with our open source Core Library. We ran our experiments on a MacBook Pro under Mac OS X 10.10.5 with a 2.5 GHz Intel Core i7 processor, 16GB DDR3-1600 MHz RAM and 500GB Flash Storage. Details about these experiments are found in a folder in Core Library for this paper; a Makefile there can automatically run all the experiments. Thus these results are reproducible from the data there.
Table 2 (correlated with Table 1 by the Exp #’s) compares our methods with various sampling-based planners in OMPL [30], where we accepted the default parameters and each instance was run 10 times, with the “average time (in s)/standard deviation/success rate” reported. This comparison has various caveats: we simulated the rod and ring robots by polyhedral approximations. We usually outperform RRT in cases of PATH. In case of NO-PATH, we terminated in real time while all sampling methods timed out (300s).
8 Conclusions
Path planning in 3D has many challenges. Our 5-DOF spatial robots have pushed the current limits of subdivision methods. To our knowledge there is no similar algorithm with comparable rigor or guarantees. Conventional wisdom says that sampling methods can achieve higher DOFs than subdivision. By an estimate of Choset et al [5, p. 202], sampling methods are limited to DOFs. We believe our approach can reach 6-DOF spatial robots. Since resolution-exactness delivers stronger guarantees than probabilistic-completeness, we expect a performance hit compared to sampling methods. But for simple planar robots (up to 4 DOFs) [31, 19, 34, 38] we observed no such trade-offs because we outperform state-of-the-art sampling methods (such as OMPL [30]) often by two orders of magnitude. But in the 5-DOF robots of this paper, we see that our performance is competitive with sampling methods. It is not clear to us that subdivision is inherently inferior to sampling (we can also do random subdivision). It is true that each additional degree of freedom is conquered only with effort and suitable techniques. This remark seems to cut across both subdivision and sampling approaches; but it hits subdivision harder because of our stronger guarantees.
Appendices
In the following appendices, the figure numbers are continued from the paper.
Appendix A Appendix: Elements of Soft Subdivision Search
We review the the notion of soft predicates and how it is used in the SSS Framework. See [31, 32, 19] for more details.
A.1 Soft Predicates
The concept of a “soft predicate” is relative to some exact predicate. Define the exact predicate where (resp.) if configuration is semi-free/free/stuck. The semi-free configurations are those on the boundary of . Call and the definite values, and [math] the indefinite value. Extend the definition to any set : for a definite value , define iff for all . Otherwise, . Let denote the set of -dimensional boxes in . A predicate is a soft version of if it is conservative and convergent. Conservative means that if is a definite value, then . Convergent means that if for any sequence of boxes, if as , then for large enough. To achieve resolution-exact algorithms, we must ensure converges quickly in this sense: say is effective if there is a constant such if is definite, then is definite.
A.2 The Soft Subdivision Search Framework
An SSS algorithm maintains a subdivision tree rooted at a given box . Each tree node is a subbox of . We assume a procedure that subdivides a given leaf box into a bounded number of subboxes which becomes the children of in . Thus is “expanded” and no longer a leaf. For example, might create congruent subboxes as children. Initially has just the root ; we grow by repeatedly expanding its leaves. The set of leaves of at any moment constitute a subdivision of . Each node is classified using a soft predicate as . Only leaves with radius are candidates for expansion. We need to maintain three auxiliary data structures:
- •
A priority queue which contains all candidate boxes. Let remove the box of highest priority from . The tree grows by splitting .
- •
A connectivity graph whose nodes are the leaves in , and whose edges connect pairs of boxes that are adjacent, i.e., that share a -face.
- •
A Union-Find data structure for connected components of . After each , we update and insert new boxes into the Union-Find data structure and perform unions of new pairs of adjacent boxes.
Let denote the leaf box containing (similarly for ). The SSS Algorithm has three WHILE-loops. The first WHILE-loop will keep splitting until it becomes , or declare NO-PATH when has radius less than . The second WHILE-loop does the same for . The third WHILE-loop is the main one: it will keep splitting until a path is detected or is empty. If is empty, it returns NO-PATH. Paths are detected when the Union-Find data structure tells us that and are in the same connected component. It is then easy to construct a path. Thus we get:
SSS Framework:
Input: Configurations , tolerance , box .
Output: Path from to in .
Initialize a subdivision tree with root
.
Initialize and union-find data structure.
While ()
If radius of is , Return(NO-PATH)
Else (
While ()
If radius of is , Return(NO-PATH)
Else (
MAIN LOOP:
While ()
If is empty, Return(NO-PATH)
Generate and return a path from to
using .
See [32] for the correctness of this framework under very general conditions. Note that is a priority queue, and extracts a box of lowest priority. The correctness of our algorithm does not depend on choice of priority. E.g., we could have randomly-generated priority to simulate some form of random sampling. However, choosing a good priority can have a great impact on performance. In our implementations, especially in 3-D, we have found that heuristics based on Greedy Best-First and some Voronoi heuristics are essential for real-time performance.
Appendix B Appendix: Properties of Square Models, Classifying a Box,
and Properties of
B.1 Proof: Properties of Square Models
Lemma 1. *.
Proof.* Let be the ball whose boundary is and . Then . From any geodesic of , we obtain a corresponding geodesic on the surface of , and a geodesic of . Observe that where is the length of a geodesic. But . This proves that , i.e., . This bound on is tight because for geodesic arcs in arbitrarily small neighborhoods of the corners of , the bound is arbitrarily close to . ** Q.E.D.**
B.2 Classifying a Box
In Sec. 4 we mentioned using soft predicates based on the “method of features” [31] to classify a box . Recall that we classify as when the feature set is non-empty; otherwise, we classify as or . Now we discuss how to classify as or when its feature set is empty. Suppose is given as the union of a set of polyhedra that may overlap (this situation arises in Sec. 7). Let be the parent of , then the feature set is non-empty. For each obstacle polyhedron in , we find the feature closest to and use to decide whether is outside . Then is outside (and is ) iff is outside all such polyhedra .
To find the feature closest to , we first find among the corners of the one that is the closest. Then among the edges of incident on , we check if there exist edges that are even closer (i.e., with for some point interior to ) and if so pick the closest one . Finally, if exists, we repeat the process for faces of incident on and pick the closest one (if it exists). The closest feature is set to then updated to and to accordingly if (resp. ) exists.
Given the feature closest to , we can easily determine if is interior or exterior of when is a wall or an edge. When is a corner, it is slightly more involved. We will classify a corner to be pseudo-convex (resp., pseudo-concave) if there exists a closed half space such that (1) , and (2) for any small enough ball centered at , we have that (resp., ). Note that if is locally convex (resp., locally concave) then it is pseudo-convex (resp., pseudo-concave). We call a corner an essential corner if for all balls centered at , is not a planar set. We may assume that our corners are essential; as consequence, no corner can be both pseudo-convex and pseudo-concave. However, it is possible that a corner is neither pseudo-convex nor pseudo-concave; we call such corners mixed. The lemma below enables us to avoid the difficulty of mixed corners.
Lemma B.1**.**
Let and a corner of . If is the point in closest to , i.e., , then is either pseudo-convex or pseudo-concave. Hence cannot be a mixed corner. Moreover, iff is pseudo-concave.
Proof. Let be the ball centered at with radius . Since , we have . Let be the closed half-space such that is tangential to at the point , and . This is a witness to either the pseudo-convexity or pseudo-concavity of . In particular, is pseudo-concave iff . ** Q.E.D.**
B.3 Proof: Properties of
Lemma 2. If the approximate footprint satisfies Eq. (4), then satisfies Eq. (1), i.e.,
[TABLE]
Proof. Let be an aligned box. Define recursively as follows: (I) for an aligned box , \widetilde{F\!p}^{\prime}(B){\color[rgb]{1,0,0}\mathrel{\,:=\,}}\widetilde{F\!p}(B) if is the root, and \widetilde{F\!p}^{\prime}(B){\color[rgb]{1,0,0}\mathrel{\,:=\,}} otherwise; (II) for a non-aligned box , \widetilde{F\!p}^{\prime}(B/\sigma){\color[rgb]{1,0,0}\mathrel{\,:=\,}}\widetilde{F\!p}(B/\sigma) if is the root, and \widetilde{F\!p}^{\prime}(B/\sigma){\color[rgb]{1,0,0}\mathrel{\,:=\,}}
otherwise. Comparing with the recursive definitions of and of (Eqs. (5) and (6)), it is easy to verify that , and that . Therefore, we will show that satisfies Eq. (4), i.e., , which implies that satisfies Eq. (1).
(i) The case when is the root is easy. Since and , and also satisfies Eq. (4), i.e., , we have , as desired.
(ii) Now suppose is not the root. We proceed the proof in two parts below.
(A) First we prove that . By definition, we have . Since satisfies Eq. (4), is a superset of . Therefore it suffices to show that is a superset of . But is a superset of (initially for at the root and inductively going down), which in term is a superset of .
(B) Finally we prove that . Since satisfies Eq. (4), we have . But is a subset of and hence the statement is true. ** Q.E.D.**
Appendix C Appendix: Soft Predicate for a Rod — Proofs
Theorem 3. *The approximate footprint as defined for a rod robot satisfies Eq. (4), i.e., there exists some fixed constant such that .
Proof. We have by construction, so we just need to prove that there exists some fixed constant such that . The idea is to first use a “nice” shape to contain , and then show that we can shrink this nice shape by a factor of some fixed constant such that it is contained in . Let be the center of . Clearly the round cone Cone_{round}{\color[rgb]{1,0,0}\mathrel{\,:=\,}}Cone(m_{B},Ball(m_{B}+B^{r}) contains the square cone Cone_{square}{\color[rgb]{1,0,0}\mathrel{\,:=\,}}Cone(m_{B},B^{r}+m_{B}), and thus V{\color[rgb]{1,0,0}\mathrel{\,:=\,}}Cone_{round}\cap Ball(r_{o},m_{B}) contains . Recall that \widetilde{F\!p}(B)=``$$\widetilde{F\!p}(B). Consider the point on that is cut by “” and is farthest from . The distance between and depends on the orientation of the square/round cone axis (going through and ). The maximum happens when the axis goes from the center to the corner of the brown box in Fig. 3, making an angle of . Since the distance between and is , this maximum distance between and is . Therefore is contained in V_{final}{\color[rgb]{1,0,0}\mathrel{\,:=\,}}V\oplus Ball(\sqrt{3}r_{B}). Also, is contained in . Note that , where contains . Now consider : is contained in and is contained in , and thus . Overall, we have . ** Q.E.D.**
Note that the existence of such a constant is all we need to guarantee that our algorithm is resolution-exact; we do not need to know this constant in implementations.
Appendix D Appendix: Soft Predicate for a Ring – Proofs
D.1 Computing the Separation Between a Circle and a Feature
As mentioned in Sec. 6, our soft predicates for the ring robot need to compute the separation of an embedded circle from , i.e., , where is a point, line or a plane.
In the following, let be a circle of radius centered at , and lying in a plane with normal vector . Also let be a vector along the direction of line . Note that are all given constants.
**Simple Filtering
**Before actually computing , we can first perform a simple filtering. Recall from Sec. 6 that the purpose of is to decide “Is ?”. If we have a simple way to know that then there is no need to compute . Here is how. Suppose is a line or a plane. We can easily compute the separation from the circle center to , i.e., . If , then and we are done. Only when do we need to compute , which can be much more complicated (see below).
**Computing the Separation
**The case where is a point is trivial, and involves solving a quadratic equation. The case is a plane is a rational problem: if is parallel to , then is just the separation between the two planes. Otherwise, let be the intersection of the two planes. Let be the closest point in to , and the projection of to the plane . Then . (Note: if intersects , then is just any point in and in this case.)
Finally, we address the most interesting case, where is a line defined by an obstacle edge. But before showing the exact computation of , we show a relatively easy way to compute an upper bound, denoted , on . We project the two edge endpoints onto the plane to get . First, assume (non-degenerate case). Then any point in this projected line is expressed by with parameter . Let be the point in closest to ; recall that is the circle center. The corresponding point that projects to has the same as . Then we compute \mathrm{Sep}(C,p^{\prime}){\color[rgb]{1,0,0}\mathrel{\,:=\,}}d from the radius and the distance between and . Suppose is the point on closest to . Then define \mathrm{Sep}^{\prime}(C,L){\color[rgb]{1,0,0}\mathrel{\,:=\,}}||p-q||. We can obtain without solving , by the fact that form a right triangle with leg lengths and . We return to the degenerate case where . This means is perpendicular to , and is easily obtained. But numerically, whenever is small, we ought to use this particular approximation. Since this is just a filter, we will not dwell on this.
**Reduction of to Root-Finding
**We now show how to reduce computing to solving quartic equations. Let be the two points with and such that . We can view and where are variables to be solved.
We obtain four equations by the following conditions.
(A)
The point lies in the sphere centered at of radius :
[TABLE]
Explicitly, .
(B)
The plane is perpendicular to the plane of :
[TABLE]
This equation is multilinear in and in . It has the form where are linear in the indicated variables, and is a constant.
(C)
The line is perpendicular to :
[TABLE]
This is a linear function in .
(D)
The (radius) line is perpendicular to :
[TABLE]
This is a linear function in .
Using Condition (D), we can express as a linear function in and plug into Eqs. of (A), (B), (C) to eliminate without changing the nature of these equations (i.e., Eq. of (A) remains quadratic and Eq. of (B) remains multilinear). By using Condition (C) we can eliminate from Eq. of (B) and turn it into a quadratic equation in . So we now have a system of two quadratic equations in :
[TABLE]
where (resp., ) are polynomials in of degrees respectively. We obtain where and similarly. Thus
[TABLE]
We summarize by restating the last equation:
[TABLE]
This is a quartic equation in , as claimed.
D.2 Proof of Properties
Theorem 4. *The approximate footprint as defined for a ring robot satisfies Eq. (4), i.e., there exists some fixed constant such that .
Proof. We have by construction, so we just need to prove that there exists some fixed constant such that . Recall that . For , it is the Minkowski sum of and a cube of radius . The difference between and is the orientation of the cone axis, with the maximum difference happening when the axis goes from the cube center to a cube corner, making a factor of . For the other part of the Minkowski sum, is contained in a cube of radius . Overall, the statement is true with . ** Q.E.D.**
Appendix E Appendix: Correct Implementation of Soft Exact Algorithms
The earlier sections provide an “exact” description of planners for a rod and a ring, albeit a “soft kind” that admits a user-controlled amount of numerical indeterminacy. The reader may have noticed that we formulated precise mathematical relations and exact geometric shapes for which various inclusions must be verified for correctness. Purely numerical computations (even with arbitrary precision) cannot “exactly determine” such relations in general. Nevertheless, we claim that all our computations can be guaranteed in the soft sense. The basic idea is that for each box , all the computations associated with is computed to some absolute error bound that at most where is the box radius and is a constant depending on the algorithm only. Thus, as boxes become smaller, we need higher precision (but the resolution ensures termination). Moreover, the needed precision requires no special programming effort.
This is possible because all the inequalities in our algorithms are “one-sided” in the sense that we do not assume that the failure of an inequality test implies the complementary condition (as in exact (unqualified) computation). We can define a weak feature set denoted with this property:
[TABLE]
for some . The “weak” is not uniquely determined (i.e., can be any set that satisfies the inequalities). In contrast, the set is mathematically precise and unique. If we use instead of , the correctness of our planner remains intact. Moreover, the weak set can be achieved as using numerical approximation (note: we do not need ”correct rounding” from our bigFloats, so GMP suffice).
We stress that these ideas have not been implemented, partly because there is no pressing need for this at present.
Appendix F Appendix: Counterexample for the Ring Heuristic
We show that the use of (Appendix D.1) can lead to a wrong classification of a box . Recall that is an upper bound on , and is an equality in case is a corner or a triangle.
Assume that the footprint of configuration is a unit circle centered at the origin lying in the horizontal plane.
We consider the polyhedral set such that the intersection of with any horizontal plane (for any ) is the L-shape when projected to the -plane. See Figure 8.
Let be the boundary feature of that is closest to circle . Clearly, is the vertical line . Moreover, . Now, slightly perturb so that is slightly non-vertical, but it’s projection onto the -plane is the line (in Figure 8, is the red dot, and is the green line). We also verify that .
It is also important to see that all the other boundary features of , we have . To see this, there are 2 possibilities for : if is an edge, this is clear. If is a face, this is also clear unless the face is bounded by (there are two such faces). In this case, our algorithm sets to which is . Note that does not have any corner features.
Now construct any convex polyhedron that is disjoint from such that boundary feature of that is closest to is a corner . It is easy to construct such a . Moreover, we see that .
Suppose and the translational and rotational parts of are given by and . We may assume that is empty. To classify , we look at the set . Say the translational and rotational parts of are and , respectively. In this case contains any (and possibly ). In any case, would be regarded as the closest feature in because we use for comparison. Based on , our algorithm would decide that is when in fact is .
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] S. Basu, R. Pollack, and M.-F. Roy. Algorithms in Real Algebraic Geometry . Algorithms and Computation in Mathematics. Springer, 2nd edition, 2006.
- 2[2] H. Bennett, E. Papadopoulou, and C. Yap. Planar minimization diagrams via subdivision with applications to anisotropic Voronoi diagrams. Eurographics Symposium on Geometric Processing , 35(5), 2016. SGP 2016, Berlin, Germany. June 20-24, 2016.
- 3[3] R. A. Brooks and T. Lozano-Perez. A subdivision algorithm in configuration space for findpath with rotation. In Proc. 8th Intl. Joint Conf. on Artificial intelligence - Volume 2 , pages 799–806, San Francisco, CA, USA, 1983. Morgan Kaufmann Publishers Inc.
- 4[4] J. Canny. Computing roadmaps of general semi-algebraic sets. The Computer Journal , 36(5):504–514, 1993.
- 5[5] H. Choset, K. M. Lynch, S. Hutchinson, G. Kantor, W. Burgard, L. E. Kavraki, and S. Thrun. Principles of Robot Motion: Theory, Algorithms, and Implementations . MIT Press, Boston, 2005.
- 6[6] H. Choset, B. Mirtich, and J. Burdick. Sensor based planning for a planar rod robot: Incremental construction of the planar Rod-HGVG. In IEEE Intl. Conf. on Robotics and Automation (ICRA’97) , pages 3427–3434, 1997.
- 7[7] J. Cox and C. K. Yap. On-line motion planning: case of a planar rod. Annals of Mathematics and Artificial Intelligence , 3:1–20, 1991. Special journal issue. Also: NYU-Courant Institute, Robotics Lab., No.187, 1988.
- 8[8] J. Denny, K. Shi, and N. M. Amato. Lazy Toggle PRM: a Single Query approach to motion planning. In Proc. IEEE Int. Conf. Robot. Autom. (ICRA) , pages 2407–2414, 2013. Karlsrube, Germany. May 2013.
