g1_desktop_pick_croissant_and_place_in_blue_bowl
收藏资源简介:
该数据集是在Unitree G1人形机器人上使用Inspire灵巧手进行的双手桌面遥操作数据,采用LeRobot v2.1格式。任务为:拿起牛角面包并将其放入碗中。数据集包含31个片段,共15081帧(约8.4分钟,每秒30帧),片段长度在395-632帧之间(中位数476)。状态和动作均为26维,共享相同的关节布局(包括左右手臂和手部关节)。相机提供2个视角(胸部摄像头和头部摄像头),分辨率为640×480,并包含手部叠加图像。此外,还提供了通过MediaPipe Hands提取的人类手部关键点数据(包括像素坐标、归一化坐标、世界坐标、有效性和置信度分数)。
This dataset contains bimanual desktop teleoperation data collected on a Unitree G1 humanoid robot using Inspire dexterous hands, in LeRobot v2.1 format. The task is to pick up a croissant and place it into a bowl. The dataset includes 31 episodes with a total of 15,081 frames (approximately 8.4 minutes at 30 fps), with episode lengths ranging from 395 to 632 frames (median 476). Both state and action are 26-dimensional, sharing the same joint layout (including left and right arm and hand joints). The camera provides two views (chest camera and head camera) at a resolution of 640×480, with hand overlay images. Additionally, human hand keypoint data extracted via MediaPipe Hands is provided (including pixel coordinates, normalized coordinates, world coordinates, validity, and confidence scores).
数据集概述:g1_desktop_pick_croissant_and_place_in_blue_bowl
基本信息
- 任务目标:拾取牛角包并放入蓝色碗中(Pick the croissant and place it in the bowl)
- 机器人平台:宇树 G1(Unitree G1)人形机器人,配备 Inspire 灵巧手
- 数据格式:LeRobot v2.1 格式
- 许可证:Apache-2.0
数据规模
| 指标 | 数值 |
|---|---|
| 回合数(Episodes) | 31 |
| 总帧数(Frames) | 15,081(约8.4分钟,30帧/秒) |
| 回合长度(Episode length) | 395–632帧(中位数476帧) |
| 状态/动作维度(State/Action) | 26维 / 26维 |
| 相机数量与分辨率 | 2 × 640×480 |
状态与动作表示
状态和动作向量均为26维,采用相同布局:
| 索引范围 | 内容 |
|---|---|
| 0–6 | 左臂(肩部俯仰/横滚/偏航、肘部、腕部横滚/俯仰/偏航) |
| 7–13 | 右臂(肩部俯仰/横滚/偏航、肘部、腕部横滚/俯仰/偏航) |
| 14–19 | 左手(小指、无名指、中指、食指、拇指弯曲、拇指旋转) |
| 20–25 | 右手(小指、无名指、中指、食指、拇指弯曲、拇指旋转) |
手部数值为真实的 Inspire 测量值,范围在0–1之间(0表示闭合,1表示张开),并非占位符。
视频数据
| 键(Key) | 内容 | 编码 |
|---|---|---|
observation.images.cam_chest |
胸部相机原始画面 | h264 |
observation.images.cam_chest_hand_overlay |
胸部相机 + 手部叠加 | h264 |
observation.images.cam_head |
头部相机原始画面 | h264 |
observation.images.cam_head_hand_overlay |
头部相机 + 手部叠加 | h264 |
带 *_hand_overlay 后缀的视频为同一视角叠加了检测到的人手骨骼(黄色连线、橙色关节点)。
帧率注意事项
时间戳以30帧/秒运行,observation.state 每帧变化,但相机采集较慢,录制时以重复帧填充。实测数据:
| 视角 | 重复帧比例 | 实际帧率 |
|---|---|---|
| 头部相机(cam_head) | 15.8% | 约25.3帧/秒 |
| 胸部相机(cam_chest) | 36.3% | 约19.1帧/秒 |
连续视频帧可能出现像素完全一致但状态已更新的情况。若模型假设每帧都包含新视觉信息,需对图像进行去重处理。
人手关键点数据
使用 MediaPipe Hands 对每个相机视角进行处理,结果以 parquet 列存储,每个帧数据自带这些信息:
| 列(Column) | 形状 | 内容 |
|---|---|---|
observation.human_hand.<cam>.landmarks_uv |
[84] | 2只手 × 21个点 × (u, v) 像素坐标 |
observation.human_hand.<cam>.landmarks_2d |
[126] | 2 × 21 × (x, y, z),归一化坐标 |
observation.human_hand.<cam>.world_landmarks |
[126] | 2 × 21 × (x, y, z),公制坐标 |
observation.human_hand.<cam>.valid |
[2] | 左手/右手是否存在 |
observation.human_hand.<cam>.score |
[2] | 手部检测置信度 |
顺序始终为左手在前、右手在后;缺失的手以零填充且 valid = 0,不会出现 NaN。检测到关键点颜色异常(如机器人自身黑白手部)的候选会被过滤,不会写入数据。
数据加载示例
python from lerobot.common.datasets.lerobot_dataset import LeRobotDataset ds = LeRobotDataset("DaoyuanZhu/g1_desktop_pick_croissant_and_place_in_blue_bowl")
该数据集以 v2.1 布局发布(每个回合一个 parquet 文件和一个剪辑片段),可直接在较旧的 lerobot 版本上加载。若使用 v3.0+ 版本,需先运行官方升级命令:
python -m lerobot.datasets.v30.convert_dataset_v21_to_v30 --repo-id=DaoyuanZhu/g1_desktop_pick_croissant_and_place_in_blue_bowl



