the visibility-voronoi complex and its applicationscs763/projects/darren.pdf ·...

21
The Visibility-Voronoi Complex and Its Applications Ron Wein, Jur P. van den Berg and Dan Halperin presented by Yong Soo Darren Jung

Upload: others

Post on 03-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

The Visibility-Voronoi Complex and Its Applications

Ron Wein, Jur P. van den Berg and Dan Halperin

presented by Yong Soo Darren Jung

Page 2: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Overview

• Our goal / Motivation

• What’s VV(c)-diagram?

• Significance of VV(c)-diagram

• VV-Complex

• Preprocess stage

• Query stage

Page 3: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Goal

• This is a motion planning problem

• Our goal is to plan a short and smooth path with some amount of clearance

Page 4: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Motivation

• Visibility graphs

• Shortest path, but no clearance

• Sharp turns (which is not desirable)

Page 5: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Motivation

• Voronoi diagram (on polygons)

• Giving a maximum possible clearance

• Path is sometimes much longer than shortest

Page 6: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

VV(c)-diagram

• hybrid of two

• Minkowski sum is used to get clearance

Page 7: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

VV(c)-diagram

• How to build it?

• Compute Minkowski sums for every obstable with a circle with radius c

• Compute union of results

• Compute visibility graph of dilated obstacles

• Add Voronoi edges (or its subset) if it is inside of dilated obstacle

Page 8: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Why do we care?

• Path is short

• Not “shortest possible”, but shortest with given clearance value

• Sharp vertices are replaced with curves and thus smooth

• Clearance value c is guaranteed

• Circular representation is good because polygonal robot can freely rotate

Page 9: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Why do we care?

• Still, it’s flexible (various tatics can be used)

• Clearance less than c is also considered

• Applications

• Motion planning with polygonal robots

• Motion planning for a group of entities

• etc.

Page 10: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

VV(c)-diagram

• Construction takes O(n2logn) time

• Query time: O(nlogn + p)

• O(nlogn) time to add s and g into the graph (using radial sweep lines)

• Then we use Dijkstra’s shortest path algorithm

• p is # of edges we encounter during search

Page 11: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

VV-complex

• Assume that we wish to plan motion paths for different c-values

• Should we construct the new VV(c)-diagram from scratch for each case?

• VV-complex is a data structure to efficiently construct VV(c)-diagram

Page 12: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

VV-complex

• VV-complex can be built in O(n2logn) time

• Query time is same! O(nlogn + p)

• For each visibility edge e, compute validity range R(e) = [cmin(e), cmax(e)]

• It indicates that edge e is a valid visibility edge if c ∈ R(e)

Page 13: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Building VV-complex

• Use event queue Q, each event sorted by c value

• Event types

• Visibility event

• Chain event

• Tangency event

• Endpoint event

Page 14: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Building VV-complex

• Visibility event

• happens when a pair of edges become equally sloped

Page 15: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Building VV-complex

• Chain event

• happens for each Voronoi chain, with its minimal clearance value

Page 16: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Building VV-complex• Tangency event

• happens when a vertex’s tangent edge meets a chain point

• Endpoint event

• happens when a chain point reaches the endpoint

Page 17: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Querying VV-complex

• The result of preprocessing is <V, T>

• V : Voronoi diagram. For each Voronoi vertex we store the clearance value, and for each non-monotone chain we store its minimal clearance value

• T : Set of interval trees, for each obstacle vertex (incident edges and their validity ranges), and for each Voronoi chain

Page 18: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Querying VV-complex

1. For each chain point X from Voronoi diagram, compute whether (O(n) time)

• It should be in graph completely

• It appears partly in graph

• It does not appear

2. Compute visibility edges for s(start) and g(goal). Use radial sweep-lines (O(nlogn) time)

3. Then we can search the graph using Dijkstra-like algorithm (takes O(nlogn + k) time)

Page 19: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Final Remarks

• We can assign weights depending on our context of the problem

• add infinity to Voronoi edges if we must have clearance amount of c

• add some penalty to Voronoi edges might be reasonable for other cases

Page 20: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Final Remarks

• Flexible

• Can choose any start/end points and clearance value, with relatively reasonable query time

• Practical

• Assumptions are quite reasonable enough to be used in reality

Page 21: The Visibility-Voronoi Complex and Its Applicationscs763/Projects/darren.pdf · project2_presentation.key Author: Yong Soo Darren Jung Created Date: 7/26/2010 2:39:42 AM

Thanks!

• Questions?