g1_desktop_handover_starbucks_cup
收藏资源简介:
该数据集包含在Unitree G1人形机器人上使用Inspire灵巧手进行的桌面遥操作任务,任务为拿起星巴克杯子并递给一个人。数据采用LeRobot v2.1格式,包含30个片段(episodes),共13511帧(约7.5分钟,30帧/秒),片段长度在347至587帧之间(中位数452)。状态和动作均为26维向量,由左右臂的肩关节(俯仰/偏转/滚转)、肘关节、腕关节(滚转/俯仰/偏转)以及左右手的五指(小指、无名指、中指、食指、拇指弯曲、拇指旋转)组成,手部数值为真实的Inspire测量值(0到1,0为闭合,1为张开)。数据包含两个640×480的摄像头视图(cam_chest和cam_head),以及带有手部骨架叠加的视图。此外,还提供了通过MediaPipe Hands提取的每帧人手关键点信息(包括2D像素坐标、归一化2D坐标、世界坐标、有效性和置信度)。帧率存在重复帧问题,头部摄像头有效帧率约23.1 fps,胸部摄像头约22.1 fps。数据集采用Apache-2.0许可证。
This dataset contains desktop teleoperation tasks performed on the Unitree G1 humanoid robot using Inspire dexterous hands. The task is to pick up a Starbucks cup and hand it to a person. The data is in LeRobot v2.1 format, comprising 30 episodes with a total of 13,511 frames (approximately 7.5 minutes at 30 fps). Episode lengths range from 347 to 587 frames (median 452). State and action are both 26-dimensional vectors, consisting of the left and right arm joints (shoulder pitch/yaw/roll, elbow, wrist roll/pitch/yaw) and the five fingers of each hand (little, ring, middle, index, thumb curl, thumb rotation). Hand values are real Inspire measurements (0 to 1, where 0 is closed and 1 is open). The data includes two 640×480 camera views (cam_chest and cam_head), along with views overlaid with hand skeleton. Additionally, per-frame human hand keypoints extracted via MediaPipe Hands are provided (including 2D pixel coordinates, normalized 2D coordinates, world coordinates, validity, and confidence). There is a duplicate frame issue; the effective frame rate of the head camera is about 23.1 fps, and the chest camera is about 22.1 fps. The dataset is licensed under Apache-2.0.
数据集概述
g1_desktop_handover_starbucks_cup 是一个用于机器人操作研究的数据集,基于 Unitree G1 人形机器人和 Inspire 灵巧手,采用双臂桌面遥操作方式采集,数据格式为 LeRobot v2.1。
任务目标:拿起星巴克杯子并递给人类。
基本信息
| 项目 | 数值 |
|---|---|
| 许可证 | Apache-2.0 |
| 任务类别 | 机器人技术 (robotics) |
| 语言 | 英语 |
| 数据规模 | 10K < n < 100K |
| 片段数 (Episodes) | 30 |
| 总帧数 | 13511 帧(约 7.5 分钟,30 fps) |
| 片段长度 | 347–587 帧(中位数 452) |
| 状态/动作维度 | 26 维 / 26 维 |
| 相机数量 | 2 个,分辨率 640×480 |
状态与动作空间
状态和动作向量均为 26 维,共享相同布局:
- 0–6:左臂(肩部 pitch/roll/yaw、肘部、腕部 roll/pitch/yaw)
- 7–13:右臂(肩部 pitch/roll/yaw、肘部、腕部 roll/pitch/yaw)
- 14–19:左手(小指、无名指、中指、食指、拇指弯曲、拇指旋转)
- 20–25:右手(小指、无名指、中指、食指、拇指弯曲、拇指旋转)
手部数值为 Inspire 真实测量值,范围 0–1(0 表示闭合,1 表示张开),并非占位符。
视频数据
| 键名 | 内容 | 编码 |
|---|---|---|
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 fps 记录,observation.state 每帧更新,但相机采集帧率较低,录制时用前一帧填充。实测数据:
| 视角 | 重复帧比例 | 实际有效帧率 |
|---|---|---|
cam_head |
22.9% | ~23.1 fps |
cam_chest |
26.3% | ~22.1 fps |
因此连续视频帧可能像素完全相同但状态已更新。若模型假设每帧都包含新的视觉信息,建议对图像进行去重处理。
人手关键点数据
使用 MediaPipe Hands 对每个相机视角进行检测,结果以 parquet 列存储,直接随帧提供:
| 列名 | 形状 | 内容 |
|---|---|---|
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 uv = frame["observation.human_hand.cam_chest.landmarks_uv"].reshape(2, 21, 2) valid = frame["observation.human_hand.cam_chest.valid"]
加载方式
python from lerobot.common.datasets.lerobot_dataset import LeRobotDataset ds = LeRobotDataset("DaoyuanZhu/g1_desktop_handover_starbucks_cup")
数据集以 v2.1 布局发布(每个片段一个 parquet 文件和一个视频片段),可直接在旧版 lerobot 中加载。若使用 v3.0+,需先运行官方升级命令:
python -m lerobot.datasets.v30.convert_dataset_v21_to_v30 --repo-id=DaoyuanZhu/g1_desktop_handover_starbucks_cup
许可证
Apache-2.0。



