Document

advertisement
10
Chapter 10:
Metric Path Planning
a. Representations
b. Algorithms
10
Representing Area/Volume in Path
Planning
• Quantitative or metric
– Rep: Many different ways to represent an area
or volume of space
• Looks like a “bird’s eye” view, position &
viewpoint independent
– Algorithms
• Graph or network algorithms
• Wavefront or graphics-derived algorithms
Chapter 10: Metric Path Planning
2
10
Metric Maps
• Motivation for having a metric map is often path
planning (others include reasoning about space…)
• Determine a path from one point to goal
– Generally interested in “best” or “optimal” What are measures
of best/optimal?
– Relevant: occupied or empty
• Path planning assumes an a priori map of relevant
aspects
– Only as good as last time map was updated
Chapter 10: Metric Path Planning
3
10
Metric Maps use Cspace
• World Space: physical space robots and obstacles existin
– In order to use, generally need to know (x,y,z) plus Euler angles:
6DOF
• Ex. Travel by car, what to do next depends on where you are and
what direction you’re currently heading
• Configuration Space (Cspace)
– Transform space into a representation suitable for robots,
simplifying assumptions
6DOF
3DOF
Chapter 10: Metric Path Planning
4
10
Major Cspace Representations
• Idea: reduce physical space to a cspace representation
which is more amenable for storage in computers and
for rapid execution of algorithms
• Major types
– Meadow Maps
– Generalized Voronoi Graphs (GVG)
– Regular grids, quadtrees
Chapter 10: Metric Path Planning
5
10
Meadow Maps
• Example of the basic procedure of transforming world
space to cspace
• Step 1 (optional): grow obstacles as big as robot
Chapter 10: Metric Path Planning
6
10
Meadow Maps cont.
• Step 2: Construct convex polygons as line segments between pairs
of corners, edges
– Why convex polygons? Interior has no obstacles so can safely transit
(“freeway”, “free space”)
– Oops, not necessarily unique set of polygons
Chapter 10: Metric Path Planning
7
10
Meadow Maps cont.
• Step 3: represent convex polygons in way suitable for path
planning-convert to a relational graph
– Is this less storage, data points than a pixel-by-pixel representation?
Chapter 10: Metric Path Planning
8
10
Problems with Meadow Maps
• Not unique generation of polygons
• Could you actually create this type of map with sensor
data?
• How does it tie into actually navigating the path?
– How does robot recognize “right” corners, edges and go to
“middle”?
– What about sensor noise?
Chapter 10: Metric Path Planning
9
10
Path Relaxation
• Get the kinks out of the path
– Can be used with any cspace representation
Chapter 10: Metric Path Planning
10
10
Generalized Voronoi Graphs
• Create lines equidistant from objects and walls,
• Intersections of lines are nodes
• Result is a relational graph
Chapter 10: Metric Path Planning
11
10
Regular Grids
• Bigger than pixels, but same idea
– Often on order of 4inches square
– Make a relational graph by each element as a node, connecting
neighbors (4-connected, 8-connected)
– Moore’s law effect: fast processors, cheap hard drives, who
cares about overhead anymore?
Chapter 10: Metric Path Planning
12
10
Problems with GVG and Regular
Grids
• GVG
– Sensitive to sensor noise
– Path execution requires robot to be able to sense boundaries
• Grids
– World doesn’t always line up on grids
– Digitalization bias: left over space marked as occupied
Chapter 10: Metric Path Planning
13
10
Summary
• Metric path planning requires
– Representation of world space, usually try to simplify to
cspace
– Algorithms which can operate over representation to produce
best/optimal path
• Representation
– Usually try to end up with relational graph
– Regular grids are currently most popular in practice, GVGs
are interesting
– Tricks of the trade
• Grow obstacles to size of robot to be able to treat holonomic
robots as point
• Relaxation (string tightening)
• Metric methods often ignore issue of
– how to execute a planned path
– Impact of sensor noise or uncertainty, localization
Chapter 10: Metric Path Planning
14
10
Algorithms
• Path planning
– A* for relational graphs
– Wavefront for operating directly on regular grids
• Interleaving Path Planning and Execution
Chapter 10: Metric Path Planning
15
10
Motivation for A*
• Single Source Shortest Path algorithms are exhaustive,
visting all edges
– Can’t we throw away paths when we see that they aren’t going
to the goal, rather than follow all branches?
• This means having a mechanism to “prune” branches as
we go, rather than after full exploration
• Algorithms which prune earlier (but correctly) are
preferred over algorithms which do it later.
• Issue: the mechanism for pruning
Chapter 10: Metric Path Planning
16
10
A*
• Similar to breadth-first: at each point of time the
planner can only “see” it’s node and 1 set of nodes “in
front”
• Idea is to rate the choices, choose the best one first,
throw away any choices whenever you can
f*(n)=g*(n)+h*(n)
• f*(n) is the “cost” of the path from Start to Goal
through node n
• g*(n) is the “cost” of going from Start to node n
• h*(n) is the cost of going from n to the Goal
– h* is a “heuristic function” because it must have a way of
guessing the cost of n to Goal since it can’t see the path
between n and the Goal
Chapter 10: Metric Path Planning
17
10
A* Heuristic Function
f*(n)=g*(n)+h*(n)
• g*(n) is easy: just sum up the path costs to n
• h*(n) is tricky
– path planning requires an a priori map
– Metric path planning requires a METRIC a priori map
– Therefore, know the distance between Initial and Goal nodes,
just not the optimal way to get there
– h*(n)= distance between n and Goal
– h*(n) <= h(n)
Chapter 10: Metric Path Planning
18
10
Example: A to E
1
F
E
1
1.4
D
1.4
1
B
1
A
• But since you’re starting at A and can only look 1 node
ahead, this is what you see:
E
D
1.4
B
1
Chapter 10: Metric Path Planning
A
19
10
E
1.4
2.24
D
1.4
B
1
A
• Two choices for n: B, D
• Do both
– f*(B)=1+2.24=3.24
– f*(D)=1.4+1.4=2.8
• Can’t prune, so much keep going (recurse)
– Pick the most plausible path first A-D-?-E
Chapter 10: Metric Path Planning
20
1
10
E
F
1
1.4
D
1.4
• A-D-?-E
–
–
–
–
B
1
A
“stand on D”
Can see 2 new nodes: F, E
f*(F)=(1.4+1)+1=3.4
f*(E)=(1.4+1.4)+0=2.8
• Three paths
– A-B-?-E >= 3.24
– A-D-E = 2.8
– A-D-F-?-D >=3.4
• A-D-E is the winner!
– Don’t have to look farther because expanded the shortest first, others
couldn’t possibly do better without having negative distances,
violations of laws of geometry…
Chapter 10: Metric Path Planning
21
10
Wavefront Planners
Chapter 10: Metric Path Planning
22
10
Trulla
Chapter 10: Metric Path Planning
23
10
Interleaving Path Planning and Reactive
Execution
• Graph-based planners generate a path and subpaths or
subsegments
• Recall NHC, AuRA
– Pilot looks at current subpath, instantiates behaviors to get
from current location to subgoal
• When the robot tries to reach a subgoal, it may exhibit
subgoal obsession due to an encoder error
- it is necessary to allow a tolerance corresponding
usually to +/- width of robot
• What happens if a goal is blocked?
- need a Termination condition, e.g. deadline
• What happens if a robot avoiding an obstacle is now
closer to the next subgoal?
- it would be good to use an opportunistic replanning
Chapter 10: Metric Path Planning
24
10
Two Example Approaches
• If computing all possible paths in
advance, there not a problem
– Shortest path between pairs will be part of
shortest path to more distant pairs
• D*
– Run A* over all possible pairs of nodes
– continuously update the map
– disadvantages:
1. too computationally expensive to be
practical for a robot
2. continuous replanning is highly
dependent on sensing quality,
Chapter 10: Metric Path Planning
25
10
Two Example Approaches
– Event driven scheme - event noticeable by
a reactive system would trigger replanning
– the Trulla planner uses for this dot product
of the intended path vector and the actual
path vector
– By-product of wave propagation style is
path to everywhere
– for opportunistic replanning in case of
favorable change D* is better, because it
will automatically notice the change,
while Trulla will not notice it
Chapter 10: Metric Path Planning
26
10
Trulla Example
Chapter 10: Metric Path Planning
27
10
Summary
• Metric path planners
– graph-based (A* is best known)
– Wavefront
• Graph-based generate paths and subgoals.
– Good for NHC styles of control
– In practice leads to:
• Subgoal obsession
• Termination conditions
• Planning all possible paths helps with subgoal
obsession
– What happens when the map is wrong, things change, missed
opportunities? How can you tell when the map is wrong or
that’s it worth the computation?
Chapter 10: Metric Path Planning
28
10
You should be able to:
•
Define Cspace, path relaxation, digitization bias, subgoal obsession,
termination condition
•
Explain the difference between graph and wavefront planners
•
Represent an indoor environment with a GVG, a regular grid, or a
quadtree, and create a graph suitable for path planning
•
Apply A* search
•
Apply wavefront propagation
•
Explain the differences between continuous and event-driven
replanning
Chapter 10: Metric Path Planning
29
Download