Distributed Behavior Trees for Heterogeneous Robot Teams
Georg Heppner, Nils Berg, David Oberacker, Niklas Spielbauer, Arne Roennau, Rüdiger Dillmann
TL;DR
The paper tackles coordinating heterogeneous robot teams by extending Behavior Trees to support distributed execution and dynamic task distribution. It introduces a formal BT framework with long-running asynchronous tasks, a data graph of strongly typed Parameters, and utility-based distribution, complemented by a Shoving/Slots mechanism for remote execution. Implemented as the open-source ros_bt_py library with a web GUI, the approach is demonstrated in multirobot simulations showing dynamic subtree relocation and data sharing across robots. The work enhances flexibility, reactivity, and scalability for real-world multi-robot missions by enabling cost-aware, cross-robot coordination within ROS environments.
Abstract
Heterogeneous Robot Teams can provide a wide range of capabilities and therefore significant benefits when handling a mission. However, they also require new approaches to capability and mission definition that are not only suitable to handle heterogeneous capabilities but furthermore allow a combination or distribution of them with a coherent representation that is not limiting the individual robot. Behavior Trees offer many of the required properties, are growing in popularity for robot control and have been proposed for multirobot coordination, but always as separate behavior tree, defined in advance and without consideration for a changing team. In this paper, we propose a new behavior tree approach that is capable to handle complex real world robotic missions and is geared towards a distributed execution by providing built in functionalities for cost calculation, subtree distribution and data wiring. We present a formal definition, its open source implementation as ros_bt_py library and experimental verification of its capabilities.
