Running the Backend¶
Running on a local machine¶
This is a step-by-step description for running the backend for the case that the backend is locally installed on developer a machine.
Make sure you installed everything according to Installation
Start the required software components such as
roscore
, the backend server and thegazebo
server. This can all be done using therunbackend
script as decribed in Installation or manually by:Start a roscore:
roscore
Start the backend server (in a different terminal window):
python $HBP/ExDBackend/hbp_nrp_backend/hbp_nrp_backend/runserver.py
This will start the backend server running on 127.0.0.1:5000. If you wish to run the server on another port, you have to provide another argument
python $HBP/ExDBackend/hbp_nrp_backend/hbp_nrp_backend/runserver.py 9000
Start the ROSCLESimulationFactory, a ROS service needed by the backend to start an instance of the CLE
python $HBP/CLE/hbp_nrp_cle/hbp_nrp_cle/cle/ROSCLESimulationFactory.py
Start the Gazebo server. Be careful that our patched Gazebo plugin is loaded instead of the default one.
source $HBP/GazeboRosPackages/devel/setup.bash rosrun gazebo_ros gzserver
Start a Gazebo client if you wish to view the results on your machine (not required when using the Frontend)
rosrun gazebo_ros gzclient
Load an experiment. The experiment configuration is the path to your experiment relative to $NRP_MODELS_DIRECTORY or your current folder if the first is not set
curl -X POST 127.0.0.1:5000/simulation -d '{"experimentID":"cloned_experiment_id"}'
Building the documentation¶
Note
The following options are available only for the core developers, who has writing access rights to the repositories and installed the NRP in developer mode: NRP_INSTALL_MODE=dev
.
General documentation and Python API¶
The documentation and Python API (the pages you are currently reading) is created and can be read by calling
cd $EXDB/doc
make html
firefox build/html/index.html
Swagger API¶
Swagger is a standard to documenting services offered by restful application server. The documentation is available once the server is running (see Running the Backend) under this address.
Running the unit test on a local machine¶
Note
The following options are available only for the core developers, who has writing access rights to the repositories and installed the NRP in developer mode: NRP_INSTALL_MODE=dev
.
After downloading Installation of the NRP and its components, you can run linting checks of the NRP Backend and related modules.
In order to run linter-check, there is a dedicated script verify.sh
:
cd $HBP/ExDBackend
./verify.sh #make sure it is executable
In order to tests, there is a dedicated script run_tests.sh
:
cd $HBP/ExDBackend
./run_tests.sh #make sure it is executable