Generalized Lazy Search for Robot Motion Planning: Interleaving Search and Edge Evaluation via Event-based Toggles
Aditya Mandalika, Sanjiban Choudhury, Oren Salzman, Siddhartha, Srinivasa

TL;DR
This paper introduces Generalized Lazy Search (GLS), a framework that dynamically balances search and edge evaluation to improve robotic motion planning efficiency, outperforming existing methods like LazySP especially in complex environments.
Contribution
The paper presents GLS, a novel framework that interleaves search and evaluation using event-based toggles, and incorporates prior edge probability knowledge to optimize planning time.
Findings
GLS outperforms LazySP in simulated environments.
Incorporating edge priors reduces planning time.
GLS is provably more efficient with certain toggle strategies.
Abstract
Lazy search algorithms can efficiently solve problems where edge evaluation is the bottleneck in computation, as is the case for robotic motion planning. The optimal algorithm in this class, LazySP, lazily restricts edge evaluation to only the shortest path. Doing so comes at the expense of search effort, i.e., LazySP must recompute the search tree every time an edge is found to be invalid. This becomes prohibitively expensive when dealing with large graphs or highly cluttered environments. Our key insight is the need to balance both edge evaluation and search effort to minimize the total planning time. Our contribution is two-fold. First, we propose a framework, Generalized Lazy Search (GLS), that seamlessly toggles between search and evaluation to prevent wasted efforts. We show that for a choice of toggle, GLS is provably more efficient than LazySP. Second, we leverage prior…
| Algorithm | Event | Selector |
|---|---|---|
| LazyPRM (?) | ShortestPath | Any |
| LazySP (?) | ShortestPath | Any |
| LWA* (?) | ConstantDepth (1) | Forward |
| LRA* (?) | ConstantDepth () | Forward |
| SP + F | SP + A | SP + FF | CD + F | CD + A | CD + FF | SE + F | SE + A | SE + FF | |
| Square | |||||||||
| Total Planning Time | 0.331 | 0.454 | 0.372 | 0.221 | 0.259 | 0.222 | 0.171 | 0.161 | 0.116 |
| # Edge Evaluations | 190 | 308 | 137 | 273 | 344.5 | 315.5 | 200.5 | 206 | 153 |
| # Vertex Rewires | 7058.5 | 8502.5 | 9859 | 1076.5 | 641.5 | 69.5 | 1104.5 | 603.5 | 318.5 |
| Two Wall | |||||||||
| Total Planning Time | 0.419 | 0.394 | 0.377 | 0.262 | 0.301 | 0.290 | 0.220 | 0.169 | 0.161 |
| # Edge Evaluations | 224 | 242.5 | 144 | 310 | 393 | 407 | 287 | 224.5 | 202.5 |
| # Vertex Rewires | 9360 | 7997 | 9870 | 1594.6 | 914.5 | 165.5 | 697 | 435 | 711.5 |
| Mazes | |||||||||
| Total Planning Time | 1.334 | 1.292 | 1.272 | 0.574 | 0.776 | 0.560 | 0.615 | 0.578 | 0.337 |
| # Edge Evaluations | 531 | 471 | 307.5 | 630 | 895 | 785.5 | 588 | 544.5 | 352.5 |
| # Vertex Rewires | 34359 | 34379.5 | 37750 | 4769 | 5357.5 | 326 | 7266.5 | 7039.5 | 3213 |
| Forest | |||||||||
| Total Planning Time | 0.277 | 0.267 | 0.269 | 0.574 | 0.776 | 0.559 | 0.219 | 0.234 | 0.229 |
| # Edge Evaluations | 174.5 | 184.5 | 165.5 | 306.5 | 342.5 | 450.5 | 190 | 220 | 174.5 |
| # Vertex Rewires | 5524.5 | 4936 | 5467.5 | 579 | 346 | 95.5 | 3075 | 2855 | 3827.5 |
| GLS | LRA* | LazySP | |
|---|---|---|---|
| Piano Movers’ | |||
| Total Planning Time | 1.00 | 1.13 | 1.25 |
| Edge Evaluation Time | 0.17 | 0.49 | 0.10 |
| Vertex Rewire Time | 0.83 | 0.64 | 1.15 |
| HERB Task 1 | |||
| Total Planning Time | 1.17 | 1.81 | 1.53 |
| Edge Evaluation Time | 0.38 | 1.19 | 0.29 |
| Vertex Rewire Time | 0.79 | 0.62 | 1.24 |
| HERB Task 2 | |||
| Total Planning Time | 1.64 | 2.77 | 2.02 |
| Edge Evaluation Time | 0.42 | 1.83 | 0.23 |
| Vertex Rewire Time | 1.22 | 0.94 | 1.79 |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
\NewEnviron
myquote
\BODY
(1)
Generalized Lazy Search for Robot Motion Planning:
Interleaving Search and Edge Evaluation via Event-based Toggles
Aditya Mandalika
University of Washington
&Sanjiban Choudhury
University of Washington
[email protected] 11footnotemark: 1 &Oren Salzman
Carnegie Mellon University
[email protected] 11footnotemark: 1 &Siddhartha Srinivasa
University of Washington
[email protected] 11footnotemark: 1
This work was (partially) funded by the National Institute of Health R01 (#R01EB019335), National Science Foundation CPS (#1544797), National Science Foundation NRI (#1637748), the Office of Naval Research, the RCTA, Amazon, and Honda.
Abstract
Lazy search algorithms can efficiently solve problems where edge evaluation is the bottleneck in computation, as is the case for robotic motion planning. The optimal algorithm in this class, LazySP, lazily restricts edge evaluation to only the shortest path. Doing so comes at the expense of search effort, i.e., LazySP must recompute the search tree every time an edge is found to be invalid. This becomes prohibitively expensive when dealing with large graphs or highly cluttered environments. Our key insight is the need to balance both edge evaluation and search effort to minimize the total planning time. Our contribution is two-fold. First, we propose a framework, Generalized Lazy Search (GLS), that seamlessly toggles between search and evaluation to prevent wasted efforts. We show that for a choice of toggle, GLS is provably more efficient than LazySP. Second, we leverage prior experience of edge probabilities to derive GLS policies that minimize expected planning time. We show that GLS equipped with such priors significantly outperforms competitive baselines for many simulated environments in and 7-DoF manipulation.
1 Introduction
We focus on the problem of finding the shortest path on a graph while minimizing total planning time. This is critical in applications such as robotic motion planning (?), where collision-free paths must be computed in real time. A typical search algorithm expands a wavefront from the start, evaluating edges discovered until it finds the shortest feasible path to the goal. The planning time then becomes the sum of the time spent in two phases – search effort and edge evaluation. While edge evaluation is generally more expensive in motion planning (?), the actual ratio of these times varies with problem instances and graph sizes. Our goal is to design a framework of algorithms that let us balance this trade-off.
Unfortunately, current shortest path algorithms do not provide a framework flexible enough to traverse the pareto curve between search effort and edge evaluation. On one end of the spectrum, A* and its variants (?; ?; ?) evaluate edges as soon as they are discovered. Hence although A* is optimal in terms of search effort, it is at the cost of excessive edge evaluations. On the other hand, LazySP (?) amongst other lazy search techniques (?; ?; ?), expands the search wavefront all the way to the goal before evaluating edges. Hence LazySP is optimal in terms of edge evaluation but has to replan everytime an edge is invalidated.
In this work, we propose a framework for algorithmically toggling between search effort and edge evaluation. We are guaranteed to find the shortest path as long as the following holds true; the search tree must always be repaired to be consistent, and edge evaluation must be restricted to the shortest subpath in the tree. Our framework, Generalized Lazy Search (GLS), has two modules - Event and Selector (Fig. 1). The algorithm expands a lazy search tree without evaluating any edges till the Event is triggered. A Selector is then invoked to evaluate an edge on the shortest subpath in the lazily expanded search tree. We show that by choosing different Event and Selector pairs, we can recover several existing lazy search algorithms such as LazySP (?), LWA* (?) and LRA* (?).
What constitutes an optimal trade-off and can this be captured by GLS? Consider the ideal scenario, one with an omniscient oracle (?) that knows ahead of time which edges are valid or invalid. In fact, the oracle can compute the minimal set of invalid edges that must be invalidated to arrive at the shortest feasible path. How can we utilize such an oracle in GLS? A simple strategy is as follows; as the search wavefront expands from start to goal, the oracle monitors the new edges that are discovered and triggers an Event if it belongs to . A Selector then evaluates that edge. This minimizes edge evaluation and curtails wasted search effort.
This insight extends to the more practical setting where we have priors on edge validity that are learned from experience. We derive Event and Selector that minimize the expected planning time. This produces behaviors similar to the omniscient oracle (Fig. 2); the search proceeds until the Event is triggered due to the appearance of low probability edges on the current subpath; the Selector then selects these edges to invalidate the subpath; and the process continues until the shortest feasible path is found.
We make the following contributions:
We propose a class of algorithms, GLS (Section 4), that minimize computational effort, defined as a function of both edge evaluation and vertex rewiring (Section 3). 2. 2.
We recover different lazy search algorithms as instantiations of GLS. We further prove that one such instantiation is edge optimal and causes fewer rewires than LazySP (Section 4, Theorem 4.3). 3. 3.
We derive instantiations of GLS that exploit the availability of edge priors to minimize expected computational effort (Section 5, Theorem 5.2). 4. 4.
We show that GLS informed with edge priors can outperform competitive baselines on a spectrum of planning domains (Section 6).
2 Related Work
Graphs lend powerful tractability to robotic motion planning (?). They can be explicit, i.e., constructed as part of a pre-processing stage (?; ?; ?), or implicit, i.e., discovered incrementally during search (?; ?; ?).
A* (?) and its variants have enjoyed widespread success in finding the shortest path with an optimal number of vertex expansions. However, in domains where edge evaluations are expensive and dominate the planning time, a lazy approach is often employed (?; ?; ?). In this approach, the graph is constructed without testing if edges are collision-free. Only a subset of edges are evaluated to save computation time. LazySP (?) extends the graph up to the goal before checking edges. LWA* (?) extends the graph a single step before evaluation. LRA* (?) trades off these approaches, allowing the search to proceed to an arbitrary lookahead. We generalize this further by introducing an event-based toggle.
Several works have explored the use of priors in search. FuzzyPRM (?) evaluates paths that minimize the probability of collision. The Anytime Edge Evaluation (AEE*) framework (?) uses an anytime strategy for edge evaluation informed by priors. POMP (?) defines surrogate objectives using priors to improve anytime planning. BISECT (?) and DIRECT (?) cast search as Bayesian active learning to derive edge evaluation. E-graphs (?) uses priors in heuristics. We focus on using priors to find the shortest path while minimizing expected planning time.
Several alternate approaches speed up planning by creating efficient data structures (?), modeling belief over the configuration space (?), sampling vertices in promising regions (?; ?) or using specialized hardware (?). Other approaches forego optimality and computing near-optimal paths (?; ?). Our work also draws inspiration from approaches that interleave planning and execution, such as LRTA* (?) and LSS-LRTA* (?).
3 Problem Formulation
Our goal is to design an algorithm that can solve the Single Source Shortest Path (SSSP) problem while minimizing computational effort. We begin with the SSSP problem. Let be a graph, where denotes the set of vertices and the set of edges. Given a pair of source and target vertices , a path is represented as a sequence of vertices such that . We define a world as a mapping from edges to valid () or invalid ([math]). A path is said to be feasible if all edges are valid, i.e., . Let be the length of an edge. The length of a path is the sum of edge costs, i.e., . The objective of the SSSP problem is to find the shortest feasible path:
[TABLE]
Given an SSSP, we define a shortest path algorithm that takes as input the graph , the source-target pair , and the underlying world . The algorithm typically solves the problem by building, verifying and rewiring a shortest path tree from source to target.
Maintaining the search tree and verifying the shortest feasible path are primarily characterized by two atomic operations: edge evaluation and vertex rewiring.
Definition 3.1** (Edge Evaluation).**
The operation of querying the world to check if an edge is valid.
Definition 3.2** (Vertex Rewiring).**
The operation of finding and assigning a new parent for a vertex when an invalid edge is discovered.
The algorithm returns three terms, i.e, . Here, is the shortest feasible path, is the set of edges evaluated during the search, and is the multiset111 is a multiset since a vertex can potentially be rewired multiple times during the planning cycle. of vertices rewired. Alg ensures the following certificate:
Returned path is verified to be feasible, i.e., 2. 2.
All paths shorter than are verified to be infeasible, i.e.,
We now define the computational cost (planning time), of solving the SSSP problem as a function of and . Let be the average cost of evaluating an edge, and be the average cost of rewiring a vertex. We approximate the total planning time as a linear combination:
[TABLE]
Our motivation for defining the cost will become clearer in the following section, where we propose a general framework for Alg. This framework lets us explicitly reason about the terms and in order to balance them.
4 Generalized Lazy Search
We propose a framework, Generalized Lazy Search (GLS), to solve the problem defined in Section 3. The general concept idea is to toggle between lazily searching to a horizon and evaluating edges along the current estimated shortest path. This toggle must be chosen appropriately to balance the competing computational costs of edge evaluation and vertex rewiring.
4.1 The Algorithm
Algorithm 1 describes the GLS framework for the shortest path algorithm referred to in Section 3. This framework requires two functions: Event and Selector.
To solve the SSSP problem, we maintain a shortest path search tree over . We assume that every call to , which populates , is expensive. Therefore, we initially assume that all edges in are valid and maintain this search tree lazily. Our algorithm initializes the search tree rooted at (Line 1). It begins by iteratively extending into (Line 4). The search is guided with an admissible heuristic .
The procedure ExtendTree additionally takes as input a function Event. Extending triggers the Event by definition. The algorithm, at this point, discontinues the extension of and switches to validate the already constructed search tree. Therefore, the Event acts as a toggle between lazy seach and edge evaluation.
Definition 4.1** (Event).**
A function that defines the toggle between extending the lazy search tree and validating it.
To solve the SSSP problem and validate , the algorithm picks the path, , to a leaf vertex with the lowest estimated total cost to reach the goal (Line 5). It then evaluates an edge along to validate the search tree (Line 6). In addition to , the procedure EvaluateEdge also takes as input a function Selector. The Selector acts on and returns an edge belonging to it that the algorithm evaluates.
Definition 4.2** (Selector).**
A function that defines the strategy to select an edge along a subpath to evaluate.
Edge evaluation is followed by the extension of until the Event is triggered again. If the edge were invalid, the subtree emanating from the edge has to be rewired. We can do this efficiently using the mechanics of LPA* (?).
This process of interleaving search with edge evaluation continues until the algorithm terminates with the shortest feasible path from source to goal, if one exists. While the algorithm is guaranteed to return the shortest path, the framework permits the design of Event and Selector to reduce the total computation cost of solving the SSSP problem.
4.2 Role of Event and Selector
Since the lazy search paradigm operates based on the concept of optimism under uncertainty, the search tree is extended assuming edges are collision free. However, extending the search tree beyond edges that are in collision can waste computational effort. The Event acts as a toggle to halt a search deemed wasteful. The Selector aims to quickly invalidate the path. Fig. 2 illustrates the ideal behavior of such an algorithm. Interestingly, the framework can also capture existing lazy search algorithms as different combinations of event and selectors, as shown in Table. 1.
Event.
When triggered, events must ensure that the shortest subpath in has at least one unevaluated edge (Theorem 4.1). Algorithm 2 defines some candidate events.
ShortestPath (SP) is triggered when a shortest path to has been determined during the lazy extension of . Therefore, in every iteration, this Event presents the Selector with the candidate shortest path from to on . Note that ShortestPath exhibits algorithmic behavior similar to LazySP and LazyPRM.
ConstantDepth (CD) is triggered when the procedure ExtendTree chooses to extend a leaf vertex such that the subpath from to has exactly number of unevaluated edges. Therefore, in every iteration, this Event presents the Selector with that is characterized by a constant number of unevaluated edges.
HeuristicProgress (HP) is triggered whenever the search expands a vertex whose heuristic value is lower than any vertex whose incident edge has been evaluated. It does so by recording the minimum heurisitic value of a vertex with a parent that has been evaluated, i.e., . The event is triggered whenever ExtendTree chooses to extend a leaf vertex with a heuristic value smaller than .
Selector.
Selectors must ensure that they select at least one unevaluated edge (Theorem 4.1). Algorithm 3 defines some candidate selectors.
Given , Forward (F) evaluates the first unevaluated edge on that is closest to . Given a forward search, this constitutes one of the most natural Selectors available. Alternate (A) toggles between evaluating the first unevaluated edge closest to and in every iteration. This approach is motivated by bi-directional search algorithms. Both Selectors were first used in (?).
4.3 Analysis
For any choice of Event and Selector, GLS is complete and correct.
Theorem 4.1** (Completeness).**
Let Event be a function that on halting ensures there is at least one unevaluated edge on the current shortest path or that the goal is reached. Let Selector be a function that evaluates at least one unevaluated edge (if it exists). GLS implemented using ExtendTree(Event) and EvaluateEdges(Selector) on a finite graph is complete.
**Proof ** In each iteration, ExtendTree(Event) ensures there is atleast one unevaluated edge on the shortest path (unless the goal has been reached). The EvaluateEdges(Selector) evaluates atleast one edge. Since there are a finite number of edges, the algorithm will eventually terminate. ∎
Theorem 4.2** (Correctness).**
If the heuristic is admissible, then GLS terminates with the shortest feasible path.
**Proof ** Let be the shortest feasible path with respect to and world . For any vertex , we denote its f-value to be , where is the subpath from the start to vertex . As our heuristic function is admissible, we have that . Recall that in each iteration, the inner GetShortestPathToLeaf () returns a vertex with the smallest f-value among all the leaves of the tree . Let be the leaf vertex on that lies on the shortest feasible path . Hence, . If GLS terminates with , this implies is verified to be feasible and . Let the verified path that is returned be such that . In that case . ∎
LazySP with the Forward selector was proved to be edge optimal222See (?) for the formal computational model in the class of all shortest path algorithms that use a Forward selector (?). We now show that GLS lets us derive another algorithm that is also edge-optimal but reduces number of vertex rewires.
Theorem 4.3** (Edge Optimality).**
GLS evaluates the same number of edges as LazySP, i.e., is edge optimal, while having a smaller number of vertex rewires under the following setting:
Heuristic: Distance on the unevaluated graph 2. 2.
Event*: HeuristicProgress* 3. 3.
Selector*: Forward*
**Proof ** We are going to prove this via induction over iterations of LazySP and GLS. In each iteration cycles through algorithm by invoking EvaluateEdges (Selector), ExtendTree (Event) and SelectShortestSubpath ().
At iteration , let and be the edges evaluated and vertex rewired respectively by LazySP. Let be the candidate shortest path.
Let and be the edges evaluated and vertices rewired, respectively, by GLS at iteration . Let be the heuristic used by the search which corresponds to the distance on the graph . Let be the leaf vertex corresponding to the current shortest subpath from the start . This implies corresponds to the vertex with the smallest f-value .
We also introduce the lazy edge status function which determines if a path is valid depending on edges evaluated thus far in .
Following are the conditions for the induction:
- A
Both algorithms have the same set of evaluated edges . 2. B
Both algorithms share the same subpath .
For , because no edges have been evaluated. Hence (A) is true. Since is the distance on the unevaluated graph, the leaf vertex considered by GLS lies on , i.e. . Hence (B) is true.
We will show these conditions hold for .
Since both LazySP and GLS use Forward, share the same subpath (A) and have the same evaluation status (B) - they both evaluate the same edge . Both algorithms increase their evaluated set . Hence (A) holds.
If is valid, neither algorithms rewire vertices. However, if an edge is in collision, LazySP rewires at least the remainder of the path . GLS does not have to rewire the remainder of the subpath as it was never expanded during the search. Hence GLS can only result in smaller rewires, i.e. .
We will now show that .
LazySP finds the next candidate shortest path by solving the following search problem
[TABLE]
GLS invokes the ExtendTree (Event) which proceeds till HeuristicProgress toggles off the search. The search stops at vertex which satisfies the following:
[TABLE]
Note that , i.e. the subpath from the start to any vertex is valid according to the lazy estimate.
By definition, the heuristic is the weight of the shortest path on the unevaluated graph . The heuristic progress threshold is by definition the minimum heuristic value of the child vertex of any evaluated edge, i.e. . Since is consistent, implies that none of the edges belong to have been evaluated. This means that the subpath to goal is valid according to the lazy estimate, i.e. .
Hence (4) can be re-written as
[TABLE]
Since , (3) and (5) are the same optimization. Hence and (B) holds. As a result, the induction holds.
This process continues till both algorithms discover the shortest feasible path at the end of iteration . Both evaluate the same number of edges . But GLS saves on more vertices being rewired than LazySP, i.e. . ∎
Corollary 4.1**.**
There is a graph for which the number of vertex rewires for LazySP over GLS is linear over logarithmic.
**Proof **
We are going to construct a counter example that shows a particularly bad case of vertex rewiring undertaken by LazySP.
Scenario.
Consider the graph in Fig. 3. It has a set of vertices connected to the start. The upper half of the vertices are connected to vertex . The lower half is connected to . Each of and is connected to a chain of vertices going to the goal. , .
The graph is such that one of edges connected to the start is valid, the rest is invalid. The remaining edges are all valid.
The weights of the graph are such that the shortest path alternates between the top and bottom halves of the graph. Assume that all shortest paths are invalid and the last one is valid. Finally assume that and alternate being the optimal parent to the vertices.
LazySP computation
.
For LazySP, the only computation is vertex rewiring. The graph is such that successive shortest paths alternate between the upper and lower halves. The shortest paths in the upper half pass through A and lower half pass through B. Hence every edge that is invalidated, causes all vertices to rewire to either vertex or . This is the optimistic thrashing scenario explained in LazyPRM*. Since edges have to be invalidated, the number of rewires is
GLS computation
There are two computation steps to account for - heuristic computation and vertex rewiring.
The heuristic computation is a Djikstra operation.
[TABLE]
Since the search never proceeds beyond the first set of edges, the amount of vertex rewiring is [math].
Hence the complexity of LazySP is while GLS is . The ratio is linear over logarithmic growth.
∎
5 Leveraging Edge Priors in GLS
The GLS framework is powerful because one can optimize Event and Selector to minimize computational costs while still retaining guarantees. Here, we show its expressive power in a scenario where we have additional side information, such as priors on the validity of edges. Such information can be collected from datasets of prior experience or generated from approximations of the world representation.
5.1 Modified Problem Formulation
We assume that the validity of each edge is an independent Bernoulli random variable. We are given a vector of probabilities , such that , i.e., for each edge , we have access to , which defines the probability of the edge being valid in the current world .
We allow the shortest path algorithm to leverage knowledge of edge probabilities to minimize the expected computation cost as follows:
[TABLE]
5.2 Event and Selector Design
Event.
The Event restricts lazy search from proceeding beyond a point when the search is likely to be ineffective, i.e. to a point that potentially increases the amount of rewires . One such case is when the current shortest subpath is likely to be in collision, i.e., the probability of being valid drops below a threshold . We describe this event, SubpathExistence (SE), in Algorithm 2. We show that we can bound the performance of this event.
Theorem 5.1**.**
For any Selector, the expected planning time of SubpathExistence () can be upper bounded as:
[TABLE]
where is the number of shortest-paths that are infeasible, is the maximum branching factor, and is the maximum value of an edge prior.
**Proof ** We first describe the GLS algorithm with SubpathExistence (). The algorithm searches till the probability of the current shortest subpath drops below . It toggles edge evaluation which will either eliminate the subpath or check an edge such that the probability rises above . The search continues forward. This repeats till the shortest path has been found. For this proof, we assume we have an oracular selector that can invalidate a subpath if it is truly invalid.
We begin by upper bounding the number of edge evaluations. Let be the shortest feasible path. Let there be shorter paths than that are infeasible and that the algorithm has to eliminate. Since we are showing an upper bound, we can relax the condition that the paths have overlapping edges since they will only reduce edge evaluations (eliminating one implies the other is eliminated).
Consider one of paths that we have to eliminate. If we pick an edge from the subpath, with probability we will find a witness that the path is invalid. A selector either invalidates a subpath with probability or results in a wasted edge evaluation. This process is repeated till a path is eventually eliminated. The expected number of edge evaluated to eliminate the path is:
[TABLE]
Hence the total expected cost of edge evaluation is bounded by . Note as , this term goes to . This is backed by the intuition that triggering the event often results in increased edge evaluation.
We will now upper bound the number of vertex rewiring. We assume that the search is using as heuristic the distance on the graph . Hence when one of the subpaths are eliminated, only the vertices of that subpath is rewired. Since we are deriving an upper bound, we will ignore overlap between subpaths (which can only help).
Consider one of paths that we have to eliminate. Let be the maximum probability of an edge being valid. Then the maximum length of any subpath is
[TABLE]
When the subpath is eliminated, the rewiring is restricted only to vertices belonging to the subpath. Hence the maximum vertex rewire that can occur is where is the maximum branching factor. A selector either invalidates a subpath with probability and results in rewiring or the process continues without any penalty. The expected number of vertices rewired before the path is eliminated can be upper bounded:
[TABLE]
Hence the total expected cost of vertex rewiring is upper bounded by . Note as , this term goes to . This is backed by the intuition that triggering the event less often results in increased vertex rewiring. ∎
Low values of result in lower edge evaluations but more edge rewiring, and vice-versa.
Corollary 5.1**.**
There exists a critical threshold that upper bounds the expected computational cost.
**Proof ** The total expected planning time can be bounded as:
[TABLE]
We will now show that there exists a critical point that minimizes this. Solving for that critical point, we have:
[TABLE]
Let . The critical point is:
[TABLE]
When , is close to and . When , we have . Hence, the critical point is:
[TABLE]
The critical point is inversely proportional to the ratio .
∎
Selector.
The Selector invalidates as many subpaths as quickly as possible, which restricts the size of . One strategy for doing so is to invalidate the current subpath as quickly as possible. We describe a selector, FailFast (FF), in Algorithm 3 that evaluates the edge on the subpath with the highest probability of being in collision. We show that this selector is the optimal strategy to invalidate a subpath.
Theorem 5.2**.**
Given a path , FailFast minimizes the expected number of edges from that must be evaluated to invalidate .
**Proof ** Given a path , and a sequence of edges belonging to the path, and the corresponding priors of the edges being valid , let the expected number of edge evaluations to invalidate the be which is given by
[TABLE]
Without loss of generality, let for a given . Consider the alternate sequence of evaluations where the positions of the edges are swapped. Consider the difference:
[TABLE]
Since each such swap results in monotonic decrease in the objective, there exists an unique fixed point, i.e., the optimal sequence has . ∎
5.3 Hypotheses
Based on our theoretical analysis and insight, we state three hypotheses that we intend to test:
H 1**.**
For any Selector, the event SubpathExistence requires less planning time compared to ShortestPath and ConstantDepth.
This follows from Theorem 5.1, which upper bounds the planning time for SubpathExistence. ShortestPath corresponds to and can increase planning time. ConstantDepth has a fixed lookahead and does not adapt as priors change.
H 2**.**
For any Event, FailFast evaluates fewer edges than Forward and Alternate.
This follows from Theorem 5.2, which shows that FailFast is optimal in expectation for eliminating a path. From H 1 and H 2, we hypothesize that the combination of SubpathExistence and FailFast will have the lowest planning time.
H 3**.**
The performance gain of SubpathExistence over ShortestPath increases with both graph size and problem difficulty.
ShortestPath assumes that is negligible. As graph size increases, the size of vertices that ShortestPath rewires also increases. Similarly, as problem difficulty increases, so does the number of shortest paths that ShortestPath must invalidate, which also increases . SubpathExistence, on the other hand, makes no such assumption.
6 Experiments
Algorithm Details.
We implemented 3 Events and 3 Selectors described in Algorithms 2 and 3 to get a total of algorithms. To analyze the trade-offs, we test on a diverse set of datasets. We then finalize on 3 algorithms: LazySP (ShortestPath, FailFast), LRA* (ConstantDepth, FailFast) and GLS (SubpathExistence, FailFast). We evaluate these on a Piano Movers’ problem in and manipulation problems in using HERB (?), a mobile robot with 7DoF arms. 333Code is publicly available as an OMPL Planner at:
https://github.com/personalrobotics/gls
Analysis on datasets.
We use datasets of problems from (?). Each dataset corresponds to different parametric distribution of obstacles from which we sample worlds. A graph of 2000 vertices is sampled using a low dispersion sampler (?) with an optimal connection radius (?). Priors are computed by collision checking the graph on the training data and averaging edge outcomes. The prior and some samples from datasets are shown in Fig. 4(a). We pick one representative dataset, TwoWall, to show detailed plots.
We choose evaluation metrics (a) number of edge evaluations (b) number of vertex rewires and c) total planning time: weighted combination of (a), (b) (see Eq. 2). Since problems are not expensive to evaluate, we choose weights based on empirical data from manipulation planning problems in (avg. eval time: s, avg. rewire time s, ratio ).
Finally, for parameter selection, we choose in SubpathExistence from the pareto curve of vertices rewired vs edges evaluated computed on the training data. The slope of the line is the ratio of their relative cost – the point of interesection corresponds to the that minimizes planning time. For ConstantDepth, we use the recommended value from (?).
Table 2 shows the planning times of various algorithms under GLS. The planning times are the median quantities obtained from experiments over 100 different worlds sampled within the environment type. Fig. 4(c) shows the ranking of the planning times of the algorithms across the 400 worlds considered across the four datasets (lower plannning time in a problem translates to a better rank). We note that GLS with SubpathExistence and FailFast consistently outperforms remaining algorithms on a majority of environments.
We found strong evidence to support H 1 - SubpathExistence exhibits lowest planning times in 99% of the problems (Fig. 4(b, left)) Corresponding median planning times supporting the hypothesis are reported in Table 2. Fig. 5 shows a comparison of the events ShortestPath, ConstantDepth and SubpathExistence (for the Forward selector) on a problem from the TwoWall dataset. We can see that ShortestPath checks small number of edges but rewires significant portion of the search tree. The trend is reversed in ConstantDepth when using a depth of . SubpathExistence is able to balance both by exploiting priors - it triggers events when the search reaches the walls thus reducing rewires.
We also found strong evidence to support H 2 - FailFast exhibits the lowest planning times in 83% (Fig. 4(b, right)) of the problems across the four datasets. In Table 2, we note that for a given event, FailFast has the lowest planning time in majority of the datasets. Fig. 6 shows a comparison of Forward and FailFast (for ShortestPath event) - FailFast quickly eliminates paths by checking the weakest link (supporting Theorem 5.2).
We found strong evidence to support H 3. Fig. 7(b) shows that as graphs get larger, planning times of ShortestPath grows at a faster rate than SubpathExistence. Fig. 7(c) shows that as the density of obstacles increase, the planning times of ShortestPath grows linearly while SubpathExistence eventually saturates.
Analysis on problems and problems.
We consider the Piano Movers’ problem in from the Apartment scenario in OMPL (?). For the environment, we consider two manipulation tasks with a 7-DoF arm (?) in a cluttered kitchen environment (Fig. 8). We used graphs of 8000 vertices and 30,000 vertices for the and problems respectively.
In Table 3, we report the mean planning times across 100 problems each. We see that GLS(SubpathExistence, FailFast) outperforms the other algorithms in planning time on all three problems. Additionally, Fig. 7(d) shows a breakdown of the planning time for each of the three events on HERB Task 2. GLS significantly lowers rewiring time while having a minimal increase in evaluation time.
Figures 9, 10 compare the performance of LazySP and GLS with FailFast selector. They illustrate the savings of GLS on the Piano Movers’ problem (Fig. 9) and on a simplified manipulation scene (Fig. 10). In both cases, LazySP has to rewire a large search tree everytime a path is found to be in collision. GLS, on the other hand, halts the search as soon as it enters a region of low probability, eliminates the paths and hence drastically minimizes rewiring time at the cost of few additional edge evaluations over LazySP.
7 Discussion
We presented a general framework for lazy search (GLS). The staple framework interleaves two phases, search and evaluation. In the search phase, it extends a lazy shortest-path tree forward without evaluating any edges until an Event is triggered. It then switches to evaluation phase. It finds the shortest subpath to a leaf node of the tree and invokes a Selector to evaluate an edge on it. Careful choice of Event and Selector allows the balance of search effort with edge evaluation to minimize overall planning time.
The framework, quite expressive, lets us capture a range of lazy search algorithms (Table 1). While it draws inspiration from prior work interleaving search and evaluation, such as LRA* (?), the key difference lies in our definition of the Event, which makes the algorithm adaptive. This lets us derive new algorithms that are edge optimal while saving on search effort (Theorem 4.3).
In future work, we plan to examine more sophisticated Selector policies (?) that exploit correlations amongst edges to minimize evaluation cost. We also plan to extend GLS to an anytime paradigm; this would let us use heuristics that exploit edge priors to guide the search through regions of high probability (?), for significant speed-ups. Finally, we plan to explore problems where multiple lazy estimates of weight functions are available, e.g., in kinodynamic planning, where different relaxations of the boundary value problem can be obtained. We believe GLS can interleave search efficiently over multiple resolutions of approximation.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[Bialkowski et al . 2016] Bialkowski, J.; Otte, M. W.; Karaman, S.; and Frazzoli, E. 2016. Efficient collision checking in sampling-based motion planning via safety certificates. I. J. Robotics Res. 35(7):767–796.
- 2[Bialkowski, Otte, and Frazzoli 2013] Bialkowski, J.; Otte, M.; and Frazzoli, E. 2013. Free-configuration biased sampling for motion planning. In IROS , 1272–1279. IEEE.
- 3[Bohlin and Kavraki 2000] Bohlin, R., and Kavraki, L. E. 2000. Path planning using lazy PRM. In ICRA , volume 1, 521–528. IEEE.
- 4[Burns and Brock 2005] Burns, B., and Brock, O. 2005. Sampling-based motion planning using predictive models. In Robotics and Automation, 2005. ICRA 2005. Proceedings of the 2005 IEEE International Conference on , 3120–3125. IEEE.
- 5[Choudhury et al . 2017] Choudhury, S.; Javdani, S.; Srinivasa, S.; and Scherer, S. 2017. Near-optimal edge evaluation in explicit generalized binomial graphs. In NIPS , 4634–4644.
- 6[Choudhury, Dellin, and Srinivasa 2016] Choudhury, S.; Dellin, C. M.; and Srinivasa, S. S. 2016. Pareto-optimal search over configuration space beliefs for anytime motion planning. In IROS , 3742–3749.
- 7[Choudhury, Srinivasa, and Scherer 2018] Choudhury, S.; Srinivasa, S.; and Scherer, S. 2018. Bayesian Active Edge Evaluation on Expensive Graphs. In IJCAI , 4890–4897.
- 8[Cohen, Phillips, and Likhachev 2014] Cohen, B. J.; Phillips, M.; and Likhachev, M. 2014. Planning Single-arm Manipulations with n-Arm Robots. In RSS .
