跳转至

详读 · 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 DROID 是"在野"数据集:横跨厨房/卫浴/卧室/办公室/实验室等真实场景(此为某卫浴场景采集画面)

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)

图2 DROID 机器人平台:Franka Panda 7-DoF + Robotiq 2F-85 + 2×Zed 2 外置 + Zed Mini 腕相机 + Quest 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 覆盖工作空间更大范围(不局限桌面前方)。

图13 跨场景"相机→基座"标定可视化(渲染机器人掩码叠在真实画面上),直观展示 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-DistributionOOD 两档。

5.2 主结果(图8,全量成功率)

图8 DROID 是否提升性能与鲁棒性:6 任务 In-Distribution(上) 与 OOD(下) 逐任务成功率

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)是个简单有效、可直接复用的提泛化配方。