Home

Awesome

<p align="center"> <img src="./deoxys_github_logo.png"> </p> <p align="center"> <a href="https://github.com/UT-Austin-RPL/deoxys_control/actions"> <img alt="Tests Passing" src="https://github.com/anuraghazra/github-readme-stats/workflows/Test/badge.svg" /> </a> <a href="https://github.com/UT-Austin-RPL/deoxys_control/graphs/contributors"> <img alt="GitHub Contributors" src="https://img.shields.io/github/contributors/UT-Austin-RPL/deoxys_control" /> </a> <a href="https://github.com/UT-Austin-RPL/deoxys_control/issues"> <img alt="Issues" src="https://img.shields.io/github/issues/UT-Austin-RPL/deoxys_control?color=0088ff" /> </a>

[Documentation]

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

Cite our codebase

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}
}

Installation of codebase

Overall, the installation has three parts:

  1. Install dependencies by running InstallPackage
  2. Compile desktop-side codebase (Python)
  3. 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

Install dependencies

Run the InstallPackage file to install necessary packages.

./InstallPackage

Deoxys - Desktop

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 - Intel NUC

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

A laundry list of pointers:

Control the robot

Commands on Desktop

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.

Commands on Control PC (Intel NUC)

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