为什么数据质量比数量更重要

机器人学习中的一个常见误解是,更多的演示会自动产生更好的策略。 这是错误的。 神经网络学习模仿 分配 数据集中的行为。 如果你的演示不一致——不同的路径、不同的速度、不同的物体位置——网络会学习到一个模糊的平均值,它与任何实际的成功策略都不对应。

50 次演示(其中手臂采取相同的干净路径、在同一位置抓住物体并返回到相同的起始位置)将产生比 500 次高方差演示更好的泛化策略。 第一次收集会议是您建立一致性的机会。 慢慢来。 删除并重新录制任何感觉不对的演示。

如需深入了解管道设计,请阅读 数据收集管道概述 在机器人图书馆。

乐机器人数据集格式

您的录音将保存在 乐机器人格式 — Hugging Face 的 LeRobot 库使用的标准,与您将在第 5 单元使用的 ACT 和 Diffusion Policy 训练器兼容。

记录了什么

关节位置(6 DOF + 夹具)、关节速度、末端执行器姿势、相机帧(RGB + 可选深度)、时间戳和任务元数据。

文件结构

每集一个文件夹。 每集包含一个 data.parquet 带有状态/动作数组和 video/ 包含相机流的子文件夹。

采样率

默认为 50Hz。 远程操作的每一秒都会产生 50 个时间步长。 10 秒的拾取和放置会产生 500 个(状态、动作)对。

兼容性

LeRobot格式直接加载到 lerobot.common.datasets。 它还可转换为 TF-Agents 管道的 RLDS。 浏览参考数据集 →

您的录音会话

使用您的任务名称和目标集数启动录制脚本。 该脚本自动处理剧集管理、文件命名和质量标记:

# Activate your environment first 来源 ~/openarm-env/bin/activate # Launch recording — saves to ~/openarm-datasets/pick-and-place/ python -m openarm.collect \ --任务拾取和放置 \ --第50集\ --fps 50 \ --output ~/openarm-datasets/pick-and-place # Press ENTER to start a new episode, BACKSPACE to discard the last one # The script prints a summary after every 10 episodes

设置工作区,在每个剧集的相同起始位置使用相同的对象。 在桌子上使用胶带标记来保持物体位置一致。 在每集开始之前,您的手臂应该返回到完全相同的起始姿势 - 录制脚本通过归位检查强制执行此操作。

实用提示: 目标是每集 8 至 15 秒。 太短(低于 5 秒),政策没有时间规划平滑的轨迹。 太长(超过 20 秒)和小的变化混合在一起。 对于标准拾放,目标是每集 10 秒。

数据质量检查表

在进入第 5 单元之前,请验证您的数据集通过所有五项检查。 丢弃并重新录制任何项目失败的剧集。

  • 1 没有失败的把握。 每集都会以物体成功放置在目标位置结束。 手臂错过抓握或掉落物体的情节必须被删除——它们会让模型失败。
  • 2 一致的起始姿势。 在每一集中,手臂都从归位位置开始。 在数据集查看器中验证所有 50 个情节中时间步 0 处的关节角度彼此之间的误差在 ±2° 范围内。
  • 3 没有突然的跳跃或抽搐。 可视化 3-5 个随机片段 python -m lerobot.visualize_dataset --dataset ~/openarm-datasets/pick-and-place。 动作序列应该是平滑连续的曲线,而不是尖峰。
  • 4 相机画面清晰且对焦清晰。 检查您的工作区摄像头是否被遮挡,是否被直射光遮挡,并且该物体在每个片段中都清晰可见。 模糊或黑暗的视频会降低策略性能。
  • 5 已保存 50 集完整剧集。 跑步 python -m lerobot.inspect ~/openarm-datasets/pick-and-place 并确认您有 50 集且没有损坏的文件。 该脚本将标记任何缺少帧或被截断的动作序列的剧集。

浏览参考数据集进行比较

SVRC 数据集库包含示例拾放记录,您可以将其用作质量参考。 如果您的数据看起来明显不同,请在训练前进行调查。 打开 SVRC 数据集 →

第 4 单元完成时...

您有 50 个干净的剧集以 LeRobot 格式保存在 ~/openarm-datasets/pick-and-place。 所有五个质量检查表项目均通过。 跑步 lerobot.inspect 显示50集,没有错误。 您已准备好将此数据集传递到第 5 单元中的训练管道。