Analysis and Exploitation of Synchronized Parallel Executions in Behavior Trees
This work addresses concurrency issues in autonomous agents for computer games and robotics, offering incremental improvements in parallel execution.
The paper tackles concurrency problems in parallel compositions of Behavior Trees by defining synchronization techniques to improve behavior predictability, and it introduces performance measures validated through experiments on the R1 robot with statistically-significant data.
Behavior Trees (BTs) are becoming a popular tool to model the behaviors of autonomous agents in the computer game and the robotics industry. One of the key advantages of BTs lies in their composability, where complex behaviors can be built by composing simpler ones. The parallel composition is the one with the highest potential since the complexity of composing pre-existing behaviors in parallel is much lower than the one needed using classical control architectures as finite state machines. However, the parallel composition is rarely used due to the underlying concurrency problems that are similar to the ones faced in concurrent programming. In this paper, we define two synchronization techniques to tackle the concurrency problems in BTs compositions and we show how to exploit them to improve behavior predictability. Also, we introduce measures to assess execution performance, and we show how design choices can affect them. To illustrate the proposed framework, we provide a set of experiments using the R1 robot and we gather statistically-significant data.