Rofunc: The Full Process Python Package for Robot Learning from Demonstration and Robot Manipulation
Project description
Rofunc: The Full Process Python Package for Robot Learning from Demonstration and Robot Manipulation
Repository address: https://github.com/Skylark0924/Rofunc
Documentation: https://rofunc.readthedocs.io/
Rofunc package focuses on the Imitation Learning (IL), Reinforcement Learning (RL) and Learning from Demonstration (LfD) for (Humanoid) Robot Manipulation. It provides valuable and convenient python functions, including
demonstration collection, data pre-processing, LfD algorithms, planning, and control methods. We also provide an
IsaacGym
and OmniIsaacGym
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.
- Rofunc: The Full Process Python Package for Robot Learning from Demonstration and Robot Manipulation
Update News ๐๐๐
- [2024-01-24] ๐ CURI Synergy-based Softhand grasping tasks are supported to be trained by
RofuncRL
. - [2023-12-24] ๐ Dexterous hand (Shadow Hand, Allegro Hand, qbSofthand) tasks are supported to be trained by
RofuncRL
. - [2023-12-03] ๐ผ๏ธ Segment-Anything (SAM) is supported in an interactive mode, check the examples in Visualab (segment anything, segment with prompt).
- [2023-10-31] ๐
RofuncRL
: A modular easy-to-use Reinforcement Learning sub-package designed for Robot Learning tasks is released. It has been tested with simulators likeOpenAIGym
,IsaacGym
,OmniIsaacGym
(see example gallery), and also differentiable simulators likePlasticineLab
andDiffCloth
. - ...
- If you want to know more about the update news, please refer to the changelog.
Installation
Please refer to the installation guide.
Documentation
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 |
โ | logger |
โ | CURI |
โ |
xsens.visual |
โ | TPGMM |
โ | LQTFb |
โ | datalab |
โ | CURIMini |
๐ |
opti.record |
โ | TPGMMBi |
โ | LQTCP |
โ | robolab.coord |
โ | CURISoftHand |
โ |
opti.export |
โ | TPGMM_RPCtl |
โ | LQTCPDMP |
โ | robolab.fk |
โ | Walker |
โ |
opti.visual |
โ | TPGMM_RPRepr |
โ | LQR |
โ | robolab.ik |
โ | Gluon |
๐ |
zed.record |
โ | TPGMR |
โ | PoGLQRBi |
โ | robolab.fd |
โ | Baxter |
๐ |
zed.export |
โ | TPGMRBi |
โ | iLQR |
๐ | robolab.id |
โ | Sawyer |
๐ |
zed.visual |
โ | TPHSMM |
โ | iLQRBi |
๐ | visualab.dist |
โ | Humanoid |
โ |
emg.record |
โ | RLBaseLine(SKRL) |
โ | iLQRFb |
๐ | visualab.ellip |
โ | Multi-Robot |
โ |
emg.export |
โ | RLBaseLine(RLlib) |
โ | iLQRCP |
๐ | visualab.traj |
โ | ||
mmodal.record |
โ | RLBaseLine(ElegRL) |
โ | iLQRDyna |
๐ | oslab.dir_proc |
โ | ||
mmodal.sync |
โ | BCO(RofuncIL) |
๐ | iLQRObs |
๐ | oslab.file_proc |
โ | ||
BC-Z(RofuncIL) |
โ | MPC |
โ | oslab.internet |
โ | ||||
STrans(RofuncIL) |
โ | RMP |
โ | oslab.path |
โ | ||||
RT-1(RofuncIL) |
โ | ||||||||
A2C(RofuncRL) |
โ | ||||||||
PPO(RofuncRL) |
โ | ||||||||
SAC(RofuncRL) |
โ | ||||||||
TD3(RofuncRL) |
โ | ||||||||
CQL(RofuncRL) |
โ | ||||||||
TD3BC(RofuncRL) |
โ | ||||||||
DTrans(RofuncRL) |
โ | ||||||||
EDAC(RofuncRL) |
โ | ||||||||
AMP(RofuncRL) |
โ | ||||||||
ASE(RofuncRL) |
โ | ||||||||
ODTrans(RofuncRL) |
โ |
RofuncRL
RofuncRL
is one of the most important sub-packages of Rofunc
. It is a modular easy-to-use Reinforcement Learning sub-package designed for Robot Learning tasks. It has been tested with simulators like OpenAIGym
, IsaacGym
, OmniIsaacGym
(see example gallery), and also differentiable simulators like PlasticineLab
and DiffCloth
. Here is a list of robot tasks trained by RofuncRL
:
Note
You can customize your own project based on RofuncRL by following the RofuncRL customize tutorial.
We also provide a RofuncRL-based repository template to generate your own repository following the RofuncRL structure by one click.
For more details, please check the documentation for RofuncRL.
The list of all supported tasks.
Tasks | Animation | Performance | ModelZoo |
---|---|---|---|
Ant | โ | ||
Cartpole | |||
Franka Cabinet |
โ | ||
Franka CubeStack |
|||
CURI Cabinet |
โ | ||
CURI CabinetImage |
|||
CURI CabinetBimanual |
|||
CURIQbSoftHand SynergyGrasp |
โ | ||
Humanoid | โ | ||
HumanoidAMP Backflip |
โ | ||
HumanoidAMP Walk |
โ | ||
HumanoidAMP Run |
โ | ||
HumanoidAMP Dance |
โ | ||
HumanoidAMP Hop |
โ | ||
HumanoidASE GetupSwordShield |
โ | ||
HumanoidASE PerturbSwordShield |
โ | ||
HumanoidASE HeadingSwordShield |
โ | ||
HumanoidASE LocationSwordShield |
โ | ||
HumanoidASE ReachSwordShield |
โ | ||
HumanoidASE StrikeSwordShield |
โ | ||
BiShadowHand BlockStack |
โ | ||
BiShadowHand BottleCap |
โ | ||
BiShadowHand CatchAbreast |
โ | ||
BiShadowHand CatchOver2Underarm |
โ | ||
BiShadowHand CatchUnderarm |
โ | ||
BiShadowHand DoorOpenInward |
โ | ||
BiShadowHand DoorOpenOutward |
โ | ||
BiShadowHand DoorCloseInward |
โ | ||
BiShadowHand DoorCloseOutward |
โ | ||
BiShadowHand GraspAndPlace |
โ | ||
BiShadowHand LiftUnderarm |
โ | ||
BiShadowHand HandOver |
โ | ||
BiShadowHand Pen |
โ | ||
BiShadowHand PointCloud |
|||
BiShadowHand PushBlock |
โ | ||
BiShadowHand ReOrientation |
โ | ||
BiShadowHand Scissors |
โ | ||
BiShadowHand SwingCup |
โ | ||
BiShadowHand Switch |
โ | ||
BiShadowHand TwoCatchUnderarm |
โ |
Star History
Citation
If you use rofunc in a scientific publication, we would appreciate citations to the following paper:
@software{liu2023rofunc,
title = {Rofunc: The Full Process Python Package for Robot Learning from Demonstration and Robot Manipulation},
author = {Liu, Junjia and Dong, Zhipeng and Li, Chenzui and Li, Zhihao and Yu, Minghao and Delehelle, Donatien and Chen, Fei},
year = {2023},
publisher = {Zenodo},
doi = {10.5281/zenodo.10016946},
url = {https://doi.org/10.5281/zenodo.10016946},
dimensions = {true},
google_scholar_id = {0EnyYjriUFMC},
}
Related Papers
- Robot cooking with stir-fry: Bimanual non-prehensile manipulation of semi-fluid objects (IEEE RA-L 2022 | Code)
@article{liu2022robot,
title={Robot cooking with stir-fry: Bimanual non-prehensile manipulation of semi-fluid objects},
author={Liu, Junjia and Chen, Yiting and Dong, Zhipeng and Wang, Shixiong and Calinon, Sylvain and Li, Miao and Chen, Fei},
journal={IEEE Robotics and Automation Letters},
volume={7},
number={2},
pages={5159--5166},
year={2022},
publisher={IEEE}
}
- SoftGPT: Learn Goal-oriented Soft Object Manipulation Skills by Generative Pre-trained Heterogeneous Graph Transformer (IROS 2023๏ฝCode coming soon)
@inproceedings{liu2023softgpt,
title={Softgpt: Learn goal-oriented soft object manipulation skills by generative pre-trained heterogeneous graph transformer},
author={Liu, Junjia and Li, Zhihao and Lin, Wanyu and Calinon, Sylvain and Tan, Kay Chen and Chen, Fei},
booktitle={2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
pages={4920--4925},
year={2023},
organization={IEEE}
}
- BiRP: Learning Robot Generalized Bimanual Coordination using Relative Parameterization Method on Human Demonstration (IEEE CDC 2023 | Code)
@inproceedings{liu2023birp,
title={Birp: Learning robot generalized bimanual coordination using relative parameterization method on human demonstration},
author={Liu, Junjia and Sim, Hengyi and Li, Chenzui and Tan, Kay Chen and Chen, Fei},
booktitle={2023 62nd IEEE Conference on Decision and Control (CDC)},
pages={8300--8305},
year={2023},
organization={IEEE}
}
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
Planning and Control
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file rofunc-0.0.2.6.tar.gz
.
File metadata
- Download URL: rofunc-0.0.2.6.tar.gz
- Upload date:
- Size: 201.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2dd61eaed54c8eef4694b19585dbdace7366c8a941101e53bc70ed6bbc9ebb0a |
|
MD5 | 790ae45fd78e53f7f624270f5f857468 |
|
BLAKE2b-256 | c183dc904d2e8c3e2a321132c0aa02279d2053b699900a39574f1d5fc5e9d0b5 |
File details
Details for the file rofunc-0.0.2.6-py3-none-any.whl
.
File metadata
- Download URL: rofunc-0.0.2.6-py3-none-any.whl
- Upload date:
- Size: 202.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d92ed79673794120369b08b7bdd7c316e1af1343e56148b04031cdce7cf9fc5 |
|
MD5 | 39c9150308d7b5708cb204889a79bdd7 |
|
BLAKE2b-256 | 71d44862a991ea4b36059f7577672dc1f09cafd1da3860936d445856b9f63e75 |