A modular, real-time controller library for Franka Emika Panda robots
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!
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:
InstallPackageHere 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