This is the code repository for the CoRL 2021 paper RoCUS: Robot Controller Understanding via Sampling by Yilun Zhou, Serena Booth, Nadia Figueroa and Julie Shah. A brief video summary is available here.
- In
2d_navigation
, a robot needs to navigate from the starting to the target position while avoiding irregularly shaped obstacles. Three controllers are implemented: rapidly-exploring random tree, dynamical system, and deep imitation learning. - In
7dof_arm_reaching
, a 7 degree-of-freedom (DoF) Franka Panda robot arm mounted on the side of a table needs to reach to a specific location on the table while avoiding a T-shaped divider. Three controllers are implemented: rapidly-exploring random tree, dynamical system, and deep reinforcement learning.
Please refer to the respective <problem-domain>/README.md
for detailed instructions on replicating (and extending) the experiments.
Python version of at least 3.7 is required to run the code.
The code should run with reasonably recent versions of the packages listed below, but if you encounter any problems, requirements.txt
lists the exact versions of all dependencies used to develop these codes.
The standard suite of scientific computing packages is required: numpy
, scipy
, scikit-learn
, and matplotlib
. In addition, pytorch
and tqdm
are also required.
This domain additionally depends on klampt
and pybullet-gym
(which further depends on pybullet
and openai-gym
).
The recommended way to install pybullet-gym
is in the "editable mode", via pip install -e
. This package contains a large number of robots, but not the Franka Panda Arm that we use. In addition, since pybullet-gym
is not officially archived in PyPI and to prevent package collision in case that you already have pybullet-gym
installed, we provide a custom package called pybullet-gym-rocus
that can be installed side by side with pybullet-gym
and contains only the Franka Panda environment required for this code. Please see 7dof_arm_reaching/pybullet-gym-rocus/README.md
for detailed installation instruction.
For any questions, please contact us at {yilun, serenabooth, nadiafig, julie_a_shah}@csail.mit.edu
. The paper can be cited as
@inproceedings{zhou2021rocus,
title = {RoCUS: Robot Controller Understanding via Sampling},
author = {Zhou, Yilun and Booth, Serena and Figueroa, Nadia and Shah, Julie},
booktitle = {Proceedings of the 5th Conference on Robot Learning},
year = {2021},
series = {Proceedings of Machine Learning Research},
month = {Nov},
publisher = {PMLR}
}