A Survey of Behavior Trees in Robotics and AI