Professional Documents
Culture Documents
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
Two
possible
shortest
paths
shown
8
Wavefront (Overview)
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?
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).
18
The Visibility Graph in Action (Part 1)
goal
start
19
The Visibility Graph in Action (Part 2)
goal
start
20
The Visibility Graph in Action (Part 3)
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.
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
34
Find a path
start goal
35
Find a path
start goal
36
Find a path
start goal
37
Find a path
start goal
38
Find a path
start goal
39
Find a path
start goal
40
Find a path
start goal
41
Find a path
start goal
42
Find a path
start goal
43
Find a path
start goal
44
Find a path
start goal
45
Applications: Coverage
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