Behavior Trees in Robotics and AI: An Introduction

@article{Colledanchise2017BehaviorTI,
  title={Behavior Trees in Robotics and AI: An Introduction},
  author={Michele Colledanchise and Petter {\"O}gren},
  journal={ArXiv},
  year={2017},
  volume={abs/1709.00084}
}
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 m ... 

Figures and Tables from this paper

Behavior trees in action: a study of robotics applications
TLDR
It is found that Behavior Trees are a pragmatic language, not fully specified, allowing projects to extend it even for just one model, and contributes a dataset of real-world behavior models, hoping to inspire the community to use and further develop this language, associated tools, and analysis techniques.
On the Implementation of Behavior Trees in Robotics
TLDR
Practical aspects in the adoption of BTs are outlined, the solutions proposed in open-source libraries used in robotics are overviewed, and how BTs fit in a robotic software architecture is shown.
Learning Behavior Trees with Genetic Programming in Unpredictable Environments
TLDR
It is shown that genetic programming can be effectively used to learn the structure of a behavior tree to solve a robotic task in an unpredictable environment, and that the learned BTs can solve the same task in a realistic simulator, converging without the need for task specific heuristics.
Behavior Trees as a Control Architecture in the Automatic Modular Design of Robot Swarms
Previous research has shown that automatically combining low-level behaviors into a probabilistic finite state machine produces control software that crosses the reality gap satisfactorily. In this
Learning of Behavior Trees for Autonomous Agents
TLDR
The proposed algorithm incrementally learns a switching structure, in terms of a BT, that is able to handle the situations encountered and uses the and–or analogy to limit the size of the resulting structure.
Improving the Parallel Execution of Behavior Trees
TLDR
This paper outlines how to tackle the aforementioned problem by introducing Concurrent BTs (CBTs) as a generalization of BTs in which the notions of progress and resource usage are included.
A Behavior Tree Designing Tool for Online Evaluation
TLDR
A novel tool for BTs design is presented that allows to create BTs and also to evaluate then without any external software, making it easy to check all possible behaviors during the design stage.
A principled analysis of Behavior Trees and their generalisations
TLDR
This paper analyzes how the principles behind Behavior Trees, an increasingly popular tree-structured control architecture, are applicable to the goals of transparent and reusable Artificial Intelligence (AI), and introduces a new class of control architectures called generalised BTs and shows how they can extend the applicability of BTs to some of the aforementioned challenging BT use-cases while preserving the BT principles.
Towards Blended Reactive Planning and Acting using Behavior Trees
TLDR
How a planning algorithm can be used to automatically create and update a Behavior Tree (BT), controlling a robot in a dynamic environment, based on the idea of back chaining is shown.
BT Expansion: a Sound and Complete Algorithm for Behavior Planning of Intelligent Robots with Behavior Trees
TLDR
BT expansion is proposed, an automated planning approach to building intelligent robot behaviors with BTs are proposed, and the state-space formulation of BTs is leveraged for the first time to synthesize BTs with a complete theoretical basis.
...
...

References

SHOWING 1-10 OF 75 REFERENCES
A Behavior Language for Story-Based Believable Agents
A behavior language is a reactive planning language, based on the Oz Project language Hap, designed specifically for authoring believable agents-characters that express rich personality, and that, in
How Behavior Trees generalize the Teleo-Reactive paradigm and And-Or-Trees
TLDR
It is shown that BTs generalize TRs as well as And-Or-Trees, even though the two concepts are quite different, which implies that many designs and theoretical results developed for TRs can be applied to BTs.
Learning of Behavior Trees for Autonomous Agents
TLDR
The proposed algorithm incrementally learns a switching structure, in terms of a BT, that is able to handle the situations encountered and uses the and–or analogy to limit the size of the resulting structure.
Towards Blended Reactive Planning and Acting using Behavior Trees
TLDR
How a planning algorithm can be used to automatically create and update a Behavior Tree (BT), controlling a robot in a dynamic environment, based on the idea of back chaining is shown.
A Framework for Constrained and Adaptive Behavior-Based Agents
TLDR
This paper proposes a framework that uses Reinforcement Learning nodes as part of Behavior Trees to address the problem of adding learning capabilities in constrained agents, and empirically shows that the learning nodes do not affect the execution of other nodes in the tree.
Reactive planning idioms for multi-scale game AI
TLDR
This work advocates reactive planning as a powerful technique for building multi-scale game AI and demonstrates that it enables the specification of complex, real-time agents in a unified agent architecture.
An Integrated Agent for Playing Real-Time Strategy Games
TLDR
Results are presented showing that incorporating expert high-level strategic knowledge allows the real-time strategy game AI agent to consistently defeat established scripted AI players.
How Behavior Trees Modularize Hybrid Control Systems and Generalize Sequential Behavior Compositions, the Subsumption Architecture, and Decision Trees
TLDR
This paper analyzes how the BT representation increases the modularity of an HDS and how key system properties are preserved over compositions of such systems, in terms of combining two BTs into a larger one.
Solving navigation tasks with learned Teleo-Reactive Programs
TLDR
It is shown how a robot can learn TRPs from human guided traces and the robot learns how to perform such task in similar dynamic environments.
Hierarchical task and motion planning in the now
In this paper we outline an approach to the integration of task planning and motion planning that has the following key properties: It is aggressively hierarchical; it makes choices and commits to
...
...