Post on 05-Jan-2016
1
From Path Planning to Crowd Simulation
Roland Geraerts3 September 2015
2
Path planning
3
Path planning and crowd simulation
Goal: bring characters from A to B in an environment Also vehicles, animals, camera, a formation,…
Requirement: fast and flexible Real-time planning for thousands of characters Individuals and groups Dealing with local hazards Different types of environments
Requirement: realistic paths For example, the way humans move Low energy usage (smooth, short, minimal
rotation/acceleration) Keep some distance (clearance) to obstacles Social behavior and rules (collision avoidance) …
4
Social relevance of simulation
Crowd simulation is needed for Simulations of the real world
• Improving crowd flow, predicting crowd pressures, planning evacuation routes
• Replacement of big-scale exercises – Hard and expensive to organize: 500+ people– No impact on environment and surroundings
Populating game worlds
Love Parade in Duisburg, 2010
Evacuation in sports stadiumsRebuilding of train station
Game world
5
A computational model of human navigation
Challenge: Unify dispersed models for realistic, individual, small group, and collective human movements in interactive, heterogeneous environments. Dispersed models
Agent-based: individuals, but problems with high densities Flow-based: no individuals, but good for high densities
Realistic movements Comprise collaboration, smooth and energy-efficient movement,
collision avoidance, and dealing with unrealistic congestions. Interactive environment
Geometry can change dynamically, and the crowd has to react. Heterogeneous environment
People need to take logical, distinct, and realistic paths over heterogeneous terrains in the environment.
6
Are we there yet?
7
Path planning errors in games
Networks of waypoints are incorrect Hand designed Do not adapt to changes in the environment Do not adapt to the type of character
Local methods fail to find a route Keep stuck behind objects Lead to repeated motion
Groups split up Not planned as a coherent entity
Paths are unnatural Not smooth Stay too close to network/obstacles
Methodology is not general enough to handle all problems
Titan Quest: Immortal throne
8
Path planning algorithms
Method: Flocking Separation: steer to avoid crowding local units Alignment: steer towards the average heading of local units Cohesion: steer to move toward the average position of local
units Advantages
Natural behavior for certain animals Disadvantages
Coherent group behavior is hard Trapped in local minima
Reynolds, 1987: Flocks, Herds, and Schools: A Distributed Behavioral Model
9
Path planning algorithms
Method: A* Construction phase: create a grid, mark free/blocked cells Query phase: use A* to find the shortest path (in the grid)
Advantage Simple
Disadvantages Too slow in large scenes Ugly paths
• Little clearance to obstacles
• Unnatural motions, e.g. sharp turns
Fixed paths• Predictable motions
Hart et al, 1968: A Formal Basis for the Heuristic Determination of Minimum Cost Paths
10
Path planning algorithms
Method: Potential Fields Goal generates attractive force Obstacles generate repulsive force Follow the direction of steepest
descent of the potential toward the goal Advantages
Flexibility to avoid local hazards Smooth paths
Disadvantages Expensive for multiple goals Local minima
Continuum crowdsTreuille et al, 2006: Continuum crowds; Latombe, 1991: Robot motion planning
11
Path planning algorithms
Method: Probabilistic Roadmap Method Construction phase: build the roadmap Query phase: query the roadmap
Advantages Reasonably fast High-dimensional problems
Disadvantages Ugly paths Fixed paths
• Predictable motions• Lacks flexibility when environment
changes or obstacles are added• Storage can be expensive
Kavraki et al, 1996: Probabilistic roadmaps for path planning in high-dimensional configuration spaces
12
Path planning algorithms
Method: Navigation meshes Create a representation of the
"walkable areas" of a scene Extract the path
Advantages General approach Construction is fast on the GPU
• code.google.com/p/recastnavigation
Disadvantages Often needs much manual editing Current techniques are imprecise Bad support for terrains No automatic annotations (games)
• Areas: walk, climb• Places: hiding and sniper spots
Obstacles Walkable voxels
Voxel regions Polygonal regions
Convex regions A pathMononen, 2015: Recastnavigation
13
Do we need a new path planning algorithm?
Robotics Virtual environments
Nr. entities a few robots many charactersNr. DOFs many DOFs a few DOFsCPU time much time available little time availableInteraction anti-social socialType path nice path realistic pathCorrectness fool-proof may be incorrect
differences
14
Surface-based navigation
We need a paradigm shift from graph-based to surface-based navigation
Graph-based navigation: little support for route deviation Hard to avoid expected collision between humans Hard to support differently sized humans/groups Costly to deal with dynamic changes in the environment Hard to efficiently deal with heterogeneous regions Human navigation is surface-based
15
Crowd simulation framework
Simulation step
Animation
Local movement
Route following
Global route planning
High-level planning
start/goal positions
indicative route
preferred velocity
velocity
Level 1
Level 2
Level 3
Level 4
Level 5
Representation environment Level 5
Plans actions Level 4
Creates indicative routes Level 3
Traverses the routes Yields speed/direction pairs
Level 2 Adapts routes E.g. to avoid collisions
Level 1 Moves the characters
We need a fast and generic frameworkRepresentation of the environment
Van Toll, Jaklin, and Geraerts, 2015. Towards Believable Crowds: A Generic Multi-Level Framework for Agent Navigation.
16
Crowd simulation framework
Simulation step
Animation
Local movement
Route following
Global route planning
High-level planning
start/goal positions
indicative route
preferred velocity
velocity
Level 1
Level 2
Level 3
Level 4
Level 5
Representation environment Level 5
Plans actions Level 4
Creates indicative routes Level 3
Traverses the routes Yields speed/direction pairs
Level 2 Adapts routes E.g. to avoid collisions
Level 1 Moves the characters
Representation of the environment
Van Toll, Jaklin, and Geraerts, 2015. Towards Believable Crowds: A Generic Multi-Level Framework for Agent Navigation.
17
Representation of the traversable environment
Comparison of navigation meshes
Triangles[Kallmann]
Disks[Pettré et al]
Polygons[Mononen]
Corridor Map[Geraerts]
Exact representation x xLinear memory x x3D environments x x xVariable unit widths x xDynamic obstacles x x xNOT!
18
Representation of the traversable environment
Requirements Path existence 100% coverage of the navigable space All cycles Flexible: surfaces Fast computation and small storage Fast query time during simulation
19
Representation of the traversable environment
Navigation mesh Voronoi diagram / Medial axis
Voronoi sites: red points Voronoi sites: red/black lines
20
Representation of the traversable environment
Navigation mesh Voronoi diagram / Medial axis From a graph to a surface representation
• Closest point annotation
21
Representation of the traversable environment
Navigation mesh Voronoi diagram / Medial axis From a graph to a surface representation
• Closest point annotation Computation
• Approximation on the GPU
• Exact computation on the CPU: Vroni, Boost• Both have to deal with precision issues
22
Representation of the traversable environment
Navigation mesh Extension to 3D environments
• Split environment into 2D layers• Too hard to compute optimally
23
Representation of the traversable environment
Navigation mesh Extension to 3D environments
• Split environment into 2D layers• Too hard to compute optimally• Stitch the navigation meshes on the layers together
24
Representation of the traversable environment
Extension to 2.5D (multi-layered) environments Technique
Multi-layered environment Partial medial axes for Li and LjConnection scene Updated medial axes for Li and Lj
25
Representation of the traversable environment
Result 10 ms
26
Representationof the traversable environment
Navigation mesh Fast to compute
115 ms
10 ms
3 s
27
Representation of the traversable environment
Can be huge E.g. 1 km2
28
Representation of the traversable environment
Navigation mesh Handles dynamic changes
• Update costs < 1 ms
29
Representation of the traversable environment
Navigation mesh Exact representation
• Captures 100% of the free space• Captures all homotopically different routes (cycles)
Allows fast extraction of global routes and final paths Nice mathematical properties
• Fast to compute – O(n log n)• Small data structure – O(n)• Nearest obstacle computation – O(1)• 2D algorithms also work in ML environments
30
Crowd simulation framework
Simulation step
Animation
Local movement
Route following
Global route planning
High-level planning
start/goal positions
indicative route
preferred velocity
velocity
Level 1
Level 2
Level 3
Level 4
Level 5
Representation environment Level 5
Plans actions Level 4
Creates indicative routes Level 3
Traverses the routes Yields speed/direction pairs
Level 2 Adapts routes E.g. to avoid collisions
Level 1 Moves the characters
Representation of the environment