[ros-users] [Discourse.ros.org] [General] Introducting BehaviorTrees.CPP (who needs Finite State Machines anymore?)

Davide Faconti ros.discourse at gmail.com
Tue Nov 20 15:16:23 UTC 2018

Dear roboticists,

I would like to share with you our new libraries that can help you greate robot Behaviors.

Behavior Trees are similar to Hierarchical Finite State Machines, but they are more intuitive and maintainable.

[BehaviorTree.CPP](https://github.com/BehaviorTree/BehaviorTree.CPP) is a C++ library to develop reactive Behavior Trees. 

It is embeddable in your own node and the creation of a Bt Executer requires only few lines of codes.

Trees can be loaded at run-time without recompiling your application, since their definition is stored in a user friendly and easy to read XML format.

Read introduction and tutorials [here](https://behaviortree.github.io/BehaviorTree.CPP/).

Additionally, you can start playing around with the preliminary release of [Groot](https://github.com/BehaviorTree/Groot) the graphical user-interface that allows you to create. edit, monitor and replay the execution of BehaviorTrees.


Both **these tools are middleware independent by design**, i.e. they do not depend on ROS.

On the other hand, it is trivial to use them together with ROS using Topic, Services and Actions.

We will soon release a ROS specific example.


Davide Faconti

## Acknowledgment

This software was created as part of the project  [MOOD2Be](https://eurecat.org/es/portfolio-items/mood2be/), and it is developed at [Eurecat](https://eurecat.org).

MOOD2Be is one of the six **Integrated Technical Projects (ITPs)** selected from the [RobMoSys first open call](https://robmosys.eu/itp/) . It received funding from the European Unions Horizon 2020 Research and Innovation Programme under the RobMoSys project.


[Visit Topic](https://discourse.ros.org/t/introducting-behaviortrees-cpp-who-needs-finite-state-machines-anymore/6899/1) or reply to this email to respond.

More information about the ros-users mailing list