cube_in_cup_lerobot_v3
收藏资源简介:
关节空间模仿学习数据集:包含23个人类遥操作演示,展示UR7e机械臂从桌上拾取木块并放入杯中的过程,有两个720p摄像头视角。可直接通过LeRobot API加载。
Joint Space Imitation Learning Dataset: Contains 23 human teleoperation demonstrations showing the process of a UR7e robotic arm picking up a wooden block from a table and placing it into a cup, with two 720p camera perspectives. It can be directly loaded via the LeRobot API.
数据集概述:cube_in_cup — UR7e 遥操作 “将立方体放入杯子中”(LeRobot v3.0)
该数据集是一个用于模仿学习的关节空间数据集,包含23次人类遥操作演示,展示了UR7e机械臂从桌面上拾取一个木制立方体并将其放入杯子中的完整过程。数据集可直接通过LeRobot API加载。
- 规模:23个episode,共6,177帧,30 fps,时长约3.4分钟,大小约124 MB。
- 格式:LeRobot v3.0(兼容
lerobot0.6.1)。 - 动作/状态空间:7维绝对关节空间(6个UR关节 + 1个夹爪)。
- 所有episode均为成功演示。
注意: 这是一个小规模数据集(约3.4分钟),仅为同类数据集
banana_in_pot_lerobot_v3(51个episode,12分钟)的四分之一左右。建议将其视为种子数据集或模式参考,而非用于训练稳健策略的独立数据。目前尚未为此任务训练任何策略。
数据采集设置
- 机器人平台:Universal Robots UR7e(6自由度协作臂),关节值单位为弧度。
- 遥操作设备:GELLO低成本3D打印主臂,用于动觉遥操作。操作员移动GELLO主臂,其关节位置被映射为UR7e的关节命令。
- 末端执行器:Robotiq 2F-85二指平行夹爪。
- 相机:两个Intel RealSense摄像头(仅记录RGB视频):
- 相机1:Intel RealSense D435
- 相机2:Intel RealSense D435if(D435变种)
- 视角:一个相机安装在机器人腕部(近景/眼在手),另一个放置在工作台旁的三脚架上(场景/第三人称)。本数据集的发布版本未验证哪个相机对应
cam1或cam2,但确保部署时cam1↔cam2的顺序与记录时保持一致。 - 分辨率:1280×720 @ 30 fps,编码为
yuv420p。原始MPEG-4文件已重新编码为AV1(crf 30)。 - 未记录深度或红外流。
- 场景中含有一个ArUco/AprilTag标记,位于机器人基座上,而非工作台面上。
任务描述
“将立方体放入杯子中。”
- 工作台面上有两个物体:一个淡紫色/薰衣草色木制立方体(约5厘米边长)和一个鼠尾草绿色塑料杯(锥形种植杯),置于浅木纹桌面上。
- 操作员抓取立方体并将其放入杯子中。
- 成功标准:立方体最终置于杯子内。
- 与同系列的香蕉数据集不同,本任务没有干扰物体,是一个干净的双物体拾取-放置任务。(设置照片中出现的塑料水果碗位于工作台旁的侧车上,不属于工作场景。)
数据模式 (Schema)
| 特征 | 数据类型 | 形状 | 含义 |
|---|---|---|---|
observation.state |
float32 | (7,) | UR7e测量关节值 ur_q1..ur_q6(弧度) + 夹爪开合度 grip_pos |
action |
float32 | (7,) | 命令的绝对关节目标值 cmd1..cmd6(弧度) + 夹爪命令 grip_cmd |
observation.images.cam1 |
视频 (AV1) | (720, 1280, 3) | 视角1(RGB,HWC uint8) |
observation.images.cam2 |
视频 (AV1) | (720, 1280, 3) | 视角2(RGB,HWC uint8) |
- 还包括标准LeRobot日志列(
timestamp,frame_index,episode_index,index,task_index)。 action是绝对关节目标命令(非增量),夹爪命令grip_cmd实际上是二值信号(开/关)。- 元数据记录
robot_type: "ur7e_gello"。注意较早的banana_in_pot_lerobot_v3数据集对同一物理臂使用了遗留标签"ur5e_gello"。
数据构建方式
- 原始数据来源于
Bigenlight/cube_in_cup_raw(24个原始录制的多速率HDF5 + 双MP4文件)。 - 使用与香蕉系列数据集相同的
convert_to_lerobot.py脚本进行转换:- 主时钟 =
cam1_frames/t_rel_s,采样率为30 fps。每个机器人流通过最近时间戳查找方式重新采样到该时间网格上。 cam2通过与cam1的最近相机时间戳对齐(两个相机独立运行时钟,在24个原始录制中有16个存在±1帧的差异)。gello_*领导流被丢弃(部署的机器人无法观察领导臂数据)。- 视频重新编码为AV1(crf 30, preset 12, GOP 2, pyav后端)。
- 主时钟 =
原始数据流速率(重新采样前)
| 数据流 | 原始速率 | 在本数据集中的处理方式 |
|---|---|---|
| 摄像头 (cam1, cam2) | 30 Hz | 主时钟30 fps |
command (UR关节目标) |
~98 Hz | → action[0:6],重新采样至30 fps |
ur_joint_states |
~97 Hz | → observation.state[0:6],重新采样至30 fps |
gripper |
~36.5 Hz | → grip_pos / grip_cmd,重新采样至30 fps |
tcp_pose, wrench |
~97 Hz | 未包含在本数据集中(原始数据集中有) |
gello_joint_states |
30 Hz | 已排除(仅领导臂) |
- 本数据集的机器人数据流运行在**~97 Hz**,比香蕉数据集(~56-60 Hz)快。这意味着每个相机帧约有3.2个机器人样本。采样是突发性(非均匀,呈双峰样本间隔)的,因此转换采用时间戳对齐而非索引对齐。
视频集
- 从24个原始录制中提取了23个episode。排除了
take_23:这是一个1.64秒的记录故障,机械臂基本静止(每个关节范围 < 0.013 rad)且夹爪从未被触发。此记录不包含演示,仅在原始数据集中保留。原始录制编号04和06因记录过程中中止而缺失。
验证
- 由一个独立的验证器进行了转换验证,该验证器在不导入转换器的情况下从源HDF5重新推导了
observation.state和action:max |Δ observation.state|= 0.0 且max |Δ action|= 0.0 —— 与独立的重新采样实现达到位元精确(容忍度为1e-6)。- 每个episode的帧数与源录制的
cam1_frames行数按顺序匹配。 - 所有存储的数组中无NaN/Inf;任务字符串唯一;时间戳等于
frame_index / 30。 - 采样AV1帧与原始MPEG-4源的对比:在两个相机的24个采样帧上,相关性最小0.9982,平均0.9991(AV1有损,此为预期结果)。
- 进行了35项检查,0项失败。
使用示例
python from lerobot.datasets.lerobot_dataset import LeRobotDataset
ds = LeRobotDataset("Bigenlight/cube_in_cup_lerobot_v3") print(ds.meta.total_episodes, ds.meta.total_frames) # 23, 6177
sample = ds[0] sample["observation.state"] # (7,) float32 sample["action"] # (7,) float32 sample["observation.images.cam1"] # (3, 720, 1280) float32 CHW
如需完整的多种速率信号(TCP位姿、6轴 wrench、关节速度和力、GELLO领导臂流),请使用原始数据集 Bigenlight/cube_in_cup_raw,该数据集还提供了 DATA_DICTIONARY.md 和 dataset_stats.json。
相关仓库
| 仓库 | 内容 |
|---|---|
| Bigenlight/cube_in_cup_lerobot_v3 | 本数据集 — LeRobot关节空间数据集,23个episode |
| Bigenlight/cube_in_cup_raw | 原始HDF5 + MP4数据,24个录制,包含所有信号(包括GELLO领导臂) |
| Bigenlight/banana_in_pot_lerobot_v3 | 同类数据集,相同平台,不同场景,51个episode |
局限性与预期用途
- 小规模:仅23个episode / 约3.4分钟。对于模仿学习来说较小,建议与其他数据结合使用或作为参考。
- 单一任务、单一场景布局、单一操作员、单一记录会话、物体位置固定 —— 预期泛化能力有限。
- 所有演示均为成功演示 —— 无失败/恢复数据。
- 尚未基于该数据集训练或评估任何策略,未声明任何性能指标。
- 预期用途:用于模仿学习和机器人操作的研究。
引用
bibtex @misc{theo2026cubeincup, title = {cube_in_cup: UR7e teleoperation demonstrations for "put the cube in the cup"}, author = {Theo and {Bigenlight}}, year = {2026}, howpublished = {url{https://huggingface.co/datasets/Bigenlight/cube_in_cup_lerobot_v3}}, note = {LeRobot v3.0 dataset, 23 episodes} }
许可证
Apache-2.0



