The resources you'd need to understand and model the high-level behavioral attributions people make to a robot's motion (like, "curious" or "broken") as it does a task.
In order of how you'd use the resources:
- A gridworld environment styled to portray a robot vacuum cleaner
- Python modules for planning coverage trajectories in the environment
- Amazon Mechanical Turk interfaces we used to collect attributions to trajectories
- Trajectory featurizer, implemented to capture user-identified salient aspects of the motion
- Mixture density network model code (PyTorch) for learning to predict attributions to trajectories
- Search-based optimization procedure for generating trajectories that elicit a desired attribution while balancing task completion
You can read a full description of how we used these elements in "Influencing Behavioral Attributions to Robot Motion During Task Execution."
If you find this code useful, consider citing the paper:
BibTeX
@inproceedings{walker2021attributions,
author = {Walker, Nick and Mavrogiannis, Christoforos and Srinivasa, Siddhartha and Cakmak, Maya},
title = {Influencing Behavioral Attributions to Robot Motion During Task Execution},
booktitle = {Conference on Robot Learning (CoRL)},
location = {London, UK},
month = nov,
year = {2021}
}
