The application of robotic solutions to small-batch production is challenging: economical constraints tend to dramatically limit the time for setting up new batches. Organizing robot tasks into modular software components, called skills, and allowing the assignment of multiple concurrent tasks to a single robot is potentially game-changing. However, due to cycle time constraints, it may be necessary for a skill to take over without waiting on another to terminate, and the available literature lacks a systematic approach in this case. In the present article, we fill the gap by (a) establishing the specifications of skills that can be sequenced with partial executions, (b) proposing an implementation based on the combination of finite-state machines and behavior trees, and (c) demonstrating the benefits of such skills through extensive trials in the environment of ARIAC (Agile Robotics for Industrial Automation Competition).
In this paper, we present the design, simulation and experimental validation of a control architecture for a flying hand, i.e., a system made of an unmanned aerial vehicle, a robotic manipulator and a gripper, which is grasping an object fixed on a vertical wall. The goal of this work is to show that the overall control allows the flying hand to approach the wall, to dock on the object by means of the gripper, take the object and fly away. The control strategy has been implemented and validated in the simulated model and in experiments on the complete flying hand system.