The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can...

Author
robertpreston 
Category
Documents

view
215 
download
1
Embed Size (px)
Transcript of The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can...
The Voronoi Diagram
David Johnson
Voronoi Diagram
• Creates a roadmap that maximizes clearance– Can be difficult to compute– We saw an approximation in Medial Axis PRM
Voronoi region for points
• Points are “sites”• Voronoi diagram of points
s in set S– Partition of space into
regions VR(s) such that for all points [x,y] in VR(s), d([x,y],s) < d([x,y],t) for all t in S not = s
– Cell boundary where D(Obs1) = D(Obs2) for the two closest obstacles
Examples
• Voronoi Applet• Voronoi art
• Different metrics are possible– Manhattan
Voronoi Roadmap properties
• Accessibility– Follow distance gradient
away from obstacle to the cell boundary
• Departability– Same, but follow gradient
in
• Connectivity – Free space smoothly
deforms onto the GVD, topology is preserved
Computing Voronoi regions
• The Voronoi cell boundaries are composed of bisectors of sites.
• Bisector B(s,t) is locus of points d(p,s) = d(p,t)
• Bisector of two points is what shape?
Another view
• Prairie fire analogy– Set each site on fire– Fire burns outwards at
same rate
• Could use something like a wavefront algorithm to approximate this
• Other approaches– Fortune’s algorithm– Incremental construction
This is analogous to
GPU computation
• Use graphics for fast 2D Voronoi diagram• Path planning example• Potential field example
• Voronoi2D.exe
Extend to Generalized Sites
• Generalized Voronoi Diagram (GVD)– Sites are not just
points– Everything else is the
same
Generalized Voronoi Diagram
• Edges formed based on three types of interaction:
EdgeEdge EdgeVertex VertexVertex
Polygonal Boundaries
Wave propagation idea generalizes
3D
• bisector type portion of• point – point plane• point – edge parabolic cylinder• point – triangle paraboloid• edge – edge hyperbolic paraboloid• edge – triangle parabolic cylinder• triangle  triangle plane
3D Gets Complex
Generalized Voronoi Diagram Computation
Analytic Boundary Discretize Sites Discretize Space
Exact Algorithm Approximate Algorithms
Exact Computation for Polylines
• Diagram is composed of segments or portions of parabolas
• Many robustness issues
(CGAL)
GVD Approximation – Method 1• Approximation – Discretize Obstacles
– Convert each obstacle into a set of points by selecting samples along boundaries.
– Compute regular Voronoi diagram on resulting point sets.
– Will produce some diagram edges that are not traversable. Must prevent travel along these portions.
– Can be slow to compute, depending on samples.
This is no longer a curve.
This is no longer a curve.
Yellow portions are not traversable since they are inside the obstacle.
Yellow portions are not traversable since they are inside the obstacle.
GVD Approximation – Method 1• Approximation – Discretize Obstacles (continued)
– Consider computing the GVD for the following example:
• Approximation – Discretize Obstacles (continued)
– Compute sample points along obstacle border.
GVD Approximation – Method 1
• Approximation – Discretize Obstacles (continued)
– Here is the Voronoi Diagram for the point set:
GVD Approximation – Method 1
GVD Approximation – Method 1• Approximation – Discretize Obstacles (continued)
– Can discard (ignore) all edges of GVD that are defined by two consecutive points from the same obstacle:
Can also discard all edges that lie completely interior to any obstacle (i.e., green ones here).
Can also discard all edges that lie completely interior to any obstacle (i.e., green ones here).
• Approximation – Discretize Obstacles (continued)
– Resulting GVD edges can be searched for a path from start to goal (e.g., store GVD as graph, run Dijkstra’s shortest path algorithm)
GVD Approximation – Method 1
GVD Approximation – Method 2• Approximation – Discretize Space
– Convert the environment into a grid.
– Compute the Voronoi diagram on resulting grid by propagating wavefront from obstacles.
– Remember which obstacle point the shortest path came from for each non−obstacle grid cell.
– Can be slow to compute, depending on samples.
A finer grid produces a more accurate answer but takes longer
A finer grid produces a more accurate answer but takes longer
GVD Approximation – Method 2
• Approximation – Discretize Space (continued)
– Create a grid from the environment
GVD Approximation – Method 2• Approximation – Discretize Space (continued)
– Compute the Voronoi diagram by running a wavefront
GVD Approximation – Method 2• Approximation – Discretize Space (continued)
– Compute a path in the Voronoi diagram
GVD Approximation – Method 2• Applet  http://www.cs.columbia.edu/~pblaer/projects/path_planner/applet.shtml
Green path is discretized space path (i.e., grid).
Red path is discretized obstacles path (i.e., previous).
Green path is discretized space path (i.e., grid).
Red path is discretized obstacles path (i.e., previous).
Hierarchical Approximations
The Medial Axis
• A related concept to GVD– Fills the interior of an object– Only defined for closed shapes– Instead equality of distance to two objects, it
is where distance to self is equal
Another medial axis definition
Real Example
• medial axis or skeleton is locus of centers of maximal circles that are bitangent to shape boundary
Skeleton classification
• Normal points• End points• Branch Points
Computing Medial Axis for Curves
• Start at end point– Local maximum in
curvature
• Numerical methods to trace the bitangent circle
• Branch at tritangencies
Planning Using GVDs
• Is a GVD sufficient for path planning?– GVD computed in 2D workspace
– Sufficient for a point robot
– What about higher dimensions?
• Use GVD along with other methods
3DOF Potential Field Planner with GVD
• Rigid robot moving on a plane in a dynamic environment [Hoff00]
• Combines a GVD roadmap with a local (potential field) planner
Voronoi Roadmap/Graph for Dynamic Environments
Video (2d.avi)
Solving for GVD in Configuration Space
• Hierarchical testing of Cspace
• Compute distance from Cspace point to Cobs– Same as robotobstacle
distance
• Main problem– GVD is Cspace
dimension1– Projection into workspace
doesn’t do what we hoped
Generalized Voronoi Graphs
• Build 1D graphs out of intersections of highdimensional GVD parts– Not a connected roadmap
Hierarchical Generalized Voronoi Graphs
• Add in other structures based on 2nd closest obstacles, etc.
Summary
• Voronoi Diagram– Roadmap– Clearance between obstacles– Higher dimensional problems are unsolved