  In this study, we propose task planning framework for multiple robots that
builds on a behavior tree (BT). BTs communicate with a data distribution
service (DDS) to send and receive data. Since the standard BT derived from one
root node with a single tick is unsuitable for multiple robots, a novel type of
BT action and improved nodes are proposed to control multiple robots through a
DDS asynchronously. To plan tasks for robots efficiently, a single task
planning unit is implemented with the proposed task types. The task planning
unit assigns tasks to each robot simultaneously through a single coalesced BT.
If any robot falls into a fault while performing its assigned task, another BT
embedded in the robot is executed; the robot enters the recovery mode in order
to overcome the fault. To perform this function, the action in the BT
corresponding to the task is defined as a variable, which is shared with the
DDS so that any action can be exchanged between the task planning unit and
robots. To show the feasibility of our framework in a real-world application,
three mobile robots were experimentally coordinated for them to travel
alternately to four goal positions by the proposed single task planning unit
via a DDS.
