Deoxys is a modular, real-time controller library for Franka Emika Panda arm, aiming to facilitate a wide range of robot learning research. Deoxys comes with a user-friendly python interface and real-time controller implementation in C++. If you are a robosuite user, Deoxys APIs provide seamless transfer from you simulation codebase to real robot experiments!
https://user-images.githubusercontent.com/21077484/206338997-8dbaa128-dc63-4911-84ca-64d80a05673f.mp4
If you use this codebase for your research projects, please cite our codebase based on the following project:
@article{zhu2022viola,
title={VIOLA: Imitation Learning for Vision-Based Manipulation with Object Proposal Priors},
author={Zhu, Yifeng and Joshi, Abhishek and Stone, Peter and Zhu, Yuke},
journal={arXiv preprint arXiv:2210.11339},
doi={10.48550/arXiv.2210.11339},
year={2022}
}
Overall, the installation has three parts:
InstallPackage
Here are the details. For more information, please refer to the Codebase Installation Page.
Clone this repo to the robot workspace directory on Desktop computer (e.g. /home/USERNAME/robot-control-ws
)
cd deoxys_control/deoxys
Run the InstallPackage
file to install necessary packages.
./InstallPackage
Make sure that you are in your python virtual environment before building this.
make -j build_deoxys=1
And install all the python dependencies (feel free to add pull requests if anything is missing) from deoxys_control/requirements.txt
, by doing:
pip install -U -r requirements.txt
Franka Interface is the part which is supposed to run on NUC. Run this command in directory deoxys_control/deoxys/
on Intel NUC.
make -j build_franka=1
Here is a quick guide to run Deoxys
.
Under deoxys_control/deoxys
, run
python examples/run_deoxys_with_space_mouse.py
Change 1) spacemouse vendor_id and product_id (here) 2) robot interface config (here) if necessary.
You might also check and change the PC / NUC names here.
Under deoxys_control/deoxys
, run two commands. One for real-time control of the arm, one for non real-time control of the gripper.
bin/franka-interface config/charmander.yml
bin/gripper-interface config/charmander.yml