72
INTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path Planning Anders Lyhne Christensen, D6.05, [email protected]

Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

INTRODUCTION TO AUTONOMOUS

MOBILE ROBOTS

Lesson 7 – Navigation and Path Planning

Anders Lyhne Christensen, D6.05, [email protected]

Page 2: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Content

� Motion planning overview

� Path planning algorithms� Start-goal methods� Lumelsky bug algorithms

� Potential charge functions

� Map-based approaches� Visibility graphs

� Cellular decompositions

� Wavefront planner

Based on Howie Choset’s slides

Page 3: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

What is Motion Planning?

� Determining where to go

Page 4: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The World consists of...

� Obstacles� Already occupied spaces of the world

� Free Space� Unoccupied space within the world

� Robots “might” be able to go here

� To determine where a robot can go, we need to discuss what a Configuration Space is

Page 5: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Motion Planning Statement

If W denotes the robot’s workspace,

And Ci denotes the i’th obstacle,

Then the robot’s free space, FS, is defined

as:

FS = W - ( UUUUCi )

And a path p є P is p : [0,1] ���� FS

where p(0) is qstart and p(1) is qgoal

Page 6: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Example of a World (and Robot)

Obstacles

Free Space

Robot

x,y

Page 7: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

What is a good path?

Page 8: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Basics: Metrics

� There are many different ways to measure a

path:

� Time

� Distance traveled

� Expense

� Distance from obstacles

� Etc…

Page 9: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

1) head toward goal

2) if an obstacle is encountered, circumnavigate it andremember how close you get to the goal

3) return to that closest point (by wall-following) and continue

Bug 1

“Bug 1” algorithm

Vladimir Lumelsky & Alexander Stepanov: Algorithmica 1987

• known direction to goal

• otherwise local sensing

walls/obstacles & encoders

Little (but some) computing power necessary

Page 10: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

1) head toward goal

2) if an obstacle is encountered, circumnavigate it andremember how close you get to the goal

3) return to that closest point (by wall-following) and continue

Bug 1

“Bug 1” algorithm

Vladimir Lumelsky & Alexander Stepanov: Algorithmica 1987

But some computing power!• known direction to goal

• otherwise local sensing

walls/obstacles & encoders

Page 11: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Bug2

Call the line from the starting point to the goal the m-line

“Bug 2” Algorithm

Page 12: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

A better bug?

Call the line from the starting point to the goal the m-line

1) head toward goal on the m-line

“Bug 2” Algorithm

Page 13: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

A better bug?

Call the line from the starting point to the goal the m-line

1) head toward goal on the m-line

2) if an obstacle is in the way, follow it until you encounter the m-line again.

“Bug 2” Algorithm

Page 14: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

A better bug?

1) head toward goal on the m-line

2) if an obstacle is in the way, follow it until you encounter the m-line again.

3) Leave the obstacle and continue toward the goal

OK ?

m-line

“Bug 2” Algorithm

Page 15: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

A better bug?

1) head toward goal on the m-line

2) if an obstacle is in the way, follow it until you encounter the m-line again.

3) Leave the obstacle and continue toward the goal

Goal

Start

“Bug 2” Algorithm

Better or worse than Bug1?

Page 16: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

A better bug?

1) head toward goal on the m-line

2) if an obstacle is in the way, follow it until you encounter the m-line again.

3) Leave the obstacle and continue toward the goal

NO! How do we fix this?

Goal

Start

“Bug 2” Algorithm

Page 17: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

A better bug?

1) head toward goal on the m-line

2) if an obstacle is in the way, follow it until you encounter the m-line again closer to the goalcloser to the goalcloser to the goalcloser to the goal.

3) Leave the obstacle and continue toward the goal

Goal

Start

“Bug 2” Algorithm

Better or worse than Bug1?

Page 18: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Lumelsky Bug Algorithms

� Unknown obstacles, known start and goal.

� Simple “bump” sensors, encoders.

� Choose arbitrary direction to turn, left or right

� Motion is like an ant walking around:

� In Bug 1, the robot goes all the way around each

obstacle encountered, recording the point nearest the

goal, then goes around again to leave the obstacle

from that point

� In Bug 2, the robot goes around each obstacle

encountered until it can continue on its previous path

toward the goal

Page 19: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Assumptions

� Perfect sensing

� Perfect control

� Localization and orientation known

Page 20: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Configuration Space

� What it is� A set of “reachable” areas constructed from

knowledge of both the robot and the world

� How to create it� First abstract the robot as a point object. Then,

enlarge the obstacles to account for the robot’s footprint and degrees of freedom

� In our example, the robot was circular, so we simply enlarged our obstacles by the robot’s radius

Page 21: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Example

Expand obstacle(s

)Reduce robot

Page 22: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Example of a World (and Robot)

Obstacles

Free Space

Robot

x,y

Page 23: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Configuration Space: Accommodate Robot Size

Obstacles

Free Space

Robot

(treat as point object)x,y

Page 24: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Start-Goal Algorithm:

Potential Functions

Page 25: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Attractive/Repulsive

Potential Field

� Uatt is the “attractive” potential --- move to the goal

� Urep is the “repulsive” potential --- avoid obstacles

Page 26: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Artificial Potential Field

Methods:

Attractive Potential

)(

)()(

goal

attatt

qk

qUqF

δ−=

−∇=

Quadratic Potential

Page 27: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Distance

Page 28: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Repulsive Potential

Page 29: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Repulsive Potential

Page 30: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Total Potential Function

+ =

)()()( repatt qUqUqU +=

)()( qUqF −∇=

Page 31: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Map based approaches

� Metric map

� Topological maps

Page 32: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Roadmap: Visibility Graph

� Formed by connecting all “visible” vertices, the start point and the end point, to each other

� For two points to be “visible” no obstacle can exist between them

� Paths exist on the perimeter of obstacles

� In our example, this produces the shortest path with respect to the L2 metric. However, the close proximity of paths to obstacles makes it dangerous

Page 33: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Visibility Graph in Action

(Part 1)

� First, draw lines of sight from the start and goal to all

“visible” vertices and corners of the world.

start

goal

Page 34: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Visibility Graph in Action

(Part 2)

� Second, draw lines of sight from every vertex of every obstacle

like before. Remember lines along edges are also lines of sight.

start

goal

Page 35: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Visibility Graph in Action

(Part 3)

� Second, draw lines of sight from every vertex of every obstacle

like before. Remember lines along edges are also lines of sight.

start

goal

Page 36: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Visibility Graph in Action

(Part 4)

� Second, draw lines of sight from every vertex of every obstacle

like before. Remember lines along edges are also lines of sight.

start

goal

Page 37: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Visibility Graph (Done)

� Repeat until you’re done.

start

goal

Page 38: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Meadow Maps (Hybrid Vertex-

graph Free-space)� Transform space into convex polygons

� Polygons represent safe regions for robot to traverse

� Important property of convex polygons:� If robot starts on perimeter and goes in a straight line

to any other point on the perimeter, it will not go outside the polygon

� Path planning:� Involves selecting the best series of polygons to transit

through

Page 39: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Example Meadow Map1. Grow objects

2. Construct convex

polygons

3. Mark midpoints;

these become

graph nodes for

path planner

4. Path planner

plans path

based upon new

graph

Page 40: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Path Relaxation

� Disadvantage of Meadow Map:� Resulting path is jagged

� Solution: path relaxation� Technique for smoothing jagged paths resulting

from any discretization of space

� Approach:� Imagine path is a string� Imagine pulling on both ends of the string to

tighten it� This removes most of “kinks” in path

Page 41: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Example of Path Relaxation

Starting point

Goal point

Originally planned path

Relaxed path

Page 42: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Limited Usefulness of Meadow

Maps� Three problems with meadow maps:

� Technique to generate polygons is

computationally complex

� Uses artifacts of the map to determine polygon

boundaries, rather than things that can be sensed

� Unclear how to update or repair diagrams as robot

discovers differences between a priori map and

the real world

Page 43: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Adjacency Graph

� Node correspond to a cell

� Edge connects nodes of adjacent cells

� Two cells are adjacent if they share a common boundary

c11

c1

c2

c4

c3

c6

c5c8

c7

c

10

c9

c12

c13

c14

c15

c1 c10

c2

c3

c4 c5

c6

c7

c8

c9

c11

c12

c13

c14

c15

Page 44: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Cell Decompositions: Trapezoidal

Decomposition

� A way to divide the world into smaller regions

� Assume a polygonal world

Page 45: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Cell Decompositions: Trapezoidal

Decomposition

� Simply draw a vertical line from each vertex until you hit an obstacle. This

reduces the world to a union of trapezoid-shaped cells

Page 46: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Applications: Coverage

� By reducing the world to cells, we’ve essentially abstracted the world to a

graph.

Page 47: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Find a path

� By reducing the world to cells, we’ve essentially abstracted the world to a

graph.

Page 48: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Find a path

� With an adjacency graph, a path from start to goal can be found by simple

traversal

start goal

Page 49: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Find a path

� With an adjacency graph, a path from start to goal can be found by simple

traversal

start goal

Page 50: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Find a path

� With an adjacency graph, a path from start to goal can be found by simple

traversal

start goal

Page 51: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Find a path

� With an adjacency graph, a path from start to goal can be found by simple

traversal

start goal

Page 52: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Find a path

� With an adjacency graph, a path from start to goal can be found by simple

traversal

start goal

Page 53: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Find a path

� With an adjacency graph, a path from start to goal can be found by simple

traversal

start goal

Page 54: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Find a path

� With an adjacency graph, a path from start to goal can be found by simple

traversal

start goal

Page 55: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Find a path

� With an adjacency graph, a path from start to goal can be found by simple

traversal

start goal

Page 56: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Find a path

� With an adjacency graph, a path from start to goal can be found by simple

traversal

start goal

Page 57: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Find a path

� With an adjacency graph, a path from start to goal can be found by simple

traversal

start goal

Page 58: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Find a path

� With an adjacency graph, a path from start to goal can be found by simple

traversal

start goal

Page 59: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Wavefront Planner

� A common algorithm used to determine the shortest paths between two points� In essence, a breadth first search of a graph

� For simplification, we’ll present the world as a two-dimensional grid

� Setup:� Label free space with 0

� Label start as START

� Label the destination as 2

Page 60: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Representations

� World Representation� You could always use a large region and distances

� However, a grid can be used for simplicity

Page 61: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Representations: A Grid

� Distance is reduced to discrete steps

� For simplicity, we’ll assume distance is uniform

� Direction is now limited from one adjacent cell to

another

Page 62: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Representations:

Connectivity

� 8-Point Connectivity • 4-Point Connectivity– (approximation of the L1 metric)

Page 63: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Wavefront Planner: Setup

Page 64: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Wavefront in Action

(Part 1)

� Starting with the goal, set all adjacent cells with “0” to the current cell + 1

� 4-Point Connectivity or 8-Point Connectivity?� Your Choice. We’ll use 8-Point Connectivity in our example

Page 65: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Wavefront in Action

(Part 2)

� Now repeat with the modified cells� This will be repeated until no 0’s are adjacent to cells

with values >= 2� 0’s will only remain when regions are unreachable

Page 66: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Wavefront in Action

(Part 3)

� Repeat again...

Page 67: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Wavefront in Action

(Part 4)

� And again...

Page 68: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Wavefront in Action

(Part 5)

� And again until...

Page 69: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Wavefront in Action

(Done)

� You’re done� Remember, 0’s should only remain if unreachable

regions exist

Page 70: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

The Wavefront, Now What?

� To find the shortest path, according to your metric, simply always

move toward a cell with a lower number

� The numbers generated by the Wavefront planner are roughly proportional to their distance from the goal

Two

possible

shortest

paths

shown

Page 71: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Wavefront (Overview)

� Divide the space into a grid.

� Number the squares starting at the start in

either 4 or 8 point connectivity starting at the

goal, increasing till you reach the start.

� Your path is defined by any uninterrupted

sequence of decreasing numbers that lead to

the goal.

Page 72: Lesson 7 –Navigation and Path Planning Anders Lyhne ...home.iscte-iul.pt/~alcen/IARcourse/slides/aula07.pdfINTRODUCTION TO AUTONOMOUS MOBILE ROBOTS Lesson 7 –Navigation and Path

Summary

� The Basics� Motion planning statement

� The world and robot

� Configuration space

� metrics

� Path Planning Algorithms� Start-goal methods

� Lumelsky bug algorithms

� Potential charge functions

� Map-based approaches� Cellular decompositions

� Visibility graphs

� Wafefront planner