The.Algorithm.Design.Manual.Springer-Verlag.1998
The.Algorithm.Design.Manual.Springer-Verlag.1998 The.Algorithm.Design.Manual.Springer-Verlag.1998
Motion Planning The most practical approach to motion planning involves randomly sampling the configuration space of the robot. The configuration space defines the set of legal positions for the robot and has one dimension for each degree of freedom. For a planar robot capable of translation and rotation, the degrees of freedom are the x- and y-coordinates of a reference point on the robot and the angle relative to this point. Certain points in this space represent legal positions, while others intersect obstacles. Construct a set of legal configuration-space points by random sampling. For each pair of points and , decide whether there exists a direct, nonintersecting path between them. Construct a graph with vertices for each legal point and edges for each such traversable pair. The problem of finding a motion between two arbitrary positions reduces to seeing if there is a direct path from the initial/final position to some vertex in the graph, and then solving a shortest-path problem in the graph. There are lots of ways to enhance this basic technique for specific applications, such as adding additional vertices to regions of particular interest. This is a nice, clean approach for solving problems that would get very messy otherwise. Implementations: An implementation of collision detection (not really motion planning) is the I_COLLIDE collision detection library. For more information, check out the I_COLLIDE WWW page: http://www.cs.unc.edu/ geom/I_COLLIDE.html. O'Rourke [O'R94] gives a toy implementation of an algorithm to plot motion for a two-jointed robot arm in the plane. See Section . Notes: Motion planning was originally studied by Schwartz and Sharir as the ``piano mover's problem.'' Their solution constructs the complete free space of robot positions which do not intersect obstacles, and then finds the shortest path within the proper connected component. These free space descriptions are very complicated, involving arrangements of higher-degree algebraic surfaces. The fundamental papers on the piano mover's problem appear in [HSS87], with [SS90] being a survey of current results. The best general result for this free space approach to motion planning is due to Canny [Can87], who showed that any problem with d degrees of freedom can be solved in , although faster algorithms exist for special cases of the general motion planning problem. Latombe's book [Lat91] describes practical approaches to motion planning, including the random sampling method described above. The expanded obstacle approach to motion planning is due to Lozano- Perez and Wesley [LPW79]. The heuristic, sightless man's approach to motion planning discussed above has been studied by Lumelski [LS87]. The time complexity of algorithms based on the free-space approach to motion planning depends intimately on the combinatorial complexity of the arrangement of surfaces defining the free space. Algorithms for maintaining arrangements are presented in Section . Davenport-Schintzl sequences file:///E|/BOOK/BOOK5/NODE197.HTM (3 of 4) [19/1/2003 1:31:58]
Motion Planning often arise in the analysis of such arrangements. Sharir and Agarwal [SA95] provide a comprehensive treatment of Davenport-Schintzl sequences and their relevance to motion planning. Kedem and Sharir [KS90] give an time algorithm to find a path (not necessarily shortest) to translate a convex k-gon from to t. Vegter [Veg90] gives an optimal algorithm for moving a line segment (often called a ladder) in the plane with both translation and rotation. Related Problems: Shortest path (see page ), Minkowski sum (see page ). Next: Maintaining Line Arrangements Up: Computational Geometry Previous: Shape Similarity Algorithms Mon Jun 2 23:33:50 EDT 1997 file:///E|/BOOK/BOOK5/NODE197.HTM (4 of 4) [19/1/2003 1:31:58]
- Page 557 and 558: Robust Geometric Primitives ● Are
- Page 559 and 560: Robust Geometric Primitives Related
- Page 561 and 562: Convex Hull ● How many dimensions
- Page 563 and 564: Convex Hull http://www.cs.att.com/n
- Page 565 and 566: Triangulation Next: Voronoi Diagram
- Page 567 and 568: Triangulation GEOMPACK is a suite o
- Page 569 and 570: Voronoi Diagrams Next: Nearest Neig
- Page 571 and 572: Voronoi Diagrams McDonald's, the ti
- Page 573 and 574: Nearest Neighbor Search Next: Range
- Page 575 and 576: Nearest Neighbor Search Implementat
- Page 577 and 578: Range Search Next: Point Location U
- Page 579 and 580: Range Search subdivisions in C++. I
- Page 581 and 582: Point Location the n edges for inte
- Page 583 and 584: Point Location More recently, there
- Page 585 and 586: Intersection Detection ● Do you w
- Page 587 and 588: Intersection Detection Implementati
- Page 589 and 590: Bin Packing Next: Medial-Axis Trans
- Page 591 and 592: Bin Packing approach for general sh
- Page 593 and 594: Medial-Axis Transformation Next: Po
- Page 595 and 596: Medial-Axis Transformation Implemen
- Page 597 and 598: Polygon Partitioning number of piec
- Page 599 and 600: Simplifying Polygons Next: Shape Si
- Page 601 and 602: Simplifying Polygons vertices and o
- Page 603 and 604: Shape Similarity Next: Motion Plann
- Page 605 and 606: Shape Similarity or how close it is
- Page 607: Motion Planning There is a wide ran
- Page 611 and 612: Maintaining Line Arrangements Think
- Page 613 and 614: Maintaining Line Arrangements Next:
- Page 615 and 616: Minkowski Sum where x+y is the vect
- Page 617 and 618: Set and String Problems Next: Set C
- Page 619 and 620: Set Cover Next: Set Packing Up: Set
- Page 621 and 622: Set Cover Figure: Hitting set is du
- Page 623 and 624: Set Packing Next: String Matching U
- Page 625 and 626: Set Packing Notes: An excellent exp
- Page 627 and 628: String Matching shouldn't try. Furt
- Page 629 and 630: String Matching and texts, I recomm
- Page 631 and 632: Approximate String Matching This sa
- Page 633 and 634: Approximate String Matching http://
- Page 635 and 636: Text Compression Next: Cryptography
- Page 637 and 638: Text Compression code string. ASCII
- Page 639 and 640: Cryptography Next: Finite State Mac
- Page 641 and 642: Cryptography ● How can I validate
- Page 643 and 644: Cryptography MD5 [Riv92] is the sec
- Page 645 and 646: Finite State Machine Minimization F
- Page 647 and 648: Finite State Machine Minimization S
- Page 649 and 650: Longest Common Substring than edit
- Page 651 and 652: Longest Common Substring include [A
- Page 653 and 654: Shortest Common Superstring Finding
- Page 655 and 656: Software systems Next: LEDA Up: Alg
- Page 657 and 658: LEDA Next: Netlib Up: Software syst
Motion Planning<br />
<strong>The</strong> most practical approach to motion planning involves randomly sampling the configuration space of<br />
the robot. <strong>The</strong> configuration space defines the set of legal positions for the robot and has one dimension<br />
for each degree of freedom. For a planar robot capable of translation and rotation, the degrees of freedom<br />
are the x- and y-coordinates of a reference point on the robot and the angle relative to this point. Certain<br />
points in this space represent legal positions, while others intersect obstacles.<br />
Construct a set of legal configuration-space points by random sampling. For each pair of points and ,<br />
decide whether there exists a direct, nonintersecting path between them. Construct a graph with vertices<br />
for each legal point and edges for each such traversable pair. <strong>The</strong> problem of finding a motion between<br />
two arbitrary positions reduces to seeing if there is a direct path from the initial/final position to some<br />
vertex in the graph, and then solving a shortest-path problem in the graph.<br />
<strong>The</strong>re are lots of ways to enhance this basic technique for specific applications, such as adding additional<br />
vertices to regions of particular interest. This is a nice, clean approach for solving problems that would<br />
get very messy otherwise.<br />
Implementations: An implementation of collision detection (not really motion planning) is the<br />
I_COLLIDE collision detection library. For more information, check out the I_COLLIDE WWW page:<br />
http://www.cs.unc.edu/ geom/I_COLLIDE.html.<br />
O'Rourke [O'R94] gives a toy implementation of an algorithm to plot motion for a two-jointed robot arm<br />
in the plane. See Section .<br />
Notes: Motion planning was originally studied by Schwartz and Sharir as the ``piano mover's problem.''<br />
<strong>The</strong>ir solution constructs the complete free space of robot positions which do not intersect obstacles, and<br />
then finds the shortest path within the proper connected component. <strong>The</strong>se free space descriptions are<br />
very complicated, involving arrangements of higher-degree algebraic surfaces. <strong>The</strong> fundamental papers<br />
on the piano mover's problem appear in [HSS87], with [SS90] being a survey of current results. <strong>The</strong> best<br />
general result for this free space approach to motion planning is due to Canny [Can87], who showed that<br />
any problem with d degrees of freedom can be solved in , although faster algorithms exist for<br />
special cases of the general motion planning problem.<br />
Latombe's book [Lat91] describes practical approaches to motion planning, including the random<br />
sampling method described above. <strong>The</strong> expanded obstacle approach to motion planning is due to Lozano-<br />
Perez and Wesley [LPW79]. <strong>The</strong> heuristic, sightless man's approach to motion planning discussed above<br />
has been studied by Lumelski [LS87].<br />
<strong>The</strong> time complexity of algorithms based on the free-space approach to motion planning depends<br />
intimately on the combinatorial complexity of the arrangement of surfaces defining the free space.<br />
<strong>Algorithm</strong>s for maintaining arrangements are presented in Section . Davenport-Schintzl sequences<br />
file:///E|/BOOK/BOOK5/NODE197.HTM (3 of 4) [19/1/2003 1:31:58]