650 likes | 1.21k Views
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
E N D
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
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: Edge-Edge Edge-Vertex Vertex-Vertex
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
Generalized Voronoi Diagram Computation ApproximateAlgorithms Exact Algorithm Analytic Boundary Discretize Sites Discretize Space
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. Yellow portions are not traversable since they are inside the obstacle. This is no longer a curve.
GVD Approximation – Method 1 • Approximation – Discretize Obstacles (continued) • Consider computing the GVD for the following example:
GVD Approximation – Method 1 • 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 • 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).
GVD Approximation – Method 1 • 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 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
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).
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
Real Example Another medial axis definition • 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 bi-tangent circle • Branch at tri-tangencies
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
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
Voronoi Roadmap/Graph for Dynamic Environments Video (2d.avi)
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
Generalized Voronoi Graphs • Build 1D graphs out of intersections of high-dimensional 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