G1_Dex3_Pouring_Dataset
收藏魔搭社区2025-12-04 更新2025-09-20 收录
下载链接:
https://modelscope.cn/datasets/unitreerobotics/G1_Dex3_Pouring_Dataset
下载链接
链接失效反馈官方服务:
资源简介:
This dataset was created using [LeRobot](https://github.com/huggingface/lerobot).
## Dataset Description
- **Homepage:** [More Information Needed]
- **Paper:** [More Information Needed]
- **License:** apache-2.0
- **Task Objective:** Take the water bottle and simulate pouring water into a transparent glass cup.
- **Operational Objects:** Transparent glass cup (7cm diameter × 8cm height) + 350ml Wahaha bottled water (Purchase link: 【淘宝】https://e.tb.cn/h.60Y4A3cvIpzq2xO?tk=iMs8eJrmMWW CZ001 「娃哈哈 纯净水饮用水350ml*24瓶整箱瓶装企业会议用水」点击链接直接打开 或者 淘宝搜索直接打开).
- **Operation Duration:** Each operation takes approximately 20 seconds.
- **Recording Frequency:** 30 Hz.
- **Robot Type:** 7-DOF dual-arm G1 robot.
- **End Effector:** Three-fingered dexterous hands.
- **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:** Place the water cup adjacent to the three-fingered dexterous hand on the robot's left arm in its initial position (arm vertical); position the water bottle within reach of the right hand.
- **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.0",
"robot_type": "Unitree_G1",
"total_episodes": 311,
"total_frames": 121587,
"total_tasks": 1,
"total_videos": 1244,
"total_chunks": 1,
"chunks_size": 1000,
"fps": 30,
"splits": {
"train": "0:311"
},
"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.state": {
"dtype": "float32",
"shape": [
28
],
"names": [
[
"kLeftShoulderPitch",
"kLeftShoulderRoll",
"kLeftShoulderYaw",
"kLeftElbow",
"kLeftWristRoll",
"kLeftWristPitch",
"kLeftWristYaw",
"kRightShoulderPitch",
"kRightShoulderRoll",
"kRightShoulderYaw",
"kRightElbow",
"kRightWristRoll",
"kRightWristPitch",
"kRightWristYaw",
"kLeftHandThumb0",
"kLeftHandThumb1",
"kLeftHandThumb2",
"kLeftHandMiddle0",
"kLeftHandMiddle1",
"kLeftHandIndex0",
"kLeftHandIndex1",
"kRightHandThumb0",
"kRightHandThumb1",
"kRightHandThumb2",
"kRightHandIndex0",
"kRightHandIndex1",
"kRightHandMiddle0",
"kRightHandMiddle1"
]
]
},
"action": {
"dtype": "float32",
"shape": [
28
],
"names": [
[
"kLeftShoulderPitch",
"kLeftShoulderRoll",
"kLeftShoulderYaw",
"kLeftElbow",
"kLeftWristRoll",
"kLeftWristPitch",
"kLeftWristYaw",
"kRightShoulderPitch",
"kRightShoulderRoll",
"kRightShoulderYaw",
"kRightElbow",
"kRightWristRoll",
"kRightWristPitch",
"kRightWristYaw",
"kLeftHandThumb0",
"kLeftHandThumb1",
"kLeftHandThumb2",
"kLeftHandMiddle0",
"kLeftHandMiddle1",
"kLeftHandIndex0",
"kLeftHandIndex1",
"kRightHandThumb0",
"kRightHandThumb1",
"kRightHandThumb2",
"kRightHandIndex0",
"kRightHandIndex1",
"kRightHandMiddle0",
"kRightHandMiddle1"
]
]
},
"observation.images.cam_left_high": {
"dtype": "video",
"shape": [
3,
480,
640
],
"names": [
"channels",
"height",
"width"
],
"info": {
"video.fps": 30.0,
"video.height": 480,
"video.width": 640,
"video.channels": 3,
"video.codec": "av1",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"has_audio": false
}
},
"observation.images.cam_right_high": {
"dtype": "video",
"shape": [
3,
480,
640
],
"names": [
"channels",
"height",
"width"
],
"info": {
"video.fps": 30.0,
"video.height": 480,
"video.width": 640,
"video.channels": 3,
"video.codec": "av1",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"has_audio": false
}
},
"observation.images.cam_left_wrist": {
"dtype": "video",
"shape": [
3,
480,
640
],
"names": [
"channels",
"height",
"width"
],
"info": {
"video.fps": 30.0,
"video.height": 480,
"video.width": 640,
"video.channels": 3,
"video.codec": "av1",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"has_audio": false
}
},
"observation.images.cam_right_wrist": {
"dtype": "video",
"shape": [
3,
480,
640
],
"names": [
"channels",
"height",
"width"
],
"info": {
"video.fps": 30.0,
"video.height": 480,
"video.width": 640,
"video.channels": 3,
"video.codec": "av1",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"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]
```
本数据集基于[LeRobot](https://github.com/huggingface/lerobot)构建。
## 数据集说明
- **官网**:[更多信息待补充]
- **论文**:[更多信息待补充]
- **授权协议**:Apache 2.0
- **任务目标**:抓取水瓶并模拟向透明玻璃杯内倒水的操作。
- **操作对象**:透明玻璃杯(直径7cm × 高度8cm)+ 350ml娃哈哈瓶装饮用水(购买链接:【淘宝】https://e.tb.cn/h.60Y4A3cvIpzq2xO?tk=iMs8eJrmMWW CZ001 「娃哈哈 纯净水饮用水350ml*24瓶整箱瓶装企业会议用水」,可点击链接直接打开或通过淘宝搜索直达)。
- **单次操作时长**:单次操作耗时约20秒。
- **录制帧率**:30Hz。
- **机器人类型**:7自由度(7-DOF)双臂G1机器人。
- **末端执行器(End Effector)**:三指灵巧手(Three-fingered dexterous hands)。
- **双臂操作**:是。
- **图像分辨率**:640×480。
- **相机部署位置**:腕部搭载单目相机 + 头部搭载双目相机。
- **数据内容**:
• 机器人当前状态
• 机器人下一动作
• 当前相机视角图像
- **机器人初始姿态**:每个数据集条目中的首个机器人状态即为初始姿态。
- **物体摆放位置**:初始状态下,将水杯放置在机器人左臂的三指灵巧手旁(左臂呈垂直姿态);将水瓶放置在右臂可及范围内。
- **相机视角**:遵循[AVP遥操作文档](https://github.com/unitreerobotics/avp_teleoperate)第5部分的指南。
## 重要说明
1. 由于无法精准描述空间位置,请按照[AVP遥操作文档](https://github.com/unitreerobotics/avp_teleoperate)第5部分的要求安装硬件后,调整场景以尽可能匹配数据集的首帧画面。
2. 本次数据采集并非单次完成,不同数据条目间存在差异,在模型训练阶段需充分考虑此类差异。
## 数据集结构
`meta/info.json`:
json
{
"codebase_version": "v2.0",
"robot_type": "Unitree_G1",
"total_episodes": 311,
"total_frames": 121587,
"total_tasks": 1,
"total_videos": 1244,
"total_chunks": 1,
"chunks_size": 1000,
"fps": 30,
"splits": {
"train": "0:311"
},
"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.state": {
"dtype": "float32",
"shape": [
28
],
"names": [
[
"kLeftShoulderPitch",
"kLeftShoulderRoll",
"kLeftShoulderYaw",
"kLeftElbow",
"kLeftWristRoll",
"kLeftWristPitch",
"kLeftWristYaw",
"kRightShoulderPitch",
"kRightShoulderRoll",
"kRightShoulderYaw",
"kRightElbow",
"kRightWristRoll",
"kRightWristPitch",
"kRightWristYaw",
"kLeftHandThumb0",
"kLeftHandThumb1",
"kLeftHandThumb2",
"kLeftHandMiddle0",
"kLeftHandMiddle1",
"kLeftHandIndex0",
"kLeftHandIndex1",
"kRightHandThumb0",
"kRightHandThumb1",
"kRightHandThumb2",
"kRightHandIndex0",
"kRightHandIndex1",
"kRightHandMiddle0",
"kRightHandMiddle1"
]
]
},
"action": {
"dtype": "float32",
"shape": [
28
],
"names": [
[
"kLeftShoulderPitch",
"kLeftShoulderRoll",
"kLeftShoulderYaw",
"kLeftElbow",
"kLeftWristRoll",
"kLeftWristPitch",
"kLeftWristYaw",
"kRightShoulderPitch",
"kRightShoulderRoll",
"kRightShoulderYaw",
"kRightElbow",
"kRightWristRoll",
"kRightWristPitch",
"kRightWristYaw",
"kLeftHandThumb0",
"kLeftHandThumb1",
"kLeftHandThumb2",
"kLeftHandMiddle0",
"kLeftHandMiddle1",
"kLeftHandIndex0",
"kLeftHandIndex1",
"kRightHandThumb0",
"kRightHandThumb1",
"kRightHandThumb2",
"kRightHandIndex0",
"kRightHandIndex1",
"kRightHandMiddle0",
"kRightHandMiddle1"
]
]
},
"observation.images.cam_left_high": {
"dtype": "video",
"shape": [
3,
480,
640
],
"names": [
"channels",
"height",
"width"
],
"info": {
"video.fps": 30.0,
"video.height": 480,
"video.width": 640,
"video.channels": 3,
"video.codec": "av1",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"has_audio": false
}
},
"observation.images.cam_right_high": {
"dtype": "video",
"shape": [
3,
480,
640
],
"names": [
"channels",
"height",
"width"
],
"info": {
"video.fps": 30.0,
"video.height": 480,
"video.width": 640,
"video.channels": 3,
"video.codec": "av1",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"has_audio": false
}
},
"observation.images.cam_left_wrist": {
"dtype": "video",
"shape": [
3,
480,
640
],
"names": [
"channels",
"height",
"width"
],
"info": {
"video.fps": 30.0,
"video.height": 480,
"video.width": 640,
"video.channels": 3,
"video.codec": "av1",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"has_audio": false
}
},
"observation.images.cam_right_wrist": {
"dtype": "video",
"shape": [
3,
480,
640
],
"names": [
"channels",
"height",
"width"
],
"info": {
"video.fps": 30.0,
"video.height": 480,
"video.width": 640,
"video.channels": 3,
"video.codec": "av1",
"video.pix_fmt": "yuv420p",
"video.is_depth_map": false,
"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
}
}
}
## 引用
**BibTeX格式**:
bibtex
[更多信息待补充]
提供机构:
maas
创建时间:
2025-09-11



