Simulating pedestrians with state of the art models.
The Jülich Pedestrian Simulator (JuPedSim) consists of three modules which are loosely
coupled and can be used independently at the moment. These are:
jpscore: the core module computing the trajectories. See list of implemented models.
jpsreport: a tool for analyzing the trajectories and validating the
model. It implements a couple of measurement methods including the Voronoi-method for calculating the density.
jpsvis: a tool for visualizing the input (geometry) and output (trajectories) data.
jpseditor: a tool for creating and editing geometry files with dxf import/export capabilities.
- A compiler with support for C++11 e.g. g++ or clang or Visual Studio 2013
- Boost library
jpsvis come with Windows executables and
dmg-files for Mac users.
Therefore, a compilation of these two packages may not be needed.
git clone https://github.com/JuPedSim/JuPedSim.git cd JuPedSim git submodule update --init --recursive # this is VERY important, otherwise the submodules will be empty make -f Makefile.cmake check
CMake will eventually report any missing packages. Please fix these errors/warnings first before proceeding with the compilation of
make -f Makefile.cmake check release
How to use JuPedSim's Docker images
JuPedSim offers also up to date Docker images. For these who wonder what the Docker is, here is what Docker.io says:
Docker is an open-source project to easily create lightweight, portable, self-sufficient containers
from any application.
The same container that a developer builds and tests on a laptop can run at scale, in production,
on VMs, bare metal, OpenStack clusters, public clouds and more.
Basically, we package
JuPedSim and all its dependencies in a lightweight image, which can just used without any hassle.
For Linux systems please check this excellent blog:
Running GUI apps with Docker
socat to expose local xquartz socket on a TCP port:
socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"
Then in a new window pass the
DISPLAY with your own IP-address to the container by running
docker run -it -e DISPLAY=YOUR_IP:0 -v /some/host/folder/:/tmp jupedsim/jupedsim
See also this issue
This will mount
/some/host/folder in docker's
/tmp, which is useful to exchange data between your machine and the docker container.
There seems to be an issue after updating XQuartz:
libGL error: failed to load driver: swrast
Downgrading to 2.7.8 solves the problem.
Note: You can get you IP by typing in the terminal
Works only with Windows 10.
@todo: How? need someone with a windows machine to check this.
Showcase and tutorials
To highlight some features of
JuPedSim we have uploaded some videos and tutorials on
our YouTube channel.
Repository and tests
- GitLab repository. Please consider cloning the code there.
JuPedSim is at the moment validated using the RiMEA Testcases.
Also it is still undergoing an extensive unit-testing.
Validation of the implemented models with respect to experimental data is planned, but only partially implemented.