The Visibility Voronoi Complex and Its Applications - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

The Visibility Voronoi Complex and Its Applications

Description:

Properties of the VV(c)-Diagram ... Easily queried for any given c, without the need to construct the VV(c)-diagram. ... The VV-Complex (II) Suppose the ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 18
Provided by: hezi2
Category:

less

Transcript and Presenter's Notes

Title: The Visibility Voronoi Complex and Its Applications


1
The Visibility Voronoi Complex and Its
Applications
  • Ron Wein
  • Jur P. van den Berg (U. Utrecht)
  • Dan Halperin

Nachsholim May 2005
2
Motivation
Given a robot translating on the plane amidst a
set P1, , Pm of configuration-space obstacles,
and given start and goal configurations s and g,
we wish to plan a natural looking
collision-free motion path for the robot between
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).

3
Application
Kamphuis and Overmars (2004)
Motion planning for coherent groups of entities
(computing a backbone path).
4
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 Dijkstras algorithm.
Resulting paths have no clearance
5
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
6
The VV(c)-Diagram
7
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).

8
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(n2 log n) time, handling ?(n2)
    events.

9
The VV-Complex (II)
Suppose the clearance value grows from 0 to ?. We
can associate with each edge e we encounter a
validity rangeR(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 (and for each chain point p), T(u) (or
    T(p)) store the incident edge to u (to p) indexed
    by their validity range.

10
Bitangents to Dilated Vertices
v
uvll
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.
11
Computing the VV-Complex (Initialization)
  • Compute the visibility graph of the obstacles P1,
    , Pm.
  • Examine each bitangent edge in the visibility
    graph and assign 0 to be the minimum value of its
    validity range.
  • Initialize an event queue Q , construct Ll(u) and
    Lr(u) for each obstacle vertex u, and 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 .

12
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 ?(n2) visibility events, each takes
    O(log n) to handle.

13
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
    causestangency events and endpoint events.
  • All these events are handled at O(n2 log n) time
    in total.

14
Life-Cycle of an Edge
15
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 Dijkstras 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.
16
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
  • CGALs segment Voronoi diagram package
    (Karavelas).
  • CGALs arrangement package with the conic-arc
    traits.
  • The GMP and CORE number types.

Diagram construction takes 360 seconds. Query
time is 0.020.1 seconds (compared with 0.51
seconds that a smoothing phase would consume).
17
Thank you!
Write a Comment
User Comments (0)
About PowerShow.com