Open X-Embodiment: Robotic Learning Datasets and RT-X Models
动机
2023 年中之前,机器人学习有两个结构性死结:
- 数据碎片化:每个实验室用自己的机器人(Franka / Sawyer / WidowX / Kuka / 双臂 / 四足)、自己的格式(pickle / hdf5 / ROS bag)、自己的动作空间维度(4 维 / 7 维 / 14 维都有)、自己的图像分辨率和相机配置。A 组训练的策略 B 组加载不了,跨本体复用几乎不可能。RT-1、RT-2 虽然强,但都是 Google 自己的 Everyday Robot 本体,数据不开放,跨本体是否可行也没有证据。
- 「跨本体会互相干扰」的普遍担忧:直觉上,不同本体动作空间维度都不一样(单臂 7 维、双臂 14 维、四足 12 维),混在一起训练,模型该听谁的?没人做过实验,大家默认会互相干扰。
OpenX 的核心 question:能不能把全社区的真机数据统一成一个数据集,在上面训练一个跨本体的通用 policy,并定量证明跨本体混合训练有正向迁移(而非互相干扰)?
方法核心
OpenX 的贡献工程意义大于算法意义。算法上 RT-1-X / RT-2-X 就是把原 RT-1 / RT-2 拿来在更大的 OpenX 数据上重训;真正难的是把 22 个本体的异构数据统一成可训练的一个数据集。
1. RLDS episode 格式统一(基于 PDF 正文,§III.A)
OpenX 把 60 个已有的机器人数据集(来自 34 个 robotic research labs)汇聚成统一的 RLDS(Reinforcement Learning Datasets)数据格式 [119]。论文 §III.A 原话:"saves data in serialized tfrecord files and accommodates the various action spaces and input modalities of different robot setups, such as differing numbers of RGB cameras, depth cameras and point clouds. It also supports efficient, parallelized data loading in all major deep learning frameworks."
RLDS 标准 schema(论文未列字段,参考 RLDS spec [119] + 社区事实标准):
# 每个 dataset 是一个 tfrecord-backed tf.data.Dataset,由 episode 组成
Episode = {
'steps': Step[()], # 每步一个 transition
'language_instruction': ... # 可选的 episode 级 instruction
}
Step = {
'observation': {
'image': uint8[H, W, C], # RGB(可多视角)
'state/end_effector': ..., # 本体相关 low-dim 状态
# ... 各数据集特有字段
},
'action': ..., # 原生动作(joints / EE pose / velocity)
'reward': float32, # 大多 demo 数据为 0/稀疏
'is_terminal': bool,
'is_first': bool,
'is_last': bool,
'language_instruction': string, # step 级 instruction
}
配套的 oxe_dataset_configs:为每个子集定义「native 字段 → 标准 observation/action key」的映射 + 归一化统计(mean/std/bounds)。下游训练只需写一份 dataloader,不再为每个数据集单独写适配代码——这是工程上的核心贡献。
统计数字(PDF 原文):
- 22 个 robot embodiments(单臂 / 双臂 / 四足都有)
- 来自 21 个 institutions(不是 22 家机构——常被误引)
- 60 个原始 robot datasets(来自 34 个 labs)
- 1M+ real robot trajectories
- 527 个 skills / 160,266 个 tasks(Abstract 原话 "527 skills (160266 tasks)",skill 和 task 的粒度不同,skill 数是用 PaLM 从 language instruction 里抽出来的行为类别)
- Franka 是子数据集数最多的 embodiment(Fig. 2(a)),场景多样性也最高(Fig. 2(b) 原话 "the Franka robot has the largest diversity in visually distinct scenes");但轨迹数最多的是 xArm 和 Google Robot(Fig. 2(c) 原话 "xArm and Google Robot contribute the most number of trajectories due to a few large datasets")——Franka 在轨迹数上并不 dominate
2. 动作空间统一:7 维 EE 表示 + 1 维终止 + 归一化(基于 PDF 正文,§IV.A)
不同本体动作维度不同,怎么统一?OpenX 的解法是务实的「coarsely aligned」(论文 §IV.A 原话 "coarsely aligned action and observation space"):
- 统一目标空间:所有动作映射到一个 7-dim 末端执行器(end-effector)action vector $(x, y, z, \text{roll}, \text{pitch}, \text{yaw}, \text{gripper})$——可以表示绝对位姿或速率/增量(per-dataset 按各自原控制方案)。论文 §IV.A 原话:"predicts a 7-dimensional action vector controlling the end-effector (x, y, z, roll, pitch, yaw, and gripper opening or the rates of these quantities)"。
- 离散化:每个动作维度(共 8 维 = 7 EE + 1 终止)独立均匀切 256 个 bin 离散化,模型输出 token 就像输出 8 个 vocab=256 的 word(§IV.B 原话 "256 bins uniformly distributed along each of eight dimensions; one dimension for terminating the episode and seven dimensions for end-effector movement")。
- per-dataset 转换 + 归一化:模型输出同一组 256-bin 离散值,但推理时按本体 de-normalize 回各自物理量——这是同一模型跨本体的核心机制。"an output of the model can be interpreted (de-normalized) differently depending on the embodiment"。
- 不强行对齐坐标系:论文明确不对齐各 dataset 的 EE 坐标系,允许绝对/相对位置/速度并存——"the same action vector may induce very different motions for different robots"。对齐是 coarsely 的,不是数学上精确的——论文坦承这一点,但实验证明够用。
3. RT-1-X / RT-2-X:跨本体训练(基于 PDF 正文,§IV.B/C)
- RT-1:35M 参数 transformer-based。输入 15 帧 image history + 自然语言 instruction。每张图过 ImageNet-pretrained EfficientNet,instruction 过 USE (Universal Sentence Encoder) embedding,FiLM 融合成 81 个 vision-language token,喂给 decoder-only Transformer 输出离散 action。控制频率 3 Hz(Google Robot)。原架构无修改,只是在 OpenX 数据上重训成 RT-1-X。
- RT-2-X:基于 RT-2-PaLI-X 变体(ViT 视觉 + UL2 语言,WebLI 预训练),action token 当作「另一种语言文本」co-fine-tune(如 "1 128 91 241 5 101 127")。模型架构本身不区分本体——视觉/语言表征跨本体共享,推理时同一组 256-bin 输出按本体各自 de-normalize 回物理量(§IV.A 原话 "an output of the model can be interpreted (de-normalized) differently depending on the embodiment",不是单独学一层 per-embodiment action head)。RT-2-X 的训练用 ~1:1 的 VLM web 数据 + robotics 数据 mixture co-fine-tune(§IV.C 原话 "approximately one to one split")。控制频率 3-10 Hz(视本体而定,Fig. 3 标注 10/3/5 Hz 三档;Google Robot 走 RT-1 本体传统 3 Hz,RT-2-X 在 Fig. 3 示例任务上为 5 Hz)。
- Robotics mixture(§IV.C):实验实际用的数据来自 9 个 manipulator(= 9 个 embodiment),对应 12 个子数据集——RT-1、QT-Opt、Bridge、Task Agnostic Robot Play、Jaco Play、Cable Routing、RoboTurk、NYU VINN、Austin VIOLA、Berkeley Autolab UR5、TOTO、Language Table(PDF §IV.C 原话 "the data from 9 manipulators, and taken from [上述 12 个 datasets]")。比 OpenX 全集 22 个 embodiment 少,因为实验时数据集仍在持续扩展。
4. 跨本体评测协议(基于 PDF 正文,§V)
3600 个真机 evaluation trials,跨 6 个不同机器人。对比「OpenX 混合训练」vs「只在本体自己数据上训练的原版」。评测场景分两类:
- 小规模数据 domain(Fig. 4):期望从大数据库 transfer 显著提升。
- 大规模数据 domain(如 Bridge、Google Robot 原 RT-1 数据):原方法已强,看 OpenX 能否再加成(Table I)。
为什么重要
1. 跨本体正向迁移的定量证据(最关键)
OpenX 给出了机器人学第一次的大规模跨本体迁移实验:
- RT-1-X 平均成功率比 Original Method 和 RT-1 高 50%(§V.A,Fig. 4 caption 原话 "RT-1-X mean success rate is 50% higher than that of either the Original Method or RT-1")。注意:这个 50% 提升专门指小数据 domain(Fig. 4 评测的 Kitchen Manipulation / Cable Routing / NYU Door Opening / AUTOLab UR5 / Robot Play 这 5 个 domain,RT-1-X 在其中 4/5 上超越 Original Method)。⚠️ Bridge 不是小数据 domain——它是大规模 domain(Table I),RT-1-X 在 Bridge 上实际 欠拟合(Stanford 27% / UCB 27%,均低于只训 Bridge 的 RT-1 的 40% / 30%);要让大规模 domain 也获益必须升到 RT-2-X 55B(Bridge Stanford 50% / UCB 30% / RT-1 6 项 skill 91%,见 Table I)。RT-1-X 和 RT-1 网络架构完全相同,小数据 domain 的性能提升全部归因于 co-training with OpenX。
- RT-2-X 在 emergent skill 评测上比 RT-2 提升 ~3×(§V.B,Table II 行(1)(2),"RT-2-X outperforms RT-2 by ~3×")——而且这些 skill 是原 RT-2 训练数据里根本没有的(来自 Bridge 数据集的 WidowX 任务,但用 Google Robot 评测)。这是跨本体 transfer 的最强证据:知识从 WidowX 数据通过共享 representation 流到 Google Robot 的 policy。
这第一次否定了「不同本体动作空间不同会互相干扰」的普遍担忧。机制解释:VLM 的视觉/语言表征(「杯子」「红色」「抓」这些概念)跨本体完全共享,同一组 256-bin 输出仅在推理时 de-normalization 这一步按本体解读(不是为每个本体学一个独立 action head)——混数据训练时,本体 A 的数据实际上在帮本体 B 学视觉和语义。这是跨本体 scaling law 成立的理论基础。
2. 机器人学的 ImageNet 时刻
OpenX 之前,每个组用自己的数据,结论无法横向比较;OpenX 之后,社区有了公共数据基准。后续所有开源 VLA(Octo、OpenVLA、π0、RDT-1B)都在 OpenX 上预训练——没有 OpenX,开源 VLA 不可能在两年内做到今天的水平。它把 NLP/CV 的「大数据预训练」范式正式移植进机器人。
3. 工程范式示范
RLDS + per-dataset config + 归一化这套工程范式,成为后续数据集的默认规范。DROID、RoboMIND、ShareRobot 都提供 OpenX/RLDS 兼容接口。这降低了跨组复用的边际成本到接近零。
局限
- 跨本体是「loosely aligned」,不是精确统一。7+1 维 EE 表示对高 DoF 本体(人形全身、灵巧手)信息损失大;双臂投影、四足近似映射都是折衷。这限制了 OpenX 在灵巧/全身任务上的效用。
- 数据质量异构。60+ 子集质量差异巨大,不少子集实际只在特定 VLA 上有正向贡献,「杂」数据是否在稀释「精」数据未充分研究。
- 规模仍比 LLM 少 4-5 个数量级。1M 轨迹 vs 几十 T token。OpenX 证明了跨本体 scaling 成立,但没给出 scaling law 的形状(数据翻倍收益多少)——这部分后来由 RT-X 的 follow-up 和 OpenVLA 的消融补了一点。
- 格式统一 ≠ 物理统一。22 本体的物理参数(质量、摩擦、控制频率)仍各异。格式通了不等于物理通了。
- 机构数表述的歧义。⚠️ PDF 明确写「22 robot embodiments from 21 institutions」(Abstract + §III),不是「22 家机构」。常被外部引用误写为「22 家机构 22 本体」——引用时建议以 arXiv 论文原文为准。
复现要点
- 起点:HuggingFace 上 OpenX 各子集可直接流式加载;推荐用
oxe_torch_dataloader或 LeRobot 兼容接口,免去手写 RLDS 适配。 - 预期难度:数据量大(几百 GB 到 TB 级),单卡训练不现实;建议先用 BridgeData V2 / DROID 这两个高质量子集做小规模实验,再扩到全 OpenX。
- 坑:(1) 各子集的 action key 命名不一致,必须查
oxe_dataset_configs;(2) 7+1 维 EE 的归一化统计各子集不同,混训前务必统一归一化;(3) 图像分辨率/相机数差异大,多数工作统一 resize + 取单张第三视角图。 - 评测:用 SimplerEnv(
threads/T02第七节)做仿真评测,避免真机评测不可复现。
相关
- 建立在:RT-1 [Brohan 2022]、RT-2 [Brohan 2023](架构)、BridgeData V2 [Walke 2023]、RoboNet [Dasari 2019](数据精神先驱)
- 引出:Octo [2024]、OpenVLA [Kim 2024]、π0 [Black 2024]、RDT-1B [Liu 2024](全部以 OpenX 为预训练底座);SimplerEnv(OpenX 系 VLA 的标准仿真评测);DROID [Khazatsky 2024](单本体高质量的互补极)
- 本仓库笔记交叉引用:T02-dataset-infrastructure.md(本线索转折点 3)、T06-vla-five-stages.md(VLA 第四段)