开放的X-体:改变了一切的机器人数据集
开放X-Embodiment解释了:22个机器人实施例,1M+轨迹,RT-X的跨体转移证据,如何访问和使用数据集,限制以及下一步的情况.
开放X-Embodiment是最大的开放协作机器人学习数据集. 它提供了第一批严格的证据表明,在许多不同机器人数据上进行训练,产生了更好的政策,比单机机器人训练更好地转移到新机器人.
什么是开放的X体
开放X-Embodiment (OXE) 是一个统一的机器人操纵示范数据集,收集了22多种不同的机器人体现,包括来自弗兰卡·埃米卡,托森机器人 (WidowX,ViperX),通用机器人 (UR5),KUKA,谷歌自己的机器人舰队等. 数据集总共超过100万集,涵盖了数百个不同的操纵任务:挑选,放置,打开抽
该项目是由谷歌DeepMind领导的30多个研究机构合作,由斯坦福,UC Berkeley,卡内基梅隆,MIT,哥伦比亚特区,ETH苏黎世等公司做出重大贡献.每个实验室都提供了现有的示范数据集,然后将其标准化为RLDS (机器人学习数据集规格) 格式. 整个数据集均存储在Google云存储中,可免费用于研究.
名称中的"X"代表跨体现.OXE的定义目标不仅是创建一个大型数据集,而且是证明,从许多不同的机器人数据中训练会产生比从单个机器人数据中训练更好的政策.即使是单个机器人.这一假设证明是正确的,证据已经改变了该领域对机器人数据的看法.
为什么这很重要:RT-X结果
根据OXE论文 (Padalkar及其他2023年) 的标志性发现,RT-X模型的性能,特别是RT-1-X和RT-2-X,基于完整的多体体数据集进行了训练.
RT-1-X (一个较小,高效的模型) 在使用OXE数据训练的单机机器人专业型号RT-1在多个机器人平台上完成的评估任务上表现了大约50%.这是主要结果:一个单个一般主义模型,基于22个不同机器人的数据训练,在任何单个机器人上表现得比仅基于机器人的数据训练的模型更好. 机制是,跨体体数据迫使模型学习体体-无知操纵表示,有效提供了视觉理解和任务概念的强大的先驱.
RT-2-X (基于更大的 PaLM-E视觉语言模型) 显示了更强大的跨体体转移,特别令人印象深刻的零射击通用化到没有在训练集中的机器人体现. 在一个持久的机器人类型上进行评估时,RT-2-X在没有任何细节调整的情况下实现了有意义的任务完成率,
这些结果证实了一个核心假设:机器人操纵知识部分是体现不知.一个政策看到一个弗兰卡臂打开抽
论文中的关键发现
** 实现中转移的内容:** 视觉场景理解 (识别物体,理解空间关系) 转移最强烈.高层次任务语义 ("拾起","开放","放上") 转移良好.
**不传输良好:**精确的抓住配置 (对物体表面的指头位置准确) 需要具体体现的数据.接触动态 (抓住力调节,插入力) 没有传输.细动控制 (分厘米精确运动) 需要每体现的细调.
数据分布问题: OXE数据集在实施方案和任务中并非均
规模有助,但多样性有助:
如何访问和使用数据集
OXE在Google云存储中托管,可使用 tensorflow_datasets (TFDS) API下载.该数据集使用RLDS格式,每个集是包含观察字典 (图像,联合状态,抓住状态),行动向量,奖励信号和自然语言任务注释的步骤的序列.
开始:
- 安装 tensorflow_data sets:
T4 - 在OXE GitHub存储库或TFDS目录中浏览可用的子数据集
- 输入特定子数据集:
T5 (对于RT-1 骨 数据集,其中一个最大的组件) - 对于PyTorch用户:使用LeRobot的转换工具将RLDS数据转换为LeRobot Parquet格式,或使用oxe_torch_dataloader来直接加载PyTorch
实际使用模式:
- ** 预训练基础模型:** 下载完整的OXE数据集 (或涵盖10多个实施方案的多元小组). 训练模型使用这些数据学习一般的操纵表示.然后细节调整您的任务特定数据.这需要比从头开始进行训练少5到10倍的任务特定示范.
- ** 增加一个小数据集:** 如果您在您的特定机器人上进行了100-200个示范,请将相关的OXE子数据集添加到您的训练混合物中. 专注于类似的实施方案 (相同的抓住器类型,类似的臂几何) 和类似任务类别的子数据集.
- ** 评估跨体现转移:** 使用OXE的标准评估协议和延续任务集来将模型的通用化能力与已发布的基线进行比较.
限制:OXE不包括什么
虽然OXE具有变革性,但它有实际的局限性,
任务多样性偏差. 大多数节目都是桌面上选择和放置,较小的部分包括开放抽
**硬件已过期.**许多贡献实验室使用了2020-2023年最新的硬件,但现在已经过时:低分辨率摄像头,旧的RealSense模型和与2026年最常用的ViperX/Franka设置不同的臂配置.旧摄像头的视觉功能可能不完全匹配现代摄像头设置的视觉分布,从而降低了传输效率.
**
**说明质量不同.**语言注释范围从精心的具体描述 ("从表左边取红杯") 到通用标签 ("取物").这种不一致性限制了在原始数据集上使用语言调节的训练的有效性,而无需后处理.
**没有强力扭矩数据.**绝大多数OXE剧情只包含联合位置和摄像头图像.对于接触丰富的任务至关重要的强力扭矩传感器数据,在大多数子数据集中都缺少.这限制了OXE在需要调节抓力或处理符合条件的对象的训练政策中的有用性.
使用LeRobot (Python) 加载OXE数据
# Load an OXE sub-dataset via LeRobot's HuggingFace integration
from lerobot.common.datasets.lerobot_dataset import LeRobotDataset
# Load the Bridge V2 subset (WidowX data, 60K+ episodes)
dataset = LeRobotDataset("lerobot/bridge_orig")
# Inspect dataset structure
print(f"Number of episodes: {dataset.num_episodes}")
print(f"Keys per frame: {dataset[0].keys()}")
# Typical keys: observation.images.image_0, observation.state, action, ...
# Load a specific episode
episode = dataset.filter(lambda x: x["episode_index"] == 42)
for frame in episode:
obs_image = frame["observation.images.image_0"] # PIL Image or tensor
state = frame["observation.state"] # joint positions
action = frame["action"] # action vector
# Process as needed for your training pipeline
# For TFDS-native loading (alternative):
# import tensorflow_datasets as tfds
# ds = tfds.load('fractal20220817_data', split='train')
# for episode in ds.take(10):
# steps = episode['steps']
# for step in steps:
# image = step['observation']['image']
# action = step['action']
精细调整OXE+您的数据基础模型
标准的使用OXE数据来改善您的具体任务政策的管道包括三个阶段:
**第1阶段:选择相关的OXE子数据集.**所有OXE数据都不对您的任务具有同等用途.选择基于:类似的机器人类型 (相同的抓住器类型比相同的手臂动力更重要),类似的任务类型 (选择位置数据帮助选择位置;它不帮助组装),以及数据质量 (更喜欢语言注释和一致的相机设置的子数据集). 对于基于WidowX的选址项目,桥 V2和伯克利电缆路由数据集是最相关的.对于基于Franka的项目,Fractal和TOTO数据集是最强大的.
**第二阶段:预训练或使用预训练的权重.**如果使用Octo或OpenVLA,预训练的权重已经包含OXE数据.从这些权重开始,然后继续进行细节调整.如果训练定制架构,预训练您选择的OXE子数据集100-200个时代 (通常在4xA100GPU上使用12-48小时,取决于数据量). 监测您的任务特定数据的保留部分验证损失,以检测您的目标任务代价上对OXE分布过度适应.
**第三阶段:对任务特定数据进行精细调节.**使用较低的学习率 (通常比预训练低10倍: 1e-5为Octo, 5e-6为OpenVLA) 精细调节前训练模型对任务特定数据. 使用所有任务特定数据以及最相关的OXE数据的10-20%的混合物来防止灾难性遗忘一般操纵知识. 精细调节通常需要50-200个时代 (2-8小时在单个A100上).每10个时代评估已完成的任务特定测试事件,并选择最佳检查点.
基准结果:OXE训练的模型与专家
| Model | 预训练 Data | Fine-Tune Data | In-Dist. Success | Novel Object Success |
|---|---|---|---|---|
| ACT (from scratch) | None | 200 task demos | 82% | 28% |
| RT-1-X | Full OXE | 200 task demos | 88% | 52% |
| Octo (fine-tuned) | Full OXE | 200 task demos | 86% | 48% |
| OpenVLA (fine-tuned) | Full OXE | 200 task demos | 90% | 58% |
模式一致:OXE预训练提供了适度的分布改善 (5-10%) 和大量的新物体概括改善 (20-30个百分点).
根据数字:OXE数据集统计
了解OXE的组成有助于团队选择最适合其使用情况的子数据集. 以下是最新数据集修订的关键统计数据.
| Statistic | Value | Notes |
|---|---|---|
| Total episodes | ~1.1 million | Growing as labs continue to contribute |
| Robot embodiments | 22+ | Franka, WidowX, UR5, KUKA, Google fleet, etc. |
| Contributing institutions | 33 | Led by Google DeepMind, Stanford, UC Berkeley |
| Distinct task categories | ~500 | Heavily skewed toward pick-place (~60% of episodes) |
| Total storage size | ~12 TB (raw) | Most sub-datasets are 5-200 GB individually |
| Largest sub-dataset | Fractal (RT-1): ~130K episodes | Google's proprietary robot fleet data |
| Bridge V2 (WidowX) | ~60K episodes | 24 environments; most popular for WidowX fine-tuning |
| Language annotations | ~70% of episodes | Quality varies significantly across sub-datasets |
| Camera resolution range | 128x128 to 640x480 | Most sub-datasets standardize to 256x256 or 224x224 |
| Force-torque data | < 5% of episodes | Major gap; limits contact-learning applications |
系统数据格式兼容性
基于RCSV数据收集输出的设计,可以与OXE和主要培训框架互操作.
- **原生格式:HDF5 (与LeRobot兼容).**RCSV的主要输出格式是HDF5,分别是LeRobot的集体结构.每个集包含:
T6 (RGB,640x480,30fps), T7 (RGB,640x480,30fps), T8 (联合位置+速度+抓住器), T9 (力扭矩,6轴,500Hz下调至30Hz), T10 (联合位置目标或三角 EEF),和 T11 (自然语言字符串). - **RLDS出口.**对于OXE兼容性和基于TFDS的培训管道,RCSV提供了一个单命令的RLDS转换,该转换将HDF5集映射到RLDS格式,使用标准化的观察,操作和语言字段.
- **LeRobot Parquet出口.**对于 Hugging Face- native 工作流程,RCSV 将与相关的YAML元数据出口到LeRobot的Parquet格式.
- **原始视频+CSV.***对于定制管道,RCSV可以出口原始MP4视频每相机和CSV文件,具有时刻刻刻印合状态,F/T读数和抓住状态.这是最灵活的格式,但需要团队编写自己的数据加载代码.
基于RCSV数据和典型的OXE子数据集的关键区别:每个RCSV节目包括同步的力扭矩数据 (当F/T传感器在硬件上存在时),校准的摄像头内在和外在,以及遵循标准化的协议的语言注释.这些功能使RCSV数据特别有价值,作为高质量的细调数据.
如何补充OXE的RCSV数据
许多实体化,许多任务,许多环境.它缺乏特定领域的深度和数据质量的一致性. 通过提供:所有集中均有校准内在和外在的相机设置,与视觉和自觉流程同步的扭矩传感器数据 (几乎所有OXE数据都没有),目标任务类别内的系统对象多样性 (30+个类别对象,不是OXE子数据集中的典型的5-10个),以及遵循标准化的协议而不是OXE子数据集中的可变质量的语言注释.
建议对具有特定部署目标的团队采取的方法:使用OXE预训练的基础模型重量来实现视觉骨干和一般操纵知识,然后与RCSV收集的任务特定数据进行细节调整,从而提供部署级可靠性所需的深度和质量.
数据组合深度潜水:OXE实际上是什么
了解组合有助于团队选择预训练的合适子组,避免在无关紧要的数据上浪费计算.
| Sub-Dataset | Robot | Episodes | Tasks | Best For |
|---|---|---|---|---|
| Fractal (RT-1) | Google Everyday Robot | ~130K | Kitchen manipulation, pick-place | Visual diversity, mobile manipulation |
| Bridge V2 | WidowX 250 | ~60K | 24 environments, pick-place, sweeping | WidowX fine-tuning, env diversity |
| TOTO | Franka Panda | ~1K | Tabletop manipulation | Franka fine-tuning baseline |
| Kuka | KUKA IIWA | ~3K | Grasping, stacking | Industrial arm benchmarks |
| BC-Z | Google Robot | ~25K | 100+ tasks with language | Language conditioning, multi-task |
| Cable Routing | WidowX / Franka | ~2K | Deformable object manipulation | Contact-rich, deformable tasks |
| Jaco Play | Kinova Jaco | ~1K | Pick-place, drawer open | Kinova fine-tuning, 3-finger gripper data |
对于使用OpenArm 1 (6-DOF与平行
实际数据混合:平衡OXE和任务特定数据
结合OXE预训练数据和任务特定细调数据时,混合比重很重要.细调过程中过多的OXE数据可以稀释任务特定学习;过少允许灾难性的遗忘一般操纵知识.
建议混合时间表:
- **第一阶段 (时代1~50):**80%OXE,20%具体任务.模型在开始适应时保持一般知识.
- 第二阶段 (时代51-150): 40% OXE,60%任务特定.
- **第三阶段 (时代151-200):**10%OXE,90%任务特定.最终精炼目标任务,使用最小的OXE作为调节剂.
在我们评估中,这种渐进的时间表在新型对象概括方面,在5-8%的固定比分混合上持续超过了.
# Graduated data mixing for OXE + task-specific fine-tuning
from torch.utils.data import ConcatDataset, WeightedRandomSampler
def get_sampler(epoch, oxe_dataset, task_dataset, total_epochs=200):
"""Returns a weighted sampler with epoch-dependent mixing ratio."""
progress = epoch / total_epochs
if progress < 0.25:
oxe_weight, task_weight = 0.8, 0.2
elif progress < 0.75:
oxe_weight, task_weight = 0.4, 0.6
else:
oxe_weight, task_weight = 0.1, 0.9
weights = ([oxe_weight / len(oxe_dataset)] * len(oxe_dataset) +
[task_weight / len(task_dataset)] * len(task_dataset))
combined = ConcatDataset([oxe_dataset, task_dataset])
sampler = WeightedRandomSampler(weights, num_samples=len(combined))
return combined, sampler
如何提供自己的数据
贡献到OXE加强了社区数据集,并为您的数据提供了一个机制,以便更广泛的研究社区引用和使用. 贡献过程包括几个步骤.
- 将数据格式为RLDS. 每个集都必须包含在RLDS方案中的观测 (图像和自觉),操作和语言注释. rlds_creator库提供转换工具.
- 每一步添加语言注释.* 每一步都应该有当前任务的自然语言描述.这些注释是语言条件模型使用的,并且是包含的要求.
- ** 文件数据集.** 提供数据集卡,其中包括:机器人类型和配置,摄像头规格和位置,收集环境描述,任务描述,操作员数和训练,每个任务的集段数.
- **提交拉取请求.**OXE GitHub存储库通过拉取请求接受数据集贡献.审查过程检查格式的合规性,数据质量 (没有损坏的事件,没有极端异常值),以及文档完整性.
如果您的示例通过RCSV的 [数据服务]
使用OXE数据时常见的陷
采用OXE的团队经常遇到浪费计算和产生的低优质结果的问题. 以下是最常见的陷
- ** 训练在完整的数据集中,而不过
.** OXE 包含超过1万个集,许多集与您的具体任务无关紧要. 训练在所有方面都增加了噪音,并增加了训练时间10-50倍,而没有比例的效益. 始终首先过 到相关的子数据集. 一个好起点:选择3-5个子数据集,具有类似的抓住器类型和任务类别,总共为50K-200K集. - **忽略行动空间正常化.**不同的OXE子数据集使用不同的行动表示:绝对联合位置,德尔塔联合位置,绝对终端效应对象的姿势,德尔塔终端效应对象的姿势,以及各种抓住器行动格式.在一个共同的行动空间中,在没有正常化的情况下加载多个子数据集会产生垃圾政策. 使用OXE操作正常化工具或LeRobot的内置转换层.
- **假设相机的放置均
.**相机的位置,角度和分辨率在OXE子数据集中大大不同.在桥V2 (上下摄像头,256x256) 上预训练的模型可能不会在640x480的速度下将手腕摄像头转移到手腕摄像头上. - 超重最大的子数据集.
体 (130K集) 在体积上占据了OXE的主导地位.如果你以节目为单位样品,60%以上的训练批量将是谷歌机器人机队的 体数据,该机器人使用了独特的移动操纵器,可能不适用于你的手臂. 使用对您的目标实施更相关的子数据集或加重较小数据集的均衡采样. - **忽略语言注释质量问题.**约30%的OXE集中包含通用或缺失语言注释 ("取物"而不是"取红杯从左边").对于语言条件的政策,过
到具有高质量的注释 (Bridge V2,BC-Z) 或后处理注释的子数据集,使用LLM重新标签步骤.
行动空间规范:一个实用指南
操作空间不一致性在OXE子数据集中是最大的实际挑战之一.
# Action space normalization for mixed OXE training
import numpy as np
class ActionNormalizer:
"""Normalize actions from different OXE sub-datasets to a common space."""
def __init__(self, target_space="delta_eef_6d"):
self.target_space = target_space
# Per-dataset statistics (computed from dataset metadata)
self.stats = {}
def register_dataset(self, dataset_name, action_mean, action_std, action_type):
"""Register per-dataset normalization statistics."""
self.stats[dataset_name] = {
"mean": np.array(action_mean),
"std": np.array(action_std),
"type": action_type, # "abs_joint", "delta_joint", "abs_eef", "delta_eef"
}
def normalize(self, action, dataset_name):
"""Normalize action to zero-mean, unit-variance in target space."""
s = self.stats[dataset_name]
# Step 1: Convert to target action type (if needed)
converted = self._convert_action_type(action, s["type"], self.target_space)
# Step 2: Standardize using per-dataset statistics
normalized = (converted - s["mean"]) / (s["std"] + 1e-8)
return np.clip(normalized, -5.0, 5.0) # Clip outliers
def _convert_action_type(self, action, source_type, target_type):
"""Convert between action representations using FK/IK."""
if source_type == target_type:
return action
# Conversion requires robot-specific FK/IK -- use URDF-based solver
# This is dataset-specific and must be implemented per-embodiment
raise NotImplementedError(
f"Conversion from {source_type} to {target_type} "
f"requires robot-specific FK/IK model"
)
行动规范化挑战是Octo和OpenVLA等基础模型如此有价值的一个关键原因:它们内部处理跨数据集行动规范化,从而使团队免于从头开始实施它.如果你正在训练一个基于原始的OXE数据的定制架构,则为适当的操作空间处理预算1-2周的工程时间.
评估议定书:如何对OXE基线进行基准测量
为了有意义地比较您的细节调整模型与发表的OXE基线,使用RT-X论文中的标准化评估协议.
- 定义10-20个评估配置,包括在分类中 (培训对象在培训职位) 和在分类外 (新型对象在新型职位).
- 每个配置进行3次试验,以计算
断政策行为和环境噪音.报告平均和标准偏差. - 使用标准成功标准: 选择地点任务的目标位置不到3厘米;关键任务的抽
/柜角不到10度;完成任务不到2倍的人体示范时间. - 分别报告分类分类和OOD成功率.许多论文只报告分类中数,这可能是误导性的.OOD评估是交叉体现预训的实际价值.
- 与公布的基线相比: ACT从零开始 (下限),Octo细调 (中范围) 和OpenVLA细调 (当前模型上限).
根据RCSV的规范,RCSV为常见任务类别提供标准化评估套件 (桌面选择,抽
建立自己的OXE兼容数据集
为了为OXE生态系统提供数据,或者构建与OXE训练模型兼容的数据集,需要遵守特定的数据格式和元数据标准.
- **使用RLDS格式.**OXE使用RLDS (Reinforcement Learning Datasets) 格式,基于TensorFlow Datasets (TFDS) 构建.每个集包含:观察 (摄像头图像,自觉状态),行动 (终端效应器姿势三角形或关节角),语言指导 (自然语言字符串) 和奖励/成功信号.RCSV的数据出口管道默认生成符合RLDS的输出.
- **标准化摄像头配置.**OXE模型预计具体的摄像头场地:一个或多个名为
T13 , T14 等的RGB图像. 解析度应至少为256x256 (320x240最小). - 将操作正常化到一个共同空间. 报告操作作为7D终端效应的三角形: [dx, dy, dz,droll, dpitch, dyaw, gripper_open]. 设置三角形在米,旋转三角形在射线. 包含从机器人本地行动空间 (关角,绝对位置等) 的转换在数据集文档中.
- 包括丰富的元数据. 每个数据集:机器人模型,抓住器类型,摄像头模型,工作空间尺寸,任务描述. 每个剧集:语言指令,成功/失败标签,收集日期,操作员身份证 (匿名). 这种元数据使得数据混合策略能够使OXE培训有效.
- ** 发布前质量门.** 删除失败的示范 (除非专门标记为负例训练失败). 检查各种模式的时间标签同步. 检查行动标签是否正确地与观察到的运动相匹配. 通过第二个注释器进行5%的现场检查,发现了系统性问题.
RCSV为所有数据收集任务提供OXE兼容数据出口作为标准输出.使用RCSV数据的团队可以立即将其与OXE训练模型 (Octo,OpenVLA) 无需格式转换整合.客户选择时,我们还将匿名数据集寄送到公共OXE库,扩大为每个人都有益的社区资源.
细调OXE模型:一步步指南
对于大多数团队来说,OXE的最实用的用途是根据其任务特定数据进行OXE预训练模型的细节调整.
# fine_tune_octo.py -- Fine-tune OXE-pretrained Octo on task-specific data
from octo.model.octo_model import OctoModel
from octo.data import make_single_dataset
# Step 1: Load OXE-pretrained checkpoint
model = OctoModel.load_pretrained("hf://rail-berkeley/octo-base")
# Step 2: Prepare your task-specific dataset (RLDS format)
dataset = make_single_dataset(
dataset_kwargs={
"name": "my_robot_pick_place",
"data_dir": "/data/my_dataset/1.0.0",
"image_obs_keys": {"primary": "image_0", "wrist": "image_1"},
"state_obs_keys": ["state"],
"language_key": "language_instruction",
},
train=True,
)
# Step 3: Fine-tune with reduced learning rate
# Key: use 10x lower LR than pre-training to avoid catastrophic forgetting
model = model.finetune(
dataset,
learning_rate=3e-5, # Pre-training used 3e-4
batch_size=256,
num_steps=10000, # 50-200 demos typically need 5K-20K steps
freeze_transformer=False,
)
# Step 4: Evaluate on held-out conditions
model.save_pretrained("/models/my_task_octo_finetuned")
关键的调整技巧:
- 开始使用
T15 (93M参数),除非您有4+A100GPU,在这种情况下 T16 可能值得计算. - 只有100个A100,需要大约2个小时进行100个示例,500个示例,预算8-12小时.
- 监测训练损失和现实评估. 精细调节损失可能会减少,而现实性能平原或降低 (适应小细调节组).
- 如果你的机器人与OXE的任何机器人不同,请提供额外的精细调节数据 (200+个演示) 来教模型新体现的具体特征.
下一个:DROID,桥 V2及其它
根据OXE的原则,下一代数据集将将其扩展到特定的方向.
DROID (Khazatsky等,2024) 专注于环境多样性.在564个环境和86个实验室中进行了76,000次示范,专门旨在测试环境多样性如何影响政策通用化. DROID是补充OXE:OXE最大化了机器人体现的多样性,DROID最大化了场景和环境多样性.
Bridge V2 (Walke et al., 2023) 为基于WidowX的操纵提供了一个集中,高质量的数据集.在24个环境中进行了60,000+的示范,并进行了仔细的质量控制.Bridge V2是WidowX硬件部署的团队的精细调节数据集,因为它提供了强大的部署所需的体积和环境多样性,特别是对于一个实施方案.
**Open-Anything数据集.**社区正在努力为目前不足的域进行OXE类型的集成:多指手的巧妙操纵,双手任务,移动操纵和户外/场地机器人.RCSV正在积极为这些新兴集成工作贡献我们双手和巧妙的操纵收集活动的数据.
现在的问题是,社区是否能达到真正的一般主义机器人基础模型培训所需的多样性和规模,以及这需要多长时间. 为了帮助这些工作,RCSV的 [数据收集基础设施]
相关阅读
- [机器人学习的规模规律:2026年我们所知道的]
- [LeRobot框架:开始指南]
- [一般化挑战:机器人政策为什么仍然失败]
- [机器人学习视频:2026年最先进的技术]
- [机器人模仿学习:从示范到部署]
- RCSV数据收集服务
- 其他类型的数据集
合适于OXE的数据收集
基于RCSV的数据收集从一开始就与OXE兼容:标准化摄像头,RLDS准备出口,以及质量注释.直接使用我们的数据进行预训或为社区贡献.
[查看数据服务]







