A Minimalist Open Source Behavior Tree Framework in C++ - Silva, Gustavo L.; Maximo, Marcos R. O. A.; Pereira, Lourenço A. (Anais do Simpósio Brasileiro de Robótica e Simpósio Latino Americano de Robótica (SBR/LARS); 2021: Anais do XIII Simpósio Brasileiro de Robótica e XVIII Simpósio Latino Americano de Robótica, 2021)
Decision making is one of the most important topics in agent related environments, like video games and robotics competitions. Among many agent behavior architectures, behavior trees became the standard in the scientific and industrial community, due to their modular and extensible properties. In this work, we developed an open source behavior tree framework in C++. This framework benefits from the large experience our robotics team, ITAndroids, has using behavior trees in robot soccer competitions. Its implementation is minimalist, but easily extensible since we needed to accommodate requirements from different projects in our team. We also show tests and application examples of this framework. Despite being developed with robotics competitions in mind, we believe it may be easily integrated into many applications where intelligent agents are needed. We were able to create a simple, intuitive, and efficient structure, which can be easily implemented and extended.