Table of Contents
Fetching ...

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.

Distributed Behavior Trees for Heterogeneous Robot Teams

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.
Paper Structure (12 sections, 13 equations, 10 figures, 2 tables, 1 algorithm)

This paper contains 12 sections, 13 equations, 10 figures, 2 tables, 1 algorithm.

Figures (10)

  • Figure 1: used for the multirobot experiment using the proposed architecture. The open door subtree is pushed behind a shovable decorator, marking it as a part for possible remote execution. The data wirings are transparently forwarded.
  • Figure 2: Example of a simple -- the top-most node is the root. The tree first checks whether Have Ball? is true. If so, the Fallback succeeds and the rest of the tree is not executed. If not, the Sequence executes its children Detect Ball and Pick Up Ball, succeeding if both succeed, and failing otherwise.
  • Figure 3: The possible State transitions when applying an Action to a Node. For added clarity, the States succeeded, failed and running have been combined.
  • Figure 4: A Behavior Tree that will try to detect either a red or a green ball, and then proceed to pick up whichever one was detected.
  • Figure 5: The Behavior Tree from figure \ref{['fig:concept-bt-example-2']}, modified to use parameterized Nodes instead of specialized ones.
  • ...and 5 more figures

Theorems & Definitions (23)

  • Definition 1: Node
  • Definition 2: Node Classes
  • Definition 3: BT
  • Definition 4: Root of a
  • Definition 5: Relations
  • Definition 6: Data Graph
  • Definition 7: World State
  • Definition 8: Nearby Robots
  • Definition 9: Environment
  • Definition 10: Subtree
  • ...and 13 more