FlexBE helps you to create complex robot behaviors without the need for manually coding them. Based on basic capabilities, which interface standard functionality or your own system-specific features, state machines can easily be composed via the provided drag&drop editor. Afterwards, using the same graphical interface, execution can be started and monitored. Based on the concept of collaborative autonomy, the operator is able to influence the execution during runtime, e.g., by forcing transitions and the robot can request help or confirmation from the operator, if required. Even complete modification of the behavior's structure is possible during runtime.


Please refer to the FlexBE Homepage for an illustrative overview and further information.

FlexBE consists of the following ROS packages:

  • flexbe_behavior_engine: ROS stack consisting of all packages to define and run behaviors.

  • flexbe_app: ROS package to provide the user interface for editing and monitoring behaviors.

Refer to the respective sub-pages for more detailed information.


The software is available on github and can be checked out in your workspace by running:

git clone https://github.com/FlexBE/flexbe_behavior_engine.git

For instructions how to create your project specific behaviors repository based on FlexBE and how to install and configure the user interface, please refer to the homepage.


There are some tutorials that will help you to familiarize with FlexBE and learn to effectively use it.

Report a Bug

Use GitHub to report bugs or submit feature requests. [View active issues]

Wiki: flexbe (last edited 2023-05-18 17:07:10 by DavidConner)