You are on page 1of 50

Lecture_8

Motion Planning
(Continued )
Algorithms

¡ Start-Goal Methods
¡ Map-Based Approaches
¡ Cellular Decompositions

2
What is a good path?

Completeness

3
Basics: Metrics
l There are many different ways to measure
a path:
l Time
l Distance traveled
l Expense
l Distance from obstacles
l Etc…

4
Start-Goal Algorithm:
Lumelsky Bug Algorithms

5
Bug 2 Spiral

6
Start-Goal Algorithm: Potential Functions

7
The Wavefront

l  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

8
Wavefront (Overview)

l Divide the space into a grid.


l Number the squares starting at the start in
either 4 or 8 point connectivity starting at
the goal, increasing till you reach the start.
l Your path is defined by any uninterrupted
sequence of decreasing numbers that lead
to the goal.

9
The Configuration Space

l What it is
¡ A set of “reachable” areas constructed from
knowledge of both the robot and the world.
l 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 (note the curved vertices)

10
Configuration Space: the robot has...

l A Footprint
¡  The amount of space a robot
occupies
l Degrees of Freedom
¡  The number of variables necessary
to fully describe a robot’s
configuration in space
θ

x,y

11
Configuration Space: Accommodate Robot Size

Free Space

Obstacles

Robot
x,y (treat as point object)
12
What if the robot is not a point?

The Scout should probably not


be modeled as a point...

Nor should robots with extended


linkages that may contact obstacles...13
Configuration Space

Where do we put ?

360

A qA
270
β B
180

β
α 90

qB
0 α
45 90 135 180
An obstacle in the robot’s workspace

14
Configuration Space Obstacle
How do we get from A to B ?
Reference configuration

360
qA
A 270
β B
180

β
α 90

qB
0 α
45 90 135 180
An obstacle in the robot’s workspace
The C-space representation
of this obstacle… 15
Two Link Path

16
Map-Based Approaches:
Roadmap Theory

l  Properties of a roadmap:
¡  Accessibility: there exists a
collision-free path from the start
to the road map
¡  Departability: there exists a
collision-free path from the
roadmap to the goal.
¡  Connectivity: there exists a
collision-free path from the start
to the goal (on the roadmap).

l  a roadmap exists ⇔ a path exists


l  Examples of Roadmaps
–  Generalized Voronoi Graph (GVG)
–  Visibility Graph 17
Roadmap: Visibility Graph

l Formed by connecting all “visible” vertices, the


start point and the end point, to each other
l For two points to be “visible” no obstacle can
exist between them
¡ Paths exist on the perimeter of obstacles
l In our example, this produces the shortest path.
However, the close proximity of paths to
obstacles makes it dangerous.

18
The Visibility Graph in Action (Part 1)

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


all “visible” vertices and corners of the world.

goal

start

19
The Visibility Graph in Action (Part 2)

l  Second, draw lines of sight from every vertex of every


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

goal

start

20
The Visibility Graph in Action (Part 3)

l  Second, draw lines of sight from every vertex of every


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

goal

start

21
The Visibility Graph in Action (Part 4)
l  Second, draw lines of sight from every vertex of every
obstacle like before. Remember lines along edges are also
lines of sight.

goal

start

22
The Visibility Graph (Done)
l  Repeat until you’re done.

goal

start

23
Visibility Graph Overview

l  Start with a map of the world, draw lines of sight from the
start and goal to every “corner” of the world and vertex of
the obstacles, not cutting through any obstacles.
l  Draw lines of sight from every vertex of every obstacle
like above. Lines along edges of obstacles are lines of
sight too, since they don’t pass through the obstacles.

l  If the map was in Configuration space, each line potentially


represents part of a path from the start to the goal.
24
Roadmap: GVG
l  A GVG is formed by paths equidistant from the two closest objects

•  This generates a very safe roadmap which avoids obstacles as


25
much as possible
Two-Equidistant
l Two-equidistant surface
Sij = {x ∈ Qfree : d i ( x) − d j ( x) = 0}

QOi

QOj

26
More Rigorous Definition
Going through obstacles

QOi
QOk

QO j SSij d k ( x) ≤ d i ( x) = d j ( x)

Two-equidistant face

Fij = {x ∈ SS ij : d i ( x) = d j ( x) ≤ d h ( x), ∀h ≠ i, j}

27
General Voronoi Diagram
n −1 n
GVD = ∪ ∪F ij
i =1 j =i +1

28
Voronoi Diagram (L2)

29
Note the curved edges
Voronoi Diagram (L1)

30
Note the lack of the curved edges
Cell Decompositions: Trapezoidal
Decomposition
l  A way to divide the world into smaller regions
l  Assume a polygonal world

31
Cell Decompositions: Trapezoidal
Decomposition

l  Simply draw a vertical line from each vertex until you hit an obstacle.
This reduces the world to a union of trapezoid-shaped cells

32
Applications: Coverage
l  By reducing the world to cells, we’ve essentially abstracted the world to
a graph.

33
Find a path

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


a graph.

34
Find a path

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


simple traversal

start goal

35
Find a path

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


simple traversal

start goal

36
Find a path

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


simple traversal

start goal

37
Find a path

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


simple traversal

start goal

38
Find a path

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


simple traversal

start goal

39
Find a path

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


simple traversal

start goal

40
Find a path

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


simple traversal

start goal

41
Find a path

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


simple traversal

start goal

42
Find a path

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


simple traversal

start goal

43
Find a path

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


simple traversal

start goal

44
Find a path

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


simple traversal

start goal

45
Applications: Coverage

l  First, a distinction between sensor and


detector must be made
l  Sensor: Senses obstacles
l  Detector: What actually does the coverage
l  We’ll be observing the simple case of
having an omniscient sensor and having
the detector’s footprint equal to the
robot’s footprint

46
Cell Decompositions: Trapezoidal
Decomposition

l  How is this useful? Well, trapezoids can easily be covered with simple back-
and-forth sweeping motions. If we cover all the trapezoids, we can effectively
cover the entire “reachable” world.

47
Applications: Coverage
l  Simply visit all the nodes, performing a sweeping motion in each, and
you’re done.

48
Conclusion: Complete Overview

l  The Basics
¡  Motion Planning Statement
¡  The World and Robot
¡  Configuration Space
¡  Metrics
l  Path Planning Algorithms
¡  Start-Goal Methods
l  Lumelsky Bug Algorithms
l  Potential Charge Functions
l  The Wavefront Planner
¡  Map-Based Approaches
l  Generalized Voronoi Graphs
l  Visibility Graphs
¡  Cellular Decompositions => Coverage
l  Done with Motion Planning!
49
50

You might also like