-
Notifications
You must be signed in to change notification settings - Fork 7
home
Hello and welcome to the world of tomorrow. Behavior trees are loved by everybody and solve many problems.
This implementation of Behavior trees was primarily done by Nils Berg in his thesis Distributed Execution of Behavior Trees using Heterogeneous Robot Teams. It was then improved and heavily upgraded by Kai-Uwe Hermann with his thesis On-Line task allocation in an ad-hoc network of complex robots and with ongoing fixes and upgraded. These works and the capability concept are part of Georg Heppners ongoing PhD Thesis Capability based Cooperation of Heterogeneous Robot Teams.
The Library was created to fulfill some requirements that other Libraries could not offer (at the time of creation). In particular the Library was created with the following goals in mind:
- Fully ROS compatible
- Mission control for Robots, meaning long runing processes
- Possiblity to distribute it among multiple robots to enable cooperation in robot Teams
- Extendible, understandable and typesafe implementation
It is meant as a high level control option similar to SMACH or FlexBE
Behavior Trees are awesome and can make your life so much easier. Especially with this Library. But how to use this BT Lib to do amazing things? Follow the Tutorial in this Wiki to learn about the BTs potential:
- Setup and Overview
- Creating your first behavior tree
- Create a Package for your behaviors
- Writing a Node
- Writing a Tree that uses ROS
- How not to create BTs and inheritance
- Using OptionRefs
- OptionWirings
- Parameterizing the ros_bt_py launchfile
- Controlling tree execution via service calls / launch file
- Migrations
- Subtrees
Work in Progress. If you want to contribute: A set of common "Design Patterns" and best practices would be very Welcome
The ros_bt_py library is used in various FZI Projects but also more and more external users.Please list possible forks, extensions or simply projects you want to make public here:
- AuRorA
- CyberProtect
- intelliRISK
- FZI NavPi
- SHOP4CF
- ... and hopefully YOUR next project ;)