- Python only client using precompiled protos (see
deoxys/deoxys/python
) - Robotiq gripper support
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!
Past.projects.using.Deoxys.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}
}
Set up your own conda environment and install all the python dependencies (feel free to add pull requests if anything is missing) from deoxys_control/requirements.txt
, by doing:
cd deoxys_control/deoxys
pip install -U -r requirements.txt
Install the repository with (-e flag is optional
):
pip install -e .
Overall, the installation has three parts:
- Install dependencies by running
InstallPackage
- Compile NUC-side codebase (C++)
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
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
- How to turn on/off the robot
- How to install spacemouse
- How to set up the RTOS
- How to record and replay a trajectory
- How to write a simple motor program
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