robotwin_3d
收藏资源简介:
RoboTwin 2.0 3D 数据集是一个用于双臂机器人操作的大规模仿真数据集,由 RoboTwin 2.0 模拟器生成,并以 LeRobot v2.1 格式存储。数据集包含 50 种不同的操作任务,总计 27,500 个 episode(每个任务 550 个连续 episode),共 6,183,813 帧图像数据。机器人采用 ALOHA 风格的双臂设计,具有 14 个自由度(左臂和右臂各 7 个自由度,其中前 6 个为关节位置,第 7 个为夹爪开合度,归一化到 [0,1])。控制频率为 50 Hz。数据集包含三个相机视角(cam_high、cam_left_wrist、cam_right_wrist),每个相机提供 RGB 图像(分辨率 240×320)和逐像素的毫米级深度图(uint16 格式,真实深度值,除以 1000 转换为米)。深度图有两种存储方式:FFV1 编码的 16-bit 灰度 MKV 文件,以及 x264rgb 无损编码的 MP4 文件(将 16 位深度打包到 R 和 G 通道中)。所有相机共享相同的针孔内参(fx=358.64, fy=358.64, cx=160.0, cy=120.0,基于 320×240 网格)。数据集还包含丰富的语言指令,每 episode 有 100 条指令,总计约 1,039,891 条独特指令。数据总大小约 275 GB,其中深度数据约占 229 GB。该数据集适用于机器人操作任务的模仿学习、多模态感知、语言条件策略等研究。
The RoboTwin 2.0 3D dataset is a large-scale simulated dataset for dual-arm robot manipulation, generated by the RoboTwin 2.0 simulator and stored in the LeRobot v2.1 format. It contains 50 different manipulation tasks, totaling 27,500 episodes (550 consecutive episodes per task), with 6,183,813 frames of image data. The robot adopts an ALOHA-style dual-arm design with 14 degrees of freedom (7 DOF per arm: the first 6 are joint positions, and the 7th is the gripper opening normalized to [0,1]). The control frequency is 50 Hz. The dataset includes three camera views (cam_high, cam_left_wrist, cam_right_wrist), each providing RGB images (resolution 240×320) and per-pixel millimeter-level depth maps (uint16 format, real depth values, divided by 1000 to convert to meters). Depth maps are stored in two ways: FFV1-encoded 16-bit grayscale MKV files, and x264rgb lossless-encoded MP4 files (packing 16-bit depth into R and G channels). All cameras share the same pinhole intrinsics (fx=358.64, fy=358.64, cx=160.0, cy=120.0, based on a 320×240 grid). The dataset also contains rich language instructions, with 100 instructions per episode, totaling approximately 1,039,891 unique instructions. The total data size is about 275 GB, with depth data accounting for approximately 229 GB. This dataset is suitable for research on imitation learning, multimodal perception, and language-conditioned policies for robot manipulation tasks.
RoboTwin 2.0 — 3D 数据集概述
基本信息
| 属性 | 详情 |
|---|---|
| 数据集名称 | RoboTwin 2.0 — 3D (RGB + Depth) |
| 任务类别 | 机器人操作(Robotics Manipulation) |
| 任务数量 | 50 个 |
| 片段数(Episodes) | 27,500 个(每个任务 550 个,连续排列) |
| 总帧数 | 6,183,813 |
| 数据大小 | 约 275 GB(其中深度数据约 229 GB) |
| 数据规模 | 1M < N < 10M 条记录 |
硬件与传感器配置
- 机器人类型:ALOHA 风格双臂机器人(14 自由度)
- 控制频率:50 Hz
- 相机数量:3 个(
cam_high、cam_left_wrist、cam_right_wrist) - 图像分辨率:240 × 320
- 深度格式:uint16 毫米(除以 1000 转换为米)
数据格式(LeRobot v2.1)
目录结构
data/:状态、动作及索引列(Parquet 格式,分块存储)videos/:RGB 视频(AV1 编码)与深度视频(两种无损编码)meta/:元数据文件(info.json、episodes.jsonl、tasks.jsonl、camera_intrinsics.json 等)task_episode_map.json:任务名称到片段范围的映射dataset_stats.json:全数据集状态/动作归一化统计
状态与动作
- 维度:14 维(左臂 7 维 + 右臂 7 维)
- 每半臂中:索引 0-5 为关节,索引 6 为夹爪(归一化到 [0, 1])
深度数据说明
- 单位:uint16 毫米,无需缩放或偏移,除以 1000 转为米
- 双存储:同一深度数组以两种编码各存一份(已验证逐位相同)
observation.depth_ffv1.{cam}:MKV 容器,FFV1 编码(gray16le),可直接读取为 uint16observation.depth_x264rgb.{cam}:MP4 容器,libx264rgb 无损编码,需按(R << 8) | G解包(注意 cv2 返回 BGR 需交换通道)
- 无效像素:
0表示无返回值(非 0 毫米),应视为无效;背景深度最高可达约 9,750 mm - 解码注意:PyAV 和 ffmpeg 可直接输出 16 位深度;decord 和默认 cv2 会返回 8 位数组,需特殊设置
相机内参
三个相机共享相同的针孔内参(基于 320 × 240 网格定义):
fx = fy = 358.6421813964844 cx = 160.0 cy = 120.0
深度图与内参位于同一网格,反投影无需缩放;分辨率调整时遵循端点约定 (target - 1) / (source - 1)。
语言指令
- 每个片段包含 100 条语言指令(非全部唯一,去重后 42 至 100 条)
- 语料库共有 1,039,891 条唯一指令字符串
- 元数据中
episodes.jsonl按片段列出指令列表
数据下载
支持通过 allow_patterns 进行子集下载:
- 仅元数据(~450 MB):用于任务和统计检查
- RGB + 状态/动作(~46 GB):不含深度
- 单个任务(如
adjust_bottle对应片段 0-549):按 chunk 分片
片段 N 位于 chunk-{N // 1000:03d} 中。
LeRobot 兼容性
- 6 个深度流在
info.json中声明为dtype: "depth_video",标准 LeRobot 会忽略它们(仅加载 3 个 RGB 相机) - 这是刻意设计:单一
video_path模板无法同时表达.mp4和.mkv扩展名 - 深度特征的
info块中包含depth_ext和depth_packing字段,供直接解码使用
引用信息
数据由 RoboTwin 2.0 模拟器生成,引用请参考 RoboTwin 论文(arXiv:2506.18088)。




