Skip to Content
Report an accessibility problem
Engineering  |  Interactive Robotics Laboratory

Bayesian Interaction Primitives

IntPrim is a library for learning interaction primitives [Ben Amor et al., 2014] for human-robot interaction (HRI) from human-human demonstrations. The library implements the recently introduced Bayesian Interaction Primitives (BIP) [Campbell and Ben Amor, 2017] method and allows for fast learning, inference, and prediction during HRI scenarios. Instead of programming a robot response to observed human behavior, you can use IntPrim to learn and generalize responses from example interaction data. For an in-depth discussion of BIP, please refer to the paper, slides or video to the right.

Temporal Robustness

A demonstration of the temporal robustness of BIP can be seen to the right. The green trajectory shows the ‘mean’ trajectory generated from the weights of the training demonstrations. A partially observed trajectory, shown in blue, is incrementally given to the trained BIP instance from which a response trajectory, shown in red, is generated. In order to simulate a human-robot interaction scenario, only one degree of freedom — the Y coordinate — is given to the BIP instance during inference while both the X and Y degrees of freedom are generated from the conditional distribution in response. In this particular instance, the partial trajectory is 20% slower than the training trajectories and this can be seen by the initial overlap in the observed trajectory and the generated response trajectory. However, SLAM localization soon corrects for this and the correct phase estimate is achieved by ~25% visibility. It should be noted that the gap between the observed trajectory and the generated trajectory at the tail end of the loop is due an accumulation of errors in the phase velocity, as it is no longer meaningfully updated since the observed Y degree of freedom is relatively static.

Spatial Robustness

A demonstration of the spatial robustness of BIP can be seen to the right. The green trajectory shows the ‘mean’ trajectory generated from the weights of the training demonstrations. A partially observed trajectory, shown in blue, is gradually distorted by noise while it can be seen that the generated response trajectory, shown in red, does not show significant errors as a result, thus exhibiting spatial robustness.

Code

You can download the code from the link below. The documentation can also be found the the related git repository.

Download: https://github.com/ir-lab/intprim

Authors: Joseph Campbell (jacampb1@asu.edu) and Simon Stepputtis (sstepput@asu.edu)

Cite: If you use this library, please use this citation:
    @InProceedings{campbell17a,
        title = {Bayesian Interaction Primitives: A SLAM Approach to Human-Robot Interaction},
        author = {Joseph Campbell and Heni Ben Amor},
        booktitle = {Proceedings of the 1st Annual Conference on Robot Learning},
        pages = {379–387},
        year = {2017},
        editor = {Sergey Levine and Vincent Vanhoucke and Ken Goldberg},
        volume = {78},
        series = {Proceedings of Machine Learning Research},
        address = {},
        month = {13–15 Nov},
        publisher = {PMLR},
        pdf = {http://proceedings.mlr.press/v78/campbell17a/campbell17a.pdf},
        url = {http://proceedings.mlr.press/v78/campbell17a.html}
    }