franka-pick-kitchen-up-wrist-100ep-genesis
收藏资源简介:
这是一个合成专家演示数据集,展示了Franka Panda机器人在一个真实的乡村厨房环境中拾取红色立方体的过程。数据集包含100个情节,使用了两台摄像机(静态头顶摄像机和手腕上的眼手摄像机)进行捕捉。数据集提供了详细的技术细节,包括摄像机的布局、动作空间、机器人类型、生成成功率等,并包含了数据集的用途、训练和评估的示例代码。
Franka Pick-Cube — Kitchen Scene, Overhead + Wrist Camera (100 episodes) 数据集概述
数据集基本信息
- 许可证: Apache-2.0
- 任务类别: 机器人学
- 标签: LeRobot, Genesis, Franka, 操作, 合成数据, 厨房场景, 眼在手, 腕部相机
- 数据规模: 10K < n < 100K
- 描述: 在逼真的乡村厨房环境中,Franka Panda机器人拾取红色立方体的合成专家演示数据。采用双摄像头布局:固定俯视摄像头 + 眼在手腕部摄像头。使用Genesis物理模拟器在AMD Radeon AI PRO R9700 (RDNA4) GPU上生成。
数据集详情
| 项目 | 值 |
|---|---|
| 格式 | LeRobot v3.0, AV1视频 |
| 场景 | rustic_kitchen (126.9 MB GLB网格) |
| 锚点 | floor_origin |
| 回合数 / 帧数 | 100 / 13,500 |
| 帧率 (FPS) | 30 |
| 摄像头 | 2 × 640×480: observation.images.up (俯视) + observation.images.side (腕部 / 眼在手) |
| 动作空间 | 9自由度关节位置 (7个手臂 + 2个手指) |
| 机器人 | Franka Panda |
| 生成成功率 | 100 / 100 = 100 % |
| 数据大小 | ~198 MB |
| 生成GPU | AMD Radeon AI PRO R9700 (RDNA4, gfx1201) |
| 软件 | Genesis 0.4.5, LeRobot 0.4.4, ROCm 7.2, seed = 42 |
摄像头布局 (D040配置)
腕部摄像头刚性连接在Franka的hand连杆上,具体手部局部姿态如下:
| 参数 | 值 | 说明 |
|---|---|---|
| 位置 | (0.05, 0.00, -0.08) 米 |
约在手部原点下方8厘米,略微向手指方向偏移 |
| 注视点 | (0.00, 0.00, 0.10) 米 |
朝向夹爪手指之间的空间 |
| 上方向向量 | (0, 0, -1) |
翻转横滚角,使夹爪开口在视图中呈水平 |
| 视场角 (FOV) | 65° | 足够宽,以确保接近过程中立方体保持在画面内 |
| 分辨率 | 640 × 480 | 与俯视摄像头相同 |
俯视摄像头在世界坐标系中固定,采用与配套的up+side数据集相同的标准俯视姿态。
配套数据集
- 数据集名称:
lidavidsh/franka-pick-kitchen-100ep-genesis - 链接: https://huggingface.co/datasets/lidavidsh/franka-pick-kitchen-100ep-genesis
- 说明: 相同的100个回合,相同的随机种子,但使用固定侧视摄像头而非腕部摄像头。可用于摄像头布局的对比消融实验。
场景与摄像头对比
| 数据集 | 场景 | 摄像头布局 | 基准策略成功率 (平面代理场景) |
|---|---|---|---|
franka-pick-100ep-genesis |
平面 | 俯视 + 侧视 (固定) | ~25 % |
franka-pick-kitchen-100ep-genesis |
厨房 | 俯视 + 侧视 (固定) | — |
| 本数据集 | 厨房 | 俯视 + 腕部 (眼在手) | 42.8 % (平面代理场景, R9f) |
数据生成
- 生成脚本:
scripts/02_gen_data_custom_scene.py - 轨迹规划: 使用IK规划的轨迹:
home → 悬停在立方体上方 → 下降 → 闭合夹爪 → 抬起 → 保持 - 立方体位置随机化: XY坐标在机器人可达工作空间内随机化 (
dx ∈ [0.4, 0.7] 米, dy ∈ [-0.2, 0.2] 米),随机种子为42以确保可复现性。 - 生成时间: 在RDNA4 R9700上约23分钟完成100个回合 (平均13.9秒/回合,所有视频使用SVT-AV1编码)。
使用方式
加载数据集
python from lerobot.datasets.lerobot_dataset import LeRobotDataset dataset = LeRobotDataset("lidavidsh/franka-pick-kitchen-up-wrist-100ep-genesis")
使用SmolVLA训练
bash python scripts/02_train_vla.py --dataset-id lidavidsh/franka-pick-kitchen-up-wrist-100ep-genesis --n-steps 4000 --batch-size 4 --num-workers 4 --save-dir outputs/smolvla_kitchen_wrist
评估 (厨房场景,腕部布局)
bash python scripts/04_eval_custom_scene.py --policy-type smolvla --checkpoint outputs/smolvla_kitchen_wrist/final --dataset-id lidavidsh/franka-pick-kitchen-up-wrist-100ep-genesis --camera-layout up_wrist --n-episodes 50 --max-steps 150 --seed 99
注意: 评估必须使用--camera-layout up_wrist参数,以便在运行时将腕部摄像头重新连接到机器人手部连杆。否则observation.images.side数据流将是静态侧视图,与训练的策略语义不兼容。



