planning high-quality paths and corridors

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

Upload: fawzia

Post on 06-Jan-2016

15 views

Category:

Documents


1 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Planning High-Quality Paths and Corridors

Planning High-Quality Paths and Corridors

Ron WeinJur P. van den Berg (U. Utrecht)Dan Halperin

Page 2: Planning High-Quality Paths and Corridors

Part I: The Visibility-Voronoi Complex and Its Applications

Page 3: Planning High-Quality Paths and Corridors

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).

Page 4: Planning High-Quality Paths and Corridors

ApplicationMotion planning for coherent groups of entities (computing a backbone path).

Kamphuis and Overmars (2004)

Page 5: Planning High-Quality Paths and Corridors

Visibility Graphs

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

Lozano-Pérez (1979)

Page 6: Planning High-Quality Paths and Corridors

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)

Page 7: Planning High-Quality Paths and Corridors

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.

Page 8: Planning High-Quality Paths and Corridors

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).

Page 9: Planning High-Quality Paths and Corridors

The Evolution of the VV(c)-Diagram

c = 0, … , ½.

Page 10: Planning High-Quality Paths and Corridors

The VV-ComplexThe 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.

c = 0 c > 0 c =

Page 11: Planning High-Quality Paths and Corridors

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, T(u) stores the incident edgesto u indexed by their validity range

• Similarly, there is also a tree T(p) for each chain point p.

Page 12: Planning High-Quality Paths and Corridors

Bitangents to Dilated Vertices

u

v

uv rr

uv ll

uvrl

uvlr

For each obstacle vertex u we keep two circular lists Ll(u) and Lr(u) of “left” and “right” bitangents, sorted by their slopes.

Page 13: Planning High-Quality Paths and Corridors

Computing the VV-Complex (Initialization)

1. Compute the visibility graph of the obstacles P1, … , Pm.

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 Ll(u) and Lr(u) for each obstacle vertex u.

5. Compute the initial visibility events based on adjacencies in these lists.

6. Compute the Voronoi diagram of P1, … , Pm.

7. For each Voronoi arc a that contains the minimum clearance value cmin of its chain a, insert the chain event cmin, a into Q .

Page 14: Planning High-Quality Paths and Corridors

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. u

v

w

uwrl

uvrl

u

v

w

uvll

uwlr

Page 15: Planning High-Quality Paths and Corridors

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.

a a a

p2(a)

p1(a)

Page 16: Planning High-Quality Paths and Corridors

“Life-Cycle” of an Edge

Page 17: Planning High-Quality Paths and Corridors

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’:

Page 18: Planning High-Quality Paths and Corridors

Implementation and ExperimentsWe 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).

Page 19: Planning High-Quality Paths and Corridors

Part II: Planning Near-Optimal Corridors amidst Obstacles

Page 20: Planning High-Quality Paths and Corridors

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

Page 21: Planning High-Quality Paths and Corridors

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.

Page 22: Planning High-Quality Paths and Corridors

A corridor C = (t), w(t), wmax in a d-dimensional workspace is the union of the balls:

Where:

: [0, L] d is the backbone path,

w: [0, L] (0, wmax] defines the corridor width,

wmax is the preferred width.

Defining a Corridor

[0, ]

( ); ( )t L

B t w t

Page 23: Planning High-Quality Paths and Corridors

Given a corridor C = (t), w(t), wmax, its weighted length, denoted L*(C), is given by:

The Weighted-Length Measure

1

* max( )( )

dw

L C dtw t

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.

Page 24: Planning High-Quality Paths and Corridors

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

max( ) min ( ) ,w t c t w

Lemma: The backbone path of an optimal corridor connecting any given start and goal positions s and g is smooth.

p

Page 25: Planning High-Quality Paths and Corridors

Refraction of an Optimal Path

Snell’s Law: If the width function is not continuous, then the backbone path of the optimal corridor connecting p1 and p2 satisfies:

p1

p2

1

2

w1

w2

2 1 1 2sin sinw w

Page 26: Planning High-Quality Paths and Corridors

Optimal Corridors amidst Point Obstacles

We consider planar environments cluttered with point obstacles p1, …, pn 2 and a preferred width wmax .

Let us first assume that the points are well-separated with respect to wmax , that is the discs B(pi; wmax) are pairwise disjoint in their interiors (namely ||pi – pj|| 2wmax).

We first examine what happens when the two endpoints are both in the vicinity of a single obstacle p (inside B(p; wmax)).

Page 27: Planning High-Quality Paths and Corridors

p

r1

r2 1 2A

Using Snell’s Law:

Near a Single Point Obstacle

22 1

1

sin sinr

r

1

BThe Law of Sines on pAB:

Hence: 1 = 1.

11 2

2

12 1

2

sin sin

sin sin

r

r

r

r

Page 28: Planning High-Quality Paths and Corridors

The Logarithmic Spiral

br a e

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 ):

Page 29: Planning High-Quality Paths and Corridors

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

rs, rg wmax , the backbone of the optimal corridor connecting s

and g is an arc of the logarithmic spiral , where:

siss r e gi

gg r e

** br a e

*

* 1ln

gs

s g s g

g s

g

g s s

a r r

rb

r

If r0 = rs = rg then we have:a* = r0 , b* = 0

(a circle)

Page 30: Planning High-Quality Paths and Corridors

A Single Point Obstacle:The General Case

Proposition: We are given two points s and g lying outside the

disc B(p; wmax), where p is a point obstacle:

If the segment sg does not intersect

B(p; wmax), it is the optimal backbone.

Otherwise, the optimal backbone

comprises the tangent ss*, the circular

arc s*g* and the tangent g*g. wmax

p

g

s

s’

g’ s*

g*

wmax

p

Page 31: Planning High-Quality Paths and Corridors

Given a set O = {p1, …, pn} of point obstacles in the plane that are well-separated with respect to wmax , we use the visibility graph of the discs B(p1; wmax), … , B(pn; wmax) 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 inO(E log n) time.

Page 32: Planning High-Quality Paths and Corridors

The bounded Voronoi diagram Û (O) of a point set O w.r.t. wmax comprises circular arcs (portions of the B(pi; wmax)’s) and line segments (portions of the Voronoi diagram).

It subdivides the plane into:

bounded Voronoi cells of obstacles,

cells with clearance above wmax.

The Bounded Voronoi Diagram

Page 33: Planning High-Quality Paths and Corridors

In a cell whose clearance is above wmax , 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 pi the optimal backbone path

between and is a spiral arc a whose weighted

length is given by:

11

ir e 22

ir e

2 2*max 2 1 2 1( ) ln lnL a w r r

Voronoi edges are also locally optimal.

Page 34: Planning High-Quality Paths and Corridors

We have to consider spiral arcs that shortcut sharp turns (Voronoi vertices and reflex vertices):

Moving amidst Dense Obstacles

pi pi

pi

pjvv1 v2

v1v2

q1

q2

q1 q2

q1

q2

q’

In the worst case we have to consider shortcuts of whose complexity is (n), which take exponential time to compute.

Page 35: Planning High-Quality Paths and Corridors

Given > 0, we subdivide the features of Û (O) into small intervals of length c(I) / wmax.(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.

Page 36: Planning High-Quality Paths and Corridors

D contains an edge between I1 and I2 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(n2 / 2) time.

Page 37: Planning High-Quality Paths and Corridors

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) + 22 .

Corollary: We can compute in polynomial time a backbone path whose weighted length satisfies: L*() L*( *) + O(n) .

Page 38: Planning High-Quality Paths and Corridors

Let us consider a scene cluttered with polygonal obstaclesP = {P1, …, Pk} having n vertices in total.

Polygonal Obstacles

If the polygons are well-separated w.r.t. wmax , we can use the visibility graph of the dilated obstacles to answer corridor-planning queries.

Page 39: Planning High-Quality Paths and Corridors

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 Diagramfor Polygons

Page 40: Planning High-Quality Paths and Corridors

Using Snell’s Law:

Moving Near a Polygon Edge (I)

01 0

0

sin sinx x

x

0 p0 = (x0,0)

x = 0

1

0 02 1 0

0 0

2 2sin sin sin

x x x x

x x x

2

3

00

0

sin sink

x k x

x

Note that we may have a reflection point!

Page 41: Planning High-Quality Paths and Corridors

Moving Near a Polygon Edge (II)

Let us now write:

0

2 2 2 20 0

sin sintan

1 sin sink

k k

k

xy x x x

x x

Let x 0:

0

2 2 200 0

2 2 20 0

0

sin'( ) lim

sin

1( ) sin

sin

k

x

y xy x

x x x

y x x x K

We obtained an equation of a circle whose center lies on x = 0.

Page 42: Planning High-Quality Paths and Corridors

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:

2 2*

22 22* 2 2

2

2 2

1 1

2 4 4

s g g s

g s

g s

s g g s

g s

y y x xy

y y

x xr x x y y

y y

The weighted length of this arc is given by ( and

w.r.t. the circle center):

siss r e

gi

gg r e *

max( ) ln tan ln tan2 2g sL a w

Page 43: Planning High-Quality Paths and Corridors

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(n2 / 2) time (w.r.t. a given wmax 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) .

Page 44: Planning High-Quality Paths and Corridors

Thank you!