documentation | jpscore | jpsreport | jpseditor | jpsvis | docker images | contribute
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.
- CMake
- A compiler with support for C++11 e.g. g++ or clang or Visual Studio 2013
- Boost library
- For
jpseditor
Qt - For
jpsvis
VTK - For
jpsreport
Polygon3
Note:
jpseditor
and jpsvis
come with Windows executables.
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 JuPedSim
with
make -f Makefile.cmake check release
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 be used without any hassle.
For Linux systems please check this excellent blog: Running GUI apps with Docker
start 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 ifconfig
.
Works only with Windows 10.
@todo: How? need someone with a windows machine to check this.
To highlight some features of JuPedSim
we have uploaded some videos and tutorials on
our YouTube channel.
- 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.