  In this paper we provide a practical demonstration of how the modularity in a
Behavior Tree (BT) decreases the effort in programming a robot task when
compared to a Finite State Machine (FSM). In recent years the way to represent
a task plan to control an autonomous agent has been shifting from the standard
FSM towards BTs. Many works in the literature have highlighted and proven the
benefits of such design compared to standard approaches, especially in terms of
modularity, reactivity and human readability. However, these works have often
failed in providing a tangible comparison in the implementation of those
policies and the programming effort required to modify them. This is a relevant
aspect in many robotic applications, where the design choice is dictated both
by the robustness of the policy and by the time required to program it. In this
work, we compare backward chained BTs with a fault-tolerant design of FSMs by
evaluating the cost to modify them. We validate the analysis with a set of
experiments in a simulation environment where a mobile manipulator solves an
item fetching task.

Robotics