Crowd Simulation INFOMCRWS Introduction to Crowd Simulation Wouter

  • Slides: 33
Download presentation
Crowd Simulation (INFOMCRWS) Introduction to Crowd Simulation Wouter van Toll November 15, 2017

Crowd Simulation (INFOMCRWS) Introduction to Crowd Simulation Wouter van Toll November 15, 2017

Contents • Recap – Path planning and navigation meshes • Overview of crowd simulation

Contents • Recap – Path planning and navigation meshes • Overview of crowd simulation research – Multi-level crowd simulation – Other topics – Open problems May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 2

RECAP Path planning and navigation meshes May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation

RECAP Path planning and navigation meshes May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 3

Crowd simulation Virtual environment (3 D) Crowd simulation (often 2 D) Fancy visualization (3

Crowd simulation Virtual environment (3 D) Crowd simulation (often 2 D) Fancy visualization (3 D) May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 4

Crowd simulation • Many applications (entertainment + serious) Planet Coaster (Frontier) Grand Depart 2015

Crowd simulation • Many applications (entertainment + serious) Planet Coaster (Frontier) Grand Depart 2015 (Movares), using our software • Large crowds Many queries – We want real-time performance May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 5

Region-based path planning • Navigation mesh = Regions + (Dual) Graph – Many spatial

Region-based path planning • Navigation mesh = Regions + (Dual) Graph – Many spatial subdivisions exist – Grids are easiest, but imperfect • Coverage, connectivity, storage Trapezoidal map May 25, 2021 Triangulation INFOMCRWS: Introduction to Crowd Simulation Grid 6

Region-based path planning Query Shortest path in the graph Sequence of regions Indicative route

Region-based path planning Query Shortest path in the graph Sequence of regions Indicative route (via funnel algorithm ) Simulation loop Q: Shortest path? May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 7

Path planning in games • Trend – – Graphs, grids Navigation meshes Manual Automatic

Path planning in games • Trend – – Graphs, grids Navigation meshes Manual Automatic Static Dynamic Increasingly large crowds • Typical errors – – Incorrect graphs Unnatural paths Poor response to dynamic updates Insufficient local methods / collision avoidance May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 8

TOWARDS AN OVERVIEW OF CROWD SIMULATION METHODS A Generic Categorization of Research Areas May

TOWARDS AN OVERVIEW OF CROWD SIMULATION METHODS A Generic Categorization of Research Areas May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 9

Overview (1/6) Path planning Algorithms: A*, Dijkstra, . . . May 25, 2021 Data

Overview (1/6) Path planning Algorithms: A*, Dijkstra, . . . May 25, 2021 Data structures: Navigation meshes, grids, . . . INFOMCRWS: Introduction to Crowd Simulation 10

Path planning – Examples • Shortest path • Other criteria Funnel algorithm: Shortest path

Path planning – Examples • Shortest path • Other criteria Funnel algorithm: Shortest path from a corridor Density-based (van Toll et al. , 2012) May 25, 2021 Stealth-based (Schager & Geraerts, 2010) INFOMCRWS: Introduction to Crowd Simulation 11

Overview (2/6) Path planning Algorithms: A*, Dijkstra, . . . Data structures: Navigation meshes,

Overview (2/6) Path planning Algorithms: A*, Dijkstra, . . . Data structures: Navigation meshes, grids, . . . Local movement (“steering”) Collision avoidance May 25, 2021 Groups, coherence, social rules, . . . INFOMCRWS: Introduction to Crowd Simulation 12

Local movement: Examples Social forces (Helbing & Molnár, 1995) Flocking (Reynolds, 1987) Vision-based collision

Local movement: Examples Social forces (Helbing & Molnár, 1995) Flocking (Reynolds, 1987) Vision-based collision avoidance (Moussaïd et al, 2010) Velocity obstacles (van den Berg et al. , 2009+) May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 13

Local movement: More examples Streams (van Goethem et al. , 2015) Social groups (Kremyzas

Local movement: More examples Streams (van Goethem et al. , 2015) Social groups (Kremyzas et al. , 2016) Coherent groups (Kamphuis & Overmars, 2004) May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 14

Overview (3/6) Path planning Algorithms: A*, Dijkstra, . . . Data structures: Indicative route

Overview (3/6) Path planning Algorithms: A*, Dijkstra, . . . Data structures: Indicative route Navigation meshes, grids, . . . Path following Local movement Collision avoidance May 25, 2021 Groups, coherence, social rules, . . . INFOMCRWS: Introduction to Crowd Simulation 15

Intermezzo: Weighted regions • What if the environment is more complex than “walkable +

Intermezzo: Weighted regions • What if the environment is more complex than “walkable + obstacles”? – Polygonal areas with (personal) costs • Find minimum-cost path? – Unsolvable in the Algebraic Computation Model over the Rational Numbers – Approximation algorithms • Path following May 25, 2021 MIRAN (Jaklin et al. , 2013) INFOMCRWS: Introduction to Crowd Simulation 16

Overview (4/6) Path planning Visualization Animation Rendering Path following Local movement Simulation loop May

Overview (4/6) Path planning Visualization Animation Rendering Path following Local movement Simulation loop May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 17

Overview (5/6) High-level planning Path planning Modelling Logic: BDI, rules, memory, . . .

Overview (5/6) High-level planning Path planning Modelling Logic: BDI, rules, memory, . . . Path following Local movement Fixed steps of 0. 1 s Simulation loop As fast as possible Animation loop Visualization May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 18

Overview (6/6) High-level planning Path following Local movement Visualization May 25, 2021 INFOMCRWS: Introduction

Overview (6/6) High-level planning Path following Local movement Visualization May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 19

Multi-level planning • Advantages? Path planning Path following Local movement – Split a big

Multi-level planning • Advantages? Path planning Path following Local movement – Split a big problem into simpler components – Mix and match various algorithms – Different behaviour per character • Disadvantages? – Choices in one level affect behavior in lower levels • When to reconsider these choices? (e. g. re-planning) May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 20

Alternative: Potential field • Continuous field of forces – – Goal attracts, obstacles repel

Alternative: Potential field • Continuous field of forces – – Goal attracts, obstacles repel Follow the direction of steepest descent Common implementation: Grid In case of moving characters (obstacles): update potential field each frame Robot motion planning (Latombe, 1991) May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 21

Alternative: Potential field • Advantages – Unifies global and local movement – Re-usable for

Alternative: Potential field • Advantages – Unifies global and local movement – Re-usable for similar characters Good for high-density crowds Treuille et al. , 2006 • Disadvantages – Grid implementation – Different potential field for each goal / each character type – Local minima Narain et al. , 2009 • Can be avoided, but (even) more expensive May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 22

OTHER TOPICS A mixed bag May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 23

OTHER TOPICS A mixed bag May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 23

Coordination and re-planning Linear programming (Karamouzas et al. , 2013) Dynamic updates + visibility-based

Coordination and re-planning Linear programming (Karamouzas et al. , 2013) Dynamic updates + visibility-based re-planning (van Toll et al. , 2015) May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 24

Moving through a dense crowd • Find a path that uses gaps between characters

Moving through a dense crowd • Find a path that uses gaps between characters – Global becomes local? Torso crowds (Stüvel et al. , 2015) May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 25

Multi-threading • In a simulation step, many characters do “the same thing” at the

Multi-threading • In a simulation step, many characters do “the same thing” at the same time – Allows parallel programming – GPU: thousands of tasks at the same time • Advantage: performance • Disadvantage (GPU): – What about rendering? May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 26

Evaluation • How to compare different methods? 1. Generic definitions 2. Objective quality metrics

Evaluation • How to compare different methods? 1. Generic definitions 2. Objective quality metrics 3. Scenarios that cover the problem space 4. Conclusions(? ) Steer. Bench (Singh et al. , 2009) A comparative study of navigation meshes (van Toll et al. , 2016) May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 27

Evaluation • How to prove that a simulation is close to reality? • Compare

Evaluation • How to prove that a simulation is close to reality? • Compare to reality!. . . but how? – Individual trajectories – Global trends – Density/speed relation Lerner et al. , 2009 • When is a conclusion general enough? May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 28

CLOSING COMMENTS */ May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 29

CLOSING COMMENTS */ May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 29

Summary High-level planning Coordination, re-planning Path planning or: Potential fields Path following Local movement

Summary High-level planning Coordination, re-planning Path planning or: Potential fields Path following Local movement Visualization May 25, 2021 Multi-threading / GPU Evaluation INFOMCRWS: Introduction to Crowd Simulation 30

Remaining challenges • Navigation: see previous lecture • Problems within this paradigm – Reconsider

Remaining challenges • Navigation: see previous lecture • Problems within this paradigm – Reconsider global paths due to local hazards – High-level coordination • Long-term goals – Reliable validation • Human-like simulation for any scenario? – Huge crowds (≥ 1 M) in real-time – Crowd prediction during a real-time event May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 31

Next time • Explanation of our crowd simulation software • Tutorial to get started

Next time • Explanation of our crowd simulation software • Tutorial to get started with Assignment 2 May 25, 2021 INFOMCRWS: Introduction to Crowd Simulation 32

Preparation for next time • If you haven’t done so yet. . . –

Preparation for next time • If you haven’t done so yet. . . – Choose a non-taken paper (1 -20) to present – Form teams for Assignments 1 and 2 • Prepare for the tutorial – Bring a (Windows) laptop! – Install Unity – Read up on basic Unity usage May 25, 2021 See website INFOMCRWS: Introduction to Crowd Simulation 33