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