Abstract
Collision checking is considered to be the most expensive computational bottleneck in sampling-based motion planning algorithms. We introduce a simple procedure that theoretically eliminates this bottleneck and significantly reduces collision-checking time in practice in several test scenarios. Whenever a point is collision checked in the normal (expensive) way, we store a lower bound on that point’s distance to the nearest obstacle. The latter is called a “safety certificate” and defines a region of the search space that is guaranteed to be collision-free. New points may forgo collision checking whenever they are located within a safety certificate of an old point. Testing the latter condition is accomplished during the nearest-neighbor search that is already part of most sampling-based motion planning algorithms. As more and more points are sampled, safety certificates asymptotically cover the search space and the amortized complexity of (normal, expensive) collision checking becomes negligible with respect to the overall runtime of sampling-based motion planning algorithms. Indeed, the expected fraction of points requiring a normal collision check approaches zero, in the limit, as the total number of points approaches infinity. A number of extensions to the basic idea are presented. Experiments with a number of proof-of-concept implementations demonstrate that using safety certificates can improve the performance of sampling-based motion planning algorithms in practice.
Keywords
1. Introduction
A motion planning problem is, roughly speaking, the search for a connected set of collision-free configurations that begin at a start region (or configuration) and end within a desired goal region. Such problems arise in a multitude of autonomous robotic applications including: aerospace, underwater exploration, manufacturing, and warehouse management. The future success or failure of automated personal transportation and mainstream consumer robotics will depend, in a large part, on the ability to solve motion planning problems more quickly.
Finding a safe motion plan fundamentally involves comparing robot state values with obstacle locations. Yet, in general, these two things are defined in two different spaces, i.e. the configuration space and the workspace, respectively. Different classes of motion planning algorithms address this discrepancy in different ways.
Exact motion planning algorithms assume that an exact obstacle representation can be constructed in the configuration space (see, for instance, those in Lavalle, 2006). While exact algorithms exist that are complete and optimal, the practical transformation of obstacles from the workspace into the configuration space is often intractable or even theoretically impossible.
Sampling-based motion planning algorithms are a more tractable alternative. These algorithms iteratively construct a graph of safe movement by randomly sampling the configuration space and then mapping points/trajectories from the configuration space into robotic positions in the workspace for collision checking versus obstacles. The resulting algorithms trade absolute completeness/optimality for probabilistic completeness and asymptotic optimality.
Sampling-based motion planning algorithms are the focus of the current paper. Their main components include:
a sampling scheme that provides a sequence of points from the configuration space;
collision-checking functions that determine if a configuration space point or trajectory is in collision with an obstacle, given a workspace obstacle set and a mapping function from configuration space to workspace;
a proximity search function that returns “neighbors” to a point in the configuration space, given a point set in the configuration space;
a local planning function that returns a configuration space trajectory between two given points.
Collision checking is widely considered to be the primary computational bottleneck of sampling-based motion planning (see, e.g., Lavalle, 2006). Although an individual collision check has runtime complexity that is upper-bounded by a constant, 1 the constant is often overwhelmingly large in practice. Our main contribution is to show that this does not need to be the case. We introduce a novel collision-checking technique that has negligible amortized complexity versus the nearest-neighbor searches that are already at the core of sampling-based motion planning algorithms. As a consequence, nearest-neighbor searches become the main practical determinant of runtime—as complexity analysis suggests they should (see, e.g., Karaman and Frazzoli, 2011).
Traditionally, sampling-based motion planning algorithms have considered collision checking as a “Boolean black box” subroutine that returns either “

(a) Collision-checked nodes
Each collision-checked point

Certificates (blue discs) asymptotically cover the space as graph size increases toward infinity. The ratio of collision checks versus graph size (nodes) approaches zero in the limit as graph size approaches infinity.

Illustration of the certificate covering for an implementation of RRT* for a planar point robot. As the number of samples increase (images from left to right) the likelihood of sampling from outside the certificates goes down.
It is important to note that
The rest of this paper is organized as follows. Background and related work are discussed in Section 2. Section 3 contains nomenclature and problem statements. The basic state-space certificate algorithm is presented in Section 4, and its analysis is presented in Section 5. In Section 6 we demonstrate how workspace certificates can be implemented in the case where robots and obstacles are modeled as sets of polytopes. In Section 7 we demonstrate how symmetries within the state-space of a multi-robot problem can be exploited to achieve performance gains. Experiments are presented in Section 8 and Section 9 contains a discussion of the results. Conclusions are presented in Section 10.
2. Background and related work
Most sampling-based motion planning algorithms can be classified along two different spectra: (1) single-query versus multi-query planning and (2) feasible-path versus shortest-path planning.
Single-query algorithms are used to find a single motion plan through a particular environment, while multi-query algorithms are used when many motion plans are expected to be found in the same environment. The Rapidly-exploring Random Tree (RRT) by LaValle and Kuffner (2001) and the Probabilistic RoadMap (PRM) by Kavraki et al. (1996) are popular single- and multi-query algorithms, respectively.
Feasible-path planning algorithms are designed to find a valid path between the start state and the goal set, while shortest-path planning algorithms attempt to find the shortest valid path with respect to a predefined metric over the search space. The aforementioned RRT and PRM are both feasible-planning algorithms, while PRM* and RRT* are shortest-path planning algorithms (Karaman and Frazzoli, 2011).
Many variations of these basic ideas exist, each designed to improve performance in certain cases or to provide additional performance guarantees. For example, Hsu et al. (1998) and Boor et al. (1999) biased sampling to occur in narrow passages and near obstacle boundaries, respectively, and Bohlin and Kavraki (2000) delayed collision checks until needed (LazyPRM). Karaman and Frazzoli (2011) provided asymptotic optimality guarantees on path quality with PRM* and RRT*. RRT# by Arslan and Tsiotras (2013) maintains graph consistency (the idea that cost decreases should be propagated through the search-graph) to improve practical convergence toward the optimal solution. Otte and Frazzoli (2015) formally proved that maintaining graph consistency leads to faster convergence in theory (i.e. in addition to practice). They also showed that better performance can be achieved in the context of replanning by settling for
Much of the literature on collision checking focuses on static collision checking—determining the safety of a single point. More recent work has investigated the more difficult problem of continuous collision checking—determining the safety of a continuous trajectory between two points. In general, collision checking requires both interference testing and spatial indexing. An interference test checks if a configuration or set of configurations is in collision with a single obstacle. Spatial indexing is a strategy for creating a data structure which can reduce the number of obstacles that must be considered for interference testing. These components are often called broad-phase (navigating the index) and narrow-phase (interference testing) collision checking. A comprehensive survey appears in Jiménez et al. (2001).
Discrete interference testing between two convex objects is often implemented using the GJK algorithm by Gilbert et al. (1988). Efficient exact interference testing in three dimensions for a convex polytope undergoing smooth motion among convex polytope obstacles is given by Canny (1986). A derivative of this method which replaces actual motions between two configurations with an arbitrary surrogate that is sufficient for small time instances is given by Redon et al. (2000), where “small” is defined as being application dependent and valid in cases where the approximation
Alternative strategies are based on inexact continuous checking by discrete sampling, in many cases applying a static collision check at each of the sample points. A method of adaptive segment checking is presented by Schwarzer et al. (2004). Methods based on conservative certificates and interval arithmetic are described in Redon et al. (2004, 2005). An extension using Taylor models to approximate incremental motion is described by Zhang et al. (2007). A method based on refitting bounding spheres is given by Kavan and Žára (2005).
Data structures used as spatial indexes generally fall under the category of spatial decompositions and bounding volume hierarchies (Samet, 2006). As in the case of nearest-neighbor searching, the Voronoi diagram plays an important role in collision checking. In the case of two-dimensional systems and obstacles, in particular, the Voronoi diagram of convex sites yields an optimal data structure for set distances (McAllister et al., 1996). In the case where the system and obstacles are polygons the Voronoi diagram of line segments can be used (Held, 2001; Karavelas and Yvinec, 2003).
Voronoi diagrams provide an optimal spatial decomposition for set distance queries, but the complexity of constructing the diagram can prove to be unreasonable, especially in higher dimensions. One alternative based on non-optimal decomposition is a binary space partition (BSP) by Tokuta (1991). Bounding volume hierarchies (BVHs), especially those based on R-trees (Guttman, 1984) are extremely popular for collision checking. One of the most common is the Axis-Aligned Bounding Box tree (AABB-tree). A combined method based on the R-tree of the Voronoi diagram is given in Sharifzadeh and Shahabi (2010). Voronoi diagrams, BSPs and BVHs are shown to have
By its nature, collision checking is a computationally intensive process. Interference testing is
Govindaraju et al. (2005) and Govindaraju et al. (2006) present bounding volume strategies designed for GPUs. Another BVH construction technique is presented by Lauterbach et al. (2009). Collision checking based on the latter appears in Lauterbach et al. (2010). A parallel method based on maintenance of the colliding-front of the bounding volume tree is presented by Tang et al. (2010). Hou et al. (2011) provide an alternative to breadth-first construction order for GPU BVHs. A modern general implementation for production use is described by Pan and Manocha (2011), Pan et al. ( 2012), and Pan and Manocha (2012).
Workspace certificates are closely related to collision-checking algorithms based on conservative advancement such as kinetic data structures (Basch et al., 1999; Kirkpatrick et al., 2000) and adaptive bisection (Redon et al., 2002; Schwarzer et al., 2004). The latter determines whether a path is collision-free by incrementally building a workspace certificate for some configuration in the path, removing the segment of the path which is certified collision-free, and then recursing on the remaining uncertified paths. These, in turn, are related to earlier methods that efficiently update pairwise collision-distance information as objects move versus time (Ponamgi et al., 1997; Mirtich, 1998).
Geometric coverings have also been used for the purposes of feasible control. In Yang and LaValle (2000) a ball-covering over the control space was used to construct a global control policy out of a set of local control policies (one per ball). The method was extended in Yang and LaValle (2002) and Yang and LaValle (2004) to achieve better speed and sampling performance. While Yang and LaValle (2000), Yang and LaValle (2002) and Yang and LaValle (2004) focused on achieving a valid control policy (see Yang and LaValle, 2004 for an insightful discussion on formulating robot kinematics for use with ball-decompositions), these methods are concerned with finding a feasible solution given that all new points sampled within a previously defined ball are rejected. In contrast, our method can be used with a wide variety of sampling-based algorithms, including those that solve the shortest path-planning problem. We also allow using non-spherical/cylindrical certificates.
Brock and Kavraki (2001) also used balls in the workspace to find a collision-free “tunnel” (sequence of collision-free balls) that was then mapped into the configuration space where artificial potential fields were used to determine the path traveled by the robot. During the tunnel creation phase new points were sampled on the surface of existing balls. Yang and Brock (2013) extended this idea by sampling on the medial between obstacles on the surface of balls. Deits and Tedrake (2014) used ellipsoids of free space to rapidly determining valid step locations in the context of legged robotics.
Portions of the current paper have previously appeared in a number of other places, albeit in preliminary forms. Bialkowski et al. (2013d) also used presented the first iteration of the basic state-space method and has significant overlap with Section 5 of the current paper. Section 7 and, to a lesser extent, Section 8 of the current paper borrow heavily from a technical report (Bialkowski et al., 2013a) that was written to accompany a workshop poster (Bialkowski et al., 2013b). Preliminary versions of Sections 2 and 6 and portions of Sections 5 and 8 have also appeared in the PhD dissertation of the first author (Bialkowski, 2013).
We have also presented an unrelated approach to collision-checking avoidance in which samples are drawn from a distribution that converges to uniform sampling over the free space (Bialkowski et al., 2013c). While both Bialkowski et al. (2013c) and the current paper attempt to minimize collision checking, they do so via different modalities. In particular, Bialkowski et al. (2013c) sought to avoid drawing samples from the obstacle space by updating the sampling distribution based on previous information, while the current paper leverages information from previous collision checks to determine when a new sample is collision-free. Combining the two ideas is an interesting direction for future work, but is beyond the scope of the current paper.
3. Nomenclature and problem statements
The configuration space,
Given a function
We say a function
A path is defined to be a continuous function
For the sake of our discussion, we will assume that sampling-based algorithms return a sequence of graphs. Let
The computational complexity of a sampling-based algorithm can be decomposed in terms of the complexity of its primitive operations.
3.1. Feasible motion planning
The feasible motion planning problem is to find a feasible path if one exists or to determine that one does not. Formally, given
3.2. Optimal motion planning
Let us define
The optimal motion planning problem is to find a feasible path with minimum cost provided one exists, or determine whether no feasible path exists. Formally, given
4. Certificate algorithm
In this section we present the most basic version of the certificate method: that in which certificates are defined as balls in the configuration space. This version has the advantage of being simple while also introducing all of the machinery required for in-depth analysis (presented in Section 5). Although this basic method can be applied directly to a handful of simple motion planning problems, its main purpose is to provide a strong foundation from which an entire family of more practical implementations can be generalized. In practice, we expect that each of the latter will have additional complications, for example, as a result of being tailor-made to solve a particular problem (e.g. those in Sections 6 and 7) or for the sake of compatibility with an existing motion planning code-base. In this section we ignore these complications and focus on the heart of the general idea itself.
Primitive subroutines and data structures are formalized in Section 4.1, while the resulting augmented collision-checking procedures are presented in Section 4.2. Versions of RRT and PRM* that use the augmented collision-checking procedures are presented in Section 4.3.
4.1. Data structures and primitive subroutines
4.1.1. Data structure
Any version of the certificate method works by storing additional data within the graph data structure that is already used by most sampling-based algorithms. Let
4.1.2. Sampling
4.1.3. Nearest, k-nearest, and near neighbors
The subroutine
where
Similarly,
4.1.4. Set distance
The subroutine
In particular,
4.1.5. Segment collision test
The subroutine
assuming that
4.1.6. Certifying node
It is advantageous for each node
4.1.7. Furthest safe point along a trajectory
The subroutine
where
4.2. Modified collision-checking procedures
Our modified point and paths collision-checking procedures are shown in Algorithms 1 and 2, respectively. For convenience, we assume the augmented data structure
4.2.1. Point collision test
The point collision-checking procedure
If possible, we use previously computed certificate information to quickly determine if
If the existing certificate information is insufficient to quickly determine the collision status of
4.2.2. Path set collision test
The procedure
RRT:
RRT* and PRM*:
Formally,
Let
In the easiest case, and the one assumed in this section,

Two certificates (blue and green) defined by points within distances (dotted lines) that are, respectively, less than or equal to
Even if this first certificate-based test fails, it is still possible to guarantee
In the event that certificate-based checks are inconclusive, then a full explicit collision check is performed using a “standard” path collision checker, lines 2.10–2.11.
4.3. Certificate examples with RRT and PRM*
We now show how RRT and PRM*, two popular sampling-based motion planning algorithms, can be modified to use our certificate method. Appropriately modified versions of RRT and PRM* appear in Algorithms 3 and 4, respectively. Note that the pseudo-code used here is based on that by Karaman and Frazzoli (2011).
5. Analysis
Our collision certificate method is designed to be used with many different sampling-based motion planning algorithms. In order to make our analysis as general as possible, we only assume that the particular sampling-based motion planing algorithm being used has the same general structure that is shared by RRT, RRT*, PRM, PRM*, etc. Let
The results derived in this section hold if
(A1) SMP calls the
(A2) at the
(A3) obstacle boundaries are locally Lipschitz-continuous and have finite measure,
where the
Let
5.1. Asymptotic collision-checking behavior
Our main result is stated in Theorem 1.
The rest of this section is devoted to proving Theorem 1. The key idea is to use a convenient partitioning to divide the state space into several cells (see Figures 5 and 6). This allows us to compute a bound on the expected number of samples that require the set-distance procedure to be called in Algorithm 1. Finally, we show that this number grows more slowly than

The

Two close-up views of the cell partitioning of
Consider a partitioning of the configuration space
Let
We group the cells in
where
Recall that
Note that
Recall that
Proof. This is true by construction and Assumption (A3). In particular, if
The validity of Lemma 1 stems from the fact that, given Assumption (A3), obstacle boundaries are essentially

The

The
Our first intuition-building example considers the case of polytopal obstacles. Given Assumption (A3), it is possible to decompose the obstacle space
Our second example follows. We consider a set
Using substitution we get
Lemma 1 implies that the fraction of all cells that are boundary cells is bounded by
where
We now bound the number of calls to the collision-distance procedure. This is accomplished by separately considering the mutually exclusive sets of samples that fall into interior cells and boundary cells, respectively. Recall that
Before proving Lemma 2, we must first introduce some additional notation and establish two intermediate results (Lemmas 3–4). Let
Proof. This is true by the construction of
Proof. By construction, cell
We can now prove Lemma 2.
Proof of Lemma 2. (Proof by contradiction). Suppose
First, we claim that
The following lemma (Lemma 5) provides an upper bound on the expected number of samples that fall into boundary cells. This result is then used in the subsequent lemma (Lemma 6) to calculate an upper bound on the expected number of points in
Proof. Let
Thus,
The following provides a bound on the expected number of points in
Proof. By Lemma 2, the number of points in
We are finally ready to prove Theorem 1.
Proof of Theorem 1. We begin by using a standard coupling argument to show that
We now prove
where the inequality follows from Lemma 6. Similarly
since all paths fit into an Euclidean ball with radius
Together,
5.2. Effects on runtime
Recall that the complexities of drawing a sample and performing a collision check are bounded by
The complexity of (approximate) proximity searches
5
that return the
The complexity of generating a trajectory
Using our certificate method causes standard collision checks to be replaced with approximate minimum-distance computations. In particular, we require a lower bound
In general, the expected iterative complexity of sampling-based motion planning algorithms is a function of the size of the potential neighbor set of a candidate node, as well as which points and trajectories are collision checked. The following list outlines the major steps of four common motion planning algorithms.
RRT: Sample a point, find the nearest neighbor, saturate (generate a new point between the sample and its nearest neighbor), check the new point for collision, and connect the new point to the nearest neighbor (trajectory collision check).
RRT*, PRM*: Sample a point, saturate, collision check the sample, find the neighbors (all nodes within a ball of volume scaling as
Table 1 summarizes the resulting expected incremental complexities of these four algorithms—both with and without the modifications necessary to use collision certificates. Recall that local planning and trajectory collision checking occur only if a new sample is not in-collision. Note that
Asymptotic bounds on the expected incremental complexity of standard sampling-based motion planning algorithms (with and without using certificates). Note that
Our main result from Section 5.1 shows that certificates will approach a covering of the space
If a system is designed such that it is possible to either set
6. Extension 1: workspace certificates
The basic collision certificate that has been presented so far has assumed that certificates are located in the configuration space. In this section we show one way that certificates can alternatively be used in the workspace to solve problems involving obstacles and robots that are modeled as sets of polytopes.
The use of certificates within a particular workspace is intimately related to both the robotic system itself and the obstacle representation that is used to model the environment. Any non-trivial workspace representation involves many practical details that we have been able to ignore until now. However, in this section we must ground our discussion in a particular obstacle representation and thus must flesh-out many of these details.
The main point of this section is to provide a proof-of-concept that certificates can be used directly in the workspace for a family of non-trivial motion planning problems. We believe that the particular representation we choose to study is widely applicable and the implementation details that we discuss are well motivated. However, we make no claim that these are the optimal representation or implementation for using certificates in the workspace, in general. Moreover, the idea may not even be immediately applicable to many popular “off-the-shelf” motion planning code packages.
6.1. Workspace representation and additional notation
We assume that the workspace is three-dimensional

Example of a workspace certificate for an L-shaped volume found from conservative dilation of the volume faces by the collision distance. The example volume is in green, the obstacles in red, and the certificate volumes in translucent blue.
Given a robot defined by a set of polytopes
We assume that motion of the robot is constrained to translations and rotations. In general, workspace transformations between a robot’s local coordinate system and a global frame are often handled using an armature, i.e. a tree of reference frames each one referred to as a link of the armature. Each link is assigned a unique index
We employ the Canny method (Canny, 1986) of interpolation to model motion between two points. The Canny method uses an interpolation that accounts for rotation based on a stereographic projection of quaternions; it becomes equivalent to linear interpolation as the magnitude of rotation goes to zero. Given two configurations
Let
Appendix A contains derivations of
In practice
where
6.2. Querying workspace certificates
Let
We may restrict our focus to “Canny type A” collision predicates, where a vertex of the robot pierces a face of the certificate (see Figure 10(r)), i.e. because the robot is already inside the certificate, the certificate is a convex polytope, and faces include their vertices.

Canny type A contact occurs when a vertex of the moving polytope pierces a face of the stationary polygon (left and right). We are concerned with the case where a convex polytopal certificate is pierced by a smaller polytopal robot (right).
Proof. Assume that the converse is true, and there is no such vertex. Let
Theorem 2 says that if the collision volume leaves the certificate volume the first point of contact will occur with a vertex of the collision volume moving from the interior half space of a face of the certificate volume to the exterior half space, i.e. type A predicates taking a zero value. In particular, a collision volume leaves a certificate volume at the minimum value of
To evaluate path containment within a certificate, we compute the Sturm polynomial (Hook and McAree, 1990) for the type A constraint associated with each vertex–face pair (vertex of the collision volume, face of the certificate volume). We then compute the Sturm value for all such constraint polynomials at the start (
We note that evaluating certificate containment of a path in this way is significantly more complex than for configuration space certificates which require only computing a Euclidean distance. However, this computation requires only evaluating a set of polynomials at two values of their argument, whereas continuous collision checking requires solving a set of polynomials once for each obstacle identified in the broadphase algorithm. Furthermore, the test is applied only to a single certificate volume and not to a multitude of volumes as required in continuous collision checking.
6.3. Generating certificates from collision distances
Just as with configuration space certificates, workspace certificates can be built using the collision distance from the static collision checks. Exact distances may be computed with, for example, Lin–Canny (Lin, 1993) or extended GJK (Gilbert et al., 1988) in conjunction with a bounding volume hierarchy. Approximate collision distances similar to those used for the previous section may also be computed as a computational optimization using GJK.
Let

Example of two-dimensional certificates generated using dilated collision volume and collision distance (left) and successive pruning by supporting hyperplane of nearest obstacle (right).
A certificate volume can be generated quite easily by dilating each of the faces of the collision volume by a distance

The addition of a redundant face allows for larger collision volumes.
6.4. Generating certificates by priority pruning
The method of computing certificates in Section 6.3 has the advantage of requiring only collision-distance output from the collision checker, the same as the basic method presented in Section 4. Certificates generated in this way may, however, be overly conservative in the case that a collision volume is very close to a single obstacle, but very far from any others. In this section we propose a certificate generation algorithm which is less likely to encounter this problem, but requires a deeper interaction with the standard collision-checking system. The algorithm is summarized in Algorithm 6.4.
Algorithm 5 builds a polyhedral certificate
While this technique performs even more work than a collision-distance algorithm (which would terminate after finding the first nearest obstacle). The time complexity is now output sensitive in the number of faces of
7. Extension 2: exploiting symmetries
Some motion planning problems involve configuration spaces and/or workspaces with symmetries that can be exploited to make the certificate method more efficient. A canonical case, and the running example used in this section, is centralized multi-robot motion planning. We note that similar ideas can be used with the workspace collision certificate methods of Section 6.
Assuming a multi-robot team consists of
7.1. Partial certificates
In the partial certificate variation of the certificate method each robot performs collision checking in its own projection of the full space, i.e. robot

Partial certificate: if a point is not certified as safe with respect to a subspace projection, then only a partial collision check is required.
If
In practice, the implementation of this method requires that each node in the motion-planning graph stores
7.2. Shared projection
Assuming that robots are identical, then

Shared projection: all robots collision check in the same
This method causes
In practice, the runtime of this variation can be improved by seeding collision certificate nearest-neighbor queries in
8 Experiments
8.1. RRT and RRT* with certificates
In this section we perform experiments in a simulated environment to evaluate the performance of the basic certificate method. In particular, both the RRT and RRT* algorithms are used both with and without our collision certificate method. The simulated environment consists of a unit-square workspace with 150 randomly placed convex polygonal obstacles (see Figure 15(l)). A holonomic point robot starts at the bottom left corner and is tasked with reaching a goal region, a square with side-length 0.1 units, at the top right corner. In this simple case the workspace and configuration space are equivalent

(Left) The tree search tree and corresponding certificate set when
Thirty trials are performed per each combination of planning algorithm with and without our collision-checking modifications. All four algorithm combinations are run with the same initial random seed (i.e. so that all four use the sample sequence
Figure 15(l) illustrates the set of collision-free balls and corresponding tree resulting after 2000 sample points have been sampled by RRT*. Note that the collision-free balls have filled a significant fraction of the free space, leaving only a small amount of area uncovered near the obstacle boundaries (white). This graphically illustrates the convergence result from Section 5, i.e collision checking becomes less likely as the number of samples increases.
Figure 15(r) depicts the wall-clock measured runtime versus tree size for each combination of RRT and RRT* with and without the use of collision-checking certificates. The proposed approach achieves greater time savings as the number of nodes in the graph increases. The RRT* time for
Using certificates increases the rate at which RRT* converges to the globally optimal solution due to the fact that performing less collision checking decreases average iteration time. Figure 16(l) shows the cost of the best path as a function of wall time. In general, the modified RRT* finds paths of lower cost significantly faster than the baseline RRT*. Figure 16(r) shows the mean number of explicit checks required for points which are not in collision versus different graph sizes. As the number of samples added to the database grows, the probability of performing an explicit check decreases. For example, only 1000 nodes out of 100,000 (i.e.

(Left) RRT* best-path cost versus time, with and without the proposed method. Points represent the mean over 30 trials. Using certificates yields significantly faster convergence. (Right) The experimentally observed chance of performing an explicit collision query versus graph size. Note that only 1% of nodes require an explicit check when graph size is 100,000.
Figure 17 shows the single iteration runtime as a function of graph sizes (for all four algorithm combinations) versus two different obstacle configurations. In particular, environments with 500 and 1000 randomly generated obstacles. The 500 obstacle environment yields shorter iteration times, in general. However, when certificates are used, the difference between iteration times in either environment decreases. This is due to the fact that the certificate covering of the free space becomes complete, in the limit, and provides additional evidence of the utility of using certificates.

The computation time of a single iteration versus algorithm (plot style), mean over 30 runs, in a configuration with 500 and 1000 obstacles (left and right, respectively). Methods using certificates have “ball” appended in the legend.
If planning is performed in a low-dimensional space with polytope obstacles, then an exact collision-distance computation can be performed using a Voronoi diagram obstacle index (doing so is no more expensive than collision checking, in general). However, generating a Voronoi diagram in higher-dimensional geometric spaces is prohibitively complicated. We now evaluate the utility of using certificates in conjunction with a version of RRT that has been designed for these more difficult cases. In particular, a kd-tree is used for point-proximity searches and an axis-aligned bounding box tree is used to compute set distance queries and to perform collision checking (note that a lower bound on the actual collision distance is returned). Obstacles are randomly generated simplices.
Figure 18(l) illustrates the runtime as a function of graph size for the latter implementation of RRT, both with and without certificates. Figure 18(r) shows the observed frequency of performing an explicit collision check for a unit workspace in two to five dimensions when certificates are used.

Mean wall-clock runtime (left) and experimental
Using RRT with certificates (i.e. certificates defined by a lower bound on collision distance, as described above) works better than standard RRT in two and three dimensions, roughly the same in four dimensions, and performs worse in five dimensions. In even higher dimensions there is a significant degradation in performance. Performance issues in higher-dimensional configuration spaces are further discussed in Section 9.2.
8.2. Workspace certificates
In order to demonstrate the utility of workspace certificates and their ability to accelerate sampling-based planning algorithms we performed experiments on the piano mover problem in
Figure 19 shows the wall-clock total normalized runtime (runtime divided by number of points) with and without the use of a workspace certificate cache. We see that the use of the certificate cache reduces the total runtime between 20% and 40% depending on the number of points. This performance increase comes from reducing the time to perform continuous collision queries for path segments. Building the cache, however, requires an increase in the cost of static collision checking each of the samples during the sampling phase. That is, by performing a collision-distance query instead of a collision-only query. This increase is from about 0.05 ms to about 0.25 ms (5×). However, because the static collision queries are such a small part of the overall runtime, this overhead is amortized by the acceleration of the continuous checking resulting in an overall performance boost for the planning algorithm.

Using workspace certificates accelerates continuous collision checking by up to 40%, resulting in a 40% total runtime reduction.
The benefits of the certificate cache exhibit a trend of increasing reward. As the number of samples increases, the inter-sample configuration distance is reduced, and so the likelihood that the path between two samples lies entirely within the certificate increases. Figure 20 shows the cache hit-rate for different point set sizes and demonstrates this increase for more samples.

The certificate success rate grows with the size of the point set, as the inter-configuration distance is shrinking.
Because of the anytime property of asymptotically optimal sampling-based algorithms, such as PRM*, we can see the end-to-end benefit of using the certificate cache. Depending on the planning time budget, we observe a 5 s to 10 s improvement in the time to find a solution of a given cost.
The symmetrically dilated collision certificate, while efficient to compute, is a rather conservative choice. When one face of the collision volume is close to an obstacle at a particular configuration, then all of the faces are dilated by that short distance. When the obstacles are rather tightly packed, this conservatism can greatly reduce the utility of the certificate cache. Figure 21 illustrates that the runtime of the cache-enabled implementation is only marginally improved over the baseline implementation when obstacles are tightly packed in this piano mover example and when using conservatively dilated certificates. We can see in Figure 22 that the conservatism leads to a very low cache hit-rate in this case.

When obstacles are close together (

The likelihood of the path to neighboring configurations lying within a sample’s certificate volume remains small for even relatively large point set sizes.
In this case, the higher coverage afforded by certificates generated from successive pruning (Algorithm 5) provides a more appropriate collision cache. Figure 23 shows the runtime of the cache accelerated algorithm for the closely packed obstacle case when certificates are generated with this method. We recover the runtime improvement of the widely spaced experiment. The trade-off between the two certificate generating methods is evident in Figure 24. The increased cost of generating the certificates is offset by the higher cache hit-rate, reaching 30% after 10,000 samples.

Caching of certificates generated by successive pruning yields significantly improved runtime when obstacles are close together with respect to the size of the collision volume.

Certificates generated by successive pruning provide a cache with a higher cache rate when obstacles are close together.
8.3. Spaces with symmetries
We now perform a number of experiments evaluating the effectiveness of using Partial Certificate and Shared Projection versus the basic method (which we will refer to as Basic Certificate) for centralized multi-robot planning.
Experiments are performed with both RRT and RRT* and with teams containing

The randomly generated workspace that is used for all centralized multi-robot team experiments. Robot starting locations and goals appear as circles and crosses, respectively. Note that a particular robot’s starting location and goal have the same color. Obstacles appear black and have been randomly generated.
Figures 26 and 27 show the average proportion of points that require a collision check (over 20 trials) for different team sizes (1 to 5 robots) versus iteration number (

Proportion of nodes requiring a collision check versus team size (mean value over 20 trials), lower values are better. The RRT algorithm is used. It is important to note the difference versus the left-most sub-figure.

Proportion of nodes requiring a collision check versus team size (mean value over 20 trials), lower values are better. The RRT* algorithm is used. It is important to note the difference versus the left-most sub-figure.
Both Partial Certificate and Shared Projection require fewer collision checks at a particular iteration than the basic method.
9. Discussion
9.1 Removing the collision-checking bottleneck
Both analysis and experiments show that using collision certificates significantly reduces the proportion of time spent on collision checking. In particular, the expected time spent on collision checking per iteration approaches zero, in the limit, as the number of iterations approaches infinity (proven in Theorem 1 and observed experimentally). Given that collision checking is widely believed to be the main computational bottleneck in sampling-based motion planning, this result has the potential to improve the performance of nearly all sampling-based motion planning algorithms. In general, those satisfying Assumptions (A1) and (A2) in environments that satisfy Assumption (A3).
9.2. Limitations in higher-dimensional configuration spaces
In our experiments evaluating configuration-space-based certificates (Section 8.1) we observe decreasing performance versus configuration space dimensionality
This illustrates one reason why workspace certificates (see Sections 6 and 8.2) are especially desirable for problems with high-dimensional configuration spaces. That is, regardless of the dimensionality of the configuration space, the workspace is limited to three dimensions for “real-world” robotics problems.
9.3. Certificates in configuration space versus workspace
Certificates can be used in either the configuration space or the workspace. The version that should be used in any particular case will likely be determined by the relative ease of calculating the certificate in either space, as well as practical concerns such as the obstacle representation that is chosen (or already implemented in a preexisting motion planning code-base). Configuration space certificates require that a bound on the minimum distance between a point and the obstacle set can be calculated inexpensively—an assumption that may not hold in all configuration spaces or in all practical implementations. Workspace certificates require many (constant times) more operations per certificate because the robot is represented as a volume instead of a point, but are more generally applicable in practice because obstacle volumes tend to be easily representable in the workspace and also have dimensionality fixed at three or less for real-world problems. We advise that the configuration space method be used when possible and the workspace method when practical (e.g. for problems with high-dimensional configuration spaces).
9.4. Considerations for configuration space certificates
The proposed approach is very general but there are some important implementation details to be aware of when using it. First, we require that points explicitly determined to be in-collision are kept in order to characterize the obstacle set (i.e. in addition to those that are collision-free). While the ratio of expected explicit collision checks versus the total number of samples goes to zero as the total number of samples approaches infinity, the number of points required to truly characterize the obstacle set can be quite large, especially in high dimensions. That said, our method is effective at marginalizing the extra collision checks in the asymptotically optimal variants of sampling-based motion planning algorithms. As an example, the expected runtime ratio between RRT* and RRT will be a constant which does not depend on the obstacle configuration, even if no in-collision samples are kept.
Calculating a sufficient approximation of the collision distance of a particular point and obstacle often does not require more computation than the worst case of performing a collision query. While this is true for a single obstacle, it is important to note that collision checking is often done using a spatial index and the choice of index may affect how the efficiency of a collision-distance query compares to a simple collision query.
9.5. Considerations for workspace certificate
Experimental results demonstrate significant runtime improvement using the workspace certificate cache. This is largely due to the fact that single certificate checking yields straightforward parallel implementations on modern hardware. Even if the success rate is zero, the additional cost of checking the initial certificate is marginal at worst. If the continuous collision-checking algorithm is in fact a variant of conservative advancement, the overhead is merged into the continuous collision-checking procedure.
There is significant room for improvement in parameterizing the collision volumes over the methods that we have presented here. Symmetrically dilated volumes have the advantage of requiring only one additional scalar of storage per configuration, but can be overly conservative, especially in dense obstacle environments. A particular area of future work that could greatly benefit applications of this algorithm would be designing efficient static collision-checking procedures which emit whole volumes rather than simply the collision distance. If such procedures can be designed in a way which does not incur too large an overhead, the effectiveness of the collision cache can be greatly improved (see Section 6).
9.6. Benefits versus different types of algorithms
Certificate methods may benefit multi-query algorithms (e.g.
Sampling-based planning algorithms often consider multiple connections from a single source configuration. The same initial certificate may be used for all paths from the source configuration. Since the the source configuration is statically collision checked during the sampling phase, this initial certificate can be computed prior to any continuous collision checking. Increased sampling resolution decreases inter-configuration distances. When the configuration set is large enough, all candidates for connection will be sufficiently close to the source configuration that the entire path segment can be certified by a certificate.
One important negative theoretical result is that collision certificates will not necessarily be useful with versions of PRM that essentially create an
9.7. Certificates in spaces with symmetries
Certificates provide additional benefits in spaces with symmetries, for example, a centralized multi-robot team, where each robot operates within the same environment. Storing team certificates as the Cartesian product of individual robot certificates allows separate certification per each robot. Thus, new points may only require a fractional new certificate to certify the lower-dimensional projections (i.e. robots) of a point that do not fall into a certificate. When all robots are identical, all certification can be performed in a single lower-dimensional projection of the space (e.g. the certificate of one robot can be used for all robots). Experiments show that both of these ideas provide a significant reduction in the number of “real” collision checks that must be performed—even versus the basic certificate method.
9.8. Certificates versus different spaces
At any particular iteration, the expected benefits of using certificates are proportional to the relative amount of space that is covered by certificates, where the latter is a function of both obstacle clutter and space dimensionality. Thus, the benefits of our method tend to increase versus iteration number. The marginal benefit of adding a new certificate is proportional to how much additional space it certifies. The marginal benefits of using certificates tend to increase relatively quickly versus iteration number in spaces that are relatively free of obstacles (where certificates tend to be centered relatively far from obstacles and have large radii as a result) and in lower-dimension spaces (where certificates of a particular radius tend to cover more space). In high-dimensional spaces with many obstacles it may take many iterations before the marginal benefits become substantial. However, they will also likely provide a much greater reduction in computation time once they do (due to the fact that standard collision-checking algorithms also suffer from decreased performance in high-dimensional spaces, see Section 5.2 for more details).
Our best advice to practitioners is that certificate use is likely to have similar effects in environments with similar characteristics (clutter, narrow passage size, etc.). Therefore, one can test how effective the method in particular types of environments before deciding to use it (or not) in practice.
9.9. Possible extensions to general trajectories
Some of the subroutines in the current paper leverage the fact that, in many path planning problems, the feasible trajectory between two points is a straight line. In general, this is not the case for robotic systems subject to, for example, differential constraints. Extension to more general systems is relatively straightforward, assuming that it is possible (and tractable) to test if a trajectory is bounded by a certificate and/or where the trajectory intersects the certificate (or even a bound on the latter).
10. Conclusions
We have proposed a novel certificate-based approach to collision checking in sampling-based algorithms. In summary, whenever a point must be collision checked using standard methods, we save a certificate that defines a subset of space around that point that is also collision-free. New points that are sampled from within a certificate can skip “normal” collision checking because they are guaranteed to be collision-free. Similarly, the subset of any trajectory that passes through a certificate is also collision-free. In practice, checking the certification status of new points and trajectories can be combined with nearest-neighbor queries that are already used as subroutines in sampling-based motion planning algorithms.
The certificate method allows us to demonstrate, both theoretically and experimentally, that collision checking is not necessarily a computational bottleneck for sampling-based motion planning algorithms. Rather, the complexity is driven by nearest-neighbor searches within the graph constructed by the algorithms. Although complexity analysis has always suggested that this should be the case, the high complexity of collision checking has prevented it from being realized in practice in most previous work.
Footnotes
A. Canny interpolation
This section continues using the additional notation introduced in Section 6. For sampling-based motion planning, a requisite component is a “local planning method” or alternatively a “steering function” that, given two configurations
Recall that
For efficient sampling-based planning, the generated plan should be computed efficiently, admit efficient collision queries, and satisfy a notion of optimality: for a distance metric
where
Consider a vector
The path
We generate intermediate rotations by linearly interpolating the tangent of the angle. We first find the direct relative rotation
Then we determine the axis-angle representation of that rotation by using the inverse (log) map from
where
We will generate a matrix polynomial in
where
where
Because a rotation by
We may ensure that any linear equation involving
Then we have
Because
The homogeneous transformation for
Note that each element of this matrix is a polynomial of degree at most three. Thus, after appropriate pre-multiplication, the matrix polynomial describing the homogeneous transformation from the global frame to
B. Additional derivations for constrained motions in articulated robot
In this section we present a few additional details related to the application of Canny’s method to articulated robots. Generally speaking, an articulated robot is composed of links which are joined in such a way as to constrain the relative motion of their reference frames. In particular, the joint between two links is most often actuated by either a linear or rotary actuator. A linear actuator allows only translational motion in a fixed direction, and a rotary actuator allows only rotation about a fixed axis. These types of constrained motions simplify the polynomial equation for
where
Likewise if
where
Funding
This work was partially supported by the Office of Naval Research (MURI grant number #N00014-09-1-1051), the Army Research Office (MURI grant number #W911NF-11-1-0046), and the Air Force Office of Scientific Research (grant number #FA-8650-07-2-3744) and the National Science Foundation (grant number IIP-1161029). The final version of this paper was completed while the second author was supported by the Control Science Center of Excellence at the Air Force Research Laboratory (AFRL) and “in residence” at AFRL.
