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

of 40 /40
The Voronoi Diagram David Johnson

Embed Size (px)

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

Page 1: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

The Voronoi Diagram

David Johnson

Page 2: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Voronoi Diagram

• Creates a roadmap that maximizes clearance– Can be difficult to compute– We saw an approximation in Medial Axis PRM

Page 3: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

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

Page 5: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

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

Page 6: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

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?

Page 7: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

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

Page 8: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

This is analogous to

Page 9: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

GPU computation

• Use graphics for fast 2D Voronoi diagram• Path planning example• Potential field example

• Voronoi2D.exe

Page 10: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Extend to Generalized Sites

• Generalized Voronoi Diagram (GVD)– Sites are not just

points– Everything else is the

same

Page 11: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Generalized Voronoi Diagram

• Edges formed based on three types of interaction:

Edge-Edge Edge-Vertex Vertex-Vertex

Page 12: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Polygonal Boundaries

Page 13: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Wave propagation idea generalizes

Page 14: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

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

Page 15: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

3D Gets Complex

                                                            

              

                                                            

              

Page 16: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Generalized Voronoi Diagram Computation

Analytic Boundary Discretize Sites Discretize Space

Exact Algorithm Approximate Algorithms

Page 17: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Exact Computation for Polylines

• Diagram is composed of segments or portions of parabolas

• Many robustness issues

(CGAL)

Page 18: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

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.

Page 19: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

GVD Approximation – Method 1• Approximation – Discretize Obstacles (continued)

– Consider computing the GVD for the following example:

Page 20: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

• Approximation – Discretize Obstacles (continued)

– Compute sample points along obstacle border.

GVD Approximation – Method 1

Page 21: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

• Approximation – Discretize Obstacles (continued)

– Here is the Voronoi Diagram for the point set:

GVD Approximation – Method 1

Page 22: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

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).

Page 23: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

• 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

Page 24: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

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

Page 25: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

GVD Approximation – Method 2

• Approximation – Discretize Space (continued)

– Create a grid from the environment

Page 26: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

GVD Approximation – Method 2• Approximation – Discretize Space (continued)

– Compute the Voronoi diagram by running a wavefront

Page 27: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

GVD Approximation – Method 2• Approximation – Discretize Space (continued)

– Compute a path in the Voronoi diagram

Page 28: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

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).

Page 29: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Hierarchical Approximations

Page 30: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

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

Page 31: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Another medial axis definition

Real Example

• medial axis or skeleton is locus of centers of maximal circles that are bitangent to shape boundary

Page 32: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Skeleton classification

• Normal points• End points• Branch Points

Page 33: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Computing Medial Axis for Curves

• Start at end point– Local maximum in

curvature

• Numerical methods to trace the bi-tangent circle

• Branch at tri-tangencies

Page 34: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

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

Page 35: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

3-DOF 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

Page 36: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Voronoi Roadmap/Graph for Dynamic Environments

Video (2d.avi)

Page 37: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Solving for GVD in Configuration Space

• Hierarchical testing of C-space

• Compute distance from C-space point to C-obs– Same as robot-obstacle

distance

• Main problem– GVD is C-space

dimension-1– Projection into workspace

doesn’t do what we hoped

Page 38: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Generalized Voronoi Graphs

• Build 1D graphs out of intersections of high-dimensional GVD parts– Not a connected roadmap

Page 39: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Hierarchical Generalized Voronoi Graphs

• Add in other structures based on 2nd closest obstacles, etc.

Page 40: The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.

Summary

• Voronoi Diagram– Roadmap– Clearance between obstacles– Higher dimensional problems are unsolved