Crowd Simulation (INFOMCRWS) - UU Crowd Simulation Software

Slides:



Advertisements
Similar presentations
Controlling Individual Agents in High Density Crowd Simulation N. Pelechano, J.M. Allbeck and N.I. Badler (2007)
Advertisements

Comparing Effectiveness of Bioinspired Approaches to Search and Rescue Scenarios Emily Shaeffer and Shena Cao 4/28/2011Shaeffer and Cao- ESE 313.
Real-Time Dynamic Wrinkles Caroline Larboulette Marie-Paule Cani GRAVIR Lab, Grenoble, France.
CSCI 465 D ata Communications and Networks Lecture 20 Martin van Bommel CSCI 465 Data Communications & Networks 1.
DARPA Mobile Autonomous Robot SoftwareMay Adaptive Intelligent Mobile Robotics William D. Smart, Presenter Leslie Pack Kaelbling, PI Artificial.
Way to go: A framework for multi-level planning in games Norman Jaklin Wouter van Toll Roland Geraerts Department of Information and Computing Sciences.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.
Crowd Simulation Sai-Keung Wong. Crowd Simulation A process of simulating the movement of a large number of entities or characters. While simulating these.
Jur van den Berg, Stephen J. Guy, Ming Lin, Dinesh Manocha University of North Carolina at Chapel Hill Optimal Reciprocal Collision Avoidance (ORCA)
Presenter: Robin van Olst. Avneesh SudRussell Gayle Erik Andersen Stephen GuyMing Lin Dinesh Manocha.
Navigation Meshes for Realistic Multi-Layered Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts Utrecht University, The Netherlands.
Independent Work Fall 2007 David Walker. Welcome Junior ABs (both semesters) Junior ABs (both semesters) Senior ABs (thesis) Senior ABs (thesis) BSEs.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.
Ioannis Karamouzas, Roland Geraerts, Mark Overmars Indicative Routes for Path Planning and Crowd Simulation.
Introduction CSE 2320 – Algorithms and Data Structures Vassilis Athitsos University of Texas at Arlington 1.
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Carolyn Seaman University of Maryland, Baltimore County.
Tools for Game Developmet Erik Harpstead Carnegie Mellon University 1.
Using the Corridor Map Method for Path Planning for a Large Number of Characters Roland Geraerts, Arno Kamphuis, Ioannis Karamouzas, Mark Overmars MIG’08.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
Motion Planning in Games Mark Overmars Utrecht University.
Adrian Treuille, Seth Cooper, Zoran Popović 2006 Walter Kerrebijn
From Path Planning to Crowd Simulation
CSC321 Introduction to Neural Networks and Machine Learning Lecture 3: Learning in multi-layer networks Geoffrey Hinton.
Wouter G. van Toll Atlas F. Cook IV Roland Geraerts Realistic Crowd Simulation with Density-Based Path Planning ICT.OPEN / ASCI October 22nd, 2012.
Pure Path Tracing: the Good and the Bad Path tracing concentrates on important paths only –Those that hit the eye –Those from bright emitters/reflectors.
City College of New York 1 John (Jizhong) Xiao Department of Electrical Engineering City College of New York Mobile Robot Control G3300:
Version Control and SVN ECE 297. Why Do We Need Version Control?
Roland Geraerts and Erik Schager CASA 2010 Stealth-Based Path Planning using Corridor Maps.
11/13/03CS679 - Fall Copyright Univ. of Wisconsin Last Time A* Improvements Hierarchical planning Pre-Planning.
CG-UFRGS Real-Time Multi-Agent Path Planning on Arbitrary Surfaces Rafael P. Torchelsen 1, Luiz F. Scheidegger 1, Guilherme N. Oliveira 1, Rui Bastos 2,
CALIBRATION: PREPARATION FOR RUN2 ALICE Offline Week, 25 June 2014 C. Zampolli.
Review IMGD Engine Architecture Types Broadly, what are the two architecture types discussed for game engines? What are the differences?
Sébastien Paris, Anton Gerdelan, Carol O’Sullivan {Sebastien.Paris, gerdelaa, GV2 group, Trinity College Dublin.
Model Optimization Wed Nov 16th 2016 Garrett Morrison.
Big Data is a Big Deal!.
Welcome to Workshop 3 Today’s Agenda 17:20 Course Evaluation 
What’s new in FUSION? Bob McGaughey
Game Architecture Rabin is a good overview of everything to do with Games A lot of these slides come from the 1st edition CS 4455.
Creating a Action Plan July 2016.
CS 325: Software Engineering
LCGAA nightlies infrastructure
Applied Software Implementation & Testing
A Comparative Study of Navigation Meshes . Motion in Games 2016
A Comparative Study of Navigation Meshes . Motion in Games 2016
Sparse Rig Parameter Optimization for Character Animation
CMSC 341 Prof. Michael Neary
Crowd Simulation (INFOMCRWS) - Course Introduction
Crowd Simulation (INFOMCRWS) - Introduction to Crowd Simulation
A Comparative Study of Navigation Meshes
Roland Geraerts and Mark Overmars CASA’08
Navigation In Dynamic Environment
Software System Integration
Workshop II UU Crowd Simulation Framework
Crowd Simulation (INFOMCRWS) - A* Search
CS 179: GPU Programming Lecture 19: Projects 1
Workshop 1: Crowd Simulation Software & Collision Avoidance
Proposal for Term Project Operating Systems, Fall 2018
Toward Solving Pathfinding
The Challenge of Cross - Language Interoperability
Lecture 2 The Art of Concurrency
Workshop: A* Search.
Emir Zeylan Stylianos Filippou
Applying Use Cases (Chapters 25,26)
More ideas for research projects
Chapter 13: I/O Systems.
EE384Y: Packet Switch Architectures II
Intelligent Tutoring Systems
L. Glimcher, R. Jin, G. Agrawal Presented by: Leo Glimcher
Presentation transcript:

Crowd Simulation (INFOMCRWS) - UU Crowd Simulation Software Wouter van Toll November 20, 2017

INFOMCRWS: UU Crowd Simulation Software Goals of this session Understand the various crowd simulation levels Get an overview of our simulation software Prepare for Assignment 2 November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

INFOMCRWS: UU Crowd Simulation Software But first... Where are we on Assignment 1? Anything still unclear? Deadline on Friday(!) Please fill in the team schedule, so I can prepare Blackboard November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

Recap + Overview Algorithms in a crowd simulation framework November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

Crowd simulation framework Towards Believable Crowds: A Generic Multi-Level Framework for Agent Navigation Paper B of the course Our software focuses on levels 4/3/2 Geometric components November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

INFOMCRWS: UU Crowd Simulation Software 4: Global path planning We use the Explicit Corridor Map (ECM) Compact navigation mesh Supports any character radius Multi-layered environments Dynamic updates Other options could also work As long as characters can compute an indicative route November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

ECM implementation GPU “Exact”: Boost, VRONI, CGAL? November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

INFOMCRWS: UU Crowd Simulation Software 3: Path following Smoothly follow a desired path Input: indicative route, non-smooth indication of the path In each simulation step, compute an attraction point Leads to a preferred velocity for the next level Indicative Route Method (IRM, 2009) MIRAN: improvement by Jaklin et al. (2013) Supports weighted regions Better smoothness/ shortcut control November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

INFOMCRWS: UU Crowd Simulation Software 2: Local movement Roughly move in the preferred direction, while... ...responding to collisions with other characters ...avoiding future collisions ...adapting to the surrounding streams of people ...maintaining social group behavior etc. November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

Demo time The ECM framework in action November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

INFOMCRWS: UU Crowd Simulation Software Demos ECM Single agent Crowd Circle Unity3D November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

Paper vs. Implementation It’s hard to judge a method in practice Not all parameter settings are described in a paper Lots of details are up to the programmer Some necessary hacks are not mentioned Small changes can have huge impacts Geometric algorithms are painful to implement Good enough for a paper ≠ 100% robust November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

Implementation details Crowd simulation in the ECM framework November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

INFOMCRWS: UU Crowd Simulation Software Simulation step performStep(Δt) For each character: path following Update pointers along indicative route Update attraction point, preferred velocity For each character: collision avoidance Compute new velocity vNew Smoothen vNew (optional) Compute collision forces F (optional) For each character Update velocity: v := vNew + Δt · F/mass Update position: p := p + Δt · v Update nearest-neighbor data structure (There are actually many more substeps) Why separate loops? Order of characters does not matter Characters are independent, each loop can be parallellized November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

INFOMCRWS: UU Crowd Simulation Software Simulation loop Repeatedly call performStep(Δt) Possible approach: do as many steps as possible Use time between frames as step size Use FPS to measure efficiency We use a fixed time step (0.1 s) Use computation time to measure efficiency Behavior does not depend on the framerate Fast-forward by calling performStep() more/less often You really don’t need a higher simulation framerate Visualization framerate can be much higher Is this a good idea? November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

Performance (without visualization) 1 thread November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

Performance (without visualization) 8 threads November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

INFOMCRWS: UU Crowd Simulation Software DLL / Plug-in We built a DLL for our software API with ~50 functions (C) Environment modelling Simulation setup Simulation: add/remove characters, set goals, ... Unity plug-in C# wrapper around API functions Grouped into logical objects (Unity scripts) GUI November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

INFOMCRWS: UU Crowd Simulation Software Update in development Different version of the simulation loop DLL still does most of the simulation, except updating the positions DLL sends velocities to Unity Unity computes new positions You can apply physics there Higher framerate than our framework Unity sends positions back to DLL Available soon Hopefully late November / early December November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

INFOMCRWS: UU Crowd Simulation Software Your turn November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

INFOMCRWS: UU Crowd Simulation Software Assignment 2 Create a game in Unity that uses our crowd simulation software as a plug-in Solve at least one problem you’ve seen in Assignment 1 Write a report about your solutions Bonus points if the game is original, fun, etc. Also an experiment for us! November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

INFOMCRWS: UU Crowd Simulation Software Things to keep in mind DLL uses a slow version of dynamic updates Faster method is not yet robust enough Don’t use “removable obstacle” for fast-moving things Recommended to use 2D environments A single layer, everything visible from above Height differences are OK Unity does not like multi-threading very much Manually set the number of available threads? November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

INFOMCRWS: UU Crowd Simulation Software Getting started Install Unity 5.x (if you already have Unity 2017, that’s probably OK) Sign EULA Clone our git repository Unity project with scripts and UUCS DLL Follow the tutorial Mostly GUI-related Bonus challenges, useful for Assignment 2 November 23, 2018 INFOMCRWS: UU Crowd Simulation Software

INFOMCRWS: UU Crowd Simulation Software Extra sessions Support hours Wednesday 11.00-13.00 Nov 29, Dec 6, Dec 13, Dec 20, Jan 10, Jan 17 Locations: see website Mid-term session December 13, 11.00-13.00 Give a demo / progress report November 23, 2018 INFOMCRWS: UU Crowd Simulation Software