数据飞轮

改进机器人学习策略的最可靠方法不是改变模型,而是改进数据。 数据飞轮是任何严肃的机器人学习项目的核心迭代循环:

1

评价

进行 20 次试验。 衡量成功率。 按类型对故障进行分类。 您在第 5 单元中已完成此操作。

2

识别主要故障模式

是数据质量(演示不一致)、分布变化(看不见的位置)还是模型容量(轨迹足够精确但错误)? 您的第 5 单元诊断回答了这个问题。

3

收集有针对性的数据

记录 20-30 次专门针对故障情况的演示。 如果策略在工作区左侧的对象上失败,请录制该特定位置的 20 个演示。 不要记录更多已经有效的内容。

4

重新培训和重新评估

将新数据与现有数据集合并,重新训练,然后再次运行 20 次试验评估。 当诊断正确时,每个周期预计会有 10-20 个百分点的改善。

混合数据集

乐机器人可以同时在多个数据集上进行训练,这对于将目标收集数据与原始数据集相结合非常有用,甚至可以与针对相同任务和机器人类型的公共社区数据集相结合。

# Merge two datasets into a new combined dataset python -m lerobot.scripts.push_dataset_to_hub \ --dataset-dir ~/lerobot-datasets/pick-place-v1 \ --repo-id $HF_USER/pick-place-v2-merged # OR train directly on multiple repo IDs python -m lerobot.scripts.train \ --政策型行为 \ --dataset-repo-id "$HF_USER/pick-place-v1,$HF_USER/pick-place-targeted" \ --dataset-repo-id-weights "1.0,2.0" \ --output-dir ~/lerobot-policies/pick-place-v2 # The weights parameter upsamples the targeted data 2x # relative to the original dataset
与公共数据集混合: 在混合社区数据集之前,请验证机器人类型和动作空间尺寸是否与您的匹配。 将 7-DOF 数据集混合到 6-DOF 训练运行中将导致无声形状不匹配错误。 始终检查 info.json 您计划混合的任何数据集。

在 HuggingFace Hub 上分享您的模型

共享您经过训练的模型可以将其提供给社区,并让其他人使用您的策略作为起点。 任何人都可以直接加载以标准 LeRobot 格式共享的模型 pip install lerobot.

# Push your best checkpoint to HuggingFace Hub python -m lerobot.scripts.push_policy_to_hub \ --检查点路径\ 〜/lerobot-policies/pick-place-v1/checkpoints/step_050000 \ --repo-id $HF_USER/act-pick-place-so100 # Add a model card (recommended) # The push command creates a README.md template — fill it in with: # - Robot type and task description # - Training dataset repo ID # - Evaluation success rate # - Video of the policy running on your robot

与社区分享您的数据集

您的数据集(您在第 3 单元中推送的)已位于 HuggingFace Hub 上。 为了使其更容易被其他人发现和利用:

  • 添加一个 数据集卡 在 HuggingFace 上 — 描述任务、机器人、记录设置和剧集数量。 这是您可以为数据集可发现性所做的最有影响力的事情。
  • 标记为 lerobot,您的机器人类型(例如, so100)和您的任务类别(例如, pick-and-place).
  • 将其提交给 SVRC数据集库 用于管理和纳入社区索引。

将硬件配置贡献回乐机器人

如果您在第 1 单元中为不受支持的机器人添加了自定义硬件配置,请考虑将其贡献回 LeRobot 存储库。 打开拉取请求 huggingface/lerobot 你的配置文件在 lerobot/configs/robot/。 维护人员可以快速审查硬件贡献,这直接有利于该硬件的每个未来用户。

下一步:更有效的政策

您现在拥有完整的乐机器人工作流程。 从这里开始可以去哪里:

语言

SmolVLA — 语言条件策略

当您希望策略响应自然语言指令(“拿起蓝色块”)或跨任务进行泛化时,请从 ACT 切换到 SmolVLA。 需要约 200 多个演示和更结构化的提示格式。 请参阅 SmolVLA 论文和 LeRobot 示例。

规模

Pi0Fast — 高速 VLA 推理

Pi0Fast 以 100Hz 推理运行(相对于 ACT 的 30Hz),可实现更快的操作任务和更严格的控制循环。 它在推理时需要 GPU,但在规模上会产生显着更灵巧的行为。

概括

多任务策略

使用每集具有不同 task_index 值的混合数据集在多个任务上训练单个策略。 SmolVLA 和 Pi0Fast 本身都支持多任务训练。 请参阅 GitHub 示例中的 LeRobot 多任务配方。

您完成了乐机器人之路。

您安装了 LeRobot,了解了数据集格式,记录了自己的演示,训练了 ACT 策略,系统地评估了它,并运行了数据飞轮。 这就是完整的开源机器人学习工作流程——与世界各地的研究实验室和机器人初创公司使用的流程相同。

问题? 加入 HuggingFace 不和谐#lerobot — 维护者和社区是积极和热情的。