Skip to content

Commit 272b97f

Browse files
committed
v2.0 of IntPrim
1 parent 591fc00 commit 272b97f

File tree

219 files changed

+23961
-69896
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

219 files changed

+23961
-69896
lines changed

README.md

+64-23
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,73 @@
1-
# intprim
2-
The Interaction Primitives Python library from the Interactive Robotics Lab at Arizona State University.
1+
# IntPrim
2+
The IntPrim library is a Python implementation of Interaction Primitives from the Interactive Robotics Lab at Arizona State University.
3+
Interaction Primitives are a human-robot interaction (HRI) framework based on imitation learning.
4+
The objective of this framework is to extract the dynamics of an interaction from a set of example demonstrations, then use the dynamics to infer the future states of both the human and the robot.
5+
The primary purpose of this library is to enable training and inference using Bayesian Interaction Primitives, however, it also supports Probabilistic Movement Primitives and Particle Filters as a baseline for comparison.
36

4-
This library implements the Bayesian Interaction Primitives algorithm.
7+
![](docs/notebooks/media/examples_new.png?raw=true)
58

6-
## Installation
7-
To install this library, download the package and in the root directory run:
9+
This library has been successfully deployed in real-world HRI scenarios involving cooperative object manipulation, shaking hands, hugging, grasping, and more!
10+
A list of peer-reviewed publications that have utilized this library can be found below.
811

9-
python setup.py build_ext install --user
12+
## Features
1013

11-
By default, this will make use of the included cythonized .c files. The .pyx files are included so that the files can be changed and re-compiled, and a vanilla Python implementation is included as well.
14+
* Train a BIP model from demonstrations
15+
* Perform recursive inference with an Interaction Primitives model and generate future states
16+
* Support for inference with Ensemble Bayesian Interaction Primitives, Bayesian Interaction Primitives, Probabilistic Movement Primitives with DTW, and Particle Filter
17+
* Automatic basis space selection with support for Gaussian, Sigmoidal, and Polynomial functions
18+
* Automatic computation of the observation noise
19+
* Comprehensive interactive analysis tools
1220

13-
## Usage
14-
To run the included examples, in a Python environment run:
21+
![](docs/notebooks/media/analysis_example.gif?raw=true)
1522

16-
```python
17-
import intprim as ip
18-
import intprim.examples
23+
## Tutorials and Documentation
1924

20-
ip.examples.minimal()
21-
ip.examples.spatial_robustness()
22-
ip.examples.temporal_robustness()
23-
```
25+
A set of tutorials and documentation about IntPrim has been provided in the following Jupyter Notebooks:
26+
27+
1. [Introduction](docs/notebooks/1_introduction.ipynb)
28+
2. [Quickstart](docs/notebooks/2_quickstart.ipynb)
29+
3. [In-depth Tutorial](docs/notebooks/3_indepth_tutorial.ipynb)
30+
4. [Mathematical Details](docs/notebooks/4_mathematical_details.ipynb)
31+
32+
Additionally, the API and associated documentation can be found here:
2433

25-
The source code for the examples can be viewed under intprim/examples.
34+
https://ir-lab.github.io/intprim/
2635

27-
Note that in general, spatial noise and temporal noise are at odds with each other in conditioning.
28-
If you have a lot of spatial noise it will be more difficult to accurately locate the correct phase, and vice versa.
29-
So applications with lots of spatial noise AND lots of temporal noise may be challenging.
36+
## Prerequisites
37+
38+
This library has been built and tested on Python 2.7.
39+
40+
The following Python libraries must be installed before IntPrim can be used:
41+
42+
* Numpy
43+
* Scipy
44+
* Matplotlib
45+
* Sklearn
46+
47+
## Installation
48+
To install this library, download the package and in the root directory run:
49+
50+
python setup.py build_ext install --user
3051

3152
This project is licensed under the MIT license, included in this directory.
3253

3354
## Feedback
34-
Questions or comments may be directed to Joseph Campbell at <[email protected]> or Simon Stepputtis at <[email protected]>.
55+
Questions or comments may be directed to Joseph Campbell at <[email protected]>, Simon Stepputtis at <sstepput@asu.edu>, or Heni Ben Amor <hbenamor@asu.edu>.
3556

3657
http://interactive-robotics.engineering.asu.edu/interaction-primitives/
3758

3859
## Citation
39-
If you use this library, please use this citation:
60+
If you use this library, please cite one of the following papers:
61+
```
62+
@InProceedings{campbell2019probabilistic,
63+
title={Probabilistic Multimodal Modeling for Human-Robot Interaction Tasks},
64+
author={Campbell, Joseph and Stepputtis, Simon and Ben Amor, Heni},
65+
booktitle={Robotics: Science and Systems},
66+
year={2019}
67+
}
68+
```
4069
```
41-
@InProceedings{campbell17a,
70+
@InProceedings{campbell19bayesian,
4271
title = {Bayesian Interaction Primitives: A SLAM Approach to Human-Robot Interaction},
4372
author = {Joseph Campbell and Heni Ben Amor},
4473
booktitle = {Proceedings of the 1st Annual Conference on Robot Learning},
@@ -54,3 +83,15 @@ If you use this library, please use this citation:
5483
url = {http://proceedings.mlr.press/v78/campbell17a.html}
5584
}
5685
```
86+
87+
## Used By
88+
89+
This library has been developed by Joseph Campbell at Arizona State University and has been utilized in the following works:
90+
91+
[1] J. Campbell, S. Stepputtis, and H. Ben Amor. Probabilistic Multimodal Modeling for Human-Robot Interaction Tasks. Robotics: Science and Systems (RSS) 2019.
92+
93+
[2] J. Campbell and H. Ben Amor. Bayesian Interaction Primitives: A SLAM Approach to Human-Robot Interaction. Conference on Robot Learning (CoRL) 2017.
94+
95+
[3] J. Campbell, A. Hitzmann, S. Stepputtis, S. Ikemoto, K. Hosoda, and H. Ben Amor. Learning Interactive Behaviors for Musculoskeletal Robots Using Bayesian Interaction Primitives. International Conference on Intelligent Robots and Systems (IROS) 2019.
96+
97+
[4] K. Bagewadi, J. Campbell, and H. Ben Amor. Multimodal Dataset of Human-Robot Hugging Interaction. AAAI Fall Symposium on Artificial Intelligence for Human-Robot Interaction (AI-HRI), November 2019.

0 commit comments

Comments
 (0)