The Visibility– Voronoi Complex and Its Applications

Slides:



Advertisements
Similar presentations
Computational Geometry
Advertisements

Fall Path Planning from text. Fall Outline Point Robot Translational Robot Rotational Robot.
Motion Planning for Point Robots CS 659 Kris Hauser.
Visibility Graph Team 10 NakWon Lee, Dongwoo Kim.
Brute-Force Triangulation
NUS CS5247 Motion Planning for Camera Movements in Virtual Environments By Dennis Nieuwenhuisen and Mark H. Overmars In Proc. IEEE Int. Conf. on Robotics.
2/3/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Triangulations and Guarding Art Galleries II Carola Wenk.
By Lydia E. Kavraki, Petr Svestka, Jean-Claude Latombe, Mark H. Overmars Emre Dirican
Motion Planning CS 6160, Spring 2010 By Gene Peterson 5/4/2010.
Visibility Graphs May Shmuel Wimer Bar-Ilan Univ., Eng. Faculty Technion, EE Faculty.
Visibility Graph and Voronoi Diagram CS Tutorial.
9/12/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries II Carola Wenk.
1 Voronoi Diagrams. 2 Voronoi Diagram Input: A set of points locations (sites) in the plane.Input: A set of points locations (sites) in the plane. Output:
Visibility Computations: Finding the Shortest Route for Motion Planning COMP Presentation Eric D. Baker Tuesday 1 December 1998.
Voronoi Diagram Presenter: GI1 11號 蔡逸凡
Computational Geometry -- Voronoi Diagram
17. Computational Geometry Chapter 7 Voronoi Diagrams.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song and Nancy M. Amato Department of Computer Science Texas A&M University College Station,
Lecture 12 : Special Case of Hidden-Line-Elimination Computational Geometry Prof. Dr. Th. Ottmann 1 Special Cases of the Hidden Line Elimination Problem.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Special Cases of the Hidden Line Elimination Problem Computational Geometry, WS 2007/08 Lecture 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen,
Area 1: Algorithms Dan Halperin, School of Computer Science, Tel Aviv University.
Motion Planning for Camera Movements in Virtual Environments Authors: D. Nieuwenhuisen, M. Overmars Presenter: David Camarillo.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 O’Rourke Chapter 8 Motion Planning.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Graph Algorithms: Shortest Path We are given a weighted, directed graph G = (V, E), with weight function w: E R mapping.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song, Nancy M. Amato Department of Computer Science Texas A&M University College Station,
Minkowski Sums and Offset Polygons Ron Wein. Computing Minkowski Sums.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 O’Rourke Chapter 8 Motion Planning.
Voronoi Diagrams.
CS 326A: Motion Planning Basic Motion Planning for a Point Robot.
Planning High-Quality Paths and Corridors Ron Wein Jur P. van den Berg (U. Utrecht) Dan Halperin.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 O’Rourke Chapter 8 Motion Planning.
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
1 Geometric Intersection Determining if there are intersections between graphical objects Finding all intersecting pairs Brute Force Algorithm Plane Sweep.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
1 Quantum query complexity of some graph problems C. DürrUniv. Paris-Sud M. HeiligmanNational Security Agency P. HøyerUniv. of Calgary M. MhallaInstitut.
4/21/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Motion Planning Carola Wenk.
© Manfred Huber Autonomous Robots Robot Path Planning.
Planning Near-Optimal Corridors amidst Obstacles Ron Wein Jur P. van den Berg (U. Utrecht) Dan Halperin Athens May 2006.
The problem of the shortest path The classic Dijkstra algorithm solution to this problem The adaptation of this solution to the problem of robot motion.
Path Planning for a Point Robot
Motion Planning in Games Mark Overmars Utrecht University.
2/19/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Voronoi Diagrams Carola Wenk Based on: Computational Geometry:
UNC Chapel Hill M. C. Lin Computing Voronoi Diagram For each site p i, compute the common inter- section of the half-planes h(p i, p j ) for i  j, using.
Graphs Upon completion you will be able to:
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Roland Geraerts and Erik Schager CASA 2010 Stealth-Based Path Planning using Corridor Maps.
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
Polygon Triangulation
4/9/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Motion Planning Carola Wenk.
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
CMPS 3130/6130 Computational Geometry Spring 2017
How do I get there? Roadmap Methods Visibility Graph Voronoid Diagram.
Minimum Spanning Trees
CMPS 3130/6130 Computational Geometry Spring 2017
Segment tree and Interval Tree
Motion Planning for a Point Robot (2/2)
Short paths and spanning trees
Graph Algorithm.
Minimum Spanning Trees
Chapter 7 Voronoi Diagrams
What is a Graph? a b c d e V= {a,b,c,d,e} E= {(a,b),(a,c),(a,d),
Computing Shortest Path amid Pseudodisks
Minimum Spanning Tree.
Computing Shortest Paths among Curved Obstacles in the Plane
L1 Shortest Path Queries among Polygonal Obstacles in the Plane
Graph Algorithms: Shortest Path
Robotics meet Computer Science
Planning.
Presentation transcript:

The Visibility– Voronoi Complex and Its Applications Ron Wein Jur P. van den Berg (U. Utrecht) Dan Halperin Pisa May 2005

Motivation Plan a “natural looking” collision-free motion path for a robot translating on the plane amidst a set P1, … , Pm of configuration-space obstacles, given start and goal configurations s and g. By “natural looking” we mean the path should be: Short – not containing unnecessary long detours. Having some clearance – not getting to close to an obstacle. Smooth – not containing sharp turns (C1-smooth).

Application Kamphuis and Overmars (2004) Motion planning for coherent groups of entities (computing a backbone path).

Resulting paths have no clearance Visibility Graphs Lozano-Pérez (1979) Used to plan shortest paths. Constructed in O(n2 log n) time, where n is the total number of vertices. Output-sensitive O(n log n + S) algorithms also exist. Query time is O(n log n + S), using Dijkstra’s algorithm. Resulting paths have no clearance

The “Retraction” Method Ó’Dúnglaing and Yap (1985), Rohnert (1991) Construct the Voronoi diagram of the obstacles in O(n log n). Query time is O(log n + k). Paths may be too long and may contain sharp turns

The VV(c)-Diagram 1. Dilate the obstacles (Minkowski sums). 2. Compute visibility edges between dilated vertices. 4. Compute visibility edges emanating from chain points. 3. Add Voronoi chains between chain-points.

Properties of the VV(c)-Diagram Outputs shortest paths which keep the preferred amount of clearance from the obstacles, where possible. Paths are smooth. In case of narrow passages (between chain points), we get a path with the maximal possible clearance (locally).

The Evolution of the VV(c)-Diagram

The VV-Complex The VV(c)-diagram interpolates between the visibility graph and the Voronoi diagram of the obstacles. c = 0 c > 0 c =  The VV-complex encodes all VV(c)-diagrams for all c values. Easily queried for any given c, without the need to construct the VV(c)-diagram. Constructed in O(n2 log n) time, handling (n2) events.

The VV-Complex (II) Suppose the clearance value grows from 0 to . We can associate with each edge e we encounter a validity range R(e) = [cmin(e), cmax(e)] of c-values for which this edge is valid. The VV-complex of the scene of polygonal obstacles P1, … , Pm is therefore: The Voronoi diagram V of the obstacles. A set T of interval trees: For each obstacle vertex u, T(u) stores the incident edges to u indexed by their validity range Similarly, there is also a tree T(p) for each chain point p.

Bitangents to Dilated Vertices uvll v uvrl uvlr u uvrr For each obstacle vertex u we keep two circular lists Ll(u) and Lr(u) of “left” and “right” bitangents, sorted by their slopes.

Computing the VV-Complex (Initialization) Compute the visibility graph of the obstacles P1, … , Pm. Examine each bitangent edge in the visibility graph: Assign 0 to be the minimum value of its validity range. Initialize an empty event queue Q . Construct Ll(u) and Lr(u) for each obstacle vertex u. Compute the initial visibility events based on adjacencies in these lists. Compute the Voronoi diagram of P1, … , Pm. For each Voronoi arc a that contains the minimum clearance value cmin of its chain a, insert the chain event cmin, a into Q .

Visibility Events u v w uvll uwlr Occur when two edges uv and uw become equally sloped. We assign a maximal value for the validity range of the blocked edges. Some edges may become valid, and we assign a minimal value for their validity ranges. There are (n2) visibility events, each takes O(log n) to handle. u v w uwrl uvrl

Chain Events Occur when a chain start appearing in the VV(c)-diagram. We create two chain points associated with this chain. There are (n) chain events, each takes O(n log n) to handle. The motion of the chain points along the chain causes tangency events and endpoint events. All these events are handled at O(n2 log n) time in total. a p2(a) p1(a)

“Life-Cycle” of an Edge

Querying the VV-Complex Given a start configuration s, a goal configuration g and a preferred clearance value c’: For each Voronoi chain compute the chain points (two at most) that correspond to the given c-value. Perform radial sweep from s and from g and obtain their incident visibility edges. Execute Dijkstra’s algorithm from s. The graph is implicitly maintained, as we obtain the incident edges of each vertex x we encounter from T(x). We do this until reaching g. The total query time is O(n log n + k), where k is the number of edges encountered during the search.

Implementation and Experiments We have implemented a CGAL-based application that can robustly construct the VV(c)-diagram for a given c-value. We employ: CGAL’s segment Voronoi diagram package (Karavelas). CGAL’s arrangement package with the conic-arc traits (W.). The GMP and CORE number types. Diagram construction takes 3–60 seconds. Query time is 0.02—0.1 seconds (compared with 0.5–1 seconds that a smoothing phase would consume).

Thank you!