LeRobot数据集
LeRobot 是 Hugging Face 开源的机器人学习数据标准化框架,专为机器人学习和强化学习场景设计。它提供了统一的数据格式规范,使研究人员能够更便捷地共享、比较和复现机器人学习实验,显著降低了不同研究项目之间的数据格式转换成本。
导出数据
艾欧数据平台完全支持 LeRobot 标准格式的数据导出,可直接用于 VLA(Vision-Language-Action)模型的训练流程。导出的数据包含机器人操作的完整多模态信息:视觉感知数据、自然语言指令以及对应的动作序列,形成完 整的感知-理解-执行闭环数据映射。
LeRobot 格式数据导出需要较高的计算资源支持。艾欧数据开放平台的免费版本对每位用户的导出数量进行了合理限制,而付费版本则提供无限制导出服务,并配备 GPU 加速功能,可显著提升导出处理速度。
1. 选择导出数据
数据导出前需要完成标注工作。标注过程将机器人的动作序列与对应的自然语言指令建立精确映射关系,这是训练 VLA 模型的必要前提。通过这种映射,模型能够学习理解语言命令并将其转化为准确的机器人控制动作。
关于数据标注的详细流程和批量标注技巧,请参阅:数据标注指南
标注完成后,您可以在导出界面查看所有已标注的数据集。系统支持灵活的数据子集选择,您可以根据具体需求选择特定的数据进行导出。

数据集命名支持自定义设置。如果您计划将数据集发布到 Hugging Face 平台,建议采用标准的仓库命名格式(如 myproject/myrepo1),这将为后续的模型分享和协作提供便利。
导出配置选项
在导出界面右侧的配置面板中,您可以设置以下导出参数:

数据采样频率:控制数据采样的频率(推荐 10-30 Hz)。频率越低,生成的数据集体积越小,但可能丢失部分细节信息。
图像格式:
- MP4(推荐):压缩图像格式,可节约约 80% 的存储空间,适合大规模数据集导出
- JPG:原始图像格式,保留完整图像质量,但文件体积较大
严格匹配模型输入输出:启用后系统会自动裁切观测值和指令值,确保一对一对应关系,有助于减少噪声干扰,提升训练数据质量。
自动模糊人脸:启用后系统会自动识别画面中的人脸位置并进行模糊化处理。该功能有助于:
- 保护个人隐私,符合数据合规要求
- 适用于包含操作人员画面的数据集
- 自动处理所有导出图像中的人脸信息
数据量越大,导出耗时越长。建议根据任务类型进行分类导出,避免一次性处理全部数据。分批导出不仅能提升处理速度,还便于后续的数据管理、版本控制和针对性的模型训练。
2. 下载与解压导出文件
导出过程的耗时取决于数据规模和当前系统负载,通常需要数十分钟。页面会自动更新进度状态,您可以稍后返回查看处理结果。
导出完成后,在页面右侧的 导出记录 区域可以看到 下载数据 按钮。点击后将获得一个 .tar.gz 格式的压缩文件包。
建议在本地创建一个专用目录(如 ~/Downloads/mylerobot3)来解压文件,避免与其他数据混淆:
解压后的文件严格遵循 LeRobot 数据集的标准格式规范,包含完整的多模态数据:视觉感知数据、机器人状态信息和动作标签等:
3. 自定义Topic映射
在导出 LeRobot 数据集时,系统需要将 ROS/ROS2 话题(Topic)映射到 LeRobot 标准格式中的观测值(Observation.state)和动作(action)字段。了解话题映射规则对于正确导出自定义数据集至关重要。
默认Topic映射规则
艾欧数据平台采用基于话题名称后缀的自动识别机制:
观测值(Observation.state)映射规则:
- 当话题名称以
/joint_state或/joint_states结尾时,系统会自动将其position字段值识别为观测值,并映射到observation.state字段 - 例如:
io_teleop/joint_states、/arm/joint_state等话题会被识别为观测值
动作(action)映射规则:
- 当话题名称以
/joint_cmd或/joint_command结尾时,系统会自动将其position字段值识别为动作指令,并映射到action字段 - 例如:
io_teleop/joint_cmd、/arm/joint_command等话题会被识别为动作值
为了确保数据能够正确导出,建议在录制数据时遵循上述命名规范。如果您的机器人系统使用了不同的命名风格,可以联系技术支持团队进行适配。
自定义Topic支持
如果您构建了自定义话题,而该话题的命名不符合上述默认规则,您可以通过以下方式处理:
-
重命名话题:在数据录制阶段,将自定义话题重命名为符合默认规则的名称(如
/joint_states或/joint_command) -
联系技术支持:如果无法修改话题名称,可以联系艾欧平台技术支持团队,我们将根据您的具体命名风格进行适配,确保数据能够正确映射到 LeRobot 格式
当前版本暂不支持在导出界面直接指定自定义话题映射。如果您有特殊需求,建议提前与技术支持团队沟通,我们会在导出前完成相应的配置适配。
数据可视化与验证
为了帮助用户快速理解和验证数据内容,LeRobot 提供了两种主要的数据可视化方案。每种方案都有其适用场景和独特优势:
| 使用场景 | 可视化方案 | 主要优势 |
|---|---|---|
| 本地开发调试 | Rerun SDK 本地查看 | 功能完整、高度交互、离线可用 |
| 快速预览分享 | Hugging Face 在线查看 | 免安装、易分享、随时访问 |
1. 使用 Rerun SDK 进行本地可视化
通过本地安装 lerobot 仓库,您可以使用其内置的 lerobot/scripts/visualize_dataset.py 脚本,配合 Rerun SDK 实现时间轴式的交互式多模态数据可视化。这种方式能 够同时展示图像、状态、动作等多维度信息,提供最丰富的交互功能和自定义选项。
环境准备与依赖安装
确保您的 Python 版本为 3.10 或更高,然后执行以下安装命令:
# 安装 Rerun SDK
python3 -m pip install rerun-sdk==0.23.1
# 克隆 LeRobot 官方仓库
git clone https://github.com/huggingface/lerobot.git
cd lerobot
# 安装 LeRobot 开发环境
pip install -e .
启动数据可视化
python3 -m lerobot.scripts.visualize_dataset \
--repo-id io-ai-data/lerobot_dataset \
--root ~/Downloads/mylerobot3 \
--episode-index 0
参数说明:
--repo-id:Hugging Face 数据集的标识符(如io-ai-data/lerobot_dataset)--root:本地 LeRobot 数据集的存储路径,指向解压后的目录--episode-index:指定要可视化的 episode 索引号(从 0 开始计数)
离线可视化文件生成
您可以将可视化结果保存为 Rerun 格式文件(.rrd),便于离线查看或与团队成员分享:
python3 -m lerobot.scripts.visualize_dataset \
--repo-id io-ai-data/lerobot_dataset \
--root ~/Downloads/mylerobot3 \
--episode-index 0 \
--save 1 \
--output-dir ./rrd_out
# 离线查看保存的可视化文件
rerun ./rrd_out/lerobot_pusht_episode_0.rrd
远程可视化(WebSocket 模式)
当需要在远程服务器上处理数据但在本地查看时,可以使用 WebSocket 连接模式:
# 在服务器端启动可视化服务
python3 -m lerobot.scripts.visualize_dataset \
--repo-id io-ai-data/lerobot_dataset \
--root ~/Downloads/mylerobot3 \
--episode-index 0 \
--mode distant \
--ws-port 9091
# 在本地连接远程可视化服务
rerun ws://服务器IP地址:9091
2. 使用 Hugging Face Spaces 在线可视化
如果不希望安装本地环境,LeRobot 提供了基于 Hugging Face Spaces 的在线可视化工具,无需任何本地依赖即可使用。这种方式特别适合快速预览数据或与团队分享数据集内容。
在线可视化功能要求将数据上传至 Hugging Face 在线仓库。需要注意的是,Hugging Face 免费账户只支持公开仓库的可视化,这意味着您的数据将被公开访问。如果数据涉及敏感信息需要保持私密性,建议使用本地可视化方案。
操作流程
- 访问在线可视化工具:https://huggingface.co/spaces/lerobot/visualize_dataset
- 在 Dataset Repo ID 字段中输入您的数据集标识符(如
io-intelligence/piper_uncap_pen) - 在左侧面板选择要查看的任务编号(如
Episode 0) - 页面顶部提供了多种播放选项,您可以选择最适合的查看方式
模型训练指南
基于 LeRobot 数据集的模型训练是实现机器人学习的核心环节。不同的模型架构对训练参数和数据预处理的要求各有差异,选择合适的模型策略对训练效果至关重要。
模型选择策略
当前主流的 VLA 模型包括:
| 模型类型 | 适用场景 | 主要特点 | 推荐用途 |
|---|---|---|---|
| smolVLA | 单卡环境、快速原型 | 参数量适中、训练高效 | 消费级 GPU、概念验证 |
| Pi0 / Pi0.5 | 复杂任务、多模态融合 | 领先的 VLA 模型,强大的泛化能力 | 生产环境、复杂机器人交互 |
| ACT | 单任务优化 | 动作预测精度高 | 特定任务、高频控制 |
| Diffusion | 平滑动作生成 | 基于扩散模型、轨迹质量高 | 需要流畅轨迹的任务 |
| VQ-BeT | 动作离散化 | 向量量化、快速推理 | 实时控制场景 |
| TDMPC | 模型预测控制 | 样本效率高、在线学习 | 数据稀缺场景 |
Pi0/Pi0.5 模型的微调训练需使用 OpenPI 框架。虽然数据采用 LeRobot v2.1 格式导出,但训练流程与 LeRobot CLI 不同。
详细微调指南请参考:Pi0 与 Pi0.5 模型微调指南
smolVLA 训练详解(推荐入门)
smolVLA 是专为消费级/单卡环境优化的 VLA 模型。相比从零开始训练,强烈推荐基于官方预训练权重进行微调,这样可以显著缩短训练时间并提升最终效果。
LeRobot 训练命令使用以下参数格式:
- 策略类型:
--policy.type smolvla(指定使用哪种模型) - 参数值:使用空格分隔,如
--batch_size 64(不是--batch_size=64) - 布尔值:使用
true/false,如--save_checkpoint true - 列表值:使用空格分隔,如
--policy.down_dims 512 1024 2048 - 模型上传:默认情况下需添加
--policy.push_to_hub false禁用自动上传到HuggingFace Hub
环境准备
# 克隆 LeRobot 仓库
git clone https://github.com/huggingface/lerobot.git
cd lerobot
# 安装支持 smolVLA 的完整环境
pip install -e ".[smolvla]"