160 likes | 277 Views
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
E N D
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 toobstacles • 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 Corridorwith 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 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] ri+1 li+1 g ri li s Triangulation Shortest path Explicit Corridor
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 Triangulation Shortest path Explicit Corridor
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 Crowd simulation Smooth path Short path Obstacle avoidance 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)
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