Behavior Optimization and Learning for Robots

BOLeRo provides tools to learn behaviors for robots. That includes behavior representations as well as reinforcement learning, black-box optimization, and 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).
Keywords: Machine Learning, Evolutionary Computation, Behavior Learning, Optimization
Status: active
Operating system: Linux, MacOS, Windows
Programming languages: C++, Python
Licence: GPL
Ownership: This software was originally developed by the DFKI as well as by the Robotics Research Group and the University of Bremen. Now this software is also being developed by third parties. For questions and suggestions, please refer to the contact persons.

Software description

The goal of BOLeRo is to easily combine behavior learning algorithms with learning problems. In order to do that, BOLeRo provides learning algorithms (behavior search), behaviors, test environments and optimizers.

The whole communication between a behavior and an environment is done by real vectors. That includes the actions a behavior wants to perform and the sensory information generated by an environment.

The Environment defines the problem we try to solve. It encapsulates everything that happens outside of the behavior learning algorithm, that is
  • it interprets and executes the actions
  • there can be safety mechanisms integrated that limit velocities or accelerations or avoid collisions
  • it perceives and interprets the state of the system, that is the real environment and the agent (for example a robot) itself
  • it generates the feedback for the learning algorithm
The Behavior Search tries to find a Behavior that optimally solves the problem posed by the Environment. The Behavior gets inputs from the Environment and its outputs are fed back into the Environment in order to solve the problem at hand. Behavior searches often need to optimize some parameters of the Behavior. This can be done by several algorithms that are implemented in BOLeRo.


Team: Team VII - Sustained Interaction & Learning
Application Field: Space Robotics
Related Projects: BesMan
Behaviors for Mobile Manipulation (05.2012- 07.2016)
Cognitively enhanced robot for flexible manufacturing of metal and composite parts (10.2016- 09.2019)
Learning Intelligent Motions for Kinematically Complex Robots for Exploration in Space (05.2012- 04.2016)
Related Robots: AILA
Mobile Dual-Arm-Manipulation
iStruct Demonstrator
Compliant Robot Arm
Sponsor: Federal Ministry of Economics and Technology
Grant number: 50 RA 1216, 50 RA 1217, 50 RA 1218, 50 RA 1219
last updated 03.01.2017
to top