SLIDE 1 Artificial Intelligence: Methods and Applications
Lecture 4: Path planning Henrik Björklund
Umeå University
Navigation
Four questions:
◮ Mission planning
- 2. What is the best way to get there?
◮ Path planning
◮ Map making
◮ Localization
SLIDE 2 Spatial memory
To know what is the best way to a goal, we have to have a world model. World model = Spatial memory The spatial memory supports
◮ Path planning ◮ Attention (what to look for next) ◮ Reasoning (is the mountain to steep?) ◮ Information collection
Spatial memory can provide both geometry and miscellaneous information about places and objects.
Two forms of spatial memory
◮ Based on landmarks (qualitative / topological / route) ◮ Based on maps (quantitative / metric / layout)
SLIDE 3 Topological spatial memory
◮ Expresses space in terms of relationships between landmarks and
gateways
◮ Orientation clues are egocentric - representation depends on the
perspective of the robot
◮ Cannot in general be used to generate metric representations
Metric spatial memory
◮ Expresses space in terms of a metric map ◮ Not dependen on the perspective of the robot ◮ Can be used to generate topological representations
Why don’t we simply always use metric representations?
SLIDE 4 Landmarks
One or more perceptually distinctive features on an object or location.
◮ Natural landmarks are not explicitly intended for navigation ◮ Artificial landmarks are explicitly intended for navigation
Desirable characteristics:
◮ Recognizable
◮ From sufficiently long range ◮ From different viewpoints
◮ Identifiable
◮ Global, or at least local, uniqueness
◮ Support task dependent activities
Topological path planning methods
◮ Relational
◮ Spatial memory is based on landmarks ◮ World model is a graph (topological map, relational graph) ◮ Use graph-theoretic algorithms for path planning
◮ Associative
◮ Spacial memory based on viewpoints ◮ Good for retracing one’s steps
SLIDE 5
Relational graphs Relational graphs R1 R2 R3 R4 R5 G1 G2 G3 G4 G5 G6 G7 G8 G9
SLIDE 6
Relational graphs
R1 R2 R3 R4 R5 G1 G2 G3 G4 G5 G6 G7 G8 G9
Relational graphs
R1 R2 R3 R4 R5 G1 G2 G3 G4 G5 G6 G7 G8 G9
SLIDE 7 Relational graphs
R1 R2 R3 R4 R5 G1 G2 G3 G4 G5 G6 G7 G8 G9
Problems with relational graphs
◮ The graph is not coupled with information on how to get from one node to
another
◮ Dead reckoning accumulates uncertainty ◮ Possible solution: add localization to landmarks ◮ Distinctive places
SLIDE 8 Path planning with relational graphs
◮ Assign behaviors (Local Control Strategies) to edges ◮ Use graph search (i.e., Dijkstras algorithm) to find the best path
A note on localization
What is our primary technology for localization today? Yes: GPS Why don’t we always use it?
◮ Doesn’t work at all on Mars or in the deep blue sea ◮ Doesn’t work that well indoors (especially not under ground) ◮ Sensitive to weather conditions, radio signals, etc.
SLIDE 9 Associative methods
◮ Spatial memory is a series of remembered viewpoints ◮ Each viewpoint is labeled with a location ◮ Good for retracing steps - not real planning ◮ Couples perception with action
Two methods
◮ Visual homing
◮ Bees navigate to their hives by a series of image signatures which are
locally distinctive
◮ QualNav
◮ Works best outdoors ◮ The world is divided into orientational regions based on perceptual events
caused by landmark pair bounaries
◮ The set of angles to the landmarks is called a viewframe and is used to
navigate within an orientational region
SLIDE 10
Door from the front Door from the front
SLIDE 11
Door from the front Door from the front
SLIDE 12
Door from the right Door from the right
SLIDE 13
Door from the right Door from the right
SLIDE 14 Metric path planning
◮ Representation is independent of view, viewpoint, and position ◮ Distance is important ◮ Graph or network algorithms ◮ Wavefront and other graphics-derived algorithms
Metric path planning
◮ Path planning assumes an a priori map of relevant aspects
◮ Relevant: occupied or empty, task relevance ◮ Only as good as the quality of the map permits
◮ Determine a path from one point to another
◮ Generally, we want the best path ◮ Best for what measure?
SLIDE 15 Cspace
◮ World space: the physical world that the robot functions in (typically
3-dimensional)
◮ In 3-dimensional space, we typically need to keep track of 6 degrees of
freedom (DOFs)
◮ Configuration space (Cspace) is the representation the robot actually
uses
◮ Simplifying assumptions ◮ For a low, flat vacuum robot functioning indoors, we typically only need 3
DOFs (2D position plus heading)
Cspace representations
A Cspace representation should be well suited for computer storage and for rapid execution of path planning algorithms. It should contain all the details that are relevant to the robots operations, but no more. Three common types are
◮ Meadow Maps ◮ Regular grids (and quad trees) ◮ Generalized Voronoi Graphs
SLIDE 16
Meadow maps Meadow maps
SLIDE 17
Meadow maps Meadow maps
SLIDE 18
Meadow maps Meadow maps
SLIDE 19 Problems with meadow maps
◮ What are the generated pahs like?
◮ Often jagged and a bit on the long side ◮ Path relaxation helps
◮ Can meadow maps be created using sensor data?
◮ What about noice? ◮ How does the robot recognize the right corners and edges? ◮ Computationally heavy
Grids and quad trees
SLIDE 20
Grids and quad trees Grids and quad trees
SLIDE 21
Grids and quad trees Grids and quad trees
SLIDE 22
Grids and quad trees Voronoi graphs
SLIDE 23
Voronoi graphs A∗ on a grid
SLIDE 24
A∗ on a grid A∗ on a grid
SLIDE 25
A∗ on a grid A∗ on a grid
SLIDE 26
A∗ on a grid A∗ on a grid
SLIDE 27
A∗ on a grid A∗ on a grid
SLIDE 28
A∗ on a grid A∗ on a grid
SLIDE 29
A∗ on a grid A∗ on a grid
SLIDE 30
A∗ on a grid A∗ on a grid
SLIDE 31
A∗ on a grid A∗ on a grid
SLIDE 32
A∗ on a grid A∗ on a grid
SLIDE 33 Wavefront planners
◮ General idea: Consider the Cspace to be a conductive material with heat
radiating out from the initial node
◮ Well-suited for grid Cspace ◮ Results in a map that looks like a potential field ◮ Optimal path from all grid elements to the goal can be easily computed ◮ Can handle different terrains:
◮ Obstacle: zero conductivity ◮ Rough terrain: low conductivity ◮ Easy terrain: high conductivity
Path planning and reactive execution
Two types of problems:
◮ Subgoal obsession.
◮ Termination conditions: approximate subpath termination ◮ Compute all paths in advance (implicit in wavefront planners)
◮ Incorrect maps
◮ Opportunistic replanning ◮ Compute all paths in advance