You are on page 1of 27

c The Author(s) 2017

Informed Asymptotically Optimal Manuscript #IJR-17-2980

Anytime Search

Jonathan D. Gammell1 , Timothy D. Barfoot2 , and Siddhartha S. Srinivasa3

Abstract
Path planning in robotics often requires finding high-quality solutions to continuously valued and/or high-dimensional
arXiv:1707.01888v1 [cs.RO] 6 Jul 2017

problems. These problems are challenging and most planning algorithms instead solve simplified approximations.
Popular approximations include graphs and random samples, as respectively used by informed graph-based searches
and anytime sampling-based planners.
Informed graph-based searches, such as A*, traditionally use heuristics to search a priori graphs in order of potential
solution quality. This makes their search efficient but leaves their performance dependent on the chosen approximation.
If its resolution is too low, they may not find a (suitable) solution but if it is too high, they may take a prohibitively long
time to do so.
Anytime sampling-based planners, such as RRT*, traditionally use random sampling to approximate the problem
domain incrementally. This allows them to increase resolution until a suitable solution is found but makes their search
dependent on the random samples. This arbitrary sequence fills the problem domain by expanding the search in every
direction and may be prohibitively inefficient at finding a solution.
This paper unifies and extends these two approaches to develop Batch Informed Trees (BIT*), an informed, anytime
sampling-based planner. BIT* solves continuous planning problems efficiently by using sampling and heuristics to
alternately approximate and search the problem domain. Its search is ordered by potential solution quality, as in A*,
and its approximation improves indefinitely with additional computational time, as in RRT*. It is shown analytically to
be almost-surely asymptotically optimal and experimentally to outperform existing sampling-based planners, especially
on high-dimensional planning problems.

Keywords
path planning, sampling-based planning, optimal path planning, heuristic search, informed search

1 Introduction outdoors) and/or high dimensional (e.g., planning for


manipulation).

A fundamental task of any system operating autonomously


in dynamic and/or unknown environments is the ability
to navigate between positions. The difficulty of this path- 1 University of Oxford, Oxford, United Kingdom. Work performed while

at the University of Toronto, Toronto, Canada


planning problem depends on the number of possible robot 2 University of Toronto, Toronto, Canada

positions (i.e., states) that could belong to a solution (i.e., 3 Carnegie Mellon University, Pittsburgh, USA

the size of the search space). In robotics, this search space


Corresponding author:
is often continuous since robots can be infinitesimally Jonathan D. Gammell, University of Oxford, Oxford, OX2 6NN, UK.
repositioned and also often unbounded (e.g., planning Email: gammell@robots.ox.ac.uk

Prepared using sagej.cls [Version: 2016/06/24 v1.10]

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


2 Journal Title XX(X)

The search of a batch expands The search stops when a solution A batch of new samples is then This process repeats indefinitely,
outwards from the minimum is found or the batch of samples added and the search resumes focusing both the approximation
solution propsed by a heuristic. has been completely searched. from the minimum solution. of the domain and its search.

(a) (b) (c) (d)

Figure 1. A simple example of the ordered sampling-based search performed by BIT*. The start and goal states are shown as
green and red, respectively, while the current solution is highlighted in magenta. The set of states that can provide a better solution
(the informed set) is shown as a black dashed line, while the progress of the current batch is shown as a grey dashed line illustrating
the informed set that the current edge would define. Fig. (a) shows the growing search of the first batch of samples, and (b) shows
the first search ending when a solution is found. Note that ordering the search finds a solution without considering any states
outside the informed set it defines. Fig. (c) shows the search continuing after pruning the representation and increasing its accuracy
with a new batch of samples while (d) shows this second search ending when an improved solution is found.

Most global planning algorithms reduce this search space Anytime sampling-based approximations are instead built
by considering a countable subset of the possible states and searched simultaneously by sampling-based algorithms
(i.e., a discrete approximation). This simplifies the problem such as Probabilistic Roadmaps (PRM; Kavraki et al.
but limits formal algorithm performance to the chosen 1996), Rapidly exploring Random Trees (RRT; LaValle and
discretization. Popular discretizations in robotics include a Kuffner Jr. 2001), and RRT* (Karaman and Frazzoli 2011).
priori graph- and anytime sampling-based approximations. These sampling-based planners incrementally improve their
approximation until a (suitable) solution is found (i.e., they
A priori graph-based approximations can be searched
have anytime resolution) and have probabilistic performance.
efficiently with informed algorithms, such as A* (Hart
The probability that they find a solution, if one exists, goes
et al. 1968). These informed graph-based searches not
to unity with an infinite number of samples (i.e., they are
only find the optimal solution to a representation (i.e., they
probabilistically complete). The probability that algorithms
are resolution optimal) but do so efficiently. For a chosen
such as PRM and RRT* asymptotically converge towards
heuristic, A* is the optimally efficient search of a given graph
the optimum, if one exists, can also go to unity with an
(Hart et al. 1968).
infinite number of samples (i.e., they can be almost-surely
This efficient search makes informed graph-based asymptotically optimal; Karaman and Frazzoli 2011).
algorithms effective on many continuous planning problems
despite a dependence on the chosen approximation. Sparse This anytime representation makes sampling-based plan-
approximations can be searched quickly but may only ners effective on many continuous planning problems despite
contain low quality continuous solutions (if they contain a dependence on sampling. Incremental planners, such as
any). Dense approximations alternatively contain high- RRT*, generally search the problem domain in the order
quality continuous solutions (Bertsekas 1975) but may be given by their random samples. This simultaneously expands
prohibitively expensive to search. Choosing the correct the search into the entire problem domain (i.e., it is space
resolution a priori to the search is difficult and is exacerbated filling) and almost-surely converges asymptotically to the
by the exponential growth of graph size with state dimension optimal solution by asymptotically finding optimal paths
(i.e., the curse of dimensionality; Bellman 1954, 1957). to every state. This random order is inefficient and wastes

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


Gammell et al. 3

Almost-surely asymptotically solution as the number of samples approaches infinity,


optimal sampling-based planners
trees graphs similar to RRT*.

PRM* et al.
This improving approximation is maintained and searched
`m batches 1 batch using heuristics. The current approximation is searched in
1 sample/batch `m samples/batch
` batches order of potential solution quality, as in A*. When it is
RRT* et al. m samples/batch FMT*
improved the search is updated efficiently by reusing previ-
BIT*
ous information, as in incremental search techniques such as
Lifelong Planning A* (LPA*; Koenig et al. 2004). Improve-
Figure 2. A simplified taxonomy of almost-surely asymptotically
optimal sampling-based planners that demonstrates the ments to the approximation are focused to the informed set
relationship between RRT*, FMT*, and BIT*. When using a of states that could provide a better solution, as in Informed
batch size of a single sample, BIT* is a version of RRT*. When
using a single batch consisting of multiple-samples, BIT* is a RRT* (Gammell 2017; Gammell et al. 2017, 2014c).
version of FMT*.
BIT* only requires three user-defined options,(i) a RGG-
connection parameter, (ii) the heuristic function, and (iii) the
computational effort on states that are not used to find a solu- number of samples per batch and can generalize existing
tion. It can be prohibitively expensive in many real problems, algorithms (Fig. 2). With a single batch of samples and
including unbounded or high-dimensional environments. no heuristic, it is Dijkstra’s algorithm (Dijkstra 1959) on a
Previous work combining the complementary advantages RGG or a version of Fast Marching Tree (FMT*; Janson
of these two approaches has been incomplete. Sampling et al. 2015). With a single batch of samples and a heuristic,
concepts have been added to informed graph-based search it is a lazy version of A* (e.g., Cohen et al. 2014) on a RGG.
by either sacrificing anytime resolution or by ordering the With multiple batches and a heuristic, it is a lazy version of
search on metrics other than solution cost and decreasing Truncated LPA* (Aine and Likhachev 2016) that is limited
efficiency. Heuristic concepts have been added to sampling- to a single cost propagation on a RGG. With multiple batches
based planners by either also sacrificing anytime resolution of one sample and no heuristic, it is a version of RRT* that
or by only applying heuristics to some aspects of the search reuses samples.
and also decreasing efficiency. BIT* can also be extended to create new planners.
This paper demonstrates how informed graph-based Sorted RRT* (SORRT*) is presented as an extension of
search and sampling-based planning can be directly uni- heuristically ordered search concepts to the incremental
fied and extended without compromise. It presents Batch sampling of RRT* algorithms. A version of both BIT* and
Informed Trees (BIT*) as an example of an informed, SORRT* are publicly available in the Open Motion Planning
anytime sampling-based planner that incrementally approx- Library (OMPL; Şucan et al. 2012).
imates continuous planning problems while searching in The benefits of performing an ordered search on an
order of potential solution quality. This efficient approach anytime approximation are demonstrated on both abstract
avoids unnecessary computational costs while still almost- problems and experiments for the CMU Personal Robotic
surely converging asymptotically to the optimum and finding Lab’s Home Exploring Robot Butler (HERB), a 14-DOF
better solutions faster than existing algorithms, especially in mobile manipulation platform (Srinivasa et al. 2012). The
high state dimensions. results show that BIT* finds better solutions faster than
BIT* approximates continuous search spaces with an existing almost-surely asymptotically optimal planners and
edge-implicit random geometric graph (RGG; Penrose 2003). also RRT, especially in high dimensions. The only tested
This RGG is defined by a set of random samples and planner that found (worse) solutions faster was RRT-
an appropriate connection condition. The accuracy of this Connect (Kuffner Jr. and LaValle 2000), a bidirectional
approximation improves as the number of samples increases version of RRT that is not almost-surely asymptotically
and almost-surely converges towards containing the optimal optimal.

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


4 Journal Title XX(X)

The remainder of this paper is organized as follows. (Section 2.1). This prior work to combine informed graph-
Section 2 presents a review of previous work combining based and sampling-based concepts can be loosely classified
informed search and sampling-based planning. Section 3 as either incorporating sampling into informed A*-style
presents BIT* as an efficient search of an increasingly dense searches (Section 2.2) or adding heuristics to incremental
approximation of a continuous planning problem. Section 4 RRT/RRT*-style searches (Section 2.3).
proves that BIT* is probabilistic complete and almost-surely
asymptotically optimal and demonstrates its relationship
to LPA*. Section 5 presents simple extensions of BIT* 2.1 The Optimal Planning Problem
that may further improve performance in some planning The two most common planning problems in robotics are
situations, including SORRT*. Section 6 demonstrates the those of feasible and optimal planning. Feasible planning
benefits of BIT* on both abstract problems and experiments seeks a path that connects a start to a goal in a search
for HERB. Section 7 finally presents a closing discussion space while avoiding obstacles and obeying the differential
and thoughts on future work. constraints of the robot. Optimal planning seeks the feasible
path that minimizes a chosen cost function (e.g., path length).
1.1 Statement of Contributions By definition, solving an optimal planning problem requires
solving the underlying feasible problem.
This paper is a continuation of ideas that were first presented
The optimal planning problem is defined in Definition 1
at an RSS workshop (Gammell et al. 2014b) along with
similarly to Karaman and Frazzoli (2011) . This definition
a supporting technical report (Gammell et al. 2014a) and
is expressed in the state space of a robot but can be
were then published in Gammell et al. (2015). It makes the
posed in other representations, including configuration space
following specific contributions:
(Lozano-Pérez 1983). The goal of these problems may be
• Presents an updated version of BIT* that avoids
a single goal state (e.g., a pose for a mobile robot) or any
repeated consideration of failed edges and is a
state in a goal region (e.g., the set of joint angles that give a
direct unification of informed graph-based search and
redundant manipulator a desired end-effector position).
sampling-based planning (Algs. 1–3).
• Develops new extensions to BIT*, including just-
Definition 1. The optimal planning problem. Let X ⊆ Rn
in-time (JIT) sampling for the direct search of
be the state space of the planning problem, Xobs ⊂ X be the
unbounded problems (Alg. 5) and SORRT* (Alg. 6)
states in collision with obstacles, and Xfree = cl (X \ Xobs )
as a direct application of ordered search concepts to
be the resulting set of permissible states, where cl (·)
the algorithmic simplicity of RRT*.
represents the closure of a set. Let xstart ∈ Xfree be the
• Provides expanded proof that BIT* is probabilistically
initial state and Xgoal ⊂ Xfree be the set of desired goal
complete and almost-surely asymptotically optimal
states. Let σ : [0, 1] → Xfree be a map to a sequence of
(Theorems 2 and 3) and equivalent to a lazy, truncated
states through collision-free space that can be executed by
LPA* (Lemma 4).
the robot (i.e., a collision-free, feasible path) and Σ be the
• Experimentally demonstrates the benefits of using
set of all such nontrivial paths.
ordered search concepts to combat the curse of
The optimal planning problem is then formally defined
dimensionality.
as the search for a path, σ ∗ ∈ Σ, that minimizes a given
cost function, c : Σ → R≥0 , while connecting xstart to
2 Prior Work Ordering Sampling-based xgoal ∈ Xgoal ,

Planners
σ ∗ = arg min {c (σ) | σ (0) = xstart , σ (1) ∈ Xgoal } ,
σ∈Σ
A formal definition of the optimal planning problem
is presented to motivate a review of existing literature where R≥0 is the set of non-negative real numbers.

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


Gammell et al. 5

2.2 A*-based Approaches This biases sampling into unexplored regions of the problem
domain but may waste computational effort on states that
A* is a popular planning algorithm because it is the optimally
are unnecessary to find the eventual solution.
efficient search of a graph. Any other algorithm guaranteed
Sampling-based A* (SBA*; Persson and Sharf 2014)
to find the resolution-optimal solution will expand at least
performs an ordered search by iteratively expanding vertices
as many vertices when using the same heuristic (Hart
in a heuristically weighted version of Expansive Space
et al. 1968). This efficiency is achieved by ordering the
Tree (EST; Hsu et al. 1999). At each iteration, a single
search by potential solution quality such that the optimal
random sample is generated near the vertex at the front
solution is found by only considering states that could
of a priority queue. This queue is ordered on the potential
have provided a better solution. Applying A* to continuous
solution quality of vertices and the likelihood of sampling
planning problems requires discretizing the search domain
a unique and useful sample in their neighbourhoods. These
and significant work has incorporated sampling into this
likelihoods are required to bias sampling into unexplored
process, often to avoid the need to do so a priori.
space since vertices are never removed from the queue. They
Sallaberger and D’Eleuterio (1995) demonstrate the are estimated from previous collision checks and estimates
advantages of including stochasticity in the representation of the sample density around vertices. Again, this search
of a continuous state space by adding random perturbations order on metrics other than the optimization objective may
to a regular discretization. They solve planning problems waste computational effort on states that are unnecessary to
for spacecraft and multilink robotic arms using dynamic find the eventual solution.
programming and show that their technique finds better
solutions than regular discretizations alone; however, the Unlike these other A*-based methods, BIT* maintains
approximation is still defined a priori to the search. anytime performance while ordering its search only on
Randomized A* (RA*; Diankov and Kuffner Jr. 2007) potential solution quality. This allows it to be run indefinitely
uses random sampling to apply A* directly to continuous until a suitable solution is found, return incrementally better
planning problems. Vertices are expanded a user-specified solutions, and almost-surely asymptotically converge to the
number of times by randomly sampling nearby possible optimum. This also limits its search of each representation to
descendants. If a sample is sufficiently different than the the set of states that were believed to be capable of providing
existing states in the tree and can be reached without a better solution than the one eventually found.
collision it is added as a child of the expanded vertex. The
resulting sampling-based search expands outwards from the 2.3 RRT-based Approaches
start in order of potential solution quality but is not anytime. RRT and RRT* solve continuous planning problems by
If a (suitable) solution is not found then the search must be using incremental sampling to build a tree through obstacle-
restarted with a different number of samples per vertex. free space. This avoids a priori discretizations of the problem
Hybrid Randomized A* (HRA*; Teniente and Andrade- domain and allows them to be run indefinitely until a (suit-
Cetto 2013) performs a similar search for systems with able) solution is found. This also makes the search dependent
differential constraints by sampling control inputs instead on the sequence of samples (i.e., makes it random) and
of states. Vertices are expanded a user-specified number of significant work has sought ways to use heuristics to order
times by generating random control inputs and propagating the search. Heuristics can also be used to focus the search, as
them forward in time with a motion model. These states in Anytime RRTs (Ferguson and Stentz 2006) and Informed
are used to expand the tree and, when they are sufficiently RRT* but this does not change the order of the search.
similar to an existing state, rewire the tree to improve the Heuristically Guided RRT (hRRT; Urmson and Simmons
cost of existing vertices. The vertex to expand is selected 2003) probabilistically includes heuristics in the RRT expan-
with a hybrid cost policy that considers path cost, the sion step. Randomly sampled states are probabilistically
number of nearby vertices, and the distance to obstacles. added in proportion to their heuristic value relative to the

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


6 Journal Title XX(X)

tree. This balances the Voronoi bias of the RRT search with a stated that this can be done efficiently by reusing information
preference towards expanding potentially high-quality paths. but no specific methods are presented.
This improves performance, especially in problems with
Unlike these other RRT*-based methods, BIT* orders
continuous cost functions (e.g., path length; Urmson and
its entire search only on potential solution quality and
Simmons 2003), but maintains a nonzero probability of
still maintains anytime performance. This avoids wasting
wasting computational effort on states that are unnecessary
computational effort by only considering states that are
for the eventual solution.
believed to be capable of providing the best solution given
Kiesel et al. (2012) use a two-stage process to order
the current representation. This also returns suboptimal
sampling for RRT* in their f-biasing technique. A heuristic
solutions in an anytime manner while almost-surely
is first calculated by solving a coarse discretization of the
converging asymptotically to the optimum.
planning problem with Dijkstra’s algorithm. This heuristic
is then used to bias RRT* sampling to the regions of the
problem domain where solutions were found. This increases 3 Batch Informed Trees (BIT*)†
the likelihood of finding solutions quickly but maintains Any discrete set of states distributed in the state space
a nonzero sampling probability over the entire problem of a planning problem, Xsamples ⊂ X, can be viewed
domain for the whole search and allows search effort to as a graph whose edges are given algorithmically by a
be wasted on states unnecessary for the eventual solution. transition function (an edge-implicit graph). When these
RRT# (Arslan and Tsiotras 2013, 2015) uses heuristics states are sampled randomly, Xsamples = {x ∼ U (X)}, the
to order rewirings in RRT*. It uses LPA* techniques to properties of this graph can be described by a probabilistic
propagate changes efficiently through the entire tree and model known as a RGG (Penrose 2003).
assure that each vertex is optimally connected given the The connections (edges) between states (vertices) in a
current samples. This has also been extended to performing RGG depend on their relative geometric position. Common
a policy iteration on a RGG approximation of a continuous RGGs have edges to a specific number of each state’s
planning problem (Arslan and Tsiotras 2016). While these nearest neighbours (a k-nearest graph; Eppstein et al. 1997)
approaches use heuristics to avoid computational costs that or to all neighbours within a specific distance (an r-disc
cannot improve an existing solution, by building the RGG graph; Gilbert 1961). RGG theory provides probabilistic
with incremental samples the search is still ordered by the relationships between the number and distribution of
sampling sequence and may waste computational effort. samples, the k or r defining the graph, and specific properties
Fast Marching Tree (FMT*; Janson and Pavone 2013; such as connectivity or relative cost through the graph
Janson et al. 2015) uses a marching method to search a batch (Muthukrishnan and Pandurangan 2005; Penrose 2003).
of samples in order of increasing cost-to-come, similar to Anytime sampling-based planners can be viewed as
Dijkstra’s algorithm. This separation of approximation and algorithms that construct a RGG in the problem domain
search makes the search order independent of the sampling and search it. Some algorithms perform this construction
order but sacrifices anytime performance. Solutions are not and search simultaneously (e.g., RRT*) and others
returned until the search is finished and the search must be separately (e.g., FMT*) but, as in graph-based search, their
restarted if a (suitable) solution is not found, as with any performance always depends on both the accuracy of their
other a priori discretization. approximation and the quality of their search. RRT* uses
The Motion Planning Using Lower Bounds (MPLB) RGG theory to limit graph complexity while maintaining
algorithm (Salzman and Halperin 2015) extends FMT* probabilistic bounds on approximation accuracy but
with a heuristic and quasi-anytime resolution. Quasi- incompletely searches the RGG in the order it is constructed
anytime performance is achieved by independently searching
increasingly large batches of samples and returning the
improved solutions when each individual search finishes. It is † Pronounced bit star.

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


Gammell et al. 7

(a) (b) (c)

(d) (e) (f)

Figure 3. An example of how BIT* uses incremental techniques to efficiently search batches of samples in order of potential
solution quality. The search starts with a batch of samples uniformly distributed in the planning domain. This batch is searched
outward from the start in order of potential solution quality, (a). The search continues until the batch is exhausted or a solution is
found that cannot be improved with the current samples, (b). New samples are then added to the informed set and incremental
techniques are used to continue the search, (c)–(e). This results in an algorithm that performs an ordered anytime search that
almost-surely asymptotically converges to the optimal solution, shown enlarged in (f). Note that by ordering the search, BIT* never
considers states in a batch that cannot provide the best solution (i.e., it only searches inside the informed set defined by the
eventual solution).

(i.e., performs a random search). FMT* performs a complete only considering states when they represent the best possible
ordered search but uses RGG theory to define an a priori solution to a given approximation. The incremental search
approximation of the problem domain (i.e., it is not anytime). allows it to update its changing representation efficiently by
BIT* uses RGG theory to limit graph complexity while reusing previous information.
simultaneously building the graph in an anytime manner and The complete BIT* algorithm is presented in Algs. 1–3
searching it in order of potential solution quality. This is and Sections 3.1–3.7 with a discussion on some practical
made possible by using batches of random samples to build considerations presented in Section 3.8. For simplicity, the
an increasingly dense edge-implicit RGG in the informed discussion is limited to a search from a single start state
set and using incremental search techniques to update the to a finite set of goal states with a constant batch size but
search (Fig. 3). The anytime approximation allows BIT* the formulation directly extends to searches from a start or
to run indefinitely until a (suitable) solution is found. The goal region, and/or with variable batch sizes. This version is
ordered search avoids unnecessary computational cost by publicly available in OMPL.

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


8 Journal Title XX(X)

BIT* builds an explicit spanning tree of the implicit RGG Algorithm 1: BIT*(xstart ∈ Xfree , Xgoal ⊂ Xfree )
defined by a batch of samples. The graph initially consists 1 V ← {xstart } ; E ← ∅; T = (V, E);
of only the start and goal (Alg. 1, Lines 1–5; Section 3.2) 2 Xunconn ← Xgoal ;
but is incrementally grown with batches of new samples 3 QV ← V ; QE ← ∅;
§3.2
4 Vsol’n ← V ∩ Xgoal ; Vunexpnd ← V ;
during the search (Alg. 1, Lines 7–12; Section 3.3). The Xnew ← Xunconn ;
graph is searched in order of potential solution quality by 5 ci ← minvgoal ∈Vsol’n {gT (vgoal )} ;
selecting the best possible edge from a queue ordered by 6 repeat
potential solution cost (Alg. 1, Lines 13–15; Section 3.4) 7 if QE ≡ ∅ and QV ≡ ∅ then
8 Xreuse ← Prune (T , Xunconn , ci );
and considering whether this edge improves the cost-to-
9 Xsampling ← Sample (m, xstart , Xgoal , ci );
come of its target vertex and could improve the current 10 Xnew ← Xreuse ∪ Xsampling ; §3.3
+
solution (Alg. 1, Lines 16–32; Section 3.5). The search 11 Xunconn ←− Xnew ;
continues until no edges in the implicit RGG could provide 12 QV ← V ;
a better solution, at which point the accuracy of the RGG 13 while BestQueueValue (QV ) ≤
approximation is increased by adding a batch of new BestQueueValue (QE ) do
14 ExpandNextVertex (QV , QE , ci ); §3.4
samples and the search is resumed. This process continues
15 (vmin , xmin ) ← PopBestInQueue (QE );
indefinitely until a suitable solution is found.
16 if gT (vmin ) + b
c (vmin , xmin ) + b
h (xmin ) < ci
then
17 if gT (vmin ) + b
c (vmin , xmin ) < gT (xmin )
3.1 Notation then
18 cedge ← c (vmin , xmin );
The functions gb (x) and b
h (x) represent admissible estimates 19 if gT (vmin ) + cedge + bh (xmin ) < ci then
of the cost-to-come to a state, x ∈ X, from the start and the 20 if gT (vmin ) + cedge < gT (xmin ) then
cost-to-go from a state to the goal, respectively (i.e., they 21 if xmin ∈ V then
22 vparent ← Parent (xmin );
bound the true costs from below). The function, fb(x), repre- −
23 E← − {(vparent , xmin )};
sents an admissible estimate of the cost of a path from xstart
24 else
to Xgoal constrained to pass through x, i.e., fb(x) := gb (x) + −
25 Xunconn ← − {xmin }; §3.5
h (x). This estimate defines an informed set of states, Xfb :=
b +
n o 26 V ← − {xmin } ;
x ∈ X fb(x) < ci , that could provide a solution better
+
QV ← − {xmin } ;
than the current best solution cost, ci (Gammell et al. 2017). Vunexpnd ←
+
− {xmin };
Let T := (V, E) be an explicit tree with a set of vertices, 27 if xmin ∈ Xgoal then
+

V ⊂ Xfree , and edges, E = {(v, w)} for some v, w ∈ V . 28 Vsol’n ←


− {xmin };
+
The function gT (x) then represents the cost-to-come to a 29 E← − {(vmin , xmin )};
state x ∈ X from the start vertex given the current tree, T . 30 ci ← minvgoal ∈Vsol’n {gT (vgoal )} ;
A state not in the tree, or otherwise unreachable from the
start, is assumed to have a cost-to-come of infinity. It is 31 else
32 QE ← ∅; QV ← ∅;
important to recognize that these two functions will always
bound the unknown true optimal cost to a state, g (·), i.e., 33 until STOP;
34 return T ;
∀x ∈ X, gb (x) ≤ g (x) ≤ gT (x).
c (x, y) and c (x, y) represent an
The functions b
+ −
admissible estimate of the cost of an edge and the true cost The notation X ←
− {x} and X ←
− {x} is used to
of an edge between states x, y ∈ X, respectively. Edges that compactly represent the compounding operations X ←
intersect an obstacle are assumed to have a cost of infinity, X ∪ {x} and X ← X \ {x}, respectively. As is customary,
and therefore ∀x, y ∈ X, b
c (x, y) ≤ c (x, y) ≤ ∞. the minimum of an empty set is taken to be infinity.

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


Gammell et al. 9

3.2 Initialization (Alg. 1, Lines 1–5) 3.3 Batch Addition (Alg. 1, Lines 7–12)
BIT* alternates between building an increasingly dense
BIT* begins searching a planning problem with the start, approximation of the continuous planning problem
xstart , in the spanning tree, T := (V, E), and the goal states, and searching this representation for a solution. The
Xgoal , in the set of unconnected states, Xunconn (Alg. 1, approximation is updated whenever it has been completely
Lines 1–2). This defines an implicit RGG whose vertices searched (i.e., both queues are empty; Alg. 1, Line 7) by
consist of all states (i.e., V ∪ Xunconn ) and whose edges are removing unnecessary states and adding a batch of new
defined by a distance function and an appropriate connection samples. This avoids the computational cost of representing
limit. When the goal is a continuous region of the problem regions of the problem domain that cannot provide a better
domain it will need to be discretized (e.g., sampled) before solution while increasing the accuracy of approximating the
adding to the set of unconnected states. regions that can (i.e., the informed set). This improving
approximation allows BIT* to almost-surely converge
The explicit spanning tree of this RGG is built using two
asymptotically to the optimal solution.
queues, a vertex expansion queue, QV , and an edge evalua-
The approximation is pruned to the informed set by
tion queue, QE . These queues are sorted in order of potential
removing any states or edges that cannot improve the
solution quality through the current tree. Vertices in the ver-
current solution (Alg. 1, Line 8; Section 3.7). This reduces
tex queue, v ∈ QV , are ordered by the sum of their current
unnecessary complexity but may disconnect vertices in the
cost-to-come and an estimate of their cost-to-go, gT (v) +
informed set that cannot improve the solution solely because
h (v). Edges in the edge queue, (v, x) ∈ QE , are sorted by
b
of their current connections. These vertices are recycled as
the sum of the current-cost-to-come of their source vertex,
additional ‘new’ samples in the batch so that they may be
an estimate of the edge cost, and an estimate of the cost-
reconnected later if better connections are found.
to-go of their target vertex, gT (v) + b
c (v, x) + b
h (x). Ties
are broken in the vertex queue in favour of entries with the The approximation is improved by adding m new
lowest cost-to-come through the current tree, gT (v), and in randomly generated samples from the informed set (Alg. 1,
the edge queue in favour of the lowest cost-to-come through Line 9). This can be accomplished with direct informed
the current tree and estimated edge cost, gT (v) + b
c (v, x), sampling (Gammell et al. 2017) or advanced rejection
and then the cost-to-come through the current tree, gT (v). sampling (e.g., Kunz et al. 2016).
These queues are initialized to contain all the vertices in the Each batch of states are labelled as Xnew for the duration
tree and an empty queue, respectively (Alg. 1, Line 3). of that batch’s search (Alg. 1, Line 10). This set is used to
improve search efficiency and consists of both the newly
To improve search efficiency, BIT* tracks the vertices generated samples and the recycled disconnected vertices.
in the goal region, Vsol’n , the vertices that have never been BIT* adds these new states to the set of unconnected states
expanded, Vunexpnd , the samples newly created during this and initializes the vertex queue with all the vertices in the
batch, Xnew , and the current best solution, ci . These are tree (Alg. 1, Lines 11–12) to restart the search (Sections 3.4
initialized to any vertices already in the solution (empty and 3.5).
in all but the most trivial planning problems), the existing
vertices, the existing samples, and the current best solution,
3.4 Edge Selection (Alg. 1, Lines 13–15)
respectively (Alg. 1, Lines 4–5).
Traditional graph-based search techniques assume that
Initialized, BIT* now alternately builds an increasingly finding and evaluating vertex connections is computationally
accurate implicit RGG approximation of the continuous inexpensive (e.g., given explicitly). This is not true in
planning problem (Section 3.3) and searches these sampling-based planning as finding vertex connections (i.e.,
representations for explicit solutions in order of potential the edges in the edge-implicit RGG) requires performing
solution quality (Sections 3.4 and 3.5). a nearest-neighbour search and evaluating them requires

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


10 Journal Title XX(X)

checking for collisions and solving two-point boundary- 3.5 Edge Processing (Alg. 1, Lines 16–32)
value problems (two-point BVPs), such as differential
BIT* also uses heuristics to avoid expensive calculations
constraints. BIT* avoids these computational costs until
when evaluating the best edge, (vmin , xmin ). An edge is
required by using a lazy search procedure that delays both
added to the spanning tree if and only if
finding and evaluating connections in the RGG. Similar
1. an estimate of its cost could provide a better solution,
lazy techniques can be found in both advanced graph-based
given the current tree (Alg. 1, Line 16),
search and sampling-based planners (Bohlin and Kavraki
2000; Branicky et al. 2001; Cohen et al. 2014; Hauser 2015; gT (vmin ) + b
c (vmin , xmin ) + b
h (xmin ) < ci ,
Helmert 2006; Salzman and Halperin 2016; Sánchez and
Latombe 2002). 2. an estimate of its cost could improve the current tree
Connections are found by using a vertex queue, QV , (Alg. 1, Line 17),
ordered by potential solution quality. This vertex queue
gT (vmin ) + b
c (vmin , xmin ) < gT (xmin ) ,
delays processing a vertex (i.e., performing a nearest-
neighbour search) until its outgoing connections could
3. its real cost could provide a better solution, given the
be part of the best solution to the current graph. These
current tree (Alg. 1, Line 19),
connections are evaluated by using an edge queue, QE , also
ordered by potential solution quality. This edge queue delays gT (vmin ) + c (vmin , xmin ) + b
h (xmin ) < ci ,
evaluating an edge (i.e., performing collision checks and
solving two-point BVPs) until it could be part of the best 4. and its real cost will improve the current tree (Alg. 1,
solution to the current graph. Line 20),

A vertex in the vertex queue could be part of the best


gT (vmin ) + c (vmin , xmin ) < gT (xmin ) .
solution when it could provide an outgoing edge better
than the best edge in the edge queue. When the heuristic is Conditions 1 and 3 are always true in the absence of a
consistent (e.g., the L2 norm) the queue value of a vertex, solution, while Conditions 2 and 4 are always true when
v ∈ QV , is a lower-bounding estimate of the queue value of the target of the edge, xmin , is not in the spanning tree.
its outgoing edges,
Checking if the edge could ever provide a better solution
or improve the current tree (Conditions 1 and 2) allows
∀x ∈ X, gT (v) + b
h (v) ≤ gT (v) + b
c (v, x) + b
h (x) .
BIT* to reject edges without calculating their true cost
(Alg. 1, Lines 16–17). Condition 1 also provides a stopping
The best edge at any iteration can therefore be found condition for searching the current RGG. When an edge
by processing the vertex queue until it is worse than the fails this condition so does the entire queue and both queues
edge queue (Alg. 1, Line 13). This process of removing can be cleared to start a new batch (Alg. 1, Line 32). If
a vertex from the vertex queue and placing its outgoing the edge fails Condition 2 it is discarded and the iteration
edges in the edge queue is referred to as expanding a vertex finishes. If the edge passes both these conditions its true cost
(Alg. 1, Line 14; Section 3.6). Once all necessary vertices is calculated by performing a collision check and solving
are expanded, the best edge in the queue, (vmin , xmin ), is any two-point BVPs (Alg. 1, Line 18). Note that edges in
removed (Alg. 1, Line 15) and used for this iteration of the collision are considered to have infinite cost.
search (Section 3.5).
Checking if the real edge could provide a better solution
The functions BestQueueValue (·) and given the current tree (Condition 3), allows BIT* to reduce
PopBestInQueue (·) return the value of the element tree complexity by rejecting edges that could never improve
at the front of a queue and pop the element off the front of a the current solution (Alg. 1, Line 19). Checking if the real
queue, respectively. edge improves the current tree (Condition 4), assures the

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


Gammell et al. 11

cost-to-come of the explicit tree decreases monotonically Algorithm 2: ExpandNextVertex (QV ⊆ V,


(Alg. 1, Line 20). If the edge fails either of these conditions QE ⊆ V × (V ∪ X) , ci ∈ R≥0 )
it is discarded and the iteration finishes. 1 vmin ← PopBestInQueue (QV );
2 if vmin ∈ Vunexpnd then
An edge passing all of these conditions is added to the
3 Xnear ← Near (Xunconn , vmin , rBIT∗ );
spanning tree. If the target vertex is already connected
4 else
(Alg. 1, Line 21), then the edge represents a rewiring and the 5 Xnear ← Near (Xnew ∩ Xunconn , vmin , rBIT∗ );
current edge must be removed (Alg. 1, Lines 22–23). Other- +
n
QE ← − (vmin , x) ∈ V × Xnear gb (vmin )

6
wise, the edge represents an expansion of the tree and the tar- o
get vertex must be moved from the set of unconnected states +b
c (vmin , x) + b
h (x) < ci ;
to the set of vertices, inserted into the vertex queue for future 7 if vmin ∈ Vunexpnd then
8 Vnear ← Near (V, vmin , rBIT∗ );
expansion, and marked as a never-expanded vertex (Alg. 1, +
n
QE ← − (vmin , w) ∈ V × Vnear (vmin , w) 6∈ E,

9
Lines 25–26). The new vertex is also added to the set of ver-
tices in the goal region if appropriate (Alg. 1, Lines 27–28). gb (vmin ) + b
c (vmin , w) + b
h (w) <oci ,
The new edge is then finally added to the tree (Alg. 1, gb (vmin ) + b
c (vmin , w) < gT (w) ;

Line 29) and the current best solution is updated as necessary 10 Vunexpnd ←
− {vmin };
(Alg. 1, Line 30). The search then continues by selecting
the next edge in the queue (Section 3.4) or increasing the
approximation accuracy if the current RGG cannot provide where |·| is the cardinality of a set, m is the number of
a better solution (Section 3.3). samples added in the last batch, λ (·) is the Lebesgue
measure of a set (e.g., the volume), and ζn is the Lebesgue
measure of an n-dimensional unit ball. Recent work has
3.6 Vertex Expansion (Alg. 1, Line 14; Alg. 2) presented smaller expressions (Janson et al. 2015) and
expressions for non-Euclidean spaces (Kleinbort et al. 2016).
The function ExpandNextVertex (QV , QE , ci ) removes
This connection limit is calculated from the cardinality
the front of the vertex queue (Alg. 2, Line 1) and adds
of the graph minus the m new samples to simplify proving
its outgoing edges in the RGG to the edge queue. The
almost-sure asymptotic optimality (Section 4). This lower
RGG is defined using the results of Karaman and Frazzoli
bound will be large for the initial sparse batches but it can
(2011) to limit graph complexity while maintaining almost-
be thresholded with a maximum edge length, as is done by
sure asymptotic convergence to the optimum. Edges exist
0
RRT*, i.e., rBIT∗ := min {rmax , rBIT∗ }. The function Near
between a vertex and the kBIT∗ -closest states or all states
returns the states that meet the selected RGG connection
within a distance of rBIT∗ , with
criteria for a given vertex.
∗ Every vertex in the tree is either expanded or pruned
rBIT∗ > rBIT ∗,


 n  o 
 min λ (X) , λ X in every batch. Processing all the outgoing edges from
∗ 1  fb
vertices would result in BIT* repeatedly considering the
rBIT∗ := 2 1+ 
n ζn
same previously rejected edges. This can be avoided by
  ! n1 using the sets of never-expanded vertices, Vunexpnd , and
log (|V | + |Xunconn | − m)
, (1) new samples, Xnew , to add only previously unconsidered
|V | + |Xunconn | − m
edges to the edge queue.
and Whether edges to unconnected samples are new depends
on whether the source vertex has previously been expanded

kBIT∗ > kBIT ∗, (Alg. 2, Line 2). If it has not been expanded then none of its
 
∗ 1 outgoing connections have been considered and all nearby
kBIT∗ := e 1+ log (|V | + |Xunconn | − m) , (2)
n unconnected samples are potential descendants (Alg. 2,

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


12 Journal Title XX(X)

Line 3). If it has been expanded then any connections to Algorithm 3: Prune (T = (V, E) , Xunconn ⊂ X,
‘old’ unconnected samples have already been considered ci ∈ R≥0 )
and rejected and only the ‘new’ samples are considered as 1 Xreuse ← ∅; n o

potential descendants (Alg. 2, Line 5). The subset of these Xunconn ←
− x ∈ Xunconn fb(x) ≥ ci ;

2

potential edges that could improve the current solution are 3 forall v ∈ V in order of increasing gT (v) do
added to the queue in both situations (Alg. 2, Line 6). 4 if fb(v) > ci or gT (v) + b h (v) > ci then
− − −
Whether edges to connected samples (i.e., rewirings) are 5 V ← − {v} ; Vsol’n ←− {v} ; Vunexpnd ← − {v};
6 vparent ← Parent (v);
new also depends on whether the source vertex has been −
7 E← − {(vparent , v)};
expanded (Alg. 2, Line 7). If it has not been expanded then
8 if fb(v) < ci then
all nearby connected vertices are considered as potential +
9 Xreuse ←
− {v};
descendants (Alg. 2, Line 8). The subset of these potential
edges that could improve the current solution and the current 10 return Xreuse ;
tree are added to the queue (Alg. 2, Line 9) and the vertex is
then marked as expanded (Alg. 2, Line 10).
never provide a better solution or improve the solution given
If a vertex has previously been expanded then no rewirings
the current tree (Alg. 3, Line 4). Vertices that fail either
are considered. Improvements in the tree may now allow a
condition are removed from the tree by disconnecting their
previously considered edge to improve connected vertices
incoming edge and removing them from the vertex set and
but considering these connections would require repeatedly
any labelling sets (Alg. 3, Lines 5–7).
reconsidering infeasible edges. As in RRT*, this lack of
Any disconnected vertex that could provide a better
propagated rewiring has no effect on almost-sure asymptotic
solution (i.e., is a member of the informed set) is reused as a
optimality.
sample in the next batch (Alg. 3, Lines 8–9). This maintains
uniform sample density in the informed set and assures that
3.7 Graph Pruning (Alg. 1, Line 8; Alg. 3) vertices will be reconnected if future improvements allow
them to provide a better solution. This set of disconnected
The function, Prune (T , Xunconn , ci ), reduces the complex-
vertices is returned to BIT* at the end of the pruning
ity of both the approximation of the continuous planning
procedure (Alg. 3, Line 10).
problem (i.e., the implicit RGG) and its search (i.e., the
explicit spanning tree) by limiting them to the informed
set. It removes any states that can never provide a better 3.8 Practical Considerations
solution and disconnects any vertices that cannot provide a Algs. 1–3 describe an implementation-agnostic version
better solution given the current tree. Disconnected vertices of BIT* and leaves room for a number of practical
that could improve the solution with a better connection improvements depending on the specific implementation.
are reused as new samples in the next batch to maintain Many of the sets (e.g., Xnew , Vunexpnd ) can be
uniform sample density in the informed set. This assures implemented more efficiently as labels in an object-oriented
that in each batch every vertex is either expanded or pruned programming language. Searches (e.g., Alg. 2, Line 3) can
as assumed by ExpandNextVertex to avoid reconsidering be implemented efficiently with appropriate datastructures
edges (Section 3.6). that do not require an exhaustive global search (e.g., k-d
The set of recycled vertices is initialized as an empty trees or randomly transformed grids; Kleinbort et al. 2015).
set (Alg. 3, Line 1) and all unconnected states that cannot Pruning (Alg. 1, Line 8; Alg. 3) is expensive and should
provide a better solution (i.e., are not members of the only occur when a new solution has been found or limited
informed set) are removed (Alg. 3, Line 2). The connected to significant changes in solution cost.
vertices are then incrementally pruned in order of increasing Ordered containers sort elements on insertion and provide
cost-to-come (Alg. 3, Line 3) by identifying those that can efficient queues but the value of elements in the vertex and

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


Gammell et al. 13

edge queues will change when vertices are rewired. There where q is the number of samples, σq,BIT∗ is the path found
appears to be little practical difference between efficiently by BIT* from those samples, and σ ∗ is optimal solution to
resorting the affected elements in these queues and only the planning problem.
lazily resorting the queue before finishing to assure no
elements have been missed. Proof. Theorem 3 is proven by showing that BIT* considers
at least the same edges as RRT* for a sequence of
Depending on the datastructure used for the edge queue,
states, Xsamples = (x1 , x2 , . . . , xq ), and connection limit,
it may be beneficial to remove unnecessary entries when a
rBIT∗ ≥ rRRT∗ .
new edge is added to the spanning tree, i.e., by adding
RRT* incrementally builds a tree from a sequence of
QE ←

− {(v, xmin ) ∈ QE | gb (v) samples. For each state in the sequence, xk , it considers
the neighbourhood of earlier states that are within the
+b
c (v, xmin ) ≥ gT (xmin )}
connection limit,
after Alg. 1, Line 29. 
Xnear,k := xj ∈ Xsamples j < k,

kxk − xj k2 ≤ rRRT∗ .
4 Analysis
It selects the connection from this neighbourhood that
BIT* performance is analyzed theoretically using the minimizes the cost-to-come of the state and then evaluates
results of Karaman and Frazzoli (2011). It is shown to be the ability of connections from this state to reduce the cost-
probabilistically complete (Theorem 2) and almost-surely to-come of the other states in the neighbourhood.
asymptotically optimal (Theorem 3). Its search order is also Given the same sequence of states, BIT* groups them
shown to be equivalent to a lazy version of LPA* (Lemma 4). into batches of samples, Xsamples = (Y1 , Y2 , . . . , Y` ),
where each batch is a set of m samples, e.g., Y1 :=
Theorem 2. Probabilistic completeness of BIT*. The prob-
{x1 , x2 , . . . , xm }. It incrementally builds a tree by process-
ability that BIT* finds a feasible solution to a given planning
ing this batched sequence of samples. For each state in the
problem, if one exists, when given infinite samples is one,
sequence, y ∈ Yk , it considers the neighbourhood of states
from the same or earlier batches within the connection limit,
lim inf P (σq,BIT∗ ∈ Σ, σq,BIT∗ (0) = xstart ,
q→∞

σq,BIT∗ (1) ∈ Xgoal ) = 1, Xnear,k := {x ∈ Yj | j ≤ k, ky − xk2 ≤ rBIT∗ } .

where q is the number of samples, σq,BIT∗ is the path found The connection from this neighbourhood that minimizes
by BIT* from those samples, and Σ is the set of all feasible, the cost-to-come of the state is the one that will be added
collision-free paths. to the tree and all its outgoing edges will be considered
in connecting its neighbours. This contains all the edges
Proof. Proof of Theorem 2 follows from the proof of almost- considered by RRT* for an equivalent connection limit,
sure asymptotic optimality (Theorem 3). rBIT∗ ≥ rRRT∗ . As (1) uses the same connection radius
for a batch that RRT* would use for the first sample in the
Theorem 3. Almost-sure asymptotic optimality of BIT*. batch and the connection radius of both are monotonically
The probability that BIT* converges asymptotically towards decreasing, this shows that BIT* considers at least the same
the optimal solution of a given planning problem, if one edges as RRT* and is therefore almost-surely asymptotically
exists, when given infinite samples is one, optimal and proves Theorem 3.
 
P lim sup c (σq,BIT∗ ) = c (σ ∗ ) = 1, BIT* uses a search order that is equivalent to a version of
q→∞ LPA* that lazily estimates the edge cost between states in

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


14 Journal Title XX(X)

the queue (Lemma 4). As BIT* does not reconsider outgoing BIT* combines the minimum calculations for individual
connections from rewired vertices (i.e., it does not propagate vertices into a single edge queue. This simultaneously
rewirings), it is not a complete LPA* search of the RGG but calculates the minimum cost-to-come for each vertex in the
instead similar to Truncated LPA*. current graph while expanding vertices in order of increasing
estimated solution cost.
Lemma 4. Equivalence of BIT* to a lazy LPA* search. An
edge queue ordered first on the sum of a vertex’s estimated
cost-to-go, estimated incoming edge cost, and current cost- 5 Modifications and Extensions
to-come of its parent,
The basic version of BIT* presented in Algs. 1–3 can be
modified and extended to include features that may improve
gT (u) + b
c (u, v) + b
h (v) ,
performance for some planning applications. Section 5.1
then the estimated cost-to-come of the vertex, presents a method to delay rewiring the tree until an initial
solution is found. This prioritizes exploring the RGG to
gT (u) + b
c (u, v) , find solutions and may be beneficial in time-constrained
applications. Section 5.2 presents a method to delay
and then the cost-to-come of its parent, sampling until necessary. This avoids approximating regions
of the planning problem that are never searched, improves
gT (u) , performance in large planning problems, and avoids the need
to define a priori limits in unbounded problems.
is an equivalent ordering to LPA* (Koenig et al. 2004).
Section 5.3 presents a method for BIT* to occasionally
remove unconnected samples while maintaining almost-
Proof. LPA* uses a queue of vertices ordered lexicograph-
sure asymptotic optimality. This avoids repeated connection
ically first on the solution cost constrained to go through
attempts to infeasible states and may be beneficial in
the vertex and then the cost-to-come of the vertex. Both
problems where many regions of the free space are
these terms are calculated for a vertex, v ∈ V , considering
unreachable. Section 5.4 extends the idea of reducing the
all its possible incoming edges (referred to as the rhs-value
number of connections attempted per sample during an
in LPA*), i.e.,
ordered search to develop SORRT*. This version of RRT*
min {gT (u) + c (u, v)} + b
h (v) uses batches of samples to order its search by potential
(u,v)∈E
solution quality, as in BIT*, but only makes one connection
and
attempt per sample, as in RRT*.
min {gT (u) + c (u, v)} .
(u,v)∈E

This minimum requires calculating the true edge


5.1 Delayed Rewiring
cost between a vertex and all of its possible parents. Many robotic systems have a finite amount of computational
This calculation is expensive in sampling-based planning time available to solve planning problems. In these situations,
(e.g., collision checking, differential constraints, etc.) and improving the existing graph before an initial solution is
reducing its calculation is desirable. This can be achieved by found only reduces the likelihood of BIT* solving the given
incrementally calculating the minimum in the order given by problem. A method to delay rewirings until a solution
an admissible heuristic estimate of edge cost. Considering is found is presented in Alg. 4 as simple modifications
edges into the vertex in order of increasing estimated cost to ExpandNextVertex, with changes highlighted in red
calculates a running minimum that finds the true minimum (cf. Alg. 2). The rewirings are still performed once a
when the estimated cost through the next edge to consider is solution is found and this method does not affect almost-
higher than the current value. sure asymptotic optimality.

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


Gammell et al. 15

Algorithm 4: ExpandNextVertex (QV ⊆ V, Vertex being expanded


QE ⊆ V × (V ∪ X) , ci ∈ R≥0 ) Connection neighbourhood
Region of existing samples
1 vmin ← PopBestInQueue (QV ); Shell of required new samples
2 if vmin ∈ Vunexpnd then
3 Xnear ← Near (Xunconn , vmin , rBIT∗ );

4 Vunexpnd ←− {vmin };
5
+
Vdelayed ←
− {vmin }; r
v
6 else
xstart xgoal
7 Xnear ← Near (Xnew ∩ Xunconn , vmin , rBIT∗ );
n
+
QE ← − (vmin , x) ∈ V × Xnear gb (vmin )

8
o
+b
c (vmin , x) + b
h (x) < ci ;
9 if vmin ∈ Vdelayed and ci < ∞ then
10 Vnear ← Near (V, vmin , rBIT∗ ); csampled
n
+
11 QE ← − (vmin , w) ∈ V × Vnear (vmin , w) 6∈ E,
creq’d
gb (vmin ) + b
c (vmin , w) + b
h (w) <oci ,
Figure 4. An illustration of just-in-time (JIT) sampling. Samples
gb (vmin ) + b
c (vmin , w) < gT (w) ; are generated only when they are necessary for the expansion
− of a vertex, v, into the edge queue. This is accomplished
12 Vdelayed ←
− {vmin }; while maintaining uniform sample density by an expanding
informed set. The informed set is expanded by adding uniformly
distributed samples in the prolate hyperspheroidal shell defined
Rewirings are delayed by separately tracking whether by the difference between the maximum heuristic value of the
neighbourhood, creq’d , and the currently sampled informed set,
vertices are unexpanded to nearby unconnected samples, csampled .
Vunexpnd , and unexpanded to nearby connected vertices,
Vdelayed . This allows BIT* to prioritize finding a solution by
previously required using a priori search limits to make
only considering edges to new samples until a solution is
the problem domain tractable. Selecting these limits can
found and then improving the graph by considering rewirings
be difficult and may prevent finding a solution (e.g.,
from the existing vertices.
defining a domain that does not contain a solution) or
A vertex is moved from the never-expanded set to
reduce performance (e.g., defining a domain too large to
the delayed set when edges to its potential unconnected
search sufficiently). A method to avoid these problems by
descendants are added to the edge queue (Alg. 4, Lines 4–
generating samples just in time (JIT) in BIT* is presented
5). This allows future expansions of the vertex to avoid
in Alg. 5 and accompanying modifications to the main
old unconnected samples while tracking that the vertex’s
algorithm. This modification generates samples only when
rewirings have not yet been considered. Vertices in the
needed by BIT*’s search while still maintaining uniform
delayed set are expanded as potential rewirings of other
sample density and almost-sure asymptotic convergence
connected vertices once a solution is found (Alg. 4, Line 9)
to the optimum. This avoids approximating regions of the
and the delayed label is removed (Alg. 4, Line 12).
problem that are not used to find a solution and allows BIT*
This extension requires initializing and resetting Vdelayed
to operate directly on large or unbounded planning problems.
along with the other labelling sets (e.g., Alg. 1, Line 4 and
BIT* searches a planning problem by constructing and
Alg. 3, Line 5). This extension is included in the publicly
searching an implicit RGG defined by a number of uniformly
available OMPL implementation of BIT*.
distributed samples (vertices) and their relative distances
(edges). These samples are given explicitly in Algs. 1–3 but
5.2 Just-in-Time (JIT) Sampling are not used until they could be a descendant of a vertex in
Many robotic systems operate in environments that are the tree. This occurs when the samples are within the local
unbounded (e.g., the outdoors). These problems have neighbourhood of the vertex (Fig. 4). The cost associated

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


16 Journal Title XX(X)

with the informed set containing the neighbourhood of a Algorithm 5: UpdateSamples (v ∈ V, csampled ≤ ci ,
vertex, Xnear , for planning problems seeking to minimize ci ∈ R≥0 )
n o
path length, 1 creq’d ← min fb(v) + 2rBIT∗ , ci ;

n o 2 if creq’d > csampled then


creq’d := max fb(x) , 3 λsample ← λPHS (creq’d ) − λPHS (csampled );
x∈Xnear
4 m0 ← ρλsample ;
+
is bounded from above as, 5 Xnew ← − Sample (m0 , csampled , creq’d );
+
6 Xunconn ← − Xnew ;
creq’d ≤ fb(v) + 2rBIT∗ . 7 csampled ← creq’d ;

JIT sampling only generates samples when necessary to


and Γ (·) is the gamma function, an extension of
expand vertices by incrementally sampling this growing
factorials to real numbers (Euler 1738). The function
informed set. It does this while maintaining uniform sample
Sample (m0 , csampled , creq’d ) generates informed samples
density by tracking the previously sampled size of the set,
within the cost interval [csampled , creq’d ) and may be
csampled , and only generating the new samples necessary to
implemented with rejection sampling.
increase it. The function UpdateSamples (v, csampled , ci )
generates JIT samples for vertex expansion in geometric Using Alg. 5 requires modifying Algs. 1 and 2. The
planning problems (Alg. 5). The required size of the sampled Sample function of a batch (Alg. 1, Line 9) is replaced with
informed set, creq’d , is a function of the neighbourhood and an initialization of the sampled cost variable, csampled ← 0,
the maximum size of the informed set (Alg. 5, Line 1). If and UpdateSamples (v, csampled , ci ) is added to the front
it is higher than the previously sampled cost, csampled , then of ExpandNextVertex (Alg. 2). This extension is included
the local neighbourhood has not been completely sampled in the publicly available OMPL implementation of BIT*.
an new samples are generated (Alg. 5, Line 2). If it is lower
then the neighbourhood has already been sampled and no 5.3 Sample Removal
new samples are generated.
BIT* approximates continuous planning problems by
The number of required new samples, m0 , can be building an implicit RGG. It efficiently increases the
calculated from the chosen batch sample density, ρ, and accuracy of this approximation by focusing it to the informed
the volume of the shell being sampled (Alg. 5, Lines 3–4). set. It alternately increases density by adding new samples
These samples are added to the set of new states and the and shrinks the set by searching the existing samples for
set of unconnected states (Alg. 5, Lines 5–6). Finally, the better solutions. This builds an explicit spanning tree that
sampled cost is updated to reflect the new size of the sampled contains all states that could currently provide a better
informed set (Alg. 5, Line 7). solution but may not use every state in the RGG.
The function λPHS (·) calculates the measure of the States in an informed set may not be able to improve
prolate hyperspheroid defined by the start and goal with a solution for many reasons. The approximation may
the given cost, be insufficiently accurate (i.e., low sample density) to
capture difficult features (e.g., narrow passages) or represent
 n−1
  ci c2i − c2min 2
ζn sufficiently optimal paths. The informed set may also include
λ Xfb ≤ λ (XPHS ) = ,
2n regions of the problem domain that cannot improve the
where ζn is the Lebesgue measure of an n-dimensional unit solution due to unconsidered problem features (e.g., barriers
ball, separating free space) or because it is otherwise poorly
chosen (i.e., low precision). Unconnected samples in the
n
π2 first situation may later be beneficial to the search but
ζn := n
,
Γ 2 +1 samples in the second represent unnecessary computational

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


Gammell et al. 17

cost. Periodically removing these samples would reduce Algorithm 6: SORRT*(xstart ∈ Xfree , Xgoal ⊂ X)
the complexity of the implicit RGG and avoid repeatedly 1 V ← {xstart } ; E ← ∅; T = (V, E);
attempting to connect them to new vertices in the tree. 2 Vsol’n ← ∅; QSamples ← ∅;
3 for i = 1 . . . q do
Unconnected samples can be removed while maintaining
4 ci ← minvgoal ∈Vsol’n {gT (vgoal )};
the requirements for almost-sure asymptotic optimality by 5 if QSamples ≡ ∅ then
modifying the RGG connection limits to consider only 6 QSamples ← Sample (m, xstart , Xgoal , ci );
uniformly distributed samples. This can be accomplished by 7 xrand ← PopBestInQueue (QSamples );
using the number of uniformly distributed samples added 8 vnearest ← Nearest (V, xrand );
since the last removal of unconnected states in (1) and (2). 9 xnew ← Steer (vnearest , xrand );
10 if CollisionFree (vnearest , xnew ) then
This simple extension is included in the publicly available
11 if xnew ∈ Xgoal then
OMPL implementation of BIT*. 12
+
Vsol’n ←
− {xnew };
+
13 V ←− {xnew };
5.4 Sorted RRT* (SORRT*)‡ 14 Vnear ← Near (V, xnew , rrewire );
15 vmin ← vnearest ;
Approaching sampling-based planning as the search of 16 forall vnear ∈ Vnear do
an implicit RGG motivates BIT* to consider multiple 17 cnew ← gT (vnear ) + bc (vnear , xnew );
18 if cnew < gT (vmin ) + c (vmin , xnew ) then
connections to each sample. Section 5.3 presents a method
19 if CollisionFree (vnear , xnew ) then
to limit this number of attempts by periodically removing 20 vmin ← vnear ;
samples. The natural extension of this idea is to consider
+
only a single connection attempt per sample, as in RRT*. 21 E← − {(vmin , xnew )};
22 forall vnear ∈ Vnear do
This motivates the development of SORRT*, a version of
23 cnear ← gT (xnew ) + b c (xnew , vnear );
RRT* that orders its search by potential solution quality by 24 if cnear < gT (vnear ) then
sorting batches of samples. 25 if CollisionFree (xnew , vnear ) then
SORRT* is presented in Alg. 6 as simple modifications of 26 vparent ← Parent (vnear );

Informed RRT*, with changes highlighted in red (cf. Gam- 27 E← − {(vparent , vnear )};
+

mell 2017; Gammell et al. 2017). Instead of expanding the 28 E← − {(xnew , vnear )};
tree towards a randomly generated sample at each iteration, 29 Prune (V, E, ci );
SORRT* extends the tree towards the best unconsidered
30 return T ;
sample in its current batch. It accomplishes this by using a
queue samples, QSamples , ordered by potential solution cost,
fb(·). This queue is filled with m samples (Alg. 6, Lines 5–6) once avoids the computational cost of repeated connection
and the search proceeds by expanding the tree towards the attempts to infeasible samples but maintains a dependence on
best sample in the queue (Alg. 6, Line 7). This orders the the sampling order. High-utility samples (e.g., samples near
search for the m samples in a batch, at which point a new the optimum) may be underutilized depending on the state of
batch of samples is generated and the search continues. the tree when they are found. This can become problematic if
The function PopBestInQueue (·) pops the best element these samples have a low sampling probability (e.g., samples
off the front of a queue given its ordering. A goal bias may in narrow passages). Making multiple connections attempts
be implemented in SORRT* by adding a small probability of per sample and retaining samples for multiple batches allows
sampling the goal instead of removing the best sample from BIT* to exploit these useful samples more than algorithms
the queue. This algorithm is publicly available in OMPL. such as SORRT*. As seen in Section 6, this results in
SORRT* can be viewed as a simplified version of BIT* different performance especially in high state dimensions.
that constructs and searches a RGG by only considering
the best-possible edges. Attempting to connect each sample ‡ Pronounced sort star.

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


18 Journal Title XX(X)

6 Experiments
The benefits of ordering the search of continuous planning
problems are demonstrated on simulated problems in R2 , xstart 1 xgoal
R8 , and R16 (Section 6.1) and one and two-armed problems l

for HERB (Section 6.2) using OMPL.§ BIT* is compared


to RRT, RRT-Connect, RRT*, FMT*, Informed RRT*, and
2w w
SORRT*.
All planners used the same tuning parameters and l

configurations where possible. Planning time was limited Figure 5. An illustration of the planning problem used in
Section 6.1. The problem is used to investigate the performance
to 3 seconds, 150 seconds, and 300 seconds in R2 , R8 , and
of the algorithms in complex problems with many possible
R16 and 5 seconds and 600 seconds for HERB (R7 and homotopy classes. The use of regularly spaced obstacles allows
R14 ), respectively. RRT-style planners used a goal-sampling the problem to scale efficiently to high dimensions. The width of
the obstacle is chosen such that the start and goal states are 5
bias of 5% and a maximum edge length of η = 0.3, 0.9, ‘columns’ apart.
and 1.7 on the abstract problems (R2 , R8 , and R16 ) and 0.7
and 1.3 on HERB, respectively. These values were selected 6.1.1 Worlds with Many Homotopy Classes The
experimentally to reduce the time required to find an initial algorithms were tested on problems with many homotopy
solution on simple training problems. classes in R2 , R8 , and R16 (Fig. 5). The worlds consisted of
The RRT* planners, FMT*, and BIT* all used a connec- a (hyper)cube of width l = 4 with the start and goal located
tion radius equal to twice their lower bound (e.g., rRRT∗ = T T
at [−0.5, 0, . . . , 0] and [0.5, 0, . . . , 0] , respectively. The

2rRRT∗ ) and approximated the Lebesgue measure of the problem domain was filled with a regular pattern of axis-
free space with the measure of the entire planning problem. aligned (hyper)rectangular obstacles with a width such that
The RRT* planners also used the ordered rewiring technique the start and goal were 5 ‘columns’ apart.
presented in Perez et al. (2011). Informed RRT*, SORRT*, The results are presented in Fig. 6 with the percent of trials
and BIT* used the L2 norm as estimates of cost-to-come and solved and the median solution cost plotted versus run time.
cost-to-go, direct informed sampling, and delayed pruning These results demonstrate the advantages and disadvantages
the graph until solution cost changed by more than 5%. of attempting multiple connections per sample. In low
SORRT* and BIT* both used m = 100 samples per batch dimensions, the main challenge of this planning problem
and BIT* used an approximately sorted queue (Section 3.8). is avoiding obstacles and BIT* can be outperformed by
BIT* also thresholded its initial connection radius by using planners that attempt only a single connection per sample
the same radius for both the first and second batches. (e.g., Informed RRT*). In high dimensions, the exponential
increase in planning problem measure (i.e., the curse of
6.1 Simulated Planning Problems dimensionality) makes navigating towards the goal an equal
challenge to avoiding obstacles and BIT* outperforms other
The algorithms were tested on simulated problems in R2 , R8 ,
planners, even SORRT*.
and R16 on worlds consisting of many different homotopy
This effect is visible in the relative performance of plan-
classes (Section 6.1.1) and randomly generated obstacles
ners across state dimension. In R2 , BIT* performs roughly
(Section 6.1.2). The planners were tested with 100 different
the same as Informed RRT* and SORRT*. It is faster to
pseudo-random seeds on each problem and state dimension.
solve 100% of the planning trials (Fig. 6a) but improves
The solution cost of each planner was recorded every 1 mil-
lisecond by a separate thread and the median was calculated
from the 100 trials by interpolating each trial at a period of § The experiments were run on a laptop with 16 GB of RAM and an Intel
i7-4810MQ processor. The abstract experiments were run in Ubuntu 12.04
1 millisecond. The absence of a solution was considered an (64-bit) with Boost 1.58, while the HERB experiments were run in Ubuntu
infinite cost for the purpose of calculating the median. 14.04 (64-bit).

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


Gammell et al. 19

100 100 100


Success [%]

Success [%]

Success [%]
80 80 80
60 60 60

40 40 40
Bet
20 ter 20 20
0 0 0
10−3 10−2 10−1 100 10−2 10−1 100 101 102 10−2 10−1 100 101 102
Run time [s] Run time [s] Run time [s]
(a) R2 : Runs solved vs. time (b) R8 : Runs solved vs. time (c) R16 : Runs solved vs. time

Median solution cost


Median solution cost

Median solution cost


2.1 4.0 7.0
2.0 r
tte
Be
1.9 3.5 6.0
1.8
1.7 3.0 5.0
1.6
1.5 2.5 4.0
1.4
2.0 3.0
1.3
1.2 1.5 2.0
1.1

10−3 10−2 10−1 100 10−2 10−1 100 101 102 10−2 10−1 100 101 102
Run time [s] Run time [s] Run time [s]
(d) R2 : Solution cost vs. time (e) R8 : Solution cost vs. time (f) R16 : Solution cost vs. time

RRT RRT-Connect RRT* FMT*


Informed RRT* SORRT* BIT*

Figure 6. Planner performance versus time for the problem illustrated in Fig. 5. Each planner was run 100 different times in R2 ,
R8 , and R16 with l = 4 and run times limited to 3, 150, and 300 seconds, respectively. The percentage of trials solved is plotted
versus run time for each planner and presented in (a)–(c). The median path length is plotted versus run time for each planner and
presented in (d)–(f), with unsuccessful trials assigned infinite cost. The error bars denote a nonparamentric 99% confidence interval
on the median. The results show that BIT* increasingly outperforms other almost-surely asymptotically optimal planners as state
dimension increases. Note the low success rates of RRT* planners in high dimensions.

100 100 100


Success [%]

Success [%]

Success [%]
80 80 80

60 60 60

40 40 40
Bet
20 ter 20 20

0 0 0
10−2 10−1 100 10−2 10−1 100 101 10−2 10−1 100 101 102
Run time [s] Run time [s] Run time [s]
(a) R2 : Runs solved vs. time (b) R8 : Runs solved vs. time (c) R16 : Runs solved vs. time
Median solution cost
Median solution cost

Median solution cost

2.1
r
2.0
tte 3.5 3.5
1.9 Be
1.8 3.0 3.0
1.7
2.5 2.5
1.6
1.5
2.0 2.0
1.4
1.3 1.5 1.5
1.2

10−2 10−1 100 10−2 10−1 100 101 10−2 10−1 100 101 102
Run time [s] Run time [s] Run time [s]
(d) R2 : Solution cost vs. time (e) R8 : Solution cost vs. time (f) R16 : Solution cost vs. time

RRT RRT-Connect RRT* FMT*


Informed RRT* SORRT* BIT*

Figure 7. Planner performance versus time for a randomly generated problem. Each planner was run 100 different times in R2 ,
R8 , and R16 with l = 2 and run times limited to 3, 150, and 300 seconds, respectively. The percentage of trials solved is plotted
versus run time for each planner and presented in (a)–(c). The median path length is plotted versus run time for each planner and
presented in (d)–(f), with unsuccessful trials assigned infinite cost. The error bars denote a nonparamentric 99% confidence interval
on the median. The results show that BIT* increasingly outperforms other almost-surely asymptotically optimal planners as state
dimension increases. Note the low success rates of RRT* planners in high dimensions.

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


20 Journal Title XX(X)

the median solution cost slower than the two informed to compare RRT, RRT-Connect, Informed RRT*, SORRT*,
RRT*-based algorithms (Fig. 6d). In R , BIT* drastically
8
FMT*, and BIT*. The planners were run on each problem 50
outperforms Informed RRT* and SORRT* in solving all times while recording success rate, initial solution time and
planning trials (Fig. 6b) but is slightly outperformed by cost, and final cost. Trials that did not find a solution were
those two planners in terms of median solution cost (Fig. 6e). considered to have taken infinite time and have infinite path
In R , the difference is stark and BIT* is the only anytime
16
length, respectively, for the purpose of calculating medians.
almost-surely asymptotically optimal planner to always The number of FMT* samples for both problems was chosen
solve the planning problem in the given 300 seconds. to use the majority of the available computational time.

6.1.2 Random Worlds The planners were tested on 6.2.1 A One-Armed Planning Problem A planning
randomly generated problems in R , R , and R .
2 8 16 problem was defined for HERB’s left arm around a cluttered
The worlds consisted of a (hyper)cube of width l = 2 table (Fig. 8). The arm starts folded at the elbow and held
populated with approximately 75 random axis-aligned at approximately the level of the table (Figs. 8a and 8b) and
(hyper)rectangular obstacles that obstruct at most one third must be moved into position to grasp a box (Figs. 8c and
of the environment. 8d). The planners were given 5 seconds of computational
For each state dimension, 10 different random worlds time to solve this 7-DOF problem with the objective of
were generated and the planners were tested on each with minimizing path length in configuration space. FMT* used
100 different pseudo-random seeds. The true optima for m = 30 samples.
these problems are different and unknown and there is no The percentage of trials that successfully found a solution
meaningful way to compare the results across problems. (Fig. 9a), the median time and cost of the initial solution
Results from a representative problem are instead presented (Figs. 9b and 9c) and the final cost (Fig. 9d) were plotted for
in Fig. 7 with the percent of trials solved and the median each planner. Infinite values are not plotted.
solution cost plotted versus computational time. The results show BIT* finds solutions more often than
These experiments show that BIT* generally finds better other almost-sure asymptotically optimal planners on this
solutions faster than other sampling-based optimal planners problem (Fig. 9a) and also finds better solutions faster than
and RRT on these types of problems regardless of the state all tested algorithms, including RRT-Connect (Figs. 9b–9d).
dimension. It has a higher likelihood of having found a Fig. 10 presents a composite photograph of HERB executing
solution at a given computational time (Fig. 7a–c), and a path found by BIT* for a similar problem.
converges faster towards the optimum (Fig. 7d–f), with the
6.2.2 A Two-Armed Planning Problem A second
relative improvement increasing with state dimension. The
planning problem was defined for both of HERB’s arms
only tested planner that found solutions faster than BIT* was
moving around a cluttered table (Fig. 11). The arms start
RRT-Connect, a nonanytime planner that cannot converge
at a neutral position with their forearms extended under the
to the optimum.
table (Figs. 11a and 11b) and must be moved into position to
open a bottle (Figs. 11c and 11d). The planners were given
6.2 Path Planning for HERB 600 seconds of computational time to solve this 14-DOF
It is difficult to capture the challenges of actual high- problem with the objective of minimizing path length in
dimensional planning in abstract worlds. Two planning configuration space. FMT* used m = 3000 samples.
problems inspired by manipulation scenarios were created The percentage of trials that successfully found a solution
for HERB, a 14-DOF mobile manipulation platform. (Fig. 12a), the median time and cost of the initial solution
Start and goal poses were chosen for one arm (7 DOFs, (Figs. 12b and 12c) and the final cost (Fig. 12d) were plotted
Section 6.2.1) and two arms (14 DOFs, Section 6.2.2) to for each planner. Infinite values are not plotted.
define planning problems with the objective of minimizing The results show that even when more computational time
path length through configuration space. They were used is available, BIT* still finds solutions more often than other

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


Gammell et al. 21

(a) (b) (c) (d)

Figure 8. A one-armed motion planning problem for HERB in R7 . Starting at a position level with the table, (a) and (b), HERB’s left
arm must be moved in preparation for grasping a box on the far side of the table, (c) and (d).
Time to Initial Solution [s]

100 5 16 16

14 14

Initial Path Length

Final Path Length


80 4
12 12
Success [%]

60 3 10 10

8 8
40 2
6 6

4 4
20 1
2 2

0 0 0 0

(a) (b) (c) (d)


RRT RRT-Connect FMT*
Informed RRT* SORRT* BIT*

Figure 9. Results from 50, 5 second trials on the one-armed HERB planning problem shown in Fig. 8. The percent of solutions
solved, (a), the median time to an initial solution, (b), the median initial path length, (c), and the median final path length, (d), are
presented with 99% confidence intervals for each planner. Unsuccessful trials were assigned infinite time and cost. The inability of
nonanytime planners (e.g., RRT, RRT-Connect, and FMT*) to use the remaining available time to improve their initial solution is
denoted with diminished colour in (d), where present. BIT* is the only almost-surely asymptotically optimal planner to solve all 50
trials and does so in a time comparable to RRT-Connect. It also finds significantly lower cost paths then all the other planners.

Figure 10. A composite figure of HERB executing a path found by BIT* on a one-armed planning problem similar to Fig. 8.

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


22 Journal Title XX(X)

(a) (b) (c) (d)

Figure 11. A two-armed motion planning problem for HERB in R14 . Starting under the table, (a) and (b), HERB’s arms must be
moved in preparation for opening a bottle, (c) and (d).
Time to Initial Solution [s]

100 500 30 30

Initial Path Length

Final Path Length


25 25
80 400
Success [%]

20 20
60 300
15 15
40 200
10 10

20 100 5 5

0 0 0 0

(a) (b) (c) (d)


RRT RRT-Connect FMT*
Informed RRT* SORRT* BIT*

Figure 12. Results from 50, 600 second trials on the two-armed HERB planning problem shown in Fig. 11. The percent of solutions
solved, (a), the median time to an initial solution, (b), the median initial path length, (c), and the median final path length, (d), are
presented with 99% confidence intervals for each planner. Unsuccessful trials were assigned infinite time and cost. The inability of
nonanytime planners (e.g., RRT, RRT-Connect, and FMT*) to use the remaining available time to improve their initial solution is
denoted with diminished colour in (d), when present. BIT* is the only anytime planner to solve all 50 trials and does so in a time
comparable to RRT-Connect. It focuses the search to the informed set once a solution is found and the resulting increasingly dense
RGG allows it to find lower cost paths then all the other planners.

Figure 13. A composite figure of HERB executing a path found by BIT* on a two-armed planning problem similar to Fig. 11.

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


Gammell et al. 23

almost-surely asymptotically optimal planners (Fig. 12a) and This has made them effective planning techniques despite
also finds initial solutions faster than all tested algorithms, the fact their search is often inefficient. Incremental
including RRT-Connect (Fig. 12b). As a nonanytime sampling-based planners tend to explore the entire problem
algorithm, FMT* is tuned to use the majority of the available domain equally (i.e., they are space filling). This wastes
time and finds a better initial solution (Fig. 12c) but as BIT* computational effort on regions of the problem domain that
is able to improve its solution it still finds a better final are not needed to find the solution and can be prohibitively
path after approximately the same amount of time (Fig. 12d). expensive in large planning problems and/or high state
Fig. 13 presents a composite photograph of HERB executing dimensions.
a path found by BIT* for a similar problem. Previous attempts to unify these two approaches has been
incomplete. They either sacrifice anytime resolution (e.g.,
RA* and FMT*), order the search on metrics other than
7 Discussion & Conclusion
solution cost and waste computational effort (e.g., SBA*), or
Most planning algorithms discretize the search space of process samples incrementally and do not order all aspects of
continuous problems. Popular approaches in robotics include the search (e.g., RRT# ). This paper demonstrates that these
a priori graph- or anytime sampling-based approximations. tradeoffs are unnecessary and that anytime sampling-based
Both of these approaches are successful but have important planners can be directly and solely ordered by a heuristic
limitations. estimate of solution cost.
A priori graphs approximate a problem before it is BIT* directly unifies informed graph-based search and
searched. Doing so ‘correctly’ is challenging since the sampling-based planning (Section 3). It uses heuristics
relationship between resolution and search performance and batches of random samples to simultaneously build
depends on the specific features of a planning problem anytime approximations of continuous planning problems
(e.g., size and arrangement of obstacles). If the chosen and search these approximations in order of potential
approximation is insufficient (e.g., a sparse graph) it may solution quality. This avoids the computational costs of both
preclude finding a (suitable) solution but if it is excessive searching an improper approximation (graph-based search)
(e.g., a dense graph) it may make finding a solution and performing an unordered search (sampling-based
prohibitively expensive. planning). A version of BIT* is publicly available in OMPL.
Graph-based searches are effective planning techniques BIT* approximates the search space by using batches
despite these limitations. This is because informed of samples to define increasingly dense implicit RGGs.
algorithms, such as A*, use heuristics to order their search Building this approximation with batches of multiple
by potential solution quality. This not only finds the optimal samples allows each search to be ordered by potential
solution to the given representation (i.e., it is resolution solution quality, as in A*. Building this approximation
optimal) but does so by expanding the minimum number from multiple batches of samples allows it to be improved
of vertices possible using the chosen heuristic (i.e., it is indefinitely until it contains a suitable solution, as in RRT*.
optimally efficient; Hart et al. 1968). As a result, BIT* is probabilistically complete and almost-
Anytime sampling-based planners alternatively build surely asymptotically optimal (Section 4).
approximations that increase in resolution. This avoids the This simultaneous approximation and search is done
need to select a representation a priori and allows them to efficiently by using heuristics. The approximation is
be run indefinitely until a (suitable) solution is found. RRT* focused to the regions of the planning problem that
has a unity probability of finding a solution, if one exists, could provide better solutions, as in Informed RRT*. The
with an infinite number of samples (i.e., it is probabilistically denser approximations are searched efficiently by reusing
complete) and finds continuously improving solutions ((i.e., previous information, as in LPA*. Edge calculations (e.g.,
it is almost-surely asymptotically optimal; Karaman and two-point BVPs and collisions checks) are delayed until
Frazzoli 2011). necessary, as in lazy versions of both graph-based searches

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


24 Journal Title XX(X)

and sampling-based planners (e.g., Bohlin and Kavraki 2000; BIT* is described as using LPA* to efficiently search
Branicky et al. 2001; Cohen et al. 2014; Hauser 2015; an incrementally built (i.e., changing) RGG embedded
Helmert 2006; Salzman and Halperin 2016; Sánchez and in a continuous planning problem. It is important to
Latombe 2002). note a key difference in how these two algorithms reuse
A brief set of extensions to BIT* are presented (Section 5). information. When LPA* updates the cost-to-come of
These include prioritizing an initial solution, avoiding the a vertex it reconsiders the cost-to-come of all possibly
need to define a priori search limits in unbounded problems, descendent vertices. This can be prohibitively expensive
and avoiding unreachable areas of the problem domain. in large graphs and the results of RRT* demonstrate that this
These ideas also motivate the development of SORRT* as propagation is unnecessary for a planner to almost-surely
an extension of batch-ordered search to the algorithmic converge asymptotically to the optimum. By not propagating
simplicity of RRT* (Alg. 6). A version of SORRT* is these changes, BIT* shares characteristics with Truncated
publicly available in OMPL. LPA* (Aine and Likhachev 2016).
This paper demonstrates the benefits of unifying informed
The benefits of BIT* are demonstrated experimentally
graph-based search and sampling-based planning. Using
on abstract planning problems and simulated experiments
incremental search techniques to efficiently search an
for HERB (Section 6). The results highlight the advantages
increasingly dense RGG allows BIT* to outperform existing
of both using an ordered search and considering multiple
anytime almost-surely asymptotically optimal planners.
connections per sample. At any given time on the tested
These results will hopefully motivate further research into
problems BIT* is more likely to have found a solution and
combining graph-based search and sampling-based planning.
generally finds better solutions faster than the other almost-
Of particular interest would be probabilistic statements about
surely asymptotically optimal planners, especially in high
search efficiency analogous to the formal statements for
state dimensions.
A*. There is also a clear opportunity to consider different
Running the experiments also highlighted the relative sampling-based approximations and to use more advanced
sensitivity of existing anytime planners to tuning parameters. graph-based-search techniques, such as Anytime Repairing
The performance of RRT-style planners depends heavily on A* (ARA*) and Multi-Heuristic A* (MHA*), to further
the maximum edge length, η, and achieving the best perfor- accelerate the search performance of BIT*.
mance requires tuning it for the problem size, dimension, and
even obstacle characteristics. Alternatively, the performance
Acknowledgements
of BIT* did not vary strongly with different choices for its
main tuning parameter, batch size, on the tested problems. We would like to thank the editorial board for considering this
manuscript and look forward to the insightful comments and
Using heuristics to avoid unnecessary edge evaluations
constructive criticism of the reviewers. We would also like to thank
allows BIT* to spend more computational effort on the
Christopher Dellin, Michael Koval, and Jennifer King for help
edges that are evaluated. Xie et al. (2015) show that a
running the HERB experiments and Paul Newman for providing
two-point BVP solver can be used to calculate edges for
the time to finish this manuscript at the University of Oxford.
BIT* for problems with differential constraints. They find
that doing so is competitive to state-of-the-art optimal
Funding
sampling-based techniques that are explicitly designed to
avoid solving two-point BVPs. Choudhury et al. (2016) This research was supported by contributions from the Natural
show that a path optimizer (i.e., CHOMP; Zucker et al. Sciences and Engineering Research Council of Canada (NSERC)
2013) can be used on potential edges in BIT*. This provides through the NSERC Canadian Field Robotics Network (NCFRN),
a method to exploit local problem information (i.e., cost the Ontario Ministry of Research and Innovation’s Early Researcher
gradients) to propose higher-quality edges and improve Award Program, and the Office of Naval Research (ONR) Young
performance. Investigator Program.

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


Gammell et al. 25

References Cohen B, Phillips M and Likhachev M (2014) Planning single-


arm manipulations with n-arm robots. In: Proceedings of
Aine S and Likhachev M (2016) Truncated incremental search.
Robotics: Science and Systems (RSS). Berkeley, USA. DOI:
Artificial Intelligence 234: 49–77. DOI:10.1016/J.ARTINT.
10.15607/RSS.2014.X.033.
2016.01.009.
Diankov R and Kuffner Jr JJ (2007) Randomized statistical path
Arslan O and Tsiotras P (2013) Use of relaxation methods in
planning. In: Proceedings of the IEEE/RSJ International
sampling-based algorithms for optimal motion planning. In:
Conference on Intelligent Robots and Systems (IROS). DOI:
Proceedings of the IEEE International Conference on Robotics
10.1109/IROS.2007.4399557.
and Automation (ICRA). pp. 2421–2428. DOI:10.1109/ICRA.
2013.6630906. Dijkstra EW (1959) A note on two problems in connexion with
graphs. Numerische Mathematik 1(1): 269–271. DOI:
Arslan O and Tsiotras P (2015) Dynamic programming guided
10.1007/BF01386390.
exploration for sampling-based motion planning algorithms.
In: Proceedings of the IEEE International Conference on Eppstein D, Paterson MS and Yao FF (1997) On nearest-neighbor

Robotics and Automation (ICRA). pp. 4819–4826. DOI: graphs. Discrete & Computational Geometry 17(3): 263–282.

10.1109/ICRA.2015.7139869. DOI:10.1007/PL00009293.

Arslan O and Tsiotras P (2016) Incremental sampling-based motion Euler L (1738) De progressionibus transcendentibus seu quarum

planners using policy iteration methods. In: Proceedings of termini generales algebraice dari nequeunt. Commentarii

the IEEE Conference on Decision and Control (CDC). pp. academiae scientiarum Petropolitanae 5: 36–57.

5004–5009. DOI:10.1109/CDC.2016.7799034. Ferguson D and Stentz A (2006) Anytime RRTs. In: Proceedings of

Bellman RE (1954) The theory of dynamic programming. Bulletin the IEEE/RSJ International Conference on Intelligent Robots

of the American Mathematical Society (AMS) 60(6): 503–516. and Systems (IROS). pp. 5369–5375. DOI:10.1109/IROS.2006.

DOI:10.1090/S0002-9904-1954-09848-8. 282100.

Bellman RE (1957) Dynamic Programming. Princeton University Gammell JD (2017) Informed Anytime Search for Continuous

Press. ISBN 978-0-691-07951-6. Planning Problems. PhD Thesis, University of Toronto.

Bertsekas DP (1975) Convergence of discretization procedures Gammell JD, Barfoot TD and Srinivasa SS (2017) Informed

in dynamic programming. IEEE Transactions on Automatic sampling for asymptotically optimal path planning. IEEE

Control (TAC) 20(3): 415–419. DOI:10.1109/TAC.1975. Transactions on Robotics (TRO) Submitted. Manuscript #17-

1100984. 0313. arXiv: 1706.06454 [cs.RO].

Bohlin R and Kavraki LE (2000) Path planning using lazy PRM. Gammell JD, Srinivasa SS and Barfoot TD (2014a) BIT*: Batch

In: Proceedings of the IEEE International Conference on informed trees for optimal sampling-based planning via

Robotics and Automation (ICRA), volume 1. pp. 521–528. dynamic programming on implicit random geometric graphs.

DOI:10.1109/ROBOT.2000.844107. Technical Report TR-2014-JDG006, Autonomous Space


Robotics Lab, University of Toronto. arXiv:1405.5848v1
Branicky MS, LaValle SM, Olson K and Yang L (2001) Quasi-
[cs.RO].
randomized path planning. In: Proceedings of the IEEE
International Conference on Robotics and Automation (ICRA), Gammell JD, Srinivasa SS and Barfoot TD (2014b) BIT*:

volume 2. pp. 1481–1487. DOI:10.1109/ROBOT.2001. Sampling-based optimal planning via batch informed trees.

932820. In: The Information-based Grasp and Manipulation Planning


Workshop, Robotics: Science and Systems (RSS). Berkeley, CA,
Choudhury S, Gammell JD, Barfoot TD, Srinivasa SS and
USA.
Scherer S (2016) Regionally Accelerated Batch Informed
Trees (RABIT*): A framework to integrate local information Gammell JD, Srinivasa SS and Barfoot TD (2014c) Informed

into optimal path planning. In: Proceedings of the IEEE RRT*: Optimal sampling-based path planning focused via

International Conference on Robotics and Automation (ICRA). direct sampling of an admissible ellipsoidal heuristic. In:

pp. 4207–4214. DOI:10.1109/ICRA.2016.7487615. Proceedings of the IEEE/RSJ International Conference on

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


26 Journal Title XX(X)

Intelligent Robots and Systems (IROS). pp. 2997–3004. DOI: configuration spaces. IEEE Transactions on Robotics and
10.1109/IROS.2014.6942976. Automation 12(4): 566–580. DOI:10.1109/70.508439.
Gammell JD, Srinivasa SS and Barfoot TD (2015) Batch Informed Kiesel S, Burns E and Ruml W (2012) Abstraction-guided sampling
Trees (BIT*): Sampling-based optimal planning via the for motion planning. In: Proceedings of the Fifth Annual
heuristically guided search of implicit random geometric Symposium on Combinatorial Search (SoCS). ISBN 978-1-
graphs. In: Proceedings of the IEEE International Conference 577-35584-7.
on Robotics and Automation (ICRA). pp. 3067–3074. DOI: Kleinbort M, Salzman O and Halperin D (2015) Efficient high-
10.1109/ICRA.2015.7139620. quality motion planning by fast all-pairs r-nearest-neighbors.
Gilbert EN (1961) Random plane networks. Journal of the Society In: Proceedings of the IEEE International Conference on
for Industrial and Applied Mathematics (JSIAM) 9(4): 533– Robotics and Automation (ICRA). pp. 2985–2990. DOI:
543. DOI:10.1137/0109045. 10.1109/ICRA.2015.7139608.
Hart PE, Nilsson NJ and Raphael B (1968) A formal basis for Kleinbort M, Salzman O and Halperin D (2016) Collision detection
the heuristic determination of minimum cost paths. IEEE or nearest-neighbor search? On the computational bottleneck
Transactions on Systems Science and Cybernetics 4(2): 100– in sampling-based motion planning. In: Proceedings of the
107. DOI:10.1109/TSSC.1968.300136. International Workshop on the Algorithmic Foundations of
Hauser K (2015) Lazy collision checking in asymptotically-optimal Robotics (WAFR).
motion planning. In: Proceedings of the IEEE International Koenig S, Likhachev M and Furcy D (2004) Lifelong planning
Conference on Robotics and Automation (ICRA). pp. 2951– A*. Artificial Intelligence (AI) 155(1–2): 93–146. DOI:
2957. DOI:10.1109/ICRA.2015.7139603. 10.1016/J.ARTINT.2003.12.001.
Helmert M (2006) The fast downward planning system. Journal Kuffner Jr JJ and LaValle SM (2000) RRT-Connect: An efficient
of Artificial Intelligence Research (JAIR) 26: 191–246. DOI: approach to single-query path planning. In: Proceedings of the
10.1613/JAIR.1705. IEEE International Conference on Robotics and Automation
Hsu D, Latombe JC and Motwani R (1999) Path planning in (ICRA), volume 2. pp. 995–1001. DOI:10.1109/ROBOT.2000.
expansive configuration spaces. International Journal of 844730.
Computational Geometry & Applications (IJCGA) 9(4–5): 495– Kunz T, Thomaz A and Christensen H (2016) Hierarchical
512. DOI:10.1142/S0218195999000285. rejection sampling for informed kinodynamic planning in high-
Janson L and Pavone M (2013) Fast marching trees: a fast dimensional spaces. In: Proceedings of the IEEE International
marching sampling-based method for optimal motion planning Conference on Robotics and Automation (ICRA). pp. 89–96.
in many dimensions. In: Proceedings of the International DOI:10.1109/ICRA.2016.7487120.
Symposium on Robotics Research (ISRR). DOI:10.1007/ LaValle SM and Kuffner Jr JJ (2001) Randomized kinodynamic
978-3-319-28872-7 38. planning. The International Journal of Robotics Research
Janson L, Schmerling E, Clark A and Pavone M (2015) Fast 20(5): 378–400. DOI:10.1177/02783640122067453.
marching tree: A fast marching sampling-based method Lozano-Pérez T (1983) Spatial planning: A configuration space
for optimal motion planning in many dimensions. The approach. IEEE Transactions on Computers C-32(2): 108–120.
International Journal of Robotics Research (IJRR) 34(7): 883– DOI:10.1109/TC.1983.1676196.
921. DOI:10.1177/0278364915577958. Muthukrishnan S and Pandurangan G (2005) The bin-covering
Karaman S and Frazzoli E (2011) Sampling-based algorithms technique for thresholding random geometric graph properties.
for optimal motion planning. The International Journal In: Proceedings of the Sixteenth Annual ACM-SIAM
of Robotics Research 30(7): 846–894. DOI:10.1177/ Symposium on Discrete Algorithms. ISBN 978-0-898-71585-9,
0278364911406761. pp. 989–998.
Kavraki LE, Švestka P, Latombe JC and Overmars MH (1996) Penrose M (2003) Random Geometric Graphs, Oxford Studies
Probabilistic roadmaps for path planning in high-dimensional in Probability, volume 5. Oxford University Press. ISBN

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.


Gammell et al. 27

978-0-198-50626-3. Urmson C and Simmons R (2003) Approaches for heuristically


Perez A, Karaman S, Shkolnik A, Frazzoli E, Teller S and biasing RRT growth. In: Proceedings of the IEEE/RSJ
Walter MR (2011) Asymptotically-optimal path planning for International Conference on Intelligent Robots and Systems
manipulation using incremental sampling-based algorithms. (IROS), volume 2. pp. 1178–1183. DOI:10.1109/IROS.2003.
In: Proceedings of the IEEE/RSJ International Conference on 1248805.
Intelligent Robots and Systems (IROS). pp. 4307–4313. DOI: Xie C, van den Berg J, Patil S and Abbeel P (2015) Toward
10.1109/IROS.2011.6094994. asymptotically optimal motion planning for kinodynamic
Persson SM and Sharf I (2014) Sampling-based A* algorithm systems using a two-point boundary value problem solver.
for robot path-planning. The International Journal of In: Proceedings of the IEEE International Conference on
Robotics Research (IJRR) 33(13): 1683–1708. DOI:10.1177/ Robotics and Automation (ICRA). pp. 4187–4194. DOI:
0278364914547786. 10.1109/ICRA.2015.7139776.
Sallaberger CS and D’Eleuterio GM (1995) Optimal robotic path Zucker M, Ratliff N, Dragan AD, Pivtoraiko M, Klingensmith
planning using dynamic programming and randomization. M, Dellin CM, Bagnell JA and Srinivasa SS (2013) CHOMP:
Acta Astronautica 35(2–3): 143–156. DOI:10.1016/ Covariant Hamiltonian optimization for motion planning. The
0094-5765(94)00158-I. International Journal of Robotics Research (IJRR) 32(9–10):
Salzman O and Halperin D (2015) Asymptotically-optimal motion 1164–1193. DOI:10.1177/0278364913488805.
planning using lower bounds on cost. In: Proceedings of the
IEEE International Conference on Robotics and Automation
(ICRA). pp. 4167–4172. DOI:10.1109/ICRA.2015.7139773.
Salzman O and Halperin D (2016) Asymptotically near-optimal
RRT for fast, high-quality motion planning. IEEE Transactions
on Robotics 32(3): 473–483. DOI:10.1109/TRO.2016.
2539377.
Sánchez G and Latombe JC (2002) On delaying collision checking
in PRM planning: Application to multi-robot coordination.
The International Journal of Robotics Research (IJRR) 21(1):
5–26. DOI:10.1177/027836402320556458.
Srinivasa S, Berenson D, Cakmak M, Collet Romea A, Dogar
M, Dragan A, Knepper RA, Niemueller TD, Strabala K,
Vandeweghe JM and Ziegler J (2012) HERB 2.0: Lessons
learned from developing a mobile manipulator for the home.
Proceedings of the IEEE 100(8): 1–19. DOI:10.1109/JPROC.
2012.2200561.
Şucan IA, Moll M and Kavraki LE (2012) The Open Motion
Planning Library. IEEE Robotics & Automation Magazine
19(4): 72–82. DOI:10.1109/MRA.2012.2205651. Library
available from http://ompl.kavrakilab.org/.
Teniente EH and Andrade-Cetto J (2013) HRA*: Hybrid
randomized path planning for complex 3D environments. In:
Proceedings of the IEEE/RSJ International Conference on
Intelligent Robots and Systems (IROS). pp. 1766–1771. DOI:
10.1109/IROS.2013.6696588.

Prepared using sagej.cls

Submitted to International Journal of Robotics Research (IJRR) as manuscript #IJR-17-2980.

You might also like