schweppesxu/G1_DualRobot_Clean_Table
收藏Hugging Face2026-03-12 更新2026-03-29 收录
下载链接:
https://hf-mirror.com/datasets/schweppesxu/G1_DualRobot_Clean_Table
下载链接
链接失效反馈官方服务:
资源简介:
---
license: apache-2.0
task_categories:
- robotics
tags:
- LeRobot
configs:
- config_name: default
data_files: data/*/*.parquet
---
This dataset was created using [LeRobot](https://github.com/huggingface/lerobot).
## Dataset Description
- **Homepage:** [UnifoLM-VLA-0](https://unigen-x.github.io/unifolm-vla.github.io/)
- **License:** apache-2.0
- **Task Objective:** Collaborate with a nearby partner to tidy the table.
- **Operation Duration:** Each operation takes approximately 20 to 40 seconds.
- **Recording Frequency:** 30 Hz.
- **Robot Type:** 7-DOF dual-arm G1 robot.
- **End Effector:** Gripper.
- **Dual-Arm Operation:** Yes.
- **Image Resolution:** 640x480.
- **Camera Positions:** Wrist-mounted (monocular camera) + head-mounted (binocular cameras).
- **Data Content:**
• Robot's current state.
• Robot's next action.
• Current camera view images.
- **Robot Initial Posture:** The first robot state in each dataset entry.
- **Object Placement:** Randomly placed within the robot arm's motion range and the field of view of the robot's head-mounted camera.
- **Camera View:** Follow the guidelines in **Part 5** of [AVP Teleoperation Documentation](https://github.com/unitreerobotics/avp_teleoperate).
- **Important Notes:**
1. Due to the inability to precisely describe spatial positions, adjust the scene to closely match the first frame of the dataset after installing the hardware as specified in **Part 5** of [AVP Teleoperation Documentation](https://github.com/unitreerobotics/avp_teleoperate).
2. Data collection is not completed in a single session, and variations between data entries exist. Ensure these variations are accounted for during model training.
## Dataset Structure
[meta/info.json](meta/info.json):
```json
{
"codebase_version": "v2.1",
"robot_type": "G1_ALL",
"total_episodes": 200,
"total_frames": 171312,
"total_tasks": 1,
"total_videos": 800,
"total_chunks": 1,
"chunks_size": 1000,
"fps": 30,
"splits": {
"train": "0:200"
},
"data_path": "data/chunk-{episode_chunk:03d}/episode_{episode_index:06d}.parquet",
"video_path": "videos/chunk-{episode_chunk:03d}/{video_key}/episode_{episode_index:06d}.mp4",
"features": {
"observation.left_arm": {
"dtype": "float32",
"shape": [
7
],
"names": [
"kLeftShoulderPitch",
"kLeftShoulderRoll",
"kLeftShoulderYaw",
"kLeftElbow",
"kLeftWristRoll",
"kLeftWristPitch",
"kLeftWristYaw"
]
},
"observation.right_arm": {
"dtype": "float32",
"shape": [
7
],
"names": [
"kRightShoulderPitch",
"kRightShoulderRoll",
"kRightShoulderYaw",
"kRightElbow",
"kRightWristRoll",
"kRightWristPitch",
"kRightWristYaw"
]
},
"observation.left_gripper": {
"dtype": "float32",
"shape": [
1
],
"names": [
"kLeftGripper"
]
},
"observation.right_gripper": {
"dtype": "float32",
"shape": [
1
],
"names": [
"kRightGripper"
]
},
"observation.left_ee": {
"dtype": "float32",
"shape": [
6
],
"names": [
"kLeftEEX",
"kLeftEEY",
"kLeftEEZ",
"kLeftEER",
"kLeftEEP",
"kLeftEEY"
]
},
"observation.right_ee": {
"dtype": "float32",
"shape": [
6
],
"names": [
"kRightEEX",
"kRightEEY",
"kRightEEZ",
"kRightEER",
"kRightEEP",
"kRightEEY"
]
},
"observation.body": {
"dtype": "float32",
"shape": [
29
],
"names": [
"kLeftHipPitch",
"kLeftHipRoll",
"kLeftHipYaw",
"kLeftKnee",
"kLeftAnklePitch",
"kLeftAnkleRoll",
"kRightHipPitch",
"kRightHipRoll",
"kRightHipYaw",
"kRightKnee",
"kRightAnklePitch",
"kRightAnkleRoll",
"kWaistYaw",
"kWaistRoll",
"kWaistPitch",
"kLeftShoulderPitch",
"kLeftShoulderRoll",
"kLeftShoulderYaw",
"kLeftElbow",
"kLeftWristRoll",
"kLeftWristPitch",
"kLeftWristYaw",
"kRightShoulderPitch",
"kRightShoulderRoll",
"kRightShoulderYaw",
"kRightElbow",
"kRightWristRoll",
"kRightWristPitch",
"kRightWristYaw"
]
},
"action.left_arm": {
"dtype": "float32",
"shape": [
7
],
"names": [
"kLeftShoulderPitch",
"kLeftShoulderRoll",
"kLeftShoulderYaw",
"kLeftElbow",
"kLeftWristRoll",
"kLeftWristPitch",
"kLeftWristYaw"
]
},
"action.right_arm": {
"dtype": "float32",
"shape": [
7
],
"names": [
"kRightShoulderPitch",
"kRightShoulderRoll",
"kRightShoulderYaw",
"kRightElbow",
"kRightWristRoll",
"kRightWristPitch",
"kRightWristYaw"
]
},
"action.left_gripper": {
"dtype": "float32",
"shape": [
1
],
"names": [
"kLeftGripper"
]
},
"action.right_gripper": {
"dtype": "float32",
"shape": [
1
],
"names": [
"kRightGripper"
]
},
"action.left_ee": {
"dtype": "float32",
"shape": [
6
],
"names": [
"kLeftEEX",
"kLeftEEY",
"kLeftEEZ",
"kLeftEER",
"kLeftEEP",
"kLeftEEY"
]
},
"action.right_ee": {
"dtype": "float32",
"shape": [
6
],
"names": [
"kRightEEX",
"kRightEEY",
"kRightEEZ",
"kRightEER",
"kRightEEP",
"kRightEEY"
]
},
"action.body": {
"dtype": "float32",
"shape": [
7
],
"names": [
"RobotVX",
"RobotVY",
"RobotAngZ",
"RobotYaw",
"RobotPitch",
"RobotRoll",
"RobotHeight"
]
},
"observation.images.cam_left_high": {
"dtype": "video",
"shape": [
480,
640,
3
],
"names": [
"height",
"width",
"channel"
],
"info": {
"video.height": 480,
"video.width": 640,
"video.codec": "av1",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"video.fps": 30,
"video.channels": 3,
"has_audio": false
}
},
"observation.images.cam_right_high": {
"dtype": "video",
"shape": [
480,
640,
3
],
"names": [
"height",
"width",
"channel"
],
"info": {
"video.height": 480,
"video.width": 640,
"video.codec": "av1",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"video.fps": 30,
"video.channels": 3,
"has_audio": false
}
},
"observation.images.cam_left_wrist": {
"dtype": "video",
"shape": [
480,
640,
3
],
"names": [
"height",
"width",
"channel"
],
"info": {
"video.height": 480,
"video.width": 640,
"video.codec": "av1",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"video.fps": 30,
"video.channels": 3,
"has_audio": false
}
},
"observation.images.cam_right_wrist": {
"dtype": "video",
"shape": [
480,
640,
3
],
"names": [
"height",
"width",
"channel"
],
"info": {
"video.height": 480,
"video.width": 640,
"video.codec": "av1",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"video.fps": 30,
"video.channels": 3,
"has_audio": false
}
},
"timestamp": {
"dtype": "float32",
"shape": [
1
],
"names": null
},
"frame_index": {
"dtype": "int64",
"shape": [
1
],
"names": null
},
"episode_index": {
"dtype": "int64",
"shape": [
1
],
"names": null
},
"index": {
"dtype": "int64",
"shape": [
1
],
"names": null
},
"task_index": {
"dtype": "int64",
"shape": [
1
],
"names": null
}
}
}
```
## Citation
**BibTeX:**
```bibtex
[More Information Needed]
```
license: Apache-2.0
任务类别:机器人学
标签:LeRobot
配置:
- 配置名称:default
- 数据文件:data/*/*.parquet
本数据集基于LeRobot工具创建。
## 数据集说明
- **主页链接**:[UnifoLM-VLA-0](https://unigen-x.github.io/unifolm-vla.github.io/)
- **许可证**:Apache-2.0
- **任务目标**:与附近协作伙伴协同完成桌面整理任务。
- **单次操作时长**:约20至40秒。
- **录制帧率**:30Hz。
- **机器人型号**:7自由度(7-DOF)双臂G1机器人。
- **末端执行器**:电动夹爪。
- **支持双臂操作**:是。
- **图像分辨率**:640×480。
- **相机布局**:腕部安装单目相机 + 头部安装双目相机。
- **数据内容**:
• 机器人当前状态
• 机器人待执行的下一步动作
• 当前相机视角下的图像数据
- **机器人初始姿态**:每个数据条目的首个机器人状态。
- **物体摆放规则**:物体随机放置于机械臂运动范围内,且处于机器人头部安装相机的视野之中。
- **相机视角规范**:需遵循[AVP远程操作文档](https://github.com/unitreerobotics/avp_teleoperate)的第5部分指南。
- **重要注意事项**:
1. 由于无法精准描述空间位置,请在按照AVP远程操作文档第5部分的要求完成硬件安装后,调整实验场景使其与数据集的首帧画面高度匹配。
2. 本次数据采集并非单次完成,不同数据条目间存在一定差异,模型训练过程中需充分考虑这些变化因素。
## 数据集结构
[meta/info.json](meta/info.json):
json
{
"代码库版本": "v2.1",
"机器人型号": "G1_ALL",
"总任务回合数": 200,
"总帧数": 171312,
"总任务数": 1,
"总视频数": 800,
"总数据块数": 1,
"数据块大小": 1000,
"帧率": 30,
"数据集划分": {
"训练集": "0:200"
},
"数据路径": "data/chunk-{episode_chunk:03d}/episode_{episode_index:06d}.parquet",
"视频路径": "videos/chunk-{episode_chunk:03d}/{video_key}/episode_{episode_index:06d}.mp4",
"数据特征": {
"观测数据.左臂": {
"数据类型": "float32",
"形状": [7],
"字段名称": ["kLeftShoulderPitch", "kLeftShoulderRoll", "kLeftShoulderYaw", "kLeftElbow", "kLeftWristRoll", "kLeftWristPitch", "kLeftWristYaw"]
},
"观测数据.右臂": {
"数据类型": "float32",
"形状": [7],
"字段名称": ["kRightShoulderPitch", "kRightShoulderRoll", "kRightShoulderYaw", "kRightElbow", "kRightWristRoll", "kRightWristPitch", "kRightWristYaw"]
},
"观测数据.左手夹爪": {
"数据类型": "float32",
"形状": [1],
"字段名称": ["kLeftGripper"]
},
"观测数据.右手夹爪": {
"数据类型": "float32",
"形状": [1],
"字段名称": ["kRightGripper"]
},
"观测数据.左手末端执行器": {
"数据类型": "float32",
"形状": [6],
"字段名称": ["kLeftEEX", "kLeftEEY", "kLeftEEZ", "kLeftEER", "kLeftEEP", "kLeftEEY"]
},
"观测数据.右手末端执行器": {
"数据类型": "float32",
"形状": [6],
"字段名称": ["kRightEEX", "kRightEEY", "kRightEEZ", "kRightEER", "kRightEEP", "kRightEEY"]
},
"观测数据.机体": {
"数据类型": "float32",
"形状": [29],
"字段名称": ["kLeftHipPitch", "kLeftHipRoll", "kLeftHipYaw", "kLeftKnee", "kLeftAnklePitch", "kLeftAnkleRoll", "kRightHipPitch", "kRightHipRoll", "kRightHipYaw", "kRightKnee", "kRightAnklePitch", "kRightAnkleRoll", "kWaistYaw", "kWaistRoll", "kWaistPitch", "kLeftShoulderPitch", "kLeftShoulderRoll", "kLeftShoulderYaw", "kLeftElbow", "kLeftWristRoll", "kLeftWristPitch", "kLeftWristYaw", "kRightShoulderPitch", "kRightShoulderRoll", "kRightShoulderYaw", "kRightElbow", "kRightWristRoll", "kRightWristPitch", "kRightWristYaw"]
},
"动作指令.左臂": {
"数据类型": "float32",
"形状": [7],
"字段名称": ["kLeftShoulderPitch", "kLeftShoulderRoll", "kLeftShoulderYaw", "kLeftElbow", "kLeftWristRoll", "kLeftWristPitch", "kLeftWristYaw"]
},
"动作指令.右臂": {
"数据类型": "float32",
"形状": [7],
"字段名称": ["kRightShoulderPitch", "kRightShoulderRoll", "kRightShoulderYaw", "kRightElbow", "kRightWristRoll", "kRightWristPitch", "kRightWristYaw"]
},
"动作指令.左手夹爪": {
"数据类型": "float32",
"形状": [1],
"字段名称": ["kLeftGripper"]
},
"动作指令.右手夹爪": {
"数据类型": "float32",
"形状": [1],
"字段名称": ["kRightGripper"]
},
"动作指令.左手末端执行器": {
"数据类型": "float32",
"形状": [6],
"字段名称": ["kLeftEEX", "kLeftEEY", "kLeftEEZ", "kLeftEER", "kLeftEEP", "kLeftEEY"]
},
"动作指令.右手末端执行器": {
"数据类型": "float32",
"形状": [6],
"字段名称": ["kRightEEX", "kRightEEY", "kRightEEZ", "kRightEER", "kRightEEP", "kRightEEY"]
},
"动作指令.机体": {
"数据类型": "float32",
"形状": [7],
"字段名称": ["RobotVX", "RobotVY", "RobotAngZ", "RobotYaw", "RobotPitch", "RobotRoll", "RobotHeight"]
},
"观测数据.图像.左侧高位相机": {
"数据类型": "视频",
"形状": [480, 640, 3],
"字段名称": ["height", "width", "channel"],
"补充信息": {
"视频.高度": 480,
"视频.宽度": 640,
"视频.编码格式": "av1",
"视频.像素格式": "yuv420p",
"视频.非深度图": false,
"视频.帧率": 30,
"视频.通道数": 3,
"无音频流": false
}
},
"观测数据.图像.右侧高位相机": {
"数据类型": "视频",
"形状": [480, 640, 3],
"字段名称": ["height", "width", "channel"],
"补充信息": {
"视频.高度": 480,
"视频.宽度": 640,
"视频.编码格式": "av1",
"视频.像素格式": "yuv420p",
"视频.非深度图": false,
"视频.帧率": 30,
"视频.通道数": 3,
"无音频流": false
}
},
"观测数据.图像.左侧腕部相机": {
"数据类型": "视频",
"形状": [480, 640, 3],
"字段名称": ["height", "width", "channel"],
"补充信息": {
"视频.高度": 480,
"视频.宽度": 640,
"视频.编码格式": "av1",
"视频.像素格式": "yuv420p",
"视频.非深度图": false,
"视频.帧率": 30,
"视频.通道数": 3,
"无音频流": false
}
},
"观测数据.图像.右侧腕部相机": {
"数据类型": "视频",
"形状": [480, 640, 3],
"字段名称": ["height", "width", "channel"],
"补充信息": {
"视频.高度": 480,
"视频.宽度": 640,
"视频.编码格式": "av1",
"视频.像素格式": "yuv420p",
"视频.非深度图": false,
"视频.帧率": 30,
"视频.通道数": 3,
"无音频流": false
}
},
"时间戳": {
"数据类型": "float32",
"形状": [1],
"字段名称": null
},
"帧索引": {
"数据类型": "int64",
"形状": [1],
"字段名称": null
},
"回合索引": {
"数据类型": "int64",
"形状": [1],
"字段名称": null
},
"全局索引": {
"数据类型": "int64",
"形状": [1],
"字段名称": null
},
"任务索引": {
"数据类型": "int64",
"形状": [1],
"字段名称": null
}
}
}
## 引用
**BibTeX格式**:
bibtex
[More Information Needed]
提供机构:
schweppesxu



