录制数据集

来自Waveshare Wiki
跳转至: 导航搜索
RoArm-M3
{{{name2}}}
{{{name3}}}
功能简介
特性 RoArm-M3-AI-Kit 机械臂
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 UART

LeRobot 教程目录

4. 录制数据集

  • 注意:以下操作均在容器内执行
  • 注意:需要进入到 lerobot 目录下执行以下代码
  • 建议熟悉遥控操作后再录制数据集,节省时间

4.1 参数说明

可根据实际需求适当调整以下参数

--warmup-time-s: 指初始化时间。
--episode-time-s: 表示每次收集数据的时间。
--reset-time-s: 是每次数据收集之间的准备时间。
--num-episodes: 表示预期收集多少集数据。
--push-to-hub: 决定是否将数据上传到 HuggingFace Hub。
--control.resume: 决定是否继续录制,默认是false。

如果你希望将数据保存在本地(--control.push_to_hub=false),请将 --control.repo_id=${HF_USER}/roarm_m3_test 替换为一个自定义的本地文件夹名称,例如 --control.repo_id=waveshare/roarm_m3_test 。数据集将存储在系统主目录下的 "~/.cache/huggingface/lerobot"。

如果你通过 --control.push_to_hub=true 将数据集上传到了 Hugging Face Hub,可以通过在线可视化你的数据集。

4.2 录制数据集

如果你想使用 Hugging Face Hub 功能上传数据集,并且之前没有这样做过,请确保已使用写入访问令牌登录,该令牌可以从 Hugging Face 设置中生成:

huggingface-cli login --token ${HUGGINGFACE_TOKEN} --add-to-git-credential

将 Hugging Face 存储库名称存储在变量中以运行以下命令:

HF_USER=$(huggingface-cli whoami | head -n 1)
echo $HF_USER

录制 2 集并不上传数据集

python lerobot/scripts/control_robot.py \
  --robot.type=roarm_m3 \
  --control.type=record \
  --control.fps=30 \
  --control.single_task="Grasp a block and put it in the bin." \
  --control.repo_id=${HF_USER}/roarm_m3_test \
  --control.tags='["roarm_m3","tutorial"]' \
  --control.warmup_time_s=5 \
  --control.episode_time_s=30 \
  --control.reset_time_s=30 \
  --control.num_episodes=2 \
  --control.push_to_hub=false
  • 在回合记录过程中任何时候按下右箭头 -> 可提前停止并进入重置状态。重置过程中同样,可提前停止并进入下一个回合记录。
  • 在录制或重置到早期阶段时,随时按左箭头 <- 可提前停止当前剧集,并重新录制。
  • 在录制过程中随时按 Q 可提前结束会话,直接进入视频编码和数据集保存。

一旦你熟悉了数据记录,你就可以创建一个更大的数据集进行训练。一个不错的起始任务是在不同的位置抓取物体并将其放入箱子中。我们建议至少记录 50 个场景,每个位置 10 个场景。保持相机固定,并在整个录制过程中保持一致的抓取行为。同时确保你正在操作的物体在相机视野中可见。一个很好的经验法则是,你应该仅通过查看相机图像就能完成这项任务。

在接下来的章节中,你将训练你的神经网络。在实现可靠的抓取性能后,你可以在数据收集过程中引入更多变化,例如增加抓取位置、不同的抓取技巧以及改变相机位置。 避免快速添加过多变化,因为这可能会阻碍您的结果。