The HBP Neurorobotics Project consists of numerous repositories, which contain the NRP code base, patches to the third-party libraries and software, 3D models, template experiments, settings and service applications. Mainly these repositories are stored in Bitbucket. Some of them are private and are available only for core developers. The others are public and you can contribute to the development of the NRP, having cloned them to your workspace and creating the pull request with your changes afterwards.
Below you can find a short description of these repositories.
Here the module
hbp_nrp_cle is implemented. The Closed Loop Engine is the middle-ware putting all the pieces of the Neurorobotics Platform together on the server. In particular, it is connecting Gazebo and NEST through our Transfer Functions mechanism.
This repository is implementing the backend side of the NRP through
hbp_nrp_watchdog modules. REST calls and back office logic are handling user request to set up a new simulation. It is also handling the simulation live flow using states.
For the following reference use
and dedicated tutorials.
JS project. This repository implements the experiment designer’s graphical editor.
ROS packages project. The gazebo ROS packages and plugins that we use in the NRP.
This repository holds all NRP template models: robots, environments, brains, and their respective XSD schemas.
C++ project. MUSIC is a brain simulator communication library that we might use for brain distribution, but not yet. This is a modified fork of the official repository.
C++ project. Mvapich2 is the MPI implementation we use for the distributed BrainSimulation. This is a modified fork of the official repository.
This is a meta-repository holding the installation documentation to the Neurorobotics Platform source repositories and the changelogs. The corresponding installation instructions can be found in the current guides as well.
TypeScript project. The NRP Backend Proxy is handling backend server management for the clients, passing initial calls over. It is also acting as a storage server, handling user experiments and models persistence. Look at the developers page for this repository.
C++ project. Opensim is used by Gazebo to simulate muscles. This is modified fork from the official opensim repository.
C++ project. Retina is a library used in experiments with retina-based vision (ICubs for example). It is optional.
C++ project. Simbody is used by Gazebo to provide the physics layer for opensim. This is a modified fork from the official repository.