18.04.2013 Views

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Motion Planning<br />

<strong>The</strong>re is a wide range in the complexity of motion planning problems, with many factors to consider:<br />

● Is your robot a point? - When the robot is a point, the problem becomes finding the shortest path<br />

from to t around the obstacles, also known as geometric shortest path. <strong>The</strong> most readily<br />

implementable approach constructs the visibility graph of the polygonal obstacles, plus the points<br />

and t. This visibility graph has a vertex for each obstacle vertex and an edge between two obstacle<br />

vertices if they ``see'' each other without being blocked by some obstacle edge.<br />

A brute-force algorithm to construct the visibility graph tests each candidate edge against the<br />

obstacle edges for a total time of time. By weighting each edge of the visibility graph with<br />

its length and using Dijkstra's shortest-path algorithm (see Section ) on this graph, we can find<br />

the shortest path from to t in time bounded by the time to construct the graph.<br />

● How is your robot free to move? - Motion planning becomes considerably more difficult when the<br />

robot becomes a polygon instead of a point. Now we must make sure that all of the corridors we<br />

use are wide enough to permit the robot to pass through. <strong>The</strong> complexity depends upon the<br />

number of degrees of freedom the robot has to move. Is it free to rotate as well as to translate?<br />

Does the robot have links that are free to bend or to rotate independently, as in an arm with a<br />

hand? Each degree of freedom corresponds to a dimension in the search space. <strong>The</strong>refore, the<br />

more freedom, the harder it is to compute a path between two locations, although it becomes more<br />

likely that such a path exists.<br />

● Can you simplify the shape of your robot? - Motion planning algorithms tend to be complex and<br />

time-consuming. Anything you can do to simplify your environment would be a win. In<br />

particular, consider replacing your robot by an enclosing disk. If there is a path for the disk, there<br />

will be a path for whatever is inside of it. Further, since any orientation of a disk is equivalent to<br />

any other orientation, rotation provides no help in finding a path <strong>The</strong>refore, all movements are<br />

limited to translation only.<br />

● Are motions limited to translation only? - When rotation is not allowed, the expanded obstacles<br />

approach can be used to reduce the problem to that of motion planning for a point robot, which is<br />

simply the shortest path in a graph. Pick a reference point on the robot, and replace each obstacle<br />

by the Minkowski sum of the object and the robot (see Section ). This creates a larger obstacle,<br />

defined as the robot walks a loop around the obstacle while maintaining contact with it. Finding a<br />

path from the initial position of the reference point to the goal point amidst these fattened<br />

obstacles defines a legal path for the polygonal robot.<br />

● Are the obstacles known in advance? - Thus far we have assumed that the robot starts out with a<br />

map of its environment. This is not always true, or even possible, in applications where the<br />

obstacles move. <strong>The</strong>re are two approaches to solving motion planning problems without a map.<br />

<strong>The</strong> first approach explores the environment, building a map of what has been seen, and then uses<br />

this map to plan a path to the goal. A simpler strategy, which will fail in environments of<br />

sufficient complexity, proceeds like a sightless man with a compass. Walk in the direction<br />

towards the goal until progress is blocked by an obstacle, and then trace a path along the obstacle<br />

until the robot is again free to proceed directly towards the goal.<br />

file:///E|/BOOK/BOOK5/NODE197.HTM (2 of 4) [19/1/2003 1:31:58]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!