C++ Python C CMake Shell R Matlab
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Travis Status CircleCI Status


BOLeRo (Behavior Learning and Optimization for Robots) provides tools to learn behaviors for robots. It includes behavior representations as well as reinforcement learning, black-box optimization, evolutionary algorithms, and imitation learning. It provides a C++ and a Python interface to be efficient where this is required and to be flexible and convenient where performance is not an issue. Because the library provides a C++ interface, it is easy to integrate in most robotic frameworks, e.g. the robot operating system (ROS) or the robot construction kit (Rock).


On Ubuntu 16.04 and similar operating systems, you can install BOLeRo with

wget https://raw.githubusercontent.com/rock-learning/bolero/master/bootstrap_bolero.sh
chmod +x bootstrap_bolero.sh

The installation script will create a new folder bolero-dev that contains all sources and built binaries. If you want to use BOLeRo, you have to source the file env.sh:

source bolero-dev/env.sh

Detailed installation instructions (for other operating systems, with docker, etc.) can be found at the documentation.


The documentation is available here. It can be built in the directory doc/ with make. It will be located in doc/build/html/index.html. Building the documentation requires doxygen and sphinx.


BOLeRo contains the following directories:

  • benchmarks - contains benchmark scripts or scripts that reproduce results from scientific papers
  • bolero - contains the Python library
  • doc - contains the documentation
  • examples - contains examples that demonstrate how to use bolero
  • include - contains the header files that define the C++ interfaces
  • src - contains several C++ packages


BOLeRo is distributed under the 3-clause BSD license.