Sampling-Based Reachability Algorithms for ... - Semantic Scholar

1 downloads 0 Views 1MB Size Report
agents (with unicycle dynamics) in the air at one time. Furthermore, the framework ..... of different heuristics on the behavior of RRTs, we conducted trials of RRT.
Sampling-Based Reachability Algorithms for Control and Verification of Complex Systems Michael S. Branicky, Michael M. Curtiss, Joshua Levine, Stuart Morgan Department of Electrical Engineering and Computer Science Case Western Reserve University, Cleveland, OH USA 44106 Abstract— In this paper, we survey sampling-based reachability algorithms that may be used for planning, control, and verification of complex systems. These were inspired by two robotics motion planning algorithms: Rapidly-exploring Random Trees (RRTs) and Probabilistic RoadMaps (PRMs). Herein, we review RRTs and PRMs. We review our adaptations and extensions to nonlinear control problems, hybrid systems, and completely discrete problems. We also summarize our work on the properties of sampling-based techniques.

I. I NTRODUCTION

AND

OVERVIEW

In this paper, we survey a novel approach to global planning, control, and verification that is applicable to complex control systems, including those that are nonlinear, nonholonomic, hybrid, or purely discrete. In general, complete algorithms for planning, control, and verification of such systems are exponential in the state-space and control dimensions. Attempts to fight this curse of dimensionality, have led to the introduction of randomized (or Monte Carlo or sampling-based) approaches that are capable of solving many challenging problems efficiently, at the expense of being able to guarantee that a solution will be found in finite time. Two such sampling-based methods that have achieved considerable success in the robotics motion planning literature are Rapidly-exploring Random Trees (RRTs) and Probabilistic RoadMaps (PRMs). The methods have been shown to solve challenging planning problems that involve high state-space dimension (citations given in Section 2; see [16], [17] for a review). Over the past several years we have adapted these algorithms for use in solving nonlinear control problems and multi-agent coordination [4], [10]; hybrid-systems planning, control, and verification [6], [19]; as well as planning in completely discrete spaces [22], [21]. Finally, we have also been involved in de-randomizing these algorithms [9], in proving their complexity [16], and in examining their coverage and optimality properties [22], [21]. In this paper, we review this work and place the algorithms in a broader context. In particular, we advocate a sampling-based approach to all reachability-based problems, including planning, control, and verification, as outlined in Figure 1. Thus, instead of generating all (local/onestep) successors of the reach set at any iteration, we only add one sample successor—usually at random, but perhaps using other considerations. The sampled (parent and) successor can be chosen as the one that is closest to some

goal region, achieves the maximum spread or “coverage,” etc. The successor can be generated by using a search over inputs or by solving a local (perhaps linear) control problem. Search can be terminated if a goal point is reached (as shown), after a fixed number of iterations, etc. Extra information can be stored using a tree/graph/forest structure, with edges labeled by the control action taking a parent node to a successor. Search can also proceed backwards from a final set. Throughout the paper, we will examine algorithms which instantiate this general pattern. S AMPLING -BASED R EACHABILITY A LGORITHM() 1 SampledReach ← InitialSet 2 repeat 3 srand ← random successor of SampledReach 4 SampledReach ← SampledReach ∪ srand 5 until SampledReach ∩ GoalSet 6= ∅ Fig. 1.

The template algorithm for sampling-based reachability.

It is perhaps obvious to the reader that control or planning from an initial state to a final state (or to one of a set of goal states satisfying some property) can be accomplished with the sampling-based reachability algorithm. In verification problems, one must establish whether or not trajectories exist that satisfy a set of conditions or specifications. By suitable choice of state, such verification problems can be converted into reachability problems, for example, “all trajectories stay within a safe set.” Our sampling-based approach is due to the fact that classical, complete approaches to reachability are provably hard [8]. Our hope with sampling-based methods is to trade algorithmic completeness for weaker guarantees such as probabilistic and resolution completeness [17]. We and our colleagues advocated this path some years ago now [8]; it has been advanced since in [1], [5], [6], [7], [19], [21], [22]. Recently, other researchers have also begun to pursue this goal [13]. II. S AMPLING -BASED P LANNING BACKGROUND Rapidly-exploring Random Trees (RRTs) are a probabilistic exploration method developed for searching the high-dimensional continuous spaces encountered in motion planning problems [15], [18]. To construct an RRT from an initial configuration qstart , the algorithm selects a random point in the configuration space, qrand during each iteration (see Figure 2). Next, we find qnear , the vertex in the tree

that is closest to qrand . Finally, we find qnew , the new vertex to add to the tree, by taking a finite step from qnear toward qrand . (Note: may not be be possible due to configuration space obstacles, arising, e.g., from workspace objects or joint limits.) If , the step-length, is greater than the distance from qnear to qrand , qnew is set equal to qrand . The algorithm finishes when qnew is at, or close enough to, qgoal . At this point, we can say that we have found a free path from the initial configuration qinit to the goal configuration qgoal . The algorithm can continue to grow the tree until a solution of the desired optimality is found (see Figure 3). RRTs have been shown to be probabilistically complete, meaning that if a path exists from start to goal, the algorithm will find it with probability 1 [15]. They have also been show to have good space-filling properties in that their growth is biased toward the largest unexplored regions in the space [15]; see Section VI. This remains true even in the presence of unforeseen obstacles. Variations on the basic algorithm abound. Most notably, growth can be biased toward the goal by choosing it as qrand some percentage of the time. There are also dual-tree algorithms that a second tree from the goal state. A solution path is found when the two trees finally connect.

Probabilistic RoadMaps (PRMs) constitute another sampling-based method for solving planning problems in high-dimensional spaces, especially multiple query path planning [12]. The PRM algorithm operates by repeatedly selecting source random nodes qrand and adding them to a set of vertex nodes, if they are obstacle-free. The algorithm then attempts to connect qrand to any other nodes in the set that are within some distance δ of qrand .1 The connections are made by a local planner; in the simple case of holonomic planning, the local planner is often simply a straight-line generator with obstacle checking. This process is repeated until the PRM reaches a fixed size, or until most or all of the PRM is connected. Path planning queries are then solved by using a local planner to connect qstart and qgoal to the PRM, then finding a path between the connection points through the pre-planned roadmap. Like RRTs, PRMs are probabilistically complete using uniform sampling. Unlike RRTs, which expand out from one point, the nodes in a PRM follow the sampling distribution exactly, but do not create a connected graph until some threshold point density is reached. III. S AMPLING -BASED N ONLINEAR C ONTROL For nonlinear control problems, we assume the dynamics

G ROW-RRT(qstart , qgoal ) 1 I NIT(T ) 2 A DD - ERTEX(T, qstart ) 3 repeat 4 qrand ← R AND -C ONFIGURATION 5 qnear ← N EAREST-N EIGHBOR(qrand , T ) 6 qnew ← E XTEND -RRT(qnear , qrand ) 7 A DD -E DGE(T, qnear , qnew ) 8 until I S -AT-G OAL(qnew , qgoal ) 9 return T

x˙ = f (x, u),

(1)

where x ∈ X ⊂ Rn and u ∈ U ⊂ Rm . For these problems, one follows the basic RRT algorithm in Figure 2(left), choosing configurations as states from X. The distance metric (which we will explicitly name ρ) used for finding nearest neighbors is problem-dependent. The substantive change is in the E XTEND -RRT command (line 6), which becomes (when translated to state x) the algorithm of Figure 4. Thus, one is searching for the control signal u that results E XTEND -NLRRT(xnear , xrand ) 1 ρmin = ∞ 2 for u ∈ U 3 do x ← N EW-S TATE(xnear , u, ) 4 d ← ρ(x, xrand ) 5 if d < ρmin 6 then xnew ← x, unew ← u, ρmin = d 7return xnew , unew

Fig. 2. The basic RRT construction algorithm (top) and diagram (bottom). (Adapted from [18].)

N EW-S TATE(xnear , u, R ) 1 return xnear + 0 f (x, u) dt Fig. 4. E XTEND Algorithm of RRT modified for nonlinear dynamics given by an ODE.

in a solution of Equation (1) that is closest to the current “reach goal,” xrand . If U is not a finite set, it can be sampled, or one can solve a local optimization over U to find the best (xnew , unew ) pair. Finally, to aid in reconstructing the global control input, the A DD -E DGE command can be modified to include storing the local control unew . Fig. 3.

Growth of typical RRT in 2-d over time, from left to right

1 Sometimes

connections are tried to the k nearest neighbors.

Again, biasing toward a goal point may be used. To grow a tree backwards (from a goal point, for example), one simply runs the differential equation in reverse, replacing f (x, u) in Figure 4 (bottom) with −f (x, u). To make these ideas concrete, we have implemented them to solve various problems [4], [10]. As an example, consider the swing-up problem for a nonlinear pendulum: θ¨ = −3g/(2l) sin θ − 3τ /(ml2 ) The NLRRT can solve this problem using the straightforward Euclidean metric. In Figures 5–7, we see how the behavior of the system varies as progressively higher torques are allowed. The torques used and the number of iterations until a solution was found are listed. With torques of {−4, −1, 0, 1, 4}, we are able to reach the goal configuration without swinging the pendulum back and forth. Again, the figures also show how the RRT covers the phase space, even with nonlinear differential constraints. We have also used the NLRRT to solve the swing-up problem for a nonlinear acrobot [4], [10]. We further used the NLRRT to plan for multiple aircraft in two-dimensions, traveling among six airports, with simple flight dynamics [10]. Using prioritized planning [14], we were able to generate plans for up to 800 holonomic agents in the air at one time. We also generated plans for tens of nonholonomic agents (with unicycle dynamics) in the air at one time. Furthermore, the framework could easily handle agents with dynamically-varying shapes. IV. H YBRID S AMPLING -BASED T OOLS Herein, we consider hybrid systems of the form x˙ (x, q)+

= f (x, u, q), = ν(x, u, q),

x 6∈ J(x, u, q), x ∈ J(x, u, q).

(2)

Here, x ∈ X is the continuous state, u ∈ U is the input, and q ∈ Q ' {1, 2, . . . , N } is the discrete state or mode. Also, f (·, ·, q) is the continuous dynamics, J(·, ·, q) is the jump set, and ν(·, ·, q) is the discrete transition map, all for mode q. The map ν computes the post-jump hybrid state (x, q)+ from the pre-jump hybrid state (x, q). The input u, which can include both continuous and discrete components, allows the introduction of non-determinism in the model, and can be used to represent the action of control algorithms and the effect of environmental disturbances. The evolution of the discrete state q models switches in the control laws and discrete events in the environment, such as failures. Briefly, the dynamics are as follows: the system starts at hybrid state (x(t0 ), q0 ) and evolves according to f (·, ·, q0 ), until the set J(·, ·, q0 ) is reached. At this time, say t1 , the continuous and/or discrete state instantaneously jump to the hybrid state (x(t+ 1 ), q1 ) = ν(x(t1 ), u(t1 ), q0 ), from which the evolution continues. While terse, the above model encompasses both autonomous and controlled switching and jumps, and allows modeling of a large class of embedded systems, including ground, air and space vehicles and robots; see [2], [3] for more details.

For a general hybrid system, xrand lives, and distances are measured in, the hybrid state space X × Q. The latter brings up the issue of designing metrics for combined continuous and discrete space, which is a topic of current research. In the hybrid-RRT algorithm [4], the E XTEND NLRRT and N EW-S TATE functions of Figure 4 must respect the hybrid dynamics. Briefly, for purely continuous RRTs, the states examined come from extending the state xnear according to the dynamics f (x, ·) for a fixed time and for various (sampled) u ∈ U . In the hybrid case, this continues to hold for (xnear , qnear ) if there are no intersections with the jump set J(·, qnear ). If there are, continuous evolution continues from the destination point(s) resulting from the jump reset(s), using the same or different u, until the total desired amount of time elapses. As an example, we have applied the hybrid RRT to compute reachability and verification for rectangular hybrid automata [19]. Briefly, rectangular hybrid automata (RHA) [11] have continuous dynamics given by differential inclusions of the form x˙ i ∈ [Li , Ui ], where Li , Ui ∈ Z for each of the continuous variable dimensions, xi . Because of the differential inclusions, we chose to grow multiple points for each RRT Extend() call. In this sense, we grow a unit instead of just one node, where each unit represents the upper and lower bound reachable from the nearest neighbor. In two dimensions, then, each unit is of size four: we create four inputs for (x, ˙ y) ˙ from the set of (Lx , Ly ), (Lx , Uy ), (Ux , Ly ), (Ux , Uy ). One other feature we implemented was the concept of a “multi-state view.” To this end, the Render object was modified to be able to draw all states at the same time, on top of each other, using different colors depending on which mode it is in. See the upper left plot in Figure 9, which shows trajectories for the RHA of Figure 8. There, the colors pink, brown, green, yellow, and cyan (various shades of gray) are used to represent the discrete states 0–4, resp. Figure 9 also shows an example of using RRTs for the verification of the RHA in Figure 8, as it attempts to go from initial hybrid state (x, y; q) = (1, 1; 0) to goal (2.5, 15; 0). The RHA was designed to accomplish this while cycling through discrete modes 0-1-3-2-2-4-3-0, as verified by the trajectory found by our software in the upper right diagram. (The white lines represent state resets.) Our software also found that the same goal could be reached by cycling through 0-2-4-3-0 and 0-1-3-0 (bottom left and right, resp.), which are specification violations. To give an idea of the needed computational resources used, the lower left RRT had 288 nodes ( = 1) and ran in 0.13 seconds, while the lower right RRT had 1742 nodes ( = 0.3) and took 3.57 seconds on the same machine—both on on a Pentium II with 128MB of RAM. V. D ISCRETE S AMPLING -BASED T OOLS In general a discrete reachability problem exists in a discrete space consisting of a countable set of states Q, and a corresponding set of discrete dynamics that define, for each

Fig. 5.

Torques of 0, ±1. 6800 iterations.

Fig. 6.

Torques of 0, ±1, ±2. 3800 iterations.

Fig. 7.

Torques of 0, ±1, ±4. 2300 iterations.

x=0 0

1 x=5 y≤9

x˙ ∈ [1, 3] y˙ ∈ [1, 3]

x = 10

x˙ ∈ [3, 4] y˙ ∈ [0, 2]

x ← −5

y=9

x=5 y>9

2

Fig. 8.

x˙ ∈ [4, 7] y˙ ∈ [−5, −2]

y=5 x ← −5 y ← 15

y=9

x˙ ∈ [2, 3] y˙ ∈ [−4, −1]

3

x = 10

x˙ ∈ [1, 3] y˙ ∈ [−5, −2]

4

A Rectangular Hybrid Automata.

state q, a transition rule ∆ : Q → 2Q , where ∆(q) ⊆ Q is the (finite) set of possible successors to q. In [6] we introduced a discretization of the RRT algorithm, which replaces the distance metric used for determining nearness with a heuristic estimate of the cost-to-go of the same type that is used in general informed search methods such as A∗ . As in the original RRT, the discrete algorithm begins with an initial state qstart . At each step, we select a random state qrand from the state space (making sure that the state selected is not already in the tree). We find the nearest state in the tree, qnear , based on a heuristic estimate (which we will explicitly name h) of the cost-to-go from each state to qrand . Considering each possible operator on qnear , we select the one which yields the successor state qnew that is closest to qrand but is not already in the tree, and add qnew to the tree with an edge from qnear to it. If qnear has no successors which are not already in the tree, no new node is added during this iteration. In pseudo-code, the RRT construction algorithm is the same as in Figure 2(left), with the E XTEND -RRT function modified as in Figure 10. Since the state qnew is chosen from a finite set of successor states, rather than being grown along a straight line toward qrand as in the continuous RRT, the discrete RRT is not guaranteed to take optimal steps toward qrand . In fact, it is possible to encounter situations where qnew is

Fig. 9. Sampling-Based Verification. Four screen shots from our software tool. The upper left screen shows an RRT for the RHA grown using “multiaction” growth. The remaining three show hybrid traces from initial hybrid state (x, y; q) = (1, 1; 0) to goal (2.5, 15; 0).

E XTEND -DRRT(qnear , qrand ) 1 hmin = ∞ 2 U ← U NSEEN -S UCCESSORS(qnear ) 3 if U 6= ∅ 4 then for q ∈ U 5 do d ← h(q, qrand ) 6 if d < hmin 7 then qnew ← q, hmin ← d 8 return qnew 9 else return null Fig. 10.

E XTEND Algorithm of RRT modified for discrete spaces.

a step away, leaving qrand heuristically closer to qnear than to qnew (see Figure 11). A new algorithm that mitigates the issue of non-optimal and failed steps is the Rapidly-Exploring Random Leafy Tree (RRLT). The RRLT algorithm keeps an open list of all states reachable in one step from the current tree: the “leaves” of the tree nodes. When qrand is selected, the nearest leaf is located directly and added to the tree, and all of its successors are added to the open list (except those that are already tree or leaf nodes). The RRLT algorithm prevents the possibility of a failed E XTEND -RRT step, since every leaf is a state which does not exist in the tree, and is

B. Coverage w

qr

qn

w

qn

qr

Fig. 11. Non-optimal (left) and failed (right) RRT steps. In each case, growing from a node other than the nearest neighbor, qn , would yield a new state closer to the random target state, qr .

therefore a valid candidate qnew . See Figure 12. G ROW-RRLT(qstart , qgoal ) 1 I NIT(T ), I NIT(Open) 2 A DD -V ERTEX(T, qstart ) 3 Open ← F IND -A LL -L EAVES(T ) 4 repeat 5 qrand ← R AND -C ONFIGURATION 6 qnew ← N EAREST-L EAF(Open, qrand ) 7 A DD -V ERTEX(T, qnew ) 8 A DD -E DGE(T, PARENT(qnew ), qnew ) 9 R EMOVE -L EAF(Open, qnew ) 10 A DD -L EAVES(Open, N EW-C HILDREN(qnew )) 11 until I S -AT-G OAL(qnew , qgoal ) 12 return T Fig. 12.

The basic RRLT construction algorithm

Since qnear = qnew for the RRLT is selected from the list of leaf states, and not from among the states already in the tree, the algorithm guarantees that at each step the tree grows as far as possible (heuristically) toward qrand . VI. P ROPERTIES

OF

S AMPLING -BASED R EACHABILITY

A. The Voronoi Bias of RRTs As mentioned before, RRTs have been shown to have good space-filling properties. In particular, their growth is biased toward the largest unexplored regions in the space [15], [20]. The reason for this bias toward unexplored areas is clear when the algorithm is examined in terms of Voronoi diagrams. The Voronoi region of a point, P , is the set of all points that are closer to P than to any other point. The Voronoi regions of the nodes in a tree give important indications of the degree to which it has explored the space. First, the size of the largest Voronoi region(s) tell us how far, in the worst case, a point in the space can be from the tree’s nodes. Second, the locations of large regions tell us where those worst-case points are, and thus which areas have been least thoroughly explored. Finally, the range of sizes in a Voronoi diagram tell us how evenly the space has been explored. The RRT algorithm leverages these properties of Voronoi regions probabilistically: so long as the random points in the RRT algorithm are selected uniformly from the space, the largest Voronoi regions will be the most likely to contain the target point [15], [20]. Since the selected region’s node is expanded, the tree will be biased toward expanding the edges of the tree which border on the largest unexplored regions, dramatically so in the early stages of growth.

In order to explore the effect of different heuristics on the behavior of RRTs, we conducted trials of RRT growth in a two-dimensional grid world—where an agent can move left, right, up, or down at each step—using the L1 (Manhattan), L2 (Euclidean), and L∞ (max) metrics as distance estimates. We created visualizations of the trees and their discrete Voronoi regions (see Figure 13, which is highly typical of the patterns generated by each heuristic function), with the tree shown using thick blue (dark grey) lines, and the edges of Voronoi regions with thin red (lightgrey) lines. Cells with red (grey) shading denote areas of Voronoi region overlap, with darker shading indicating more ties (especially evident in the L∞ metric). The differences in Voronoi patterns are striking, and have a significant impact on the behavior of the tree. The effects of these Voronoi patterns can be clearly seen in Figure 14, which shows histograms of node location in 1000 trials of RRTs grown to 3000 nodes, using each of the three heuristics; cells with darker shading are those which are covered most often. Slower exploration in the L1 tree is clearly evident (as seen by the lack of samples near the edges of the space), as are ×- and +-shaped biases in the L1 and L∞ metrics. These biases are due to the distinctive shapes of the L1 and L∞ Voronoi regions: the L1 metric forms large triangular regions at the edges of the space, which results in growth toward the middle of each edge, whereas the L∞ metric creates large diamond-shaped regions in the corners, which results in growth toward the corners of the space. Other, more subtle effects are visible as well, such as the L2 tree’s better coverage at the edge of the region and more uniform coverage of the space in general. Also noticeable are the off-bias regions near the center of the tree which are poorly sampled, especially by the L∞ metric. Similar patterns are visible in three-dimensional grid worlds (see [21], [22]). C. Optimality and Complexity There are already a number of results concerning the properties [15], [20] and complexity [16], [17] of samplingbased algorithms in continuous, holonomic spaces. We have begun to explore optimality [19], [21], [22] in hybrid and discrete spaces. ACKNOWLEDGMENTS This work was partially supported by the NSF Embedded and Hybrid Systems program, under the direction of Dr. Helen Gill (grant CCR-0208919); it does not necessarily reflect the views of the NSF. We thank Professor Narendra for inviting us to participate in the workshop. R EFERENCES [1] A. Bhatia and E. Frazzoli. Incremental search methods for reachability analysis of continuous and hybrid systems. In R. Alur and G.J. Pappas (eds.), Hybrid Systems: Computation and Control, Lecture Notes in Computer Science, volume 2993, pp. 142–156. Springer-Verlag, Philadelphia, PA, March 2004.

Fig. 13.

Voronoi regions of RRTs in the grid world, using the L1 (left), L2 (center), and L∞ (right) heuristics.

Fig. 14.

RRT coverage in a grid world, using the L1 (left), L2 (center), and L∞ (right) heuristics.

[2] M.S. Branicky. Studies in Hybrid Systems: Modeling, Analysis, and Control. Sc.D. thesis, M.I.T., Cambridge, MA. June 1995. [3] M.S. Branicky, V.S. Borkar, and S.K. Mitter. A unified framework for hybrid control: Model and optimal control theory. IEEE Trans. Automatic Control, 43(1):31–45, 1998. [4] M.S. Branicky and M.M. Curtiss. Nonlinear and hybrid control via RRTs. Proc. Intl. Symp. Mathematical Theory of Networks and Systems, South Bend, IN, August 12–16, 2002. [5] M.S. Branicky, M.M. Curtiss, J. Levine, and S. Morgan. Samplingbased planning and control. In Twelfth Yale Workshop on Adaptive and Learning Systems, New Haven, CT, May 28–30, 2003. [6] M.S. Branicky, M.M. Curtiss, J. Levine, and S. Morgan. RRTs for nonlinear, discrete, and hybrid planning and control. In IEEE Conf. on Decision and Control, Lahaina, HI, Dec. 9–12, 2003. [7] M.S. Branicky, M.M. Curtiss, J. Levine, and S. Morgan. Samplingbased planning, control, and verification of hybrid systems. In Proc. IFAC World Congress, Prague, 2005. To appear. [8] M.S. Branicky, E. Frazzoli, and S.M. LaValle. Geometric and algorithmic techniques for design and verification of hybrid control systems. NSF Proposal 0208891, December 5, 2001. http://dora.case.edu/e msb/EHS/proposal.pdf [9] M.S. Branicky, S.M. LaValle, K. Olson, and L. Yang. Quasirandomized path planning. Proc. IEEE Intl. Conf. Robotics and Automation, pp. 1481–1487, Seoul, KOREA, 2001. [10] M.M. Curtiss, Motion Planning and Control using RRTs, M.S. Project report, Dept. of Electrical Engineering and Computer Science, Case Western Reserve Univ., Cleveland, OH, May 2002. http://dora.case.edu/msb/pubs/mmcMS.pdf [11] T.A. Henzinger, P.W. Kopke, A. Puri, and P. Varaiya. What’s decidable about hybrid automata? In Proceedings of the 27th ACM Symposium on Theory of Computing, pp. 373–383, 1995. [12] L.E. Kavraki, P. Svestka, J.-C. Latombe, and M.H. Overmars. Proba-

[13] [14] [15] [16] [17] [18]

[19]

[20] [21]

[22]

bilistic roadmaps for path planning in high-dimensional configuration spaces. IEEE Trans. Robot. & Autom., 12(4):566–580, June 1996. J. Kim and J.M. Esposito. Adaptive sample bias for Rapidly-exploring Random Trees with applications to test generation. In Proc. American Control Conference, Portland, OR, 2005. To appear. J.-C. Latombe. Robot Motion Planning, Kluwer, Norwell, MA, 1991. S.M. LaValle. Rapidly-exploring random trees: A new tool for path planning. TR 98-11, Computer Science Dept., Iowa State U., 1998. S.M. LaValle and M.S. Branicky. On the relationship between classical grid search and probabilistic roadmaps. Proc. Workshop Algorithmic Foundations of Robotics, December 2002. S.M. LaValle, M.S. Branicky, and S.R. Lindemann. On the relationship between classical grid search and probabilistic roadmaps. Intl. Journal of Robotics Research. 23(7–8): 673–692, August 2004. S.M. LaValle and J.J. Kuffner. Rapidly-exploring random trees: Progress and prospects. In Algorithmic and Computational Robotics: New Directions, B.R. Donald, K.M. Lynch, and D. Rus, Eds. Wellesley, Massachusetts: A.K. Peters, 2001, pp. 293–308. J.A. Levine. Sampling-Based Planning for Hybrid Systems, M.S. Thesis, Dept. of Electrical Engineering and Computer Science, Case Western Reserve U., Cleveland, OH., Sept. 2003. http://dora.case.edu/msb/pubs/jalMS.pdf S.R. Lindemann and S.M. LaValle, “Incrementally reducing dispersion by increasing Voronoi bias in RRTs,” in IEEE Intl. Conf. on Robotics and Automation, New Orleans, LA, 2004, pp. 3251–3257. S.B. Morgan. Sampling-Based Planning for Discrete Spaces, M.S. Thesis, Dept. of Electrical Engineering and Computer Science, Case Western Reserve U., Cleveland, OH. April 2004. http://dora.case.edu/msb/pubs/sbmMS.pdf S.B. Morgan and M.S. Branicky. Sampling-based planning for discrete spaces. Proc. IEEE/RSJ Intl. Conf. Intelligent Robots and Systems, Sendai, JAPAN, September 28–October 4, 2004.