... | ... | @@ -3,19 +3,28 @@ |
|
|
|
|
|
## Introduction
|
|
|
|
|
|
[UMANS](https://project.inria.fr/crowdscience/project/ocsr/umans/) (short for Unified Microscopic Agent Navigation Simulator) is an easy to use crowd simulation engine that focuses on the local (a.k.a. "microscopic") aspects of navigation.
|
|
|
[UMANS](https://project.inria.fr/crowdscience/project/ocsr/umans/) (short for Unified Microscopic Agent Navigation Simulator) is an easy to use crowd-simulation engine that focuses on the local (a.k.a. "microscopic") 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](https://project.inria.fr/crowdscience/project/ocsr/)" refers to the collective of open crowd-simulation resources developed at Inria Rennes. These resources include UMANS (a simulation engine) and [ChAOS](https://project.inria.fr/crowdscience/project/ocsr/chaos/) (a visualization application).
|
|
|
|
|
|
## Should you use UMANS ?
|
|
|
UMANS is aimed to be used by scientific community, without any specific programming knowledges.
|
|
|
With UMANS, you can generate the trajectory of each agent of a crowd: it can reproduce many types of local algorithms using a single general principle, which allows you to compare classical algorithms of crowd simulation.
|
|
|
The environment and goals are voluntarily kept simple, to focus on local interactions between agents.
|
|
|
UMANS **does not** implement global path planning.
|
|
|
With UMANS, you can use many different cost functions and change their parameters as you wish.
|
|
|
You can also create your own cost functions thanks to a generic architecture.
|
|
|
You can also play with different optimisation methods, and create your own optimisation method.
|
|
|
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?
|
|
|
|
|
|
* **Run a crowd simulation:** Given a scenario file containing agents and their properties, UMANS can output the trajectories of all agents during a period of time. These trajectories can then be loaded into other applications for visualization or analysis.
|
|
|
* **Basic visualization:** You can use the *UMANS-GUI* application for a simple 2D visualization of a scenario.
|
|
|
* **Model many kinds of behavior:** A scenario file should define the so-called *policies* that agents use for local navigation.
|
|
|
Overall, a policy consists of a cost function (possibly with parameters) and an optimization method.
|
|
|
You can mix and match these elements as you wish. No programming knowledge is required for this.
|
|
|
* **Support new behavior:** If you are a programmer, you can clone the UMANS repository and *add your own cost functions* (and/or optimization methods), to add new types of behavior to the system. Adding new cost functions is easy thanks to the software's architecture.
|
|
|
|
|
|
## What can UMANS *not* do?
|
|
|
|
|
|
* **Global path planning:** The UMANS library deliberately focuses on *local navigation only*, i.e. the local interactions between agents.
|
|
|
The simulation environment may contain static obstacles, but the agents in UMANS *do not* plan a global path.
|
|
|
* **Fancy visualization:** UMANS focuses on the simulation itself. For nice 3D animations of a crowd, consider using separate programs such as [ChAOS](https://project.inria.fr/crowdscience/project/ocsr/chaos/).
|
|
|
|
|
|
---------
|
|
|
## Getting Started
|
... | ... | |