RoboTwin v3 EEF (LeRobot v3)
This is a LeRobot v3 format conversion of the RoboTwin bimanual benchmark (source: robbyant/robotwin-clean-and-aug-lerobot), reorganized into a canonical bimanual 16D end-effector (EE) pose representation. 50 Hz, 50 tasks, two subsets (clean/ 50 demos/task and aug/ 500 demos/task).
Original Dataset
RoboTwin 2.0: A Scalable Data Generator and Benchmark with Strong Domain Randomization for Robust Bimanual Robotic Manipulation
Chen, T., et al. RoboTwin 2.0. arXiv:2506.18088, 2025.
- Original Source: https://huggingface.co/datasets/robbyant/robotwin-clean-and-aug-lerobot
- Project Website: https://robotwin-platform.github.io
- GitHub: https://github.com/RoboTwin-Platform/RoboTwin
RoboTwin is a bimanual manipulation benchmark on an Aloha-AgileX dual-arm robot. This conversion covers the 50 official tasks in both the clean demonstration split and the domain-randomized augmented split.
License
This dataset is released under CC BY-NC-SA 4.0, consistent with the original RoboTwin LeRobot release.
Conversion Details
What we changed
Canonical Bimanual EE Pose Representation: Proprioception and actions are a single 16D bimanual EE pose vector β per arm: position xyz (metres) + quaternion in scalar-first WXYZ order + gripper, left arm first then right arm.
Next-Observation-Absolute Actions: Row
tstores the pose that observation rowt+1attains. Terminal rows have no next observation; they are markedtransition_action_valid = falseand must not be supervised.Unified camera keys: Three 640Γ480 RGB views as
observation.images.head(overhead),observation.images.wrist_left, andobservation.images.wrist_right. Videos are lossless stream-copied from the source; they are not re-encoded.LeRobot v3 Format: Per-task datasets with sharded MP4 video and Parquet frame data at 50 Hz.
What we preserved
- All 50 tasks in both
clean/andaug/ - Episode structure and task labels
- Frame-level timestamps
- Source numeric poses (WXYZ, next-observation-absolute)
Observation and action convention
observation.state: 16D bimanual end-effector pose β per arm[x, y, z, qw, qx, qy, qz, gripper], left arm (dims 0β7) then right arm (dims 8β15). Gripper is continuous with 0 = closed and 1 = open.action: 16D absolute bimanual end-effector pose with the same layout; rowtis the pose attained by observation rowt+1.transition_action_validistrueexactly on rows that have a contiguous next observation in the same episode; the last row of each episode isfalse.- Cameras:
observation.images.head,observation.images.wrist_left,observation.images.wrist_right.
Layout
Each task is a self-contained LeRobot v3 dataset under clean/ or aug/:
robotwin_v3_eef/
βββ clean/<task>/ # 50 demos / task
β βββ data/chunk-*/file-*.parquet
β βββ videos/observation.images.{head,wrist_left,wrist_right}/chunk-*/file-*.mp4
β βββ meta/
β βββ info.json
β βββ tasks.parquet
β βββ episodes/chunk-*/file-*.parquet
β βββ stats.json
β βββ norm_stats.json # post-pipeline normalization stats
βββ aug/<task>/ # 500 demos / task (same layout)
βββ README.md
Usage
from lerobot.datasets import LeRobotDataset
dataset = LeRobotDataset(
"GT-111/robotwin_v3_eef",
root="clean/adjust_bottle-demo_clean_collect_200-50",
)
Per-task meta/norm_stats.json files are computed in the training transform space (canonical WXYZ β Rot6D β delta, before padding). The __norm_stats__ provenance block is kept only in local trees and is stripped from this Hub projection.
Citation
If you use this dataset, please cite the original RoboTwin paper:
@article{chen2025robotwin,
title={RoboTwin 2.0: A Scalable Data Generator and Benchmark with Strong Domain Randomization for Robust Bimanual Robotic Manipulation},
author={Chen, Tianxing and others},
journal={arXiv preprint arXiv:2506.18088},
year={2025}
}
Version History
- v3.0 (current): LeRobot v3 conversion with canonical 16D bimanual EE pose layout, next-observation-absolute actions, unified camera keys, and terminal-row validity mask
Canonical action contract v2
All child datasets use eef_absolute_next_observation_wxyz_v2. State/action rows are absolute metres + WXYZ quaternion + gripper openness; a valid action at t is the next persisted observation at t+1. Native timestamps and FPS are retained. Terminal, broken, demonstration, or dimension-masked targets contribute to no action, future, progress, or normalization loss. See each meta/action_contract.json and the root collection_manifest.json.
- Downloads last month
- 1,139