ppt

advertisement
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
GPU computation
• 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
Perspective view (Z-buffer)
• Memory footprint: linear in the number of vertices
• There is no need for storing pixels
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 clmin
• Insert event point(s) if clmin > distance(c, cp)
c
Explicit Corridor
cp
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]
li+1 ri+1
g
ri
li
s
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
Performance
• Setup
– Intel Core2 Quad CPU 2.4 GHz, 1 CPU
• Experiments
– City: 500x500 meter, 1.000 random queries
• Results (average query time)
5
4
3
2
1
0
0.58
Smooth path
1.83
Triangulation/shortest path
0.45
1.19
Explicit corridor/shrinking
Time (ms)
Extract implicit corridor
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 (roland@cs.uu.nl)
• Home page: www.cs.uu.nl/~roland
• Conference: www.motioningames.org
Download