Behavior Trees (BTs) provide a way to structure the behavior of an artificial agent such as a robot or a non-player character in a computer game. Traditional design methods, such as finite state machines, are known to produce brittle behaviors when complexity increases, making it very hard to add features without breaking existing functionality. BTs were created to address this very problem, and enables the creation of systems that are both modular and reactive. Behavior Trees in Robotics and AI: An Introduction provides a broad introduction as well as an in-depth exploration of the topic, and is the first comprehensive book on the use of BTs.
This book introduces the subject of BTs from simple topics, such as semantics and design principles, to complex topics, such as learning and task planning. For each topic, the authors provide a set of examples, ranging from simple illustrations to realistic complex behaviors, to enable the reader to successfully combine theory with practice.
Starting with an introduction to BTs, the book then describes how BTs relate to, and in many cases, generalize earlier switching structures, or control architectures. These ideas are then used as a foundation for a set of efficient and easy to use design principles. The book then presents a set of important extensions and provides a set of tools for formally analyzing these extensions using a state space formulation of BTs.
With the new analysis tools, the book then formalizes the descriptions of how BTs generalize earlier approaches and shows how BTs can be automatically generated using planning and learning. The final part of the book provides 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.
This book targets a broad audience, including both students and professionals interested in modeling complex behaviors for robots, game characters, or other AI agents. Readers can choose at which depth and pace they want to learn the subject, depending on their needs and background.
Table of Contents
1. What are Behavior Trees? 2. How Behavior Trees Generalize and Relate to Earlier Ideas 3. Design principles 4. Extensions of Behavior Trees 5. Analysis of Efficiency, Safety, and Robustness 6. Formal Analysis of How Behavior Trees Generalize Earlier Ideas 7. Behavior Trees and Automated Planning 8. Behavior Trees and Machine Learning 9. Stochastic Behavior Trees 10. Concluding Remarks
Michele Colledanchise is currently a postdoctoral researcher in the iCub Facility at the Italian Institute of Technology, Genoa, Italy. He received his Ph.D. degree in computer science from the Royal Institute of Technology (KTH), Stockholm, Sweden, in 2017. In the spring of 2016, he visited the Control and Dynamical Systems, Californa Institute of Technology (Caltech), Pasadena, CA. His research interests include control systems, system architectures, and automated planning, with a strong focus on robotic applications.
Petter Ögren was born in Stockholm, Sweden, in 1974. He received theM.S. degree in engineering physics and the Ph.D. degree in applied mathematics from the Royal Institute of Technology (KTH), Stockholm, Sweden, in 1998 and 2003, respectively. In the fall of 2001, he visited the Mechanical Engineering Department, Princeton University, Princeton, NJ. From 2003 to 2012 he worked as a senior scientist and deputy research director in Autonomous Systems at the Swedish Defence Research Agency (FOI). He is currently an Associate Professor at the Robotics, Perception and Learning lab (RPL) at KTH. His research interests include robot control architectures and multi-agent coordination.