< >
Home » LeRobot-SO100入门教程 » LeRobot-SO100入门教程-数据采集

LeRobot-SO100入门教程-数据采集

说明:

  • 介绍如何数据采集
  • 采集的数据,默认上传到hugging face官网

相关设备

步骤:

请输入图片描述

  • 勾选这里的权限,点击Create token

请输入图片描述

  • 记住Access Token key

请输入图片描述

  • 加载lerobot环境
    conda activate lerobot
  • 进入lerobot目录
    cd ~/lerobot
  • 增加key,将下面的key修改为自己的key
    huggingface-cli login --token key --add-to-git-credential
  • 增加环境路径,显示自己的用户名
    HF_USER=$(huggingface-cli whoami | head -n 1)
    echo $HF_USER
  • 在采集数据之前,确保删除之前的采集数据文件夹so100_test
    rm -r /home/ubuntu/.cache/huggingface/lerobot/ncnynl/so100_test
  • 采集,分两次采集。第一次采集完成后,按一下右方向键,这时候暂停,等一会儿。第二次采集完成后,按一下右方向键结束
    export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    
    python3 lerobot/scripts/control_robot.py \
      --robot.type=so100 \
      --control.type=record \
      --control.fps=25 \
      --control.single_task="Grasp a lego block and put it in the bin." \
      --control.repo_id=${HF_USER}/so100_test \
      --control.tags='["so100","tutorial"]' \
      --control.warmup_time_s=5 \
      --control.episode_time_s=30 \
      --control.reset_time_s=30 \
      --control.num_episodes=2 \
      --control.push_to_hub=true
  • 以上执行程序的参数含义:
      --robot.type=so100 :指定所使用机器人的类型so100
      --control.type=record :记录机器人的操作
      --control.fps=25 :帧率为25帧每秒,这意味着每秒会记录25个时间点的数据
      --control.single_task="Grasp a lego block and put it in the bin." :明确了机器人要执行的单个任务
      --control.repo_id=${HF_USER}/so100_test : 指定了记录的数据要推送至的存储库为 ${HF_USER}/so100_test
      --control.tags='["so100","tutorial"]' :用于给记录的数据添加标签
      --control.warmup_time_s=5 :在机器人正式执行任务之前,会有5秒的热身时间,这期间机器人可能会进行一些初始化操作
      --control.episode_time_s=30 : 每个任务周期持续 30 秒
      --control.reset_time_s=30 :重置时间。在每个任务周期结束后,机器人会有 30 秒的时间进行重置,恢复到初始状态,以便开始下一个任务周期
      --control.num_episodes=2 : 机器人会执行2个完整的任务周期
      --control.push_to_hub=true : true 表示会将记录的数据推送到 ${HF_USER}/so100_test 存储库中
  • 记录的数据,默认上传到hugging face官网存储库为${HF_USER}/so100_test

请输入图片描述

  • 采集数据后,在本地记录的数据和视频

请输入图片描述

  • 重播数据集,播放之前采集的动作
    python3 lerobot/scripts/control_robot.py \
      --robot.type=so100 \
      --control.type=replay \
      --control.fps=25 \
      --control.repo_id=${HF_USER}/so100_test \
      --control.episode=0
  • 以上执行程序的参数含义:
    --robot.type=so100 : 要控制的机器人类型为 so100
    --control.type=replay : 表明控制方式为 “回放”
    --control.fps=30 : 代表每秒执行 30 帧的控制操作
    --control.repo_id=${HF_USER}/so100_test : 代表用户的名称,整个参数值表示数据存于以用户名为前缀、so100_test 为仓库名的仓库中
    --control.episode=0 : 表示要控制的是第 0 个回合

演示视频

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: lerobot-so100