Behavior Trees in Robotics and AI: An Introduction
It provides foundational principles for designing and analyzing BTs, which are crucial for applications in robotics and AI, but is incremental as it builds on existing switching structures.
The paper introduces Behavior Trees (BTs) as a modular and reactive structure for task switching in autonomous agents, such as robots, and develops formal analysis tools to evaluate properties like safety, robustness, and efficiency, including extensions for stochastic BTs to compute success probabilities and completion times.
A Behavior Tree (BT) is a way to structure the switching between different tasks in an autonomous agent, such as a robot or a virtual entity in a computer game. BTs are a very efficient way of creating complex systems that are both modular and reactive. These properties are crucial in many applications, which has led to the spread of BT from computer game programming to many branches of AI and Robotics. In this book, we will first give an introduction to BTs, then we describe how BTs relate to, and in many cases generalize, earlier switching structures. These ideas are then used as a foundation for a set of efficient and easy to use design principles. Properties such as safety, robustness, and efficiency are important for an autonomous system, and we describe a set of tools for formally analyzing these using a state space description of BTs. With the new analysis tools, we can formalize the descriptions of how BTs generalize earlier approaches. We also show the use of BTs in automated planning and machine learning. Finally, we describe an extended set of tools to capture the behavior of Stochastic BTs, where the outcomes of actions are described by probabilities. These tools enable the computation of both success probabilities and time to completion.