LeRobot-SO100入门教程-数据采集
说明:
- 介绍如何数据采集
- 采集的数据,默认上传到hugging face官网
相关设备
- LeRobot-SO100套件:采购地址
步骤:
- 进入hugging face官网 https://huggingface.co/settings/tokens
- 需要注册账号,添加新的项目
- 点击Create new token,注册项目
- 勾选这里的权限,点击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 个回合
演示视频
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号