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

1.  Installation#

Please refer to Installation for installation.

2.  Available functions and future plans#

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)

β›”

3.  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 Li, Chenzui and Delehelle, Donatien and Li, Zhihao and Chen, Fei},
          month=jun,
          year= 2023,
          publisher={Zenodo},
          doi={10.5281/zenodo.8084510},
          url={https://doi.org/10.5281/zenodo.8084510}
}

5.  The Team#

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