Planning High-Quality Paths and Corridors Ron Wein Jur P. van den Berg (U. Utrecht) Dan Halperin.

Slides:



Advertisements
Similar presentations
Orthogonal Drawing Kees Visser. Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing.
Advertisements

Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
Approximations of points and polygonal chains
Motion Planning for Point Robots CS 659 Kris Hauser.
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
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.
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.
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:
The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.
The Divide-and-Conquer Strategy
By Groysman Maxim. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane.
Intersections. Intersection Problem 3 Intersection Detection: Given two geometric objects, do they intersect? Intersection detection (test) is frequently.
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,
Computational Geometry and Spatial Data Mining
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Lecture 12 : Special Case of Hidden-Line-Elimination Computational Geometry Prof. Dr. Th. Ottmann 1 Special Cases of the Hidden Line Elimination Problem.
Special Cases of the Hidden Line Elimination Problem Computational Geometry, WS 2007/08 Lecture 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen,
1 Last lecture  Path planning for a moving Visibility graph Cell decomposition Potential field  Geometric preliminaries Implementing geometric primitives.
Lecture 10 : Delaunay Triangulation Computational Geometry Prof. Dr. Th. Ottmann 1 Overview Motivation. Triangulation of Planar Point Sets. Definition.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 O’Rourke Chapter 8 Motion Planning.
Randomized Planning for Short Inspection Paths Tim Danner Lydia E. Kavraki Department of Computer Science Rice University.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Configuration Space – Basic Path-Planning Methods.
Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.
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.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
1 Separator Theorems for Planar Graphs Presented by Shira Zucker.
1 Single Robot Motion Planning Liang-Jun Zhang COMP Sep 22, 2008.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 O’Rourke Chapter 8 Motion Planning.
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
© 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.
Path Planning for a Point Robot
October 9, 2003Lecture 11: Motion Planning Motion Planning Piotr Indyk.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
Approximation algorithms for TSP with neighborhoods in the plane R 郭秉鈞 R 林傳健.
TEL-AVIV UNIVERSITY RAYMOND AND BEVERLY SACKLER FACULTY OF EXACT SCIENCES SCHOOL OF MATHEMATICAL SCIENCES An Algorithm for the Computation of the Metric.
Motion Planning in Games Mark Overmars Utrecht University.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
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 Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
Efficient Computing k-Coverage Paths in Multihop Wireless Sensor Networks XuFei Mao, ShaoJie Tang, and Xiang-Yang Li Dept. of Computer Science, Illinois.
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.
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Motion Planning Howie CHoset. Assign HW Algorithms –Start-Goal Methods –Map-Based Approaches –Cellular Decompositions.
Circles Modified by Lisa Palen. Definitions Circle The CENTER of the circle is the point that is the same distance to every point on the circle. The distance.
11 -1 Chapter 12 On-Line Algorithms On-Line Algorithms On-line algorithms are used to solve on-line problems. The disk scheduling problem The requests.
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
Polygon Triangulation
UNC Chapel Hill M. C. Lin Geometric Data Structures Reading: Chapter 10 of the Textbook Driving Applications –Windowing Queries Related Application –Query.
CMPS 3130/6130 Computational Geometry Spring 2017
CMPS 3130/6130 Computational Geometry Spring 2017
Enumerating Distances Using Spanners of Bounded Degree
Chapter 7 Voronoi Diagrams
Computing Shortest Path amid Pseudodisks
An O(n log n)-Time Algorithm for the k-Center Problem in Trees
The Visibility– Voronoi Complex and Its Applications
Computational Geometry
Presentation transcript:

Planning High-Quality Paths and Corridors Ron Wein Jur P. van den Berg (U. Utrecht) Dan Halperin

Part I: The Visibility- Voronoi Complex and Its Applications

Motivation Plan a “natural looking” collision-free motion path for a robot translating on the plane amidst a set P 1, …, P m 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 ( C 1 -smooth).

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

Visibility Graphs Used to plan shortest paths. Constructed in O(n 2 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 Lozano-Pérez (1979)

The “Retraction” Method 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 Ó’Dúnglaing and Yap (1985), Rohnert (1991)

The VV (c) -Diagram 1. Dilate the obstacles (Minkowski sums). 2. Compute visibility edges between dilated vertices. 3. Add Voronoi chains between chain-points. 4. Compute visibility edges emanating from 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 c = 0, …, ½.

The VV-Complex The VV (c) -diagram interpolates between the visibility graph and the Voronoi diagram of the obstacles. 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(n 2 log n) time, handling  (n 2 ) events. c = 0c > 0 c = 

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) = [c min (e), c max (e)] of c-values for which this edge is valid. The VV-complex of the scene of polygonal obstacles P 1, …, P m 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 u v uv rr uv ll uv rl uv lr For each obstacle vertex u we keep two circular lists L l (u) and L r (u) of “left” and “right” bitangents, sorted by their slopes.

Computing the VV-Complex (Initialization) 1.Compute the visibility graph of the obstacles P 1, …, P m. 2.Examine each bitangent edge in the visibility graph: Assign 0 to be the minimum value of its validity range. 3.Initialize an empty event queue Q. 4. Construct L l (u) and L r (u) for each obstacle vertex u. 5.Compute the initial visibility events based on adjacencies in these lists. 6.Compute the Voronoi diagram of P 1, …, P m. 7.For each Voronoi arc a that contains the minimum clearance value c min of its chain  a, insert the chain event  c min, a  into Q.

Visibility Events 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  (n 2 ) visibility events, each takes O(log n) to handle. u v w uw rl uv rl u v w uv ll uw lr

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(n 2 log n) time in total. aa aa aa p2(a)p2(a) p1(a)p1(a)

“Life-Cycle” of an Edge

Querying the VV-Complex 1.For each Voronoi chain compute the chain points (two at most) that correspond to the given c-value. 2.Perform radial sweep from s and from g and obtain their incident visibility edges. 3.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. Given a start configuration s, a goal configuration g and a preferred clearance value c’:

Implementation and Experiments We have implemented a C GAL -based application that can robustly construct the VV (c) -diagram for a given c-value. We employ: C GAL ’s segment Voronoi diagram package (Karavelas). C GAL ’s arrangement package with the conic-arc traits (W.). The G MP and C ORE 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).

Part II: Planning Near- Optimal Corridors amidst Obstacles

The Concept of Corridors Instead of making the moving object(s) follow a 1-dimensional motion path, we let them move in a corridor indicating the general direction for the motion. Inside the corridor, motion is determined by a local planner (e.g. using the potential field method). s g

Applications For many applications it is better to use a corridor, which allows more flexibility in comparison to having a 1-dimensional path: coherent group motion, small moving obstacles (and large static ones), planning camera motions following a moving character, avoiding predictable motions (in games), allowing non-holonomic and kineodynamic planning.

A corridor C =  (t), w(t), w max  in a d-dimensional workspace is the union of the balls: Where:  : [0, L]   d is the backbone path, w: [0, L]  (0, w max ] defines the corridor width, w max is the preferred width. Defining a Corridor

Given a corridor C =  (t), w(t), w max , its weighted length, denoted L * (C), is given by: The Weighted-Length Measure We can improve the quality of a corridor by either making it wider (up to the preferred width), or by making its backbone path shorter.

Observation: The width function of an optimal corridor is given by: where c(p) is the clearance of the point p (its distance from the nearest obstacle). Properties of an Optimal Corridor Lemma: The backbone path of an optimal corridor connecting any given start and goal positions s and g is smooth. p

Refraction of an Optimal Path Snell’s Law: If the width function is not continuous, then the backbone path of the optimal corridor connecting p 1 and p 2 satisfies: p1p1 p2p2 11 22 w1w1 w2w2

Optimal Corridors amidst Point Obstacles We consider planar environments cluttered with point obstacles p 1, …, p n   2 and a preferred width w max. Let us first assume that the points are well-separated with respect to w max, that is the discs B(p i ; w max ) are pairwise disjoint in their interiors (namely ||p i – p j ||  2w max ). We first examine what happens when the two endpoints are both in the vicinity of a single obstacle p (inside B(p; w max )).

p r1r1 r2r2 11 22 A Using Snell’s Law: Near a Single Point Obstacle 11 B The Law of Sines on  pAB: Hence:  1 =  1.

The Logarithmic Spiral Assume w.l.o.g. that p is the origin. A curve that forms a constant angle  with the radii is a logarithmic spiral, given by the polar equation (where b = cot -1  ):

The Optimal Backbone Near a Single Point Obstacle Proposition: Given a single point obstacle located at the origin, a start position and a goal position, where r s, r g  w max, the backbone of the optimal corridor connecting s and g is an arc of the logarithmic spiral, where: If r 0 = r s = r g then we have: a* = r 0, b* = 0 (a circle)

A Single Point Obstacle: The General Case Proposition: We are given two points s and g lying outside the disc B(p; w max ), where p is a point obstacle: If the segment sg does not intersect B(p; w max ), it is the optimal backbone. Otherwise, the optimal backbone comprises the tangent ss *, the circular arc s * g * and the tangent g * g. w max p g s s’ g’ s*s* g*g* w max p

Given a set O = {p 1, …, p n } of point obstacles in the plane that are well-separated with respect to w max, we use the visibility graph of the discs B(p 1 ; w max ), …, B(p n ; w max ) to compute optimal corridors. This graph can be constructed in O(n log n + E) time, where E is the number of visibility edges. The Visibility Graph Proposition: It is possible to compute the optimal corridor connecting s and g amidst n well-separated point obstacles in O(E log n) time.

The bounded Voronoi diagram Û ( O ) of a point set O w.r.t. w max comprises circular arcs (portions of the B(p i ; w max )’s) and line segments (portions of the Voronoi diagram). It subdivides the plane into: bounded Voronoi cells of obstacles, cells with clearance above w max. The Bounded Voronoi Diagram

In a cell whose clearance is above w max, optimal backbone paths comprise line segments and circular arcs. The weighted length of each element equals its “normal” length. Optimal Paths within Cells In the bounded Voronoi cell of p i the optimal backbone path between and is a spiral arc a whose weighted length is given by: Voronoi edges are also locally optimal.

We have to consider spiral arcs that shortcut sharp turns (Voronoi vertices and reflex vertices): Moving amidst Dense Obstacles pipi pipi pipi pjpj v v1v1 v2v2 v1v1 v2v2 q1q1 q2q2 q1q1 q2q2 q1q1 q2q2 q’q’ In the worst case we have to consider shortcuts of whose complexity is  (n), which take exponential time to compute.

Given  > 0, we subdivide the features of Û ( O ) into small intervals of length c(I)  / w max. (c(I) is the clearance of the interval I, which we assume to be constant as I is small). The Approximation Scheme (I) Let  be the total weighted length of all the features of Û ( O ), then there are  /  intervals in total. We define a graph D over the set of  /  intervals, which forms the node set of the graph.

D contains an edge between I 1 and I 2 only if the intervals are incident to a common cell. Such an edge may be: a straight visibility segment, a circular arc, a spiral arc, a straight line segment on a Voronoi edge. An edge must not cross a feature of Û ( O ). The Approximation Scheme (II) There are O(  2 /  2 ) edges in the graph, which can be constructed in O(n  2 /  2 ) time.

Given two endpoints, we can connect them to the graph D in O(n  /  ) time and use Dijkstra’s algorithm to obtain an approximation  for the optimal backbone path  * in O(  2 /  2 ) time. The Approximation Scheme (III) Lemma: If  * comprises the path segments  1, …,  k (where k = O(n)), then for each  i there exists an edge e in D such that: L * (e)  L * (  i ) + 2  2 . Corollary: We can compute in polynomial time a backbone path whose weighted length satisfies: L * (  )  L * (  * ) + O(n) .

Let us consider a scene cluttered with polygonal obstacles P = {P 1, …, P k } having n vertices in total. Polygonal Obstacles If the polygons are well-separated w.r.t. w max, we can use the visibility graph of the dilated obstacles to answer corridor- planning queries.

The features of Û ( P ) also include: line segments on dilated obstacle boundaries, parabolic arcs of the Voronoi diagram, line segments that separate bounded Voronoi cells of a polygon vertex from the cell of an incident edge. The Bounded Voronoi Diagram for Polygons

Using Snell’s Law: Moving Near a Polygon Edge (I) 00 p 0 = (x 0,0) x = 0 11 22 33 Note that we may have a reflection point!

Moving Near a Polygon Edge (II) Let us now write: Let  x  0: We obtained an equation of a circle whose center lies on x = 0.

The Optimal Backbone Near a Polygon Edge Proposition: The optimal backbone path between s and g near a polygon edge supported by x = 0 is a circular arc a of radius r * centered at (0, y * ), where: The weighted length of this arc is given by ( and w.r.t. the circle center):

We can generalize our approximation scheme for the case of polygonal obstacles. For any  > 0, we can construct a graph D based on the structure of Û ( P ) in O(n  2 /  2 ) time (w.r.t. a given w max value). Optimal Corridors amidst Polygons For any two given endpoints, we can query D in O(  2 /  2 ) time and obtain a path that approximates the best backbone path up to an error of O(n) .

Thank you!