Yunfan Jiang, Chen Wang, Ruohan Zhang, Jiajun Wu, Li Fei-Fei
Conference on Robot Learning (CoRL) 2024
[Website] [arXiv] [PDF] [Algorithm Code] [Model Weights] [Training Data]
TRANSIC-Envs is a collection of simulation environments built on IsaacGym to support sim-to-real transfer of contact-rich robotic arm manipulation tasks. It is used in our CoRL paper "TRANSIC: Sim-to-Real Policy Transfer by Learning from Online Correction".
It extends the FurnitureSim from the FurnitureBench paper by supporting massive environment parallelization, point-cloud observations, and joint position actions. With our TRANSIC method, policies trained in the simulation can transfer to the real world and accomplish complex tasks, such as assembling the square table from FurnitureBench. Checkout videos on our website!
First create a virtual environment named transic
with Python 3.8. Note that IsaacGym only supports Python versions up to 3.8.
conda create -y -n transic python=3.8
conda activate transic
Download the IsaacGym Preview 4 release from the website, then follow the installation instructions in the documentation. Ensure that IsaacGym works on your system by running one of the examples from the python/examples
directory, like joint_monkey.py
.
Once IsaacGym works, clone this repo and install it.
git clone https://github.com/transic-robot/transic-envs
cd transic-envs
pip3 install -e .
To show all supported tasks, run
import transic_envs
print(transic_envs.TASK_MAP.keys())
>>> ['InsertFull',
'InsertFullPCD',
'InsertSingle',
'InsertSinglePCD',
'LiftLeanedLeg',
'LiftLeanedLegPCD',
'ReachAndGraspFull',
'ReachAndGraspFullPCD',
'ReachAndGraspSingle',
'ReachAndGraspSinglePCD',
'ScrewFull',
'ScrewFullPCD',
'ScrewSingle',
'ScrewSinglePCD',
'Stabilize',
'StabilizePCD']
Tasks without the PCD
suffix are for teacher policy learning through RL. Tasks with the PCD
suffix are for student policy distillation.
For teacher policies, the observation space includes proprioception and privileged information about objects, such as pose and velocity. For example:
propObsDim: 29
obsKeys:
- q
- ...
privilegedObsDim: 130
privilegedObsKeys:
- square_table_top_vel
- ...
For student policies, the observation space only includes proprioception and point cloud. These are easily obtained in the real world.
In terms of the action space, teacher policies are trained with delta end-effector poses, while student policies are trained with joint positions, plus a binary gripper action for both.
# teacher policy
Box(-1.0, 1.0, (7,), float32)
# student policy
Box(-1.0, 1.0, (8,), float32)
For the detailed usage of TRANSIC-Envs for policy learning, please checkout our algorithm codebase.
We would like to acknowledge the following open-source projects that greatly inspired our development.
Our paper is posted on arXiv. If you find our work useful, please consider citing us!
@inproceedings{jiang2024transic,
title = {TRANSIC: Sim-to-Real Policy Transfer by Learning from Online Correction},
author = {Yunfan Jiang and Chen Wang and Ruohan Zhang and Jiajun Wu and Li Fei-Fei},
booktitle = {Conference on Robot Learning},
year = {2024}
}
Component | License |
---|---|
Codebase (this repo) | MIT License |
Franka Asset | Apache License |
FurnitureBench Asset | MIT License |