Skip to main content

The Full Process Python Package for Robot Learning from Demonstration

Project description

Rofunc: The Full Process Python Package for Robot Learning from Demonstration and Robot Manipulation

Release License Documentation Status Build Status

Repository address: https://github.com/Skylark0924/Rofunc

Rofunc package focuses on the robotic Imitation Learning (IL) and Learning from Demonstration (LfD) fields and provides valuable and convenient python functions for robotics, including demonstration collection, data pre-processing, LfD algorithms, planning, and control methods. We also provide an Isaac Gym-based robot simulator for evaluation. This package aims to advance the field by building a full-process toolkit and validation platform that simplifies and standardizes the process of demonstration data collection, processing, learning, and its deployment on robots.

Installation

Install from PyPI (stable version)

The installation is very easy,

pip install rofunc

and as you'll find later, it's easy to use as well!

import rofunc as rf

Thus, have fun in the robotics world!

Note Several requirements need to be installed before using the package. Please refer to the installation guide for more details.

Install from Source (nightly version)

git clone https://github.com/Skylark0924/Rofunc.git
cd Rofunc

# Create a conda environment
# Python 3.8 is strongly recommended
conda create -n rofunc python=3.8
sh ./scripts/install.sh

Note If you want to use functions related to ZED camera, you need to install ZED SDK manually. (We have tried to package it as a .whl file to add it to requirements.txt, unfortunately, the ZED SDK is not very friendly and doesn't support direct installation.)

Documentation

Documentation Example Gallery

Note Currently, we provide a simple document; please refer to here. A comprehensive one with both English and Chinese versions is built via the readthedoc. We provide a simple but interesting example: learning to play Taichi by learning from human demonstration.

To give you a quick overview of the pipeline of rofunc, we provide an interesting example of learning to play Taichi from human demonstration. You can find it in the Quick start section of the documentation.

The available functions and plans can be found as follows.

Note โœ…: Achieved ๐Ÿ”ƒ: Reformatting โ›”: TODO

Data Learning P&C Tools Simulator
xsens.record โœ… DMP โ›” LQT โœ… Config โœ… Franka โœ…
xsens.export โœ… GMR โœ… LQTBi โœ… robolab.fk โœ… CURI โœ…
xsens.visual โœ… TPGMM โœ… LQTFb โœ… robolab.ik โœ… CURIMini ๐Ÿ”ƒ
opti.record โœ… TPGMMBi โœ… LQTCP โœ… robolab.fd โ›” CURISoftHand ๐Ÿ”ƒ
opti.export โœ… TPGMM_RPCtl โœ… LQTCPDMP โœ… robolab.id โ›” Walker โœ…
opti.visual โœ… TPGMM_RPRepr โœ… LQR โœ… robolab.tran โœ… Gluon ๐Ÿ”ƒ
zed.record โœ… TPGMR โœ… PoGLQRBi โœ… visualab.dist โœ… Baxter ๐Ÿ”ƒ
zed.export โœ… TPGMRBi โœ… iLQR ๐Ÿ”ƒ visualab.ellip โœ… Sawyer ๐Ÿ”ƒ
zed.visual โœ… BCO ๐Ÿ”ƒ iLQRBi ๐Ÿ”ƒ visualab.traj โœ… Multi-Robot โœ…
emg.record โœ… STrans โ›” iLQRFb ๐Ÿ”ƒ
emg.export โœ… PPO(SKRL) โœ… iLQRCP ๐Ÿ”ƒ
emg.visual โœ… SAC(SKRL) โœ… iLQRDyna ๐Ÿ”ƒ
mmodal.record โ›” TD3(SKRL) โœ… iLQRObs ๐Ÿ”ƒ
mmodal.export โœ… PPO(SB3) โ›” MPC โ›”
SAC(SB3) โ›” CIO โ›”
TD3(SB3) โ›”
PPO(RLlib) โœ…
SAC(RLlib) โœ…
TD3(RLlib) โœ…
PPO(ElegRL) โœ…
SAC(ElegRL) โœ…
TD3(ElegRL) โœ…
PPO(RofuncRL) ๐Ÿ”ƒ
SAC(RofuncRL) โ›”
TD3(RofuncRL) โ›”
CQL(RofuncRL) โ›”

Star History

Star History Chart

Cite

If you use rofunc in a scientific publication, we would appreciate citations to the following paper:

@misc{Rofunc2022,
      author = {Liu, Junjia and Li, Zhihao and Li, Chenzui and Delehelle, Donatien and Chen, Fei},
      title = {Rofunc: The full process python package for robot learning from demonstration and robot manipulation},
      year = {2022},
      publisher = {GitHub},
      journal = {GitHub repository},
      howpublished = {\url{https://github.com/Skylark0924/Rofunc}},
}

The Team

Rofunc is developed and maintained by the CLOVER Lab (Collaborative and Versatile Robots Laboratory), CUHK.

Acknowledge

We would like to acknowledge the following projects:

Learning from Demonstration

  1. pbdlib
  2. Ray RLlib
  3. ElegantRL
  4. SKRL

Planning and Control

  1. Robotics codes from scratch (RCFS)
  2. pddlstream

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rofunc-0.0.1.5.tar.gz (98.9 MB view details)

Uploaded Source

Built Distribution

rofunc-0.0.1.5-py3-none-any.whl (99.4 MB view details)

Uploaded Python 3

File details

Details for the file rofunc-0.0.1.5.tar.gz.

File metadata

  • Download URL: rofunc-0.0.1.5.tar.gz
  • Upload date:
  • Size: 98.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.16

File hashes

Hashes for rofunc-0.0.1.5.tar.gz
Algorithm Hash digest
SHA256 36e86cda44e43e40eabc53b971b21701ec243a5b507a01e912f66ffec2c2ca8a
MD5 11451d65c6f28f61f73427a0219450be
BLAKE2b-256 cec9bf4ba6c1a41f1504d5c5d741d9e8b6bff60361b7f68625999c2d4cdc74d9

See more details on using hashes here.

File details

Details for the file rofunc-0.0.1.5-py3-none-any.whl.

File metadata

  • Download URL: rofunc-0.0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 99.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.16

File hashes

Hashes for rofunc-0.0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d0af613814bac5a5d03e0dbc63ba41586a25ed285d324156ad2609c0c3670e5c
MD5 7137505157dad57e3af28e53c0c1018b
BLAKE2b-256 84b1c09c084e87769f4a3d107e56ab24d8d7d0ba13316a5606d3daa3341c8632

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page