deoxys_control
deoxys_control copied to clipboard
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!
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:
- Install dependencies by running
InstallPackage - Compile desktop-side codebase (Python)
- 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:
- 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
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