Loading...

PPT – Chapter 10: Metric Path Planning a. Representations b. Algorithms PowerPoint presentation | free to download - id: 67f6be-MWJkN

The Adobe Flash plugin is needed to view this content

Chapter 10 Metric Path Planning a.

Representations b. Algorithms

Representing Area/Volume in Path Planning

- Quantitative or metric
- Rep Many different ways to represent an area or

volume of space - Looks like a birds eye view, position

viewpoint independent - Algorithms
- Graph or network algorithms
- Wavefront or graphics-derived algorithms

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

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 youre currently

heading - Configuration Space (Cspace)
- Transform space into a representation suitable

for robots, simplifying assumptions

6DOF

3DOF

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

Meadow Maps

- Example of the basic procedure of transforming

world space to cspace - Step 1 (optional) grow obstacles as big as robot

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

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?

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?

Path Relaxation

- Get the kinks out of the path
- Can be used with any cspace representation

Generalized Voronoi Graphs

- Create lines equidistant from objects and walls,
- Intersections of lines are nodes
- Result is a relational graph

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) - Moores law effect fast processors, cheap hard

drives, who cares about overhead anymore?

Problems with GVG and Regular Grids

- GVG
- Sensitive to sensor noise
- Path execution requires robot to be able to

sense boundaries - Grids
- World doesnt always line up on grids
- Digitalization bias left over space marked as

occupied

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

Algorithms

- Path planning
- A for relational graphs
- Wavefront for operating directly on regular grids
- Interleaving Path Planning and Execution

Motivation for A

- Single Source Shortest Path algorithms are

exhaustive, visting all edges - Cant we throw away paths when we see that they

arent 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

A

- Similar to breadth-first at each point of time

the planner can only see its 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) 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

cant see the path between n and the Goal

f(n)g(n)h(n)

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) lt h(n)

Example A to E

1

F

E

1

1.4

D

1.4

1

1

A

B

- But since youre starting at A and can only look

1 node ahead, this is what you see

E

D

1.4

1

A

B

E

1.4

2.24

D

1.4

1

A

B

- Two choices for n B, D
- Do both
- f(B)12.243.24
- f(D)1.41.42.8
- Cant prune, so much keep going (recurse)
- Pick the most plausible path first A-D-?-E

1

E

F

1

1.4

D

1.4

1

A

B

- A-D-?-E
- stand on D
- Can see 2 new nodes F, E
- f(F)(1.41)13.4
- f(E)(1.41.4)02.8
- Three paths
- A-B-?-E gt 3.24
- A-D-E 2.8
- A-D-F-?-D gt3.4
- A-D-E is the winner!
- Dont have to look farther because expanded the

shortest first, others couldnt possibly do

better without having negative distances,

violations of laws of geometry

Wavefront Planners

Trulla

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

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,

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

Trulla Example

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 thats it worth the

computation?

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