Skip to main content
NASA Author Manuscripts logoLink to NASA Author Manuscripts
. Author manuscript; available in PMC: 2022 Jul 1.
Published in final edited form as: IEEE Robot Autom Lett. 2021 Mar 24;6(3):4624–4631. doi: 10.1109/lra.2021.3068682

Single-query Path Planning Using Sample-efficient Probability Informed Trees

Daniel Rakita 1, Bilge Mutlu 1, Michael Gleicher 1
PMCID: PMC8152220  NIHMSID: NIHMS1693026  PMID: 34056101

Abstract

In this work, we present a novel sampling-based path planning method, called SPRINT. The method finds solutions for high dimensional path planning problems quickly and robustly. Its efficiency comes from minimizing the number of collision check samples. This reduction in sampling relies on heuristics that predict the likelihood that samples will be useful in the search process. Specifically, heuristics (1) prioritize more promising search regions; (2) cull samples from local minima regions; and (3) steer the search away from previously observed collision states. Empirical evaluations show that our method finds shorter or comparable-length solution paths in significantly less time than commonly used methods. We demonstrate that these performance gains can be largely attributed to our approach to achieve sample efficiency.

Keywords: Motion and Path Planning, Collision Avoidance

I. Introduction

SOLVING high-dimensional path planning problems, such as for robot manipulator motion planning, remains a challenging and important problem. Many aspects of this problem are often addressed with sampling-based path planners, which sample a collision-check function in order to probe the configuration space and inform a search strategy. While, in theory, many sampling-based planners are guaranteed to eventually find a solution if one exists, in practice, even state-of-the-art approaches are unable to consistently solve challenging problems in reasonable amounts of time as they require many costly collision-check samples [1].

In this work, we present a novel sampling-based path planning method, called SPRINT (Sample-efficient PRobability INformed Trees) that finds solutions for high dimensional planning problems significantly faster than many state-of-the-art approaches. Our method uses heuristics designed to minimize the total number of collision-check samples required to find solutions by modeling how likely regions of the search space will yield useful samples. These heuristics, as part of newly proposed global and local tree searches, are used to (1) prioritize more promising search regions to foster a greedy first global search strategy, while still exploring broadly in the limit; (2) cull samples from local minima regions in the local search to avoid wasteful, unfruitful samples; and (3) steer the local search away from previously observed collision states toward search regions predicted to contain more useful free-space samples. Our heuristics can be implemented with efficient information storage and retrieval methods that further accelerate the search. Specifically, our method does not perform expensive nearest neighbor checking each time a node is added to the search graph structure.

We assessed the efficacy of our method by running a large testbed of simulation experiments and compared our method to numerous path planners on single-arm and bimanual robot manipulation problems (§VII). Our method found shorter or comparable-length solution paths in significantly less time than the alternatives. We demonstrate that these performance advantages were, in large part, due to an increase in sample efficiency from our heuristics. We conclude our work by discussing the implications of our results in robotics applications and beyond. We provide open-source code for an implementation of our method.1

II. Related Works

In general, there are three main paradigms for solving path planning problems: sampling-based, local optimization, and search-based. Sampling-based planners, many of which are extensions of Rapidly-Exploring Random Tree (RRT) [2], Probabilistic Roadmap (PRM) [3], or Expansive Space Tree (EST) [4] methods, often use random configuration-space samples to bootstrap a broad search strategy. These algorithms often have guarantees, such as probabilistic completeness or asymptotic optimality [5], [6], though they often over-explore the space with many unnecessary samples in order to achieve such guarantees.

Our work shares particular similarities with informed-tree sampling-based approaches that iteratively build search strategies that trade-off between exploration and exploitation based on information gathered at run-time [7]–[11]. Our work draws on these approaches, but differs in two main ways: (1) these approaches generally use linear local search segments between samples, whereas our work proposes a new local search designed to maneuver through narrow passages and avoid over-sampling; and (2) the search strategies for these approaches are typically more focused on achieving asymptotic optimality, whereas the search strategies for our method are more singularly focused on reaching a first feasible solution as quickly as possible.

Local optimization-based planners, such as CHOMP [12] or STOMP [13], use non-linear optimization to iteratively transform a trajectory into a higher quality path. These methods are designed to be greedier than sampling-based methods, though they often have fewer guarantees, strongly depend on the quality of the initial condition, and commonly do not converge on a feasible solution due to local minima.

Search-based planners prioritize exploration based on a set heuristic, such as best-first search, depth-first search, breadth-first search, or the A* heuristic [14]. However, because these searches are often structured in a discrete, grid-like fashion, higher dimensional planning often scales intractably in terms of memory and run-time complexity.

Our method draws on all of the above paradigms, and attempts to unite many of the discussed themes. To illustrate, SPRINT also uses random samples to bootstrap its search and explore broadly, but local optimization and search-based concepts are used to optimize and prioritize certain parts of the search to increase the probability of sample usefulness. We compare our method to other common approaches in our evaluation (§VII) to assess whether this bridging of concepts is effective for path planning.

III. Preliminaries

A. Problem Statement

Consider χ as a d-dimensional configuration space with states within χ denoted as q. Suppose χobs is a subset of χ considered to be infeasible space (i.e., obstacles). Feasible space can then be defined as the subset of χ not in an obstacle region: χfreeχ \ χobs. A path in χ is a continuous function Γ[qa,qb] : [0, 1] → χ, where Γ[qa,qb](0) = qa, Γ[qa,qb](1) = qb, and all points along the path are in χ. The goal in path planning is to find a feasible, C0 continuous path Γ[qinit, qgoal] such that Γ[qinit, qgoal](0) is a given start state, qinit; Γ[qinit, qgoal](1) is a given goal state, qgoal; and Γ[qinit, qgoal](u) ∈ χfree, ∀u ∈ [0, 1].

B. Graph-based Planning Structure

A common structure to solve the problem described above is a graph-based search [2]–[6], [10]. This framework organizes the search into a set of collision-free edges, E, between pairs of nodes in a set N to form a graph G = (N,E). The goal in these searches is to construct G such that a feasible path Γ[qinit, qgoal] is contained as some connected sequence of edge traversals between nodes within the graph. The feasibility of each edge is checked prior to its addition to the graph using a collision-check function. SPRINT interleaves global and local graph-based searches, overviewed in §IV-A.

C. Search-space Regions and Useful Samples

The overall goal of SPRINT is to minimize the number of collision-check samples by incorporating probability heuristics that model how likely regions of the search space will yield useful samples.

A search-space region is a segment of the configuration space χ loosely thought of as states in the vicinity of the line segment between two specified end-points. These regions are used to characterize and model where the planner has previously searched and where the planner could search in the future. Their loose definition is sufficient for these use cases. We denote a search-space region as R[qa, qb], where qa and qb serve as the end-point markers of the region.

Intuitively, a useful sample is a sample that plays an integral role in constructing a final solution path. More formally, we consider a sample to be δ–useful if it achieves two criteria: (1) it is in free-space, χfree; and (2) it ultimately lies within a distance of δ of the final solution path, Γ[qinit, qgoal]. Note that this definition implies that it is unknowable if a sample is δ–useful until a solution path is found. However, our method uses heuristics to predict the probability that a particular search-space region will contain at least one δ–useful sample, which we will denote as Pr(Uδ(R[qa, qb])). The following sections will detail the structure and functionalities of these probability heuristics.

IV. Technical Overview

This section outlines the search structure and overall strategy of the SPRINT method. Pseudocode of the SPRINT planning sub-processes can be found in Alg. 17.

A. SPRINT Global planning Level

The global planning level in SPRINT (Alg. 1) uses a tree-graph as a search structure, Tg = (Ng, Eg), rooted at qinit. A set of sampled collision-free milestone points, M, serve as intermediary goals for the global search to reach en route to qgoal, reminiscent of FMT* [6]. On each global planning level loop, the planner selects a best search-space region for the next local search, R[qn*,qm*](qn*Ng,qm*M). Milestones that are reached via local searches to form global edges in Eg from already established nodes in Ng are added as global nodes in Ng. If the current set of milestone points does not foster a path to qgoal, more milestone points are added to M, and the search proceeds. This process iterates until qgoal is reached via Tg, provided a solution exists.

Algorithm 1:

sprint(qinit, qgoal)

graphic file with name nihms-1693026-t0006.jpg

Algorithm 2:

local_tree_search (qn*,qm*)

graphic file with name nihms-1693026-t0007.jpg

In general, the global planning level is intended to be a simple wrapper around the more sophisticated local search, outlined below. While the global planning level achieves probabilistic completeness in the limit (§VI), in practice, the default starting set of 50 milestone points is sufficient to quickly solve all problems that we have ever tried.

B. SPRINT Local Planning Level

The local planning level in SPRINT (Alg. 2) also uses a tree-graph as a search structure, T = (N, E). The root of the local tree is the first boundary point of the search-space region selected by the global planning level, qn*, and the goal state that the local tree is trying to reach is the second boundary point of this region, qm*.

The local planning level in SPRINT is a greedy, depth-first-search-like algorithm that uses heuristics to intelligently select branching directions, backtrack to fruitful parts of the search tree, and stop as early as possible when a solution is unlikely to be found. The local search was designed to be particularly adept at steering around approximately convex-shaped obstacle sections and navigating through narrow passages (as seen in Figure 1a). While the local search has no guarantees and needs the global search to route around local minima regions, in practice, it is effective and solves many problems on its own, even in high dimensions.

Fig. 1.

Fig. 1.

(a) This 2D planning example shows the sample efficiency of the SPRINT planner, as many fewer collision-check samples were taken (left) compared to RRT-Connect (middle) and RRT (right). (b–c) This sample efficiency also makes path planning more efficient in high dimensions, such as for the illustrated robot manipulator motion planning problems.

The local planning level progresses in three steps: (1) Select a node from the tree to extend from, qx ∈ N; (2) Decide if qx is worthwhile to extend (if not, return to step 1); and (3) If qx is worthwhile to extend, calculate a candidate node to extend toward, qc*. After qc* is calculated, it is checked for collision (Alg. 2, line 14). If qc* is in free-space, it is added as a node to the tree, the algorithm assesses and stores information about how the search has improved or worsened given the addition of the new node, and it becomes the next qx to extend (Alg. 2, lines 23–39). If qc* is in collision, the collision-point is stored by the algorithm to help prevent the tree from colliding with the same region again and a next qx is popped off of a stack of nodes to extend from, Nstack (Alg. 2, lines 15–21). These steps repeat until either the local goal is reached or Nstack becomes empty.

The heuristics used in the local search often rely on its ability to efficiently assess and characterize sub-trees within the tree. Therefore, the local search tree stores information allowing fast responses to queries such as “has the sub-tree rooted at node q recently progressed toward the goal qm*?”; or “what previously observed collision points are in close proximity to the sub-tree rooted at node q?”. To achieve these quick assessments, our method labels certain nodes in the local search tree as data checkpoints, then stores and accesses information at these checkpoints throughout the search. It would be highly inefficient for all nodes to be labeled as checkpoints. Thus, only the root node, qn*, and nodes that have more than one child node are labeled as checkpoints, which reduces the overall number of checkpoints and structurally places them as roots of salient sub-trees where distinct branching decisions were made.

When pertinent information is processed during the search, e.g., a node is added or a collision point is detected, this information is back-propagated through the tree and stored at all checkpoint nodes that reside on the path from the current extend node to the local tree root, qn*. This process can be seen in Alg. 2 lines 17 and 30–39 where information is updated in four hashmap data structures (Hexploit, Hexplore, Hobs, Hnum, explained more below) on checkpoint nodes qNcheckpointsΓ[qn*,qx]. This procedure ensures that checkpoints have access to information that has been processed “downstream” at newer, more distal parts of its sub-tree (illustrated in Figure 2).

Fig. 2.

Fig. 2.

(a) - (d) The detected collision states (red dots) get stored (dotted lines) in all checkpoint nodes (dots with purple outlines) along the path from the current extend node, qx to the root, qn*. (e) - (f) Each added node passes its exploitation and exploration progress information back to its predecessor checkpoints until (g) the search decides that it is stuck in a local minimum trap based on lack of progress. (h) A new search-space region is selected by the global search to route around the local minimum region.

V. Probability Heuristics

In this work, our method uses three probability heuristics, one in the global planning level and two in the local planning level (highlighted in green in Alg. 1 and 2). Each heuristic tries to guide the search into search-space regions with a high probability of containing δ–useful samples. In this section, we describe each of these three heuristics.

A. Probability Heuristic 1

Probability Heuristic 1 is used by the global search to select which search-space region would be best to next attempt a local search. This assessment is based on two criteria: (1) A good search-space region should have an end-point qm*M that gets closer to qgoal. Intuitively, global edges that make progress toward the goal are more likely to have useful samples; and (2) A good search-space region should be far from any regions that already fostered local searches that did not reach their respective goals. The goal of this second criterion is to de-prioritize the search from repeating a local search in a region already estimated to be a local minimum trap (stored in the Rlocalmin set in Alg. 1).

Algorithm 3:

probability_heuristic_1 (Ng, M, Rlocalmin)

graphic file with name nihms-1693026-t0008.jpg

We model the two criteria outlined above as a mixture of two respective Gaussian functions:

Pr1(Uδ(R[qg,qm])|Tg)=ϕ1*[(w1*g1(qn,qm,Tg))*(w2*g2(qn,qm,Tg))] (1)

These Gaussian functions can be seen in Alg. 3, lines 7 and 8–14. The ϕ scalar is a normalization constant, and the w scalars signify weights that adjust the peaks of their Gaussian terms. The default values for w1 and w2 were hand-tuned, though our experiments below show that performance is not overly sensitive to these parameters. The c scalar is the standard deviation over these Gaussian functions, which we set as the Euclidean distance from start to goal.

The g1 function uses Euclidean distances to achieve the first criterion discussed above. Specifically, x1, the input variable of the g1 Gaussian function, is designed such that the closer a search-space region gets to qgoal compared to where it started, the higher the probability value will be from g1. The g2 function achieves the second criterion by projecting all candidate search-space regions onto rays cast from the endpoints of prior unfruitful search-space regions (stored in the set Rlocalmin) and deprioritizing candidate regions with endpoints close to any of these projections (Alg. 3, lines 9–14, seen illustrated in Figure 3).

Algorithm 4:

probability_heuristic_2(qx, T, Ω)

graphic file with name nihms-1693026-t0009.jpg

Fig. 3.

Fig. 3.

Projection procedure of a search-space region R[qn, qm] onto a region already deemed to be a local minimum trap, R[qa, qb].

B. Probability Heuristic 2

Probability Heuristic 2 is used by the local search to decide whether a particular node in the local tree search, qx, is worthwhile to extend. This decision is made by checking information stored at all checkpoints along the path from qx back to qn*. At a high level, qx is deemed worthwhile to extend if either (1) all of the sub-trees rooted at checkpoints along the path from qx back to qn* have shown recent progress in terms of getting closer to the goal, qm*. Throughout this work, we refer to this kind of progress as exploitation (stored and tracked in the Hexploit hashmap in Alg. 2); or (2) all of the sub-trees rooted at checkpoints along the path from qx back to qn* have shown recent progress in terms of getting further from the tree root, qn*. Throughout this work, we refer to this kind of progress as exploration (stored and tracked in the Hexplore hashmap in Alg. 2). If the sub-trees that qx is a part of show no sign of recent exploitation or exploration progress, the heuristic considers this region of the local tree trapped in a local minimum, and qx is culled prior to extension.

We model Probability Heuristic 2 as the minimum of a set of probability functions:

Pr2(Uδ(R[qx,qm*])|T)=minqB(g(qx,q,T)),BNcheckpointsΓ[qn*,qx] (2)

The probability functions are modeled as Gaussian functions, constructed in Alg. 4, lines 4 – 9. Here, x1 and x2 are the number of collision-check samples since a node has made exploitation and exploration progress, respectively. These values are stored and updated in the Hexploit and Hexplore hashmaps in Alg. 2, lines 17 and 31–38. We model this sub-tree assessment process by taking the minimum of x1 and x2 in Alg. 4, line 7. Taking the minimum ensures that if either exploitation or exploration progress are occurring in the given sub-tree (i.e., either x1 or x2 are near 0), the sub-tree as a whole will still be considered promising. This value is inputted into the Gaussian function in line 9 to output the approximate probability value g ∈ [0, 1]. The standard-deviation c value is attenuated based on the number of nodes in a given sub-tree (stored and updated in the hashmap Hnum in Alg. 2) such that new sub-trees with few nodes do not fail too abruptly even if they do not immediately show exploitation or exploration progress. In our prototype system, we use a probability cutoff of κ = 0.3, though our experiments below suggest that performance is not overly sensitive to this parameter selection.

Algorithm 5:

Common Functions

1 proj_scalar(q,R[qa,qb])=(qqa)(qbqa)(qbqa)(qbqa)
2 proj(q, R[qa,qb]) = qa + proj_scalar(q, R[qa, qb]) * (qbqa)
3 proj+(q, R[qa,qb]) = qa + max(proj_scalar(q, R[qa, qb]), 0) * (qbqa)
4 hvs(x)={0ifx01ifx>0//Heaviside step function

Algorithm 6:

probability_heuristic_3 (qx, T, Ω)

graphic file with name nihms-1693026-t0010.jpg

C. Probability Heuristic 3

Probability Heuristic 3 is used by the local search to calculate which search-space region the local tree should extend into from an extend node qx. This region is computed based on three criteria: (1) A good search-space region should follow a straight line path with respect to the predecessor edge of qx. This criterion prevents the local search from making drastic turns and unnecessarily turning back on its own path; (2) A good search-space region should get closer to the local goal, qm*. Intuitively, making progress toward the goal is estimated to be useful; and (3) A good search-space region should move away from previously observed collision points nearby (stored in the Hobs hashmap in Alg. 2). A search-space region that is pointing in the direction of a previously observed collision point is also likely to collide, and thus, is less likely to lead to a useful sample.

Instead of explicitly modeling a Pr3 model, we implicitly define the model through its gradient with respect to a search-space region end-point, qc:Pr3(Uδ(R[qx,qc]))qc. Then, given this gradient, we perform gradient ascent to steer local edges in a way that would approximately optimize a Pr3. We model this gradient as proportional to the sum of three weighted sub-term gradients, each trying to achieve one of the three criteria from Probability Heuristic 3 above, respectively:

Pr3(Uδ(R[qx,qc]))|T)qcw1g1qc+w2g2qc+w3g3qc (3)

The g1qc sub-term gradient pulls the search-space region in a straight line with respect to its predecessor edge. Here, qp denotes the predecessor node of the extend node, qx:

g1qc=qxqpqxqp (4)

The g2qc sub-term gradient pulls the search-space region toward the local goal, qm*:

g2qc=ψ2*qm*qcqm*qcψ2=exp(qm*qc2/4λ2)+1 (5)

Algorithm 7:

get_nearby_collision_points(qx, T, Ω)

graphic file with name nihms-1693026-t0011.jpg

Here, ψ2 increases the pull from g2qc as the local tree approaches its goal which helps avoid overshoot when doing gradient ascent. The λ scalar is the fixed length of all local search edges.

The g3qc sub-term gradient pushes the candidate edge away from a set of nearby, previously observed collision points qobs ∈ Nobs (utility functions used in this sub-term gradient can be found in Alg. 5):

g3qc=1|Nobs|qobsNobsψ3,1*ψ3,2*proj(qobs,R[qx,qc])qobsproj(qobs,R[qx,qc])qobsψ3,1=hvs(proj_scalar(qobs,R[qx,qc]))ψ3,2=5*exp(proj(qobs,R[qx,qc])qobs2/4λ2) (6)

The push from a particular collision point, qobs, is given in the direction of qobs towards its projection onto the candidate search-space region, R[qx, qc]. If this projection point lies “behind” qx, i.e., proj_scalar(qobs, R[qx, qc]) < 0, the collision point is considered already passed, and the ψ3,1 term removes this collision point’s effect on the gradient. If qobs lies “ahead” of qx, ψ3,2 attenuates the push strength away from qobs such that a smaller distance between qobs and its projection point corresponds to a stronger push, and vice versa. The scalar 5 coefficient on the ψ3,2 term raises the peak of its corresponding Gaussian to further strengthen the push away from qobs if it is close to its projection onto R[qx, qc]. The set of nearby collision states, Nobs, is efficiently accessed in constant time, i.e., without using a heavy data structure like a kd-tree, by using the checkpoint data back-propagation technique outlined in §IV-B (Alg. 7). Here, collision points are stored and accessed at checkpoint nodes in the Hobs hashmap throughout Alg. 2. Note that if |Nobs| ≡ 0, the effect of g3qc is cancelled by the Heaviside step coefficient in Alg. 6, line 6, and thus, g3qc does not need to be computed in this case.

The Pr3(Uδ(R[qx,qc]))qc gradient is used in gradient ascent iterations to steer the local tree, as seen in Alg. 6. Because this gradient ascent occurs at such a performance critical inner-loop process, we only do one or two iterations per local search loop in practice. By default, we use the point qx + (qxqp) as the initial condition for qc in the gradient ascent. Also, if |Nobs| > 0, we add a small amount of noise to this initial condition. In our prototype system, this noise vector is drawn from a d-dimensional uniform distribution ξUd(λ100,λ100). Without this small random push, the local search would just stay on a single plane embedded in the configuration space. We also re-set the edge length to λ after each gradient ascent iteration (Alg. 6, line 7).

VI. Analysis

In this section, we show the probabilistic completeness property of SPRINT in d.

Sketch Proof:

Consider Γ[qinit, qgoal] as any feasible solution path found by a probabilistically complete planner parameterized by a set of k nodes, N ≡ {q1, q2, …, qk}, connected by linear edges, E. For example, solution paths found by RRT or PRM would fit this definition. Now, suppose d-dimensional open balls of radii r1rk, are centered around nodes q1qk, which we will denote as Br1(q1)Brk(qk). Each radius rj will be selected such that all of Brj(qj) lies in free-space and all points in Brj(qj) can be connected by collision-free lines with all points in Brj+1(qj+1)j[1,2,,k1]. Note that because Γ[qinit, qgoal] is feasible, a radius of rj > 0 must exist for all Brj(qj) [15].

Observation 1: Because milestone points are uniformly sampled from χfree and each radius rj > 0, each Brj(qj) will become dense with milestones in the limit [15]. Observation 2: SPRINT will process a local search between all current global node and milestone point pairs each loop through Algorithm 1 lines 2–16. Observation 3: If a collision-free, straight-line path exists between a global node qn and a milestone qm, the local search in SPRINT resolves to a straight-line. From these observations, it can be seen that the following recursive sequence will always happen in SPRINT: a milestone point will eventually be sampled in Brj(qj), which will be reached by a straight line local search from a global node in Brj1(qj1)j[2,3,,k]. Note that qinit, i.e., q1, and qgoal, i.e., qk, start as a global node and milestone point, respectively, so these points bootstrap the recursive process and never have to be exactly sampled. Therefore, SPRINT must inherit the probabilistic completeness of any algorithm that would eventually find a feasible path Γ[qinit, qgoal] as a homotopically equivalent path will always eventually be found by SPRINT. □

VII. Evaluation

We have assessed the efficacy of our approach in three empirical experiments. Although we demonstrate that SPRINT is able to solve low-dimensional testbed problems used to validate planning algorithms, as illustrated in Figure 1, we focus our assessment on higher dimensional problems with robot manipulators. In this section, we overview our experiments and share results.

A. Implementation Details

our prototype SPRINT implementation is implemented in the Rust programming language. Robot manipulator self-collisions and environment collisions are detected using the ncollide Rust library. Configurations that exceed joint position limits are also considered in a collision state. All evaluations throughout this work were run on a Lenovo Legion laptop with an i7-9750H processor and 32GB RAM. All parameters used in SPRINT were held constant at their default values for all problems in our evaluation.

B. Evaluation Benchmark

We developed a set of seven benchmark tasks to compare our method against alternative path planners. The benchmark was designed to test the planners on a wide variety of tasks that range in dimensionality and topological structure. Our benchmark consists of two tasks on a Universal Robots UR5 (6-DOF), two tasks on a Rethink Robotics Sawyer (7-DOF), and three bimanual tasks on the DRC-Hubo+ (15-DOF). Two of these tasks can be seen illustrated in Figure 1(bc). The UR5 tasks included (1) Single Box, where the robot moves over a large box; and (2) Table, where the robot moves its arm up and around a small table. The Sawyer tasks included (3) Vertical Bars where the robot maneuvers around six vertical bars; and (4) Narrow Passage Box where the robot maneuvers out of a cramped box through a narrow passage. Finally, the Hubo tasks included (5) Over Boxes where the robot moves its arm up and over a set of boxes; (6) Bookshelf where the robot moves an item from the top shelf to the bottom shelf; and (7) Arms around Table where the robot maneuvers both of its arms up and around a table to reach objects on top. Our benchmark consisted of 100 trials through each task. All tasks had a maximum evaluation time of one minute.

C. Experiment 1: Comparisons with Alternative Planners

In our first experiment, we compared performance on our benchmark tasks to nine commonly used path planners: RRT [16], RRT-Connect [17], RRT* [5], FMT* [6], KPIECE [18], BiEST [4], BiTRRT [19], CHOMP [12], and STOMP [13]. All methods were tested using their MoveIt! implementations with default planner options. Also, we implemented RRT, RRT-Connect, FMT*, and EST within our framework to ensure that the planning primitives in SPRINT, e.g., collision checking or graph operations, were not eliciting unintended performance gains. Our implementations used kd-trees for nearest neighbor checking. We used both our own implementations and MoveIt! in our evaluation and only report the better of the two results for fairness. Across all planners and tasks, the highly optimized implementations in MoveIt! were faster.

1). Results—Computation Time:

Figure 4a provides an overview of the average times needed to complete our benchmark tasks. SPRINT computed solution paths for the benchmark problems often one to three orders of magnitude faster than alternative approaches. While many of the planners did well on the somewhat simpler, lower dimensional UR5 problems, SPRINT still out-performed the other methods on these tasks.

Fig. 4.

Fig. 4.

Results from Experiments 1 and 2. Bar colors denote different tasks, with ordering from left to right being Single Box (UR5), Table (UR5), Vertical Bars (Sawyer), Narrow Passage Box (Sawyer), Over Boxes (Hubo+), Bookshelf (Hubo+), and Arms around Table (Hubo+). Error bars denote standard error. The values above the log10-scale bars in (a) denote the standard decimal values of the bars (in seconds). A circle with a line through it indicates that no solution was found on the given task in the allotted time.

2). Results—Path Length:

Figure 4b provides an overview of average path lengths per each planner and task. The paths computed by SPRINT are shorter or at most similar in length compared to other sampling-based planners. Thus, the performance advantages in computation time do not come at the expense of lower quality paths. While optimizing planners, such as RRT* and STOMP, did find higher quality paths on the UR5 Single Box task, these results came at a significantly higher computation cost. Further, these planners were not able to find any solutions in the allotted sixty seconds for any of the other benchmark tasks.

D. Experiment 2: Analysis of Performance Gains

In our second experiment, our goal was to investigate whether the performance gains exhibited by SPRINT in Experiment 1 could be attributed to enhanced sample efficiency. We assessed the ratio of points from the solution paths from Experiment 1 that were δ–Useful for each tested planner, which we defined in §III-C. We defined δ to be 2λ for this evaluation, where λ was the minimum edge length in the tree or graph structure. We only report this δ-Usefulness metric on the sampling-based planners as it is not applicable to the local-optimization-based planners (STOMP and CHOMP).

Figure 4c shows the δ–Useful metric results. We observe that SPRINT performs much better on this metric across all tasks, indicating that many more of its samples were useful. These results suggest that the performance gains from SPRINT were indeed due to our intended goal of enhancing sample-efficiency.

E. Experiment 3: Analysis of Heuristics and Parameters

In our final experiment, our goal was to observe how the performance of SPRINT changes if we systematically perturb its parameters or remove its probability heuristics. We assessed four conditions: (1) SPRINT-RP, which randomly offsets all parameters such that each varies by up to 25% above or below its original hand selected value. These random offsets were drawn from a uniform distribution; SPRINT Pr1, which replaced the Pr1 heuristic with a random global edge selection; (2) SPRINT Pr2, which replaced the Pr2 heuristic with a random, 50% chance of extending a node; and (4) SPRINT Pr3, which replaced the Pr3 heuristic with a random extend direction process.

Figure 5 overviews the results from Experiment 3. First, we found that SPRINT-RP was comparable in terms of computation time and average path length, suggesting that SPRINT is not overly sensitive to parameter tuning. However, we see that performance significantly degrades when even one probability heuristic is removed, suggesting that all of our probability heuristics are integral and work in tandem in order to enhance sample-efficiency and, in turn, boost performance. Probability Heuristic 3 appears to be particularly important, as no solutions were found in the allotted sixty seconds without this heuristic model.

Fig. 5.

Fig. 5.

Results from Experiment 3. Bar colors denote different tasks, with ordering from left to right indicating Single Box (UR5), Table (UR5), Vertical Bars (Sawyer), Narrow Passage Box (Sawyer), Over Boxes (Hubo+), Bookshelf (Hubo+), and Arms around Table (Hubo+). The values above the log10-scale bars in (a) denote the standard decimal values of the bars (in seconds). A circle with a line indicates that no solution was found.

VIII. Discussion

In this work, we presented a path planning approach that is able to quickly and reliably solve high-dimensional path planning problems. Through the notion of enhanced sample usefulness afforded by a set of probability heuristics, we show that our approach achieves significant performance gains over standard approaches.

Limitations—

We note a number of limitations of our work that suggest future extensions. First, our probability heuristics were constructed by observation and intuition. While our three heuristics serve as proofs of concept for our overall premise, we believe that better models, either hand-engineered or data-driven, could improve results. Our approach also does not guarantee asymptotic optimality. Lastly, our work does not currently accommodate kinodynamic planning, though we believe that extensions to our work could explore kinodynamic steering functions compatible with Probability Heuristic 3.

Supplementary Material

supp1-3068682
Download video file (9.9MB, mp4)

ACKNOWLEDGMENTS

The authors thank Lydia Kavraki for valuable discussions regarding this work.

This paper was recommended for publication by Editor Nancy Amato upon evaluation of the Associate Editor and Reviewers’ comments. This work was supported by a Microsoft Research PhD Fellowship, National Science Foundation award 1830242, and a NASA University Leadership Initiative (ULI) grant awarded to the UW-Madison and The Boeing Company (Cooperative Agreement # 80NSSC19M0124).

Footnotes

References

  • [1].Hauser K, “Lazy collision checking in asymptotically-optimal motion planning,” in 2015 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2015, pp. 2951–2957. [Google Scholar]
  • [2].LaValle SM, “Rapidly-exploring random trees: A new tool for path planning,” 1998. [Google Scholar]
  • [3].Kavraki L, Svestka P, and Overmars MH, Probabilistic roadmaps for path planning in high-dimensional configuration spaces. Unknown Publisher, 1994, vol. 1994. [Google Scholar]
  • [4].Hsu D, Latombe J-C, and Motwani R, “Path planning in expansive configuration spaces,” in Proceedings of International Conference on Robotics and Automation, vol. 3. IEEE, 1997, pp. 2719–2726. [Google Scholar]
  • [5].Karaman S and Frazzoli E, “Sampling-based algorithms for optimal motion planning,” The international journal ofrobotics research, vol. 30, no. 7, pp. 846–894, 2011. [Google Scholar]
  • [6].Janson L, Schmerling E, Clark A, and Pavone M, “Fast marching tree: A fast marching sampling-based method for optimal motion planning in many dimensions,” The International journal of robotics research, vol. 34, no. 7, pp. 883–921, 2015. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • [7].Burns B and Brock O, “Toward optimal configuration space sampling.” in Robotics: Science and Systems. Citeseer, 2005, pp. 105–112. [Google Scholar]
  • [8].Alterovitz R, Patil S, and Derbakova A, “Rapidly-exploring roadmaps: Weighing exploration vs. refinement in optimal motion planning,” in 2011 IEEE International Conference on Robotics and Automation. IEEE, 2011, pp. 3706–3712. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • [9].Akgun B and Stilman M, “Sampling heuristics for optimal motion planning in high dimensions,” in 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2011, pp. 2640–2645. [Google Scholar]
  • [10].Gammell JD, Srinivasa SS, and Barfoot TD, “Informed RRT*: Optimal sampling-based path planning focused via direct sampling of an admissible ellipsoidal heuristic,” in 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2014, pp. 2997–3004. [Google Scholar]
  • [11].—, “Batch informed trees (BIT*): Sampling-based optimal planning via the heuristically guided search of implicit random geometric graphs,” in 2015 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2015, pp. 3067–3074. [Google Scholar]
  • [12].Ratliff N, Zucker M, Bagnell JA, and Srinivasa S, “CHOMP: Gradient optimization techniques for efficient motion planning,” 2009. [Google Scholar]
  • [13].Kalakrishnan M, Chitta S, Theodorou E, Pastor P, and Schaal S, “STOMP: Stochastic trajectory optimization for motion planning,” in 2011 IEEE international conference on robotics and automation. IEEE, 2011, pp. 4569–4574. [Google Scholar]
  • [14].Aine S, Swaminathan S, Narayanan V, Hwang V, and Likhachev M, “Multi-heuristic A*,” The International Journal of Robotics Research, vol. 35, no. 1-3, pp. 224–243, 2016. [Google Scholar]
  • [15].Choset HM, Hutchinson S, Lynch KM, Kantor G, Burgard W, Kavraki LE, and Thrun S, Principles of robot motion: theory, algorithms, and implementation. MIT press, 2005. [Google Scholar]
  • [16].LaValle SM and Kuffner JJ Jr, “Randomized kinodynamic planning,” The international journal of robotics research, vol. 20, no. 5, pp. 378–400, 2001. [Google Scholar]
  • [17].Kuffner JJ Jr and LaValle SM, “RRT-connect: An efficient approach to single-query path planning,” in ICRA, vol. 2, 2000. [Google Scholar]
  • [18].Şucan IA and Kavraki LE, “Kinodynamic motion planning by interior-exterior cell exploration,” in Algorithmic Foundation of Robotics VIII. Springer, 2009, pp. 449–464. [Google Scholar]
  • [19].Jaillet L, Cortés J, and Siméon T, “Sampling-based path planning on configuration-space costmaps,” IEEE Transactions on Robotics, vol. 26, no. 4, pp. 635–646, 2010. [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Supplementary Materials

supp1-3068682
Download video file (9.9MB, mp4)

RESOURCES