Execution Semantics of Behavior Trees in Robotic Applications
This work addresses a foundational issue for robotics researchers and developers by formalizing BTs to ensure consistent behavior across software implementations, though it is incremental as it builds on existing literature.
The paper tackles the lack of formal execution semantics in Behavior Trees (BTs) for robotics, which causes inconsistent behavior across implementations, by defining an abstract data type to formalize BT structure and execution, providing an unambiguous treatment of features.
Behavior Trees (BTs) have found a widespread adoption in robotics due to appealing features, their ease of use as a conceptual model of control policies and the availability of software tooling for BT-based design of control software. However, BTs don't have formal execution semantics and, furthermore, subtle differences among implementations can make the same model behave differently depending on the underlying software. This paper aims at defining the execution semantics of behavior trees (BTs) as used in robotics applications. To this purpose, we present an abstract data type that formalizes the structure and execution of BTs. While our formalization is inspired by existing contributions in the scientific literature and state-of-the art implementations, we strive to provide an unambiguous treatment of most features that find incomplete or inconsistent treatment across other works.