跨体机器人训练:你能跨越不同的机器人吗?
关于对多种机器人类型进行培训的研究表明,以改善通用化,
部分: [机器人租
训练22种不同类型的机器人提高了23个
跨体体假设
跨体育学习的核心要求:训练一个机器人政策从多种不同机器人类型的数据
假设实际上是重要的,因为机器人数据昂贵.在RCSV,在 [OpenArm]
开放的X体:证据
开放X-Embodiment项目 (Padalkar等同,2023年;RTX合作论文) 是这一假设的最全面的测试.数据集包含22种机器人类型的527个技能,代表了全球实验室贡献的160,000+机器人事件. 关键结果:RT-X,训练用全套多体体数据集,在完成的通用化任务上超过了单机机器人专家的性能约50%.
许多人认为,这是一种非常重要的技术,但这些技术的技术也很重要.
详细数据集统计
| Dataset | Robot Types | Episodes | Skills | Environments | Format |
|---|---|---|---|---|---|
| Open X-Embodiment (OXE) | 22 | 160,266 | 527 | 160+ | RLDS (TensorFlow) |
| DROID | 22 (different set) | 76,000 | 350+ | 564 | RLDS + HDF5 |
| RoboSet | 3 | 100,000+ | 12 | 100+ | HDF5 |
| Bridge V2 | 1 (WidowX) | 60,096 | 13 | 24 | RLDS |
| RT-1 Robot Action | 1 (Everyday Robot) | 130,000 | 700+ | 1 | RLDS |
| RCSV Shared Pool | 5 | 25,000+ | 40+ | 30+ | LeRobot HDF5 |
据悉,OXE数据集分布不均
RT-2-X: 证明跨体体效果的VLA
RT-2-X扩展了RT-2视觉语言行动模型,以消耗整个OXE数据集.该架构是一个55B参数PaLM-E模型,它以图像和语言指示作为输入和输出.
- **+50%在新兴评估上:**需要新型物体组合或空间关系的任务,这些任务并非直接在任何单个机器人训练数据中.
- **+25%在分发任务中:**即使在单机数据集中得到良好表现的任务中,多体化模型更好.
- 零射转: RT-2-X能够控制机器人,但在训练中没有成功率,尽管性能明显低于精细调节的机器人.
55B参数数量是一个重要的背景:这不是一个可以在实验室GPU运行的模型. 推理需要多个A100或H100s.大多数团队的实际版本是一个较小的模型 (1
十月:实用跨体体基础模型
据悉,Octo (Ghosh等同类,2024) 是大多数团队应该开始使用的跨体体转移模型.它是93M参数变压器,从OXE数据集中训练800K机器人集,专门为新机器人和任务进行高效的细节调整而设计.
- ** 架构:** 变压器具有特定模式的图像代号符号 (ViT),语言 (T5) 和自觉感知 (多层感知器). 动作头是具体的实施.
- 精细调节成本: 50
200次示范+2 4小时使用单个A100GPU.这在大多数研究实验室的范围内. - **性能:**Octo,精细调整了100个目标机器人演示,在WidowX,Franka和其他测试的平台上,在选择和位置任务上超过了25
40%的训练从零开始. - 传输速度: 93M参数在单个RTX 4090上运行在
15 Hz或在Jetson AGX Orin8 Hz上,足以实现实时操纵控制.上运行在
# Fine-tuning Octo on your own robot data (simplified)
# Requires: pip install octo-model jax[cuda]
from octo.model.octo_model import OctoModel
from octo.data.dataset import make_single_dataset
# Load pre-trained cross-embodiment model
model = OctoModel.load_pretrained("hf://rail-berkeley/octo-base")
# Load your target robot dataset (LeRobot HDF5 or RLDS format)
target_dataset = make_single_dataset(
dataset_kwargs={
"name": "my_openarm_dataset",
"data_dir": "/data/openarm_pick_place/",
"image_obs_keys": {"primary": "image_wrist", "secondary": "image_overhead"},
"state_obs_keys": ["joint_positions"],
"language_key": "language_instruction",
},
traj_transform_kwargs={"window_size": 2},
frame_transform_kwargs={"image_size": (256, 256)},
)
# Fine-tune with new action head for your robot's action space
# OpenArm: 6 joint positions + 1 gripper = 7D action space
model = model.finetune(
target_dataset,
action_dim=7,
action_head="diffusion", # or "mse" for deterministic
learning_rate=3e-4,
batch_size=256,
num_steps=50_000, # ~2 hours on A100
save_dir="./octo_openarm_finetuned/",
)
体内规模
通过DROID论文 (Khazatsky等,2024) 扩大了这一分析,以关注规模.在22个机器人和564个环境中76K轨迹.对跨体体现性相关的关键DROID发现:添加不同机器人类型的示范改善了目标机器人上的
虽然这些数据的增长并不均
机器人转移效益
| Source Robot | Target Robot | Similarity | Success Rate (Target Only) | Success Rate (+Source Data) | Improvement |
|---|---|---|---|---|---|
| WidowX-XL | WidowX 250 | Very High | 62% | 81% | +19% |
| Franka Panda | UR5e | High (both 7-DOF) | 55% | 68% | +13% |
| OpenArm | WidowX 250 | Moderate (6 vs 6 DOF) | 62% | 71% | +9% |
| Franka Panda | WidowX 250 | Moderate (7 vs 6 DOF) | 62% | 70% | +8% |
| Mobile Manipulator | WidowX 250 | Low | 62% | 65% | +3% |
| Allegro Hand | WidowX 250 | Very Low | 62% | 62% | +0% |
转移效益与动态相似性有关,但即使是中等相似性的机器人也提供了有意义的改善. 实际的结论是,如果你在目标机器人上进行了100个示范, 添加1000多个比较类似机器人的示范,
为什么跨体移植工作
似乎有三个机制负责:
1. 共有视觉功能: 无论机器人执行任务的哪个,视觉输入 (对象,工作空间,任务结构) 都是一样的. 训练用22种机器人类型的模型开发了对操纵相关的功能更丰富的视觉表示.
2. VLA中的行动空间抽象: OpenVLA 和 RT-2-X 等视觉语言-行动模型代表了标记化,抽象空间中的行动,部分分离任务知识与特定机器人动态. 当行动被分为桶 (例如 256个桶/维度) 时,来自WidowX的"移动右"代币具有与来自法兰卡的"移动右"代币的类似的语义意义,尽管潜在的联合轨迹完全不同.这种抽象允许任务级知识转移到不同的机器.
**3.语言定位:**当语言指令是模型输入的一部分 (如RT-2-X,Octo,OpenVLA),模型学习跨实施体验的共享语言行为映射. "取红杯"意味着不管机器人执行它. 这种共享语言的基础提供了一个普遍的任务表示,即使运动执行策略不同,它也可以完美地转移到实施体中.
转移失败的地方
- ** 动力学非常不同:** 轮式移动平台和固定基臂之间的传输接近零.行动空间的不匹配太大,无法克服共享视觉特征.移动基 (vx,vy,omega) 的操作对6DOF臂的联合位置操作没有有用的梯度信息.
- ** 抓手类型不匹配:** 并行
jaws gripper 的数据转移到吸管杯机器人并没有好转.接触相互作用模型太不同.并行 jaw 数据转移到其他并行 机器人 (即使有不同的手指几何),但从并行 手示范中学到的抓手阶段行为对吸管的抓手具有积极的危害. - DOF规模不匹配: 7DOF武器的数据转移到其他 7DOF武器的数据很好,但到 4DOF武器的数据差.维度差异会造成行动空间覆盖问题: 7DOF臂可以从许多角度接近物体,而 4DOF臂则受到限制.
- **速度和动力不匹配:**高速工业武器的数据 (周期时间 <0.5s) 转移不佳到研究武器,同时也具有3
5s的周期时间. 视觉观测可能会相似的框架,但行动序列的节奏不同. - 接触式与无接触式任务: 接触式任务 (螺丝,插入,抛光) 的数据为无接触式任务 (接触式,视觉检查) 提供了最小的转移效益,反之亦然.
实用联合培训设置
如果您想利用您的特定机器人和任务的跨体现数据, 以下是RCSV的经验中最好的工作流程:
步骤1:选择您的数据库
在OXE集合中,选择与目标相似的DOF和抓住器类型的机器人数据集.对于一个并行
步骤2:规范行动空间
不同机器人具有不同的联合配置,因此原始联合空间操作不会转移.标准方法是将所有操作转换为终端效应空间: (dx, dy, dz,droll, dpitch, dyaw, gripper).这7D 德尔塔终端效应表现在所有单臂操纵器中具有任何DOF数量和任何抓住器. 转换使用每个机器人的前进动力学 (URDF + FK溶解器),并且是每数据集的一次预处理步骤.
# Action space normalization: joint space -> EE delta space
import numpy as np
from lerobot.common.robot_devices.robots.configs import OpenArmConfig
def joint_to_ee_delta(joint_actions, joint_states, robot_config):
"""Convert joint-space actions to end-effector delta actions.
This normalization is required for cross-embodiment training:
different robots have different joints but share the same
6D end-effector space.
"""
ee_deltas = []
for i in range(len(joint_actions)):
# FK at current state
ee_current = robot_config.forward_kinematics(joint_states[i])
# FK at next state (current + action)
ee_next = robot_config.forward_kinematics(
joint_states[i] + joint_actions[i, :robot_config.n_joints]
)
# Delta in EE space
delta_pos = ee_next[:3] - ee_current[:3]
delta_rot = quaternion_to_axis_angle(
quaternion_multiply(ee_next[3:7], quaternion_inverse(ee_current[3:7]))
)
gripper = joint_actions[i, -1] # gripper action passes through
ee_deltas.append(np.concatenate([delta_pos, delta_rot, [gripper]]))
return np.array(ee_deltas)
步骤3:数据集混合策略
目标机器人数据和跨体体数据之间的混合比重很重要.太多的跨体体数据压倒了目标特定细节;太少没有益处.根据目标数据集规模,我们的建议比率:
- 模型需要多样性,因为它具有很少的目标信号.
- 50
200目标演示: Mix 1:5.这是交叉体现提供最相对的好处的地方. - **200
1,000目标演示:**混合 1:2.跨体现数据有助,但边际效益正在减少.只关注最高质量的跨体现数据集. - **>1,000个目标演示:**跨体现式预训练仍然有利 (使用它作为初始化),但在细调中混合提供了减少的回报.从Octo或OpenVLA检查点训练,然后仅根据目标数据进行细调.
第四步:培训的配置
使用体现条件训练:将可学习的体现符号 (每个机器人类型的一个) 添加到模型的输入序列中.这允许模型学习体现特定的行为模式,同时在所有机器人之间共享视觉和任务表示.在目标机器人推断过程中,模型使用机器人体现符号. 费用:A100上8小时,进行全额联合训练,200万次混合节目.
接脸勒罗伯特的联合训练
通过HuggingFace的LeRobot框架来运行跨体现式联合培训,
# LeRobot co-training config (YAML)
# Save as: configs/co_train_openarm.yaml
dataset:
# Primary: your target robot data
repo_id: "svrc/openarm_pick_place_v2"
mix_datasets:
# Cross-embodiment data, weighted by similarity
- repo_id: "lerobot/bridge_v2"
weight: 0.3 # WidowX - moderate similarity
- repo_id: "lerobot/droid_franka"
weight: 0.2 # Franka - moderate-high similarity
- repo_id: "svrc/shared_pool_6dof"
weight: 0.4 # RCSV pool - high similarity
action_space: "ee_delta_7d" # Normalized EE space
policy:
name: "diffusion"
pretrained: "lerobot/diffusion_oxe_base" # OXE pre-trained
chunk_size: 16
n_obs_steps: 2
n_diffusion_steps: 100
training:
batch_size: 256
learning_rate: 1e-4
num_epochs: 200
eval_freq: 10
device: "cuda"
# Run: python lerobot/scripts/train.py --config configs/co_train_openarm.yaml
测量跨体体益
为了知道跨体体数据是否真的帮助您的具体案例,
- 基本线: 仅使用您的目标机器人数据进行训练.
- +跨体现: 训练您的目标数据与跨体现数据混合.相同的模型架构,相同的超参数,相同的评估协议.
- +预训练的 init: 从Octo/OpenVLA检查点开始,然后仅对目标数据进行细节调整.
- 全管道: 在精细调节过程中从预训练的检查点开始并混合交叉体体数据.
在我们的经验中,选项3 (预训练 init + 仅针对目标的细节调整) 比选项2 (随机 init + 混合训练) 超过大多数团队.预训练的视觉表示是转移效益的主要来源,并且它们来自检查点.选项4提供了进一步的5
**RCSV建议:**对于在目标机器人上进行<200次示范的团队,请从选项3开始:下载Octo基点,在单个A100上进行2
目前的限制
- 负转移是真实的: 添加非常不同机器人数据 (不同DOF,不同抓住器类型,不同的任务域) 与仅针对目标的训练相比,可能会损害性能.
- **行动空间正常化丢失信息:**转换为EE delta空间会丢弃冗余分辨率信息 (臂肘/肩膀配置如何变化).对于手臂配置重要任务 (进入混乱环境,避免肘部的障碍),在EE空间联合训练后,有时需要细节调整关节空间.
- **数据集质量差异:**OXE和DROID数据集在示范质量上有着巨大的差异.一些贡献实验室拥有专业运营商;其他使用初学者运营商或部分自动化系统.来自跨体体源的低质量示范可以引入破坏目标政策的噪音.仔细监督您的跨体体混合.
- **计算成本尺度线性:**更多的跨体体数据意味着比较多的训练计算.对于一个GPU的初创公司,一个完整的OXE联合训练运行需要3
5天.预训练的检查站 (Octo, OpenVLA) 抵消了这一成本 - Sim-to-real gap compounds: 如果您的跨体体数据包含模拟数据 (有些OXE数据集这样做),则sim-to-real gap增加了跨体体差距. 除非您已验证它们帮助您的具体任务,否则将从您的跨体体组中过
模拟衍生的数据集.
未来:世界机器人基金会模型
机器人领域正在向基于数百种机器人类型,数百万集和数千项任务的基础模型发展.类似于如何在数十亿网页上训练GPT.如GR-2 (ByteDance),pi0 (物理智能) 和下一代RT-X模型等项目正在扩大到这一愿景. 随着这些模型的成熟, 跨体体转移将从"仔细的联合训练配方"转变为"下载检查点,调整30分钟,部署".
对于今天的团队建设,实际建议是:将数据收集到标准格式 (LeRobot HDF5或RLDS),并提供完整的校准元数据,以便随着这些基础模型的出现,您可以从这些基础模型中获益.
通过RCSV共享数据
随着RCSV的 [数据服务]
对于希望在自己的硬件上收集的数据进行贡献的团队,RCSV提供了一个验证管道,该管道检查格式的合规性,示范质量 (顺度,成功率,摄像头校准),以及隐私 (在摄像头视图中没有可识别信息).验证的贡献可以与池中的任何数据进行代价的数据信用.
相关阅读
行动政策解释 · 模仿学习中的常见错误 · 开始与远程操作 · RCSV数据集 · 机器人词典
跨体体预训练的杆
通过RCSV的共享数据库提供了5个机器人平台的跨体体预训练数据.







