amiryanj / UMANS

Unified Microscopic Agent Navigation Simulator: A crowd-simulation engine that captures many local microscopic simulation algorithms in a single framework
GNU General Public License v3.0
4 stars 2 forks source link

UMANS (Unified Microscopic Agent Navigation Simulator)

UMANS (short for Unified Microscopic Agent Navigation Simulator) is an easy-to-use crowd-simulation engine that models each person in the crowd as an intelligent agent (i.e., the simulation is "microscopic"). UMANS currently focuses on the local aspects of navigation.

Many algorithms for microscopic crowd simulation have been developed over the past decades. However, each implementation has its own settings and details that can greatly influence the results. The purpose of UMANS is to reproduce as many existing algorithms as possible via one principle, while unifying as many overall settings as possible. This allows for a more honest and meaningful comparison of simulation algorithms.

UMANS was previously known as OCSR (Open Crowd Simulation Resources). Some parts of the project may still use this old name. Since 2020, the term "OCSR" refers to the collective of open crowd-simulation resources developed at Inria Rennes. These resources include UMANS (a simulation engine) and ChAOS (a visualization application).

UMANS is primarily meant for the scientific community, as a unified tool for experimenting with different navigation algorithms. However, the tool can be used freely by everyone, and it does not require any programming knowledge.

What can UMANS do?

What can UMANS not do?

Reference

The UMANS software has been described in the following scientific publication:

Wouter van Toll, Fabien Grzeskowiak, Axel López, Javad Amirian, Florian Berton, Julien Bruneau, Beatriz Cabrero Daniel, Alberto Jovane, Julien Pettré.

"Generalized Microscopic Crowd Simulation using Costs in Velocity Space".

In ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, 2020.

Please cite this publication when referring to UMANS in your work.

Wiki and documentation

The UMANS repository comes with a Wiki that helps you install and use the UMANS software. It contains the following pages:

Also, most of the source code of UMANS has been carefully documented in a style compatible with Doxygen. This documentation is mostly meant for developers who intend to use/extend the UMANS codebase itself. The Doxygen documentation also facilitates development in an IDE such as Visual Studio. If you run the Doxygen program on the UMANS root folder, it wil generate a html folder with all documentation pages. (This folder is not part of the repository on purpose.)

Third-party code / licenses

UMANS relies on the following third-party code:

Qt

nanoflann (kd-trees)

tinyxml (XML parsing)

ORCA (one of the collision-avoidance algorithms in UMANS)

earcut (Polygon triangulation)

Copyright statement

UMANS: Unified Microscopic Agent Navigation Simulator

Copyright (C) 2018-2020 Inria Rennes Bretagne Atlantique - Rainbow - Julien Pettré

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Contact: crowd_group@inria.fr

Website: https://project.inria.fr/crowdscience/

See the file AUTHORS.md for a list of all contributors.