  In collaborative robotic cells, a human operator and a robot share the
workspace in order to execute a common job, consisting of a set of tasks. A
proper allocation and scheduling of the tasks for the human and for the robot
is crucial for achieving an efficient human-robot collaboration. In order to
deal with the dynamic and unpredictable behavior of the human and for allowing
the human and the robot to negotiate about the tasks to be executed, a two
layers architecture for solving the task allocation and scheduling problem is
proposed. The first layer optimally solves the task allocation problem
considering nominal execution times. The second layer, which is reactive,
adapts online the sequence of tasks to be executed by the robot considering
deviations from the nominal behaviors and requests coming from the human and
from robot. The proposed architecture is experimentally validated on a
collaborative assembly job.
