82 research outputs found
Behavior Trees in Robotics and AI: An Introduction
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
Adding Neural Network Controllers to Behavior Trees without Destroying Performance Guarantees
In this paper, we show how Behavior Trees that have performance guarantees,
in terms of safety and goal convergence, can be extended with components that
were designed using machine learning, without destroying those performance
guarantees.
Machine learning approaches such as reinforcement learning or learning from
demonstration can be very appealing to AI designers that want efficient and
realistic behaviors in their agents. However, those algorithms seldom provide
guarantees for solving the given task in all different situations while keeping
the agent safe. Instead, such guarantees are often easier to find for manually
designed model based approaches. In this paper we exploit the modularity of
Behavior trees to extend a given design with an efficient, but possibly
unreliable, machine learning component in a way that preserves the guarantees.
The approach is illustrated with an inverted pendulum example.Comment: Submitted to IEEE Transactions on Game
Improving the performance of Learned Controllers in Behavior Trees using Value Function Estimates at Switching Boundaries
Behavior trees represent a modular way to create an overall controller from a
set of sub-controllers solving different sub-problems. These sub-controllers
can be created in different ways, such as classical model based control or
reinforcement learning (RL). If each sub-controller satisfies the preconditions
of the next sub-controller, the overall controller will achieve the overall
goal. However, even if all sub-controllers are locally optimal in achieving the
preconditions of the next, with respect to some performance metric such as
completion time, the overall controller might be far from optimal with respect
to the same performance metric. In this paper we show how the performance of
the overall controller can be improved if we use approximations of value
functions to inform the design of a sub-controller of the needs of the next
one. We also show how, under certain assumptions, this leads to a globally
optimal controller when the process is executed on all sub-controllers.
Finally, this result also holds when some of the sub-controllers are already
given, i.e., if we are constrained to use some existing sub-controllers the
overall controller will be globally optimal given this constraint
An Extended Convergence Result for Behaviour Tree Controllers
Behavior trees (BTs) are an optimally modular framework to assemble
hierarchical hybrid control policies from a set of low-level control policies
using a tree structure. Many robotic tasks are naturally decomposed into a
hierarchy of control tasks, and modularity is a well-known tool for handling
complexity, therefor behavior trees have garnered widespread usage in the
robotics community. In this paper, we study the convergence of BTs, in the
sense of reaching a desired part of the state space. Earlier results on BT
convergence were often tailored to specific families of BTs, created using
different design principles. The results of this paper generalize the earlier
results and also include new cases of cyclic switching not covered in the
literature.Comment: Submitted to the IEEE Transactions on Robotics (T-RO
Synthesis of correct-by-construction behavior trees
In this paper we study the problem of synthesizing correct-by-construction Behavior Trees (BTs) controlling agents in adversarial environments. The proposed approach combines the modularity and reactivity of BTs with the formal guarantees of Linear Temporal Logic (LTL) methods. Given a set of admissible environment specifications, an agent model in form of a Finite Transition System and the desired task in form of an LTL formula, we synthesize a BT in polynomial time, that is guaranteed to correctly execute the desired task. To illustrate the approach, we present three examples of increasing complexity
- …