详读 · DROID(Distributed Robot Interaction Dataset)¶
卡片版见 卡片-DROID。本页是全文精读:数据集构成 → 采集设置 → 规模/多样性分析 → 实验(用它训策略的增益, 全量数字) → 诚实局限 → 洞见 → 对我们。 来源:arXiv 2403.12945 v2(2025-04-22 修订)· 项目页/数据/代码 · CC-BY 4.0 全量开源 作者:Khazatsky、Pertsch 等(共一 Stanford / UC Berkeley),跨 13 机构超大联合署名(Stanford、Berkeley、TRI、CMU、UT Austin、Montreal、Edinburgh、Princeton、UW、KAIST、UCSD、Google DeepMind、UC Davis、UPenn、Columbia、Yonsei…)。
0. 一句话定位¶
一个"在野"(in-the-wild)大规模真机操作数据集:76k 条成功演示轨迹 / 350 小时,跨 564 个场景、86 个任务、52 栋楼,由 50 名采集者用 18 套同款机器人在北美/亚洲/欧洲、13 个机构、历时 12 个月采成。卖点不是"最大"(OXE 有 1.4M 条),而是场景/任务/视角多样性 + 统一硬件栈——论文用实验证明:用它做 50/50 co-train,能让策略性能、鲁棒性、泛化全面超过"只用本域数据"和"co-train OXE"。

1. 问题与动机¶
- 操作策略的核心是泛化(新光照/新环境/新物体),而泛化的关键燃料是大而多样的训练数据——CV/NLP 靠互联网海量数据起飞。
- 但机器人数据没法从网上爬:必须有"观测+动作"配对的真机数据;把机器人搬出实验室采数有物流与安全难题,且硬件+人力投入巨大。
- 结果:当今最通用的策略也多半训练在少数受控实验室场景,场景/任务多样性有限。
- DROID 的切入:用一套共享硬件栈,把采数分布到全球 13 个机构,从而以前所未有的场景广度采"在野"数据。
2. 数据集构成(每条轨迹里有什么)¶
全部数据 15Hz 记录。每条轨迹包含:
- 3 路同步立体 RGB 相机流,分辨率 1280×720:两台外置 Zed 2(三脚架可调) + 一台腕装 Zed Mini;含深度信息。
- 机器人关节位置/速度(7D);末端执行器位姿/速度(6D,基座系);夹爪位置/速度(1D)。
- 1–3 条自然语言指令:事后用 tasq.ai 众包标注,每条轨迹由不同标注员给最多 3 条独立指令(保证标注多样性)。
- 元数据:两台外置相机的外参标定矩阵、楼名、采集者 ID、场景类型(GPT-4V 自动分类)。
同款动作还以多种主流动作空间(关节空间/末端空间)等价记录,便于不同 pipeline 直接用。
3. 采集设置(硬件 + 协议)¶
3.1 DROID 机器人平台(图2)¶

- 机械臂:Franka Emika Panda 7-DoF(社区广泛采用、可靠、相对便宜、多数机构已有)。
- 夹爪:Robotiq 2F-85。
- 相机:2× Zed 2(外置, 三脚架可调) + 1× Zed Mini(腕装),三路同步立体流。
- 遥操作:Meta/Oculus Quest 2 头显 + 手柄,控末端 6D 位姿 + 夹爪连续开合。
- 控制:Polymetis 控制器,15Hz 控制频率,记录关节空间与末端空间动作。
- 形态:可移动升降标准桌(带轮)、Franka 控制盒 + NUC(跑 Polymetis server) + Alienware 笔记本(跑采集 GUI),单根电源线便于换场景。
- 整套被复制了 18 次部署到三大洲;论文给出经充分测试的软硬件复现指南。
3.2 采集协议(防偏置、促多样)¶
- 每次开工:把机器人推到新场景 → 选第三人称相机视角 → 用棋盘格 + OpenCV 做外参标定 → 在 GUI 里录入该场景所有可行任务(选单 or 自由输入)。
- 采集时 GUI 随机抽一个任务提示采集者 → 保证任务高覆盖、不偏向"容易/近"的任务。
- GUI 周期性提示"场景增广":推一下移动底座、移动并重标外置相机、改室内灯光、增删场景物品 → 进一步拉高多样性。
- 节奏:每场景约采 100 条 / 约 20 分钟就换新场景。
- 成功与否由采集者标注:76k 条成功 = DROID 规模;另有约 16k 条"不成功"轨迹也随数据发布,但不计入 DROID 规模。
3.3 后处理标定(3 套外参,开源)¶
初始棋盘格标定常因摆放/光照/OpenCV 误差不准,论文额外做全自动后处理标定并发布 3 套: - 相机→基座:约 36k 唯一场景(左或右相机标定到基座)。由两条路合并:SAM+PyTorch3D 渲染掩码算 IoU 筛出约 30k;调参版 CtRNet-X 跑全集筛出约 12k。 - 相机→相机:全部场景的相对位姿(用改造版 DUSt3R,注入深度+内参恢复绝对尺度)。 - 超集:约 24k 场景,双相机都标到基座、混合三法,附质量指标。
4. 规模与多样性分析¶
4.1 与现有数据集对比(表 I 原始数字)¶
| 数据集 | 轨迹数 | Verb 数 | 场景数 | 语言 | 相机标定 | 采集方式 |
|---|---|---|---|---|---|---|
| MIME | 8.3k | 20 | 1 | ✗ | ✗ | 人遥操 |
| RoboTurk | 2.1k | 2 | 1 | ✗ | ✗ | 人遥操 |
| RoboNet | 162k | n/a | 10 | ✗ | ✗ | 脚本 |
| MT-Opt | 800k | 2 | 1 | ✗ | ✗ | 脚本+学习 |
| BridgeData | 7.2k | 4 | 12 | ✓ | ✗ | 人遥操 |
| BC-Z | 26k | 3 | 1 | ✓ | ✗ | 人遥操 |
| RT-1 | 130k | 2 | 2 | ✓ | ✗ | 人遥操 |
| RH20T | 13k | 2 | 33 | ✓ | ✓ | 人遥操 |
| RoboSet | 98.5k | 9 | 11 | ✓ | ✗ | 30%人/70%脚本 |
| BridgeData V2 | 60.1k | 82 | 24 | ✓ | ✗ | 85%人/15%脚本 |
| DobbE | 5.6k | 6 | 216 | ✓ | n/a | 人(工具式,非机器人) |
| Open X-Embodiment | 1.4M | 217 | 311 | (✓) | ✗ | 数据聚合 |
| DROID (本文) | 76k | 86 | 564 | ✓ | ✓ | 人遥操 |
关键读法:DROID 轨迹数不是最多(OXE 1.4M、MT-Opt 800k 都更大),但场景数 564 比任何真机数据集高一个量级(次高的 DobbE 216 是工具式非机器人、OXE 311 是聚合多个少场景子集),且同时拥有高 verb 多样性 + 完整相机标定 + 语言。 口径说明:"任务数" = 语言指令里去重后的动词(verb)数(GPT-4 去同义/拼写),比手工定义任务更可扩展;"场景"只在机器人工作区发生实质性改变时才算新(换房间/换灶台算,仅挪桌上物品/换桌布不算)。
4.2 五个多样性轴(图3–6,定性结论)¶
- 任务多样性:动词长尾分布,唯一可比的是 Bridge V2(但场景受限)。
- 物体多样性:日常物体覆盖广(容器/纺织/家具/餐具/电器/衣物/五金/玩具/食物…),且多数物体上有多样交互。
- 场景多样性:GPT-4V 分 10 类场景;DROID 564 唯一场景比现有真机数据集高一个量级(原始 2080 个场景 ID 去重而来)。
- 视角多样性:1417 个唯一相机视角(采集时大幅变动外置相机) —— 远超固定机位的数据集。
- 交互位置多样性:以"每条轨迹首次夹爪闭合的 3D 位置"为代理,DROID 覆盖工作空间更大范围(不局限桌面前方)。

5. 实验:用 DROID 训策略到底有多大增益¶
5.1 设置¶
- 6 个任务 × 4 个地点(实验室/办公室/真实住宅),从短程 pick-place 到长程烹饪,每任务带自己的 OOD 变体(加干扰物/换物体/移相机)。
- 各任务演示数:Close Waffle Maker 70、Place Chips on Plate 50、Put Apple in Pot 60、Toasting 150、Clean up Desk 50、Cook Lentils 50。
- 策略:本文不提新算法,用 SOTA Diffusion Policy(Robomimic 实现):128×128 双外置相机 + 冻结 DistilBERT 语言 + 本体感知 → ResNet-50(ImageNet 预训练)视觉编码 → MLP → U-Net 扩散头;DDIM;观测视界 2,扩散出 16 步动作、开环执行前 8 步;输出绝对末端平移/旋转/夹爪。
- 三种对比方法(架构/超参完全相同,只差训练 batch 来源):
- No Co-training:只用本域演示。
- DROID (Ours):本域 + DROID 50/50 混 batch(用 DROID 前 40K 条已有语言标注的成功轨迹)。
- OXE:本域 + Open-X-Embodiment 50/50(Octo 精选子集,约 400K 轨迹、约 300 场景、22 种本体,去掉 Language Table)。
- 每个任务设定每方法 10 次 rollout A/B 评测;分 In-Distribution 与 OOD 两档。
5.2 主结果(图8,全量成功率)¶

In-Distribution 成功率:
| 任务 | No Co-train | OXE | DROID |
|---|---|---|---|
| Close Waffle Maker | 0.8 | 0.7 | 0.9 |
| Put Chips in Plate | 0.6 | 0.4 | 0.7 |
| Put Apple in Pot | 0.3 | 0.1 | 0.4 |
| Toasting | 0.7 | 0.7 | 0.8 |
| Clean up Desk | 0.7 | 0.6 | 1.0 |
| Cook Lentils | 0.1 | 0.1 | 0.7 |
| 平均 | 0.53 | 0.43 | 0.75 |
Out-of-Distribution 成功率:
| 任务(OOD 变体) | No Co-train | OXE | DROID |
|---|---|---|---|
| Close Waffle Maker (Distractors) | 0.4 | 0.5 | 0.7 |
| Put Chips in Plate (Distractors) | 0.1 | 0.4 | 0.4 |
| Put Chips in Plate (Novel Objects) | 0.2 | 0.6 | 0.3 |
| Put Apple in Pot (Distractors) | 0.0 | 0.1 | 0.2 |
| Toasting (Novel Objects) | 0.0 | 0.3 | 0.7 |
| Clean up Desk (Distractors) | 0.0 | 0.6 | 0.8 |
| Cook Lentils (Distractors + Camera Shift) | 0.3 | 0.0 | 0.6 |
| 平均 | 0.17 | 0.36 | 0.53 |
结论(图8 标题原文):DROID 比次优方法在 In-Distribution +22% 绝对成功率(0.75 vs 次优 0.53 = No Co-train)、OOD +17%(0.53 vs 次优 0.36 = OXE)。 注意一个反常项:Put Chips (Novel Objects) OOD 上 OXE 0.6 反超 DROID 0.3 —— 是逐任务里少数 DROID 非第一的格子,作者整体强调平均与长程任务(如 Cook Lentils:其它方法基本崩,DROID 0.7/0.6)。 定性:用 DROID co-train 的策略动作更平滑精准,长程任务(Cook Lentils 三步)能连贯做完;基线常一两步后失败。
5.3 场景多样性消融(图10)¶
控制规模相同(均 7362 条),比"扎堆少场景"vs"多样场景": - DROID (7k, 20 Scenes):取演示数最多的 20 个场景。 - DROID (7k, Diverse Scenes):从全集均匀随机抽 7362 条。
OOD 成功率:
| 任务(OOD) | 20 Scenes | Diverse Scenes |
|---|---|---|
| Toasting (Novel Objects) | 0.3 | 0.6 |
| Clean up Desk (Distractors) | 0.7 | 0.8 |
| Cook Lentils (Distractors + Camera Shift) | 0.2 | 0.4 |
| 平均 | 0.40 | 0.60 |
同等数据量下,场景多样比场景扎堆OOD 平均高 +20% 绝对;且全量 DROID ≥ 该 7k 子集 → DROID 的强度来自"规模 + 尤其是多样性"。
6. 诚实局限 / 存疑¶
- 单一本体:只有 Franka Panda 单臂 + 2F-85 夹爪 —— 无双臂/灵巧手/移动底盘;数据规模虽大但embodiment 单一。
- 只发数据不发新算法:实验只为证明"数据有用",策略用现成 Diffusion Policy。
- 实验体量小:仅 6 任务 / 4 地点 / 每格 10 次 rollout → 成功率按 0.1 粒度跳,统计噪声大;OOD 里已出现 DROID 非第一的格子。
- 只用了 40K / 76k:co-train 仅用"训练时已有语言标注的前 40K 条"。
- 未测真零样本:"无任何本域数据、直接换新场景"被列为开放问题,未做实验。
- 任务/场景口径是启发式:任务=去重动词(代理指标);场景去重靠"机器人序列号+实验室+楼名"分组(原始 2080 ID→564),作者称是保守估计,但跨不同机器人到同一场景可能重复计数。
- 标定全自动→有假阳性:CtRNet-X 在 Franka 上训,对其它机器人零样本泛化未知;DUSt3R 在杂乱/低重叠场景会失败。
- 16k 失败轨迹随发布但未分析利用。
7. 核心洞见¶
- 多样性 > 纯规模(对 co-train 单一本体而言):DROID 76k 击败约 18× 大的 OXE 1.4M —— 统一硬件栈 + 真实在野场景广度比"聚合一堆少场景子集"更有用。
- 简单配方就够:50/50 batch 混合这种朴素 co-train 即可显著提升,无需复杂算法。
- 共享硬件栈是分布式 scale 的关键使能器:18 套同款平台让 13 机构能"统一格式、同步更新、快速铺开"。
- 协议设计直接造就多样性:GUI 随机任务采样 + 周期场景增广 + ~20min 换场景,是把"防偏置、促多样"工程化的可复现流程。
8. 对我们¶
- 数据护城河对照系:与 卡片-Open-X-Embodiment 形成鲜明对照 —— OXE 走"聚合已有数据"路线(场景多样性受限于各子集),DROID 走"统一硬件 + 跨地域真机众采"路线换来场景广度,且实测反超。两者一并归入 概念-机器人数据与标注 作为规模化采集的两种范式。
- 与 详读-DexTeleop-0 互补的两条采数轴:DROID 攻广度(场景/任务/视角多样性),DexTeleop-0 攻深度(接触/力觉质量) —— 数据质量的两个正交维度,可长期对照。
- 协议级可借:随机任务采样 + 周期场景增广 + 定时换场景的采集流程,是一套"防偏置、促多样"的可复现众采范式(见 概念-机器人数据与标注)。
- 方法级参照:co-train(本域 + 大规模通用数据 50/50 混 batch)是个简单有效、可直接复用的提泛化配方。