The.Algorithm.Design.Manual.Springer-Verlag.1998
The.Algorithm.Design.Manual.Springer-Verlag.1998 The.Algorithm.Design.Manual.Springer-Verlag.1998
Motion Planning Next: Maintaining Line Arrangements Up: Computational Geometry Previous: Shape Similarity Motion Planning Input description: A polygonal-shaped robot in a given starting position in a room containing polygonal obstacles, with a desired ending position t. Problem description: Find the shortest path in the room taking to t without intersecting any of the obstacles. Discussion: The difficulty of motion planning will be obvious to anyone who has ever had to move a large piece of furniture into a small apartment. The problem of motion planning also arises in systems for molecular docking. Many drugs are small molecules that act by binding to a given target model. The problem of identifying which binding sites are accessible to a candidate drug is clearly an instance of motion planning. Plotting paths for mobile robots is another canonical motion-planning application. Motion planning also provides a tool for computer animation. Given a set of object models that appear in two different scenes and , a motion planning algorithm can construct a short sequence of intermediate motions to transform to . These motions can serve to fill in the intermediate scenes between and , with such scene interpolation greatly reducing the amount of work the animator has to do. file:///E|/BOOK/BOOK5/NODE197.HTM (1 of 4) [19/1/2003 1:31:58]
Motion Planning There is a wide range in the complexity of motion planning problems, with many factors to consider: ● Is your robot a point? - When the robot is a point, the problem becomes finding the shortest path from to t around the obstacles, also known as geometric shortest path. The most readily implementable approach constructs the visibility graph of the polygonal obstacles, plus the points and t. This visibility graph has a vertex for each obstacle vertex and an edge between two obstacle vertices if they ``see'' each other without being blocked by some obstacle edge. A brute-force algorithm to construct the visibility graph tests each candidate edge against the obstacle edges for a total time of time. By weighting each edge of the visibility graph with its length and using Dijkstra's shortest-path algorithm (see Section ) on this graph, we can find the shortest path from to t in time bounded by the time to construct the graph. ● How is your robot free to move? - Motion planning becomes considerably more difficult when the robot becomes a polygon instead of a point. Now we must make sure that all of the corridors we use are wide enough to permit the robot to pass through. The complexity depends upon the number of degrees of freedom the robot has to move. Is it free to rotate as well as to translate? Does the robot have links that are free to bend or to rotate independently, as in an arm with a hand? Each degree of freedom corresponds to a dimension in the search space. Therefore, the more freedom, the harder it is to compute a path between two locations, although it becomes more likely that such a path exists. ● Can you simplify the shape of your robot? - Motion planning algorithms tend to be complex and time-consuming. Anything you can do to simplify your environment would be a win. In particular, consider replacing your robot by an enclosing disk. If there is a path for the disk, there will be a path for whatever is inside of it. Further, since any orientation of a disk is equivalent to any other orientation, rotation provides no help in finding a path Therefore, all movements are limited to translation only. ● Are motions limited to translation only? - When rotation is not allowed, the expanded obstacles approach can be used to reduce the problem to that of motion planning for a point robot, which is simply the shortest path in a graph. Pick a reference point on the robot, and replace each obstacle by the Minkowski sum of the object and the robot (see Section ). This creates a larger obstacle, defined as the robot walks a loop around the obstacle while maintaining contact with it. Finding a path from the initial position of the reference point to the goal point amidst these fattened obstacles defines a legal path for the polygonal robot. ● Are the obstacles known in advance? - Thus far we have assumed that the robot starts out with a map of its environment. This is not always true, or even possible, in applications where the obstacles move. There are two approaches to solving motion planning problems without a map. The first approach explores the environment, building a map of what has been seen, and then uses this map to plan a path to the goal. A simpler strategy, which will fail in environments of sufficient complexity, proceeds like a sightless man with a compass. Walk in the direction towards the goal until progress is blocked by an obstacle, and then trace a path along the obstacle until the robot is again free to proceed directly towards the goal. file:///E|/BOOK/BOOK5/NODE197.HTM (2 of 4) [19/1/2003 1:31:58]
- Page 555 and 556: Robust Geometric Primitives Next: C
- 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: Shape Similarity or how close it is
- Page 609 and 610: Motion Planning often arise in the
- 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
Motion Planning<br />
Next: Maintaining Line Arrangements Up: Computational Geometry Previous: Shape Similarity<br />
Motion Planning<br />
Input description: A polygonal-shaped robot in a given starting position in a room containing polygonal<br />
obstacles, with a desired ending position t.<br />
Problem description: Find the shortest path in the room taking to t without intersecting any of the<br />
obstacles.<br />
Discussion: <strong>The</strong> difficulty of motion planning will be obvious to anyone who has ever had to move a<br />
large piece of furniture into a small apartment. <strong>The</strong> problem of motion planning also arises in systems for<br />
molecular docking. Many drugs are small molecules that act by binding to a given target model. <strong>The</strong><br />
problem of identifying which binding sites are accessible to a candidate drug is clearly an instance of<br />
motion planning. Plotting paths for mobile robots is another canonical motion-planning application.<br />
Motion planning also provides a tool for computer animation. Given a set of object models that appear in<br />
two different scenes and , a motion planning algorithm can construct a short sequence of<br />
intermediate motions to transform to . <strong>The</strong>se motions can serve to fill in the intermediate scenes<br />
between and , with such scene interpolation greatly reducing the amount of work the animator has to<br />
do.<br />
file:///E|/BOOK/BOOK5/NODE197.HTM (1 of 4) [19/1/2003 1:31:58]