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