Motion Planning - Roadmaps

How do I get
there?
Roadmap Methods
•Visibility Graph
•Voronoid Diagram
The Roadmap Idea
Capture the connectivity of Cfree in a
network of 1-D curves: the roadmap
Visibility Graph Method (VGM)
• Polygonal robot A translating at fix orientation
No rotation!
•Polygonal obstacle in R2
•VGM: construct a semi-free path as a simple
polygonal line connecting qinit to qgoal
Main Proposition
• CB a polygonal region of the plane
There exists a semi-free path between qinit and qgoal

There exists a simple polygonal line lying in
cl(Cfree) with end points qinit and qgoal and such
that its vertices are certices of CB
Example
qgoal
qinit
Visibility Graph - Definition
The visibility graph is the non-directed graph G
specified as:
• Nodes: qinit, qgoal and vertices of CB
• Edges: 2 nodes connected if either the line
segment joining them is an edge of CB, or it lies
entirely in Cfree at endpoints
Algorithm of the visibility graph method:
1. Construct visibility graph G
2. Search G for a path from qinit to qgoal
3. If a path is found, return it; otherwise failure
Constructing the VG: Naïve Approach
• X, X’: qinit, qgoal or CB vertices
• If X, X’ endpoints of same edge of CB, then the
nodes are connected by a link
• Otherwise X, X’ are connected by a link iff the
line passing through them does not intersect CB
• Complexity of algorithm O(n3)
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.
goal
start
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.
goal
start
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.
goal
start
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.
goal
start
The Visibility Graph (Done)
• Repeat until you’re done.
goal
start
Constructing the VG: Improvement
• Variation of sweep-line algorithm
• For each X, compute the orientation i of every
half-line from X to another point Xi. Sort these
orientations.
• Rotate half-line from X, from 0 to 2. Stop at
each i. At each stop, update intersection with CB
• Algorithm is O(n2logn)
Retraction Approach
• Def.: X a topological space, Y a subspace of X.
A surjective map XY is a retraction iff it is
continuous and its restriction to Y is the identity
• Def.: the retraction  preserves connectivity iff
for all xX, x and (x) are in the same pathconnected component.
• Proposition: Let :Cfree R, where R  Cfree is a
network of 1D curves, be a CPR. There exists a
free-path between qinit and qgoal iff there exists a
path in R between  (qinit) and  (qgoal )
Voronoid Diagram
• Def.: let =Cfree. For any q in Cfree, define
Clearance(q)=minp  d(q,p)
Near(q)={p   / d(q-p)=clearance(q)}
• The Voronoid diagram of Cfree is the set:
Vor(Cfree)={q  Cfree / card(near(q))>1}
General Voronoid Graph
A GVG is formed
by paths equidistant
from the two closest
objects
This generates a very safe roadmap which avoids
obstacles as much as possible
General Voronoi Diagram
What about concave obstacles?
d j
d j
vs
d i
d j
d i
d j
d i
d i
Voronoi Diagram: Metrics
Voronoi Diagram (L2)
Note
the
curved
edges
Voronoi Diagram (L1)
Note
the lack
of
curved
edges