Modeling Human-Robot Interaction with Probabilistic Movement Representations

Robots that can interact with humans represent a potential benefit to society. They may, among many other applications, help increasing the quality of life of motor impaired people. However, in order to assist humans in their daily lives, robots must be able to deal with dynamic environments and uncertainties in how they perceive and interact with the world. Those are still challenging and open problems in robotics. Humans can in general deal with changing environments and uncertainty much better than robots. For this reason, it is useful if robots can learn from human demonstrations. Probability theory offers effective tools to design and operate models that capture the uncertainty in the environment, including the interaction with a human partner. Therefore it is reasonable to model human-robot interactions with probabilistic movement representations. A recently introduced method to learn probabilistic interaction models from demonstrations is the framework of Interaction Primitives. Primitives are representations of elementary movements, usually in the form of trajectories. Primitives are essential for robot movement generation as they provide the building blocks from which more complex skills can be achieved. Interaction Primitives are elementary representations of the movements that two or more agents execute to achieve a task in a collaborative manner. So far the framework of Interaction Primitives has been limited to representing a single interaction pattern, i.e., an interaction that represents a single collaborative task. As it will be discussed in this work, a single interaction pattern can be modeled by a single multivariate Gaussian distribution and assumes linear correlation between interacting agents. In practice, however, interactions between a human and a robot can consist of many different patterns, allowing for large variability in shape and duration of trajectories. Multiple interaction patterns also mean nonlinear correlation between interacting agents. To overcome the limitations of the conventional Interaction Primitives, this work proposes a Mixture of Interaction Primitives to learn multiple interaction patterns from unlabeled demonstrations. Specifically the proposed method uses Gaussian Mixture Models of Interaction Primitives to model nonlinear correlations between the movements of the different agents. The proposed algorithm is validated with two experiments involving interactive tasks between a human and a lightweight robotic arm. In the first, the proposed method is compared with conventional Interaction Primitives in a toy problem scenario where the robot and the human are not linearly correlated. In the second, a proof-of-concept experiment is presented, where the robot assists a human in assembling a box. One of the aspects of the uncertainty in the interaction with humans is related to the fact that the execution of a human movement can have different velocity profiles. These changes occur not only from movement to movement, for example, by reaching a tool on a table multiple times at different speeds, but also within the same movement, for example, by moving the arm fast while far but decelerating when carefully grasping a glass full of water. Those changes and uncertainties in the velocity profiles must be addressed as they are essential to recognize the phase in which a human is executing the task. An algorithm to estimate online the phase, i.e., the stage of execution of a trajectory is also proposed. Online phase estimation allows the prediction of trajectories with different durations, as it is experimentally demonstrated in this work. It is reasonable to assume that this algorithm may play a important role in a future work on Human-Robot Interaction, since the necessary operations in the framework of Interaction Primitives for prediction of trajectories and inference of reactions are the same. As a final contribution, this work proposes a method to encode human trajectories, even when the different demonstrations are only partially provided. This is a problem that occurs frequently due to occlusions, noise or lack of sensor coverage during recordings of the demonstrations. Finally, future work where the proposed algorithm can be potentially extended to deal with complex relations between time and phase is discussed.