Transcript ppt

Planning Short Paths with Clearance using Explicit Corridors

Roland Geraerts

ICRA 2010

Requirements Fast and flexible 2D path planner

• •

Real-time planning for thousands of characters Dealing with local hazards

•

Global path Natural paths

• •

Smooth Short

•

Keeps some distance to obstacles

•

Avoids other characters

•

…

Titan Quest: Immortal throne

Path planning system Build a data structure

•

Explicit Corridor Map: Medial Axis + annotated event points Perform query

•

Compute corridor

•

Compute Indicative Route

•

Compute path

Explicit Corridor Map Corridor Indicative Route Path

Data structure: Explicit Corridor Map Basis: Medial Axis Plus: annotated event points on the edges

• • •

Placed at curve change on the edges Occurs at crossing between site normal and edge Annotation: its two closest points on the sites Equals: planar subdivision

• •

Memory footprint: linear in the number of vertices There is no need for storing pixels GPU computation

Perspective view (Z-buffer) Top view (Frame buffer)

Query phase Perform query (on-line)

• •

Find the retraction of the start and goal Connect the start and goal to the Explicit Corridor Map

•

Compute the shortest backbone path (using A*)

Explicit Corridor Map Query Explicit Corridor with backbone path

Explicit Corridors: Obtaining clearance Minimum clearance in Explicit Corridors

• • •

Move each closest point cp toward its center point c The displacement equals the desired clearance cl min Insert event point(s) if cl min > distance(c, cp)

c cp Explicit Corridor Shrunk corridors Shrinking a corridor

Explicit Corridors: Shortest paths Computing the shortest path

•

Construct a triangulation

– – At most 2n+2 triangles If the start/goal is not included, add a triangle •

Compute the shortest path

– Funnel algorithm [Guibas et al. 1987]

g

l

i+1

r

i+1 i

l

s

r

i Explicit Corridor Triangulation Shortest path

Explicit Corridors: Shortest paths Computing the shortest minimum clearance path

•

Shrink the corridor

– Construction time: linear in the number of event points •

Compute the shortest path

– – Adjust Funnel algorithm to deal with circular arcs Construction time: linear in the number of event points

Explicit Corridor Triangulation Shortest path

Query phase Compute a smooth path: Indicative Route Method

• •

Compute the shortest minimum-clearance path Define the attraction force

– Pulls the character toward the goal •

Define the boundary force

– Keeps the character inside the corridor •

Define other forces

– Leads to other behaviors •

Time-integrate the forces

– Yields a smooth (C1-continous) path

Query phase Query phase

•

Using other forces

Smooth path Short path Obstacle avoidance Crowd simulation Coherent groups Path variation Camera path Stealth-based path planning

Explicit Corridor Map: Experiments Performance

•

Setup

– – NVIDIA GeForce 8800 GTX graphics card Intel Core2 Quad CPU 2.4 GHz, 1 CPU used •

Experiments

– City: 500x500 meter, 4000x4000 pixels, 548 convex polygons

Explicit Corridor Map: Experiments Performance

•

Setup

– – NVIDIA GeForce 8800 GTX graphics card Intel Core2 Quad CPU 2.4 GHz, 1 CPU used •

Experiments

– City: 500x500 meter, 4000x4000 pixels, 548 convex polygons

time: 0.3s

Query phase: Experiments

5 4 1 0 3 2

Performance

•

Setup

– Intel Core2 Quad CPU 2.4 GHz, 1 CPU •

Experiments

– City: 500x500 meter, 1.000 random queries •

Results (average query time)

0,58 1,83 0,45 1,19 Smooth path Triangulation/shortest path Explicit corridor/shrinking Extract implicit corridor Time (ms)

Query phase: Experiments Performance

•

Setup

– Intel Core2 Quad CPU 2.4 GHz, 1 CPU •

Experiments

– City: 500x500 meter, 1 query •

Results (query time)

– 2.8 ms

ECM (0.3s) Explicit corridor Shrunk corridor Triangulation Shortest path Smooth path

Conclusions Advantages

• •

Flexible path planner generates natural paths Computation of smooth, short minimum clearance paths

•

The algorithms run in linear time and are fast in practice

•

The algorithms are simple Open problems

•

Handle large dynamic changes efficiently

•

Handle 2.5D/3D environments

Questions Contact

• • •

Roland Geraerts ( [email protected]

) Home page: www.cs.uu.nl/~roland Conference: www.motioningames.org