planning short paths with clearance using explicit corridors
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Roland GeraertsICRA 2010
Planning Short Paths with Clearance using Explicit Corridors
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
Perspective view (Z-buffer)
Top view (Frame buffer)
GPU computation
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 Explicit Corridorwith backbone path
Query
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 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]
Explicit Corridor Triangulation Shortest path
li ri
li+1 ri+1
sg
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
Coherent groups Path variation Camera path
Crowd simulation
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)
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