Improving the Parallel Execution of Behavior Trees

09/13/2018
by   Michele Colledanchise, et al.
0

Behavior Trees (BTs) have become a popular framework for designing controllers of autonomous agents in the computer game and in the robotics industry. One of the key advantages of BTs lies in their modularity, where independent modules can be composed to create more complex ones. In the classical formulation of BTs, modules can be composed using one of the three operators: Sequence, Fallback, and Parallel. The Parallel operator is rarely used despite its strong potential against other control architectures as Finite State Machines. This is due to the fact that concurrent actions may lead to unexpected problems similar to the ones experienced in concurrent programming. In this paper, we introduce Concurrent BTs (CBTs) as a generalization of BTs in which we introduce the notions of progress and resource usage. We show how CBTs allow safe concurrent executions of actions and we analyze the approach from a mathematical standpoint. To illustrate the use of CBTs, we provide a set of use cases in robotics scenarios.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/05/2019

Analysis and Exploitation of Synchronized Parallel Executions in Behavior Trees

Behavior Trees (BTs) are becoming a popular tool to model the behaviors ...
research
10/22/2021

Handling Concurrency in Behavior Trees

This paper addresses the concurrency issues affecting Behavior Trees (BT...
research
06/19/2019

Solving Multiagent Planning Problems with Concurrent Conditional Effects

In this work we present a novel approach to solving concurrent multiagen...
research
01/25/2022

Concurrent NetKAT: Modeling and analyzing stateful, concurrent networks

We introduce Concurrent NetKAT (CNetKAT), an extension of NetKAT with op...
research
06/06/2017

Specifying Transaction Control to Serialize Concurrent Program Executions

We define a programming language independent transaction controller and ...
research
03/06/2013

Causality in concurrent systems

Concurrent systems identify systems, either software, hardware or even b...
research
08/31/2017

Behavior Trees in Robotics and AI: An Introduction

A Behavior Tree (BT) is a way to structure the switching between differe...

Please sign up or login with your details

Forgot password? Click here to reset