lerobot使用命令总结
lerobot官方代码库更新太快了,以下命令针对于2025年10月29日下载的代码调试为什么官方给了还要自己整理呢,因为官方改动太快了,很多命令的修改没跟上,导致官方给的命令跑不起来,自己摸索挺费时间的,有些需要去扒代码才能找到正确的命令参数,所以把自己整理的分享出来供大家参考命令对应的脚本基本都在 src/lerobot/scripts 路径下 可以对应看一下代码实现。
lerobot官网代码库:
https://github.com/huggingface/lerobot/tree/main
可参考资料:
https://wiki.seeedstudio.com/lerobot_so100m_new/
lerobot官方代码库更新太快了,以下命令针对于2025年10月29日下载的代码调试
为什么官方给了还要自己整理呢,因为官方改动太快了,很多命令的修改没跟上,导致官方给的命令跑不起来,自己摸索挺费时间的,有些需要去扒代码才能找到正确的命令参数,所以把自己整理的分享出来供大家参考
命令对应的脚本基本都在 src/lerobot/scripts 路径下 可以对应看一下代码实现
目前持续更新中……
find robot:
$ lerobot-find-port
记录一下自己的主从臂的端口后面要用
follow '/dev/ttyACM0'
leader '/dev/ttyACM1'
find camera:
# opencv or realsense for Intel Realsense cameras
$ lerobot-find-cameras realsense
$ lerobot-find-cameras opencv
授权:
$ sudo chmod 666 /dev/ttyACM0
$ sudo chmod 666 /dev/ttyACM1
or
$ sudo chmod 666 /dev/ttyACM*
Calibrate:
$ lerobot-calibrate \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
# --robot.id=haribit_follower_arm # <- Give the robot a unique name 实际没有这个字段
$ lerobot-calibrate \
--teleop.type=so100_leader \
--teleop.port=/dev/ttyACM1 \ # <- The port of your robot
teleoperate:
$ lerobot-teleoperate \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
--teleop.type=so100_leader \
--teleop.port=/dev/ttyACM1
带视频主从控制
# opencv 的参数 "/dev/video6"从find camera里的输出找
$ lerobot-teleoperate \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.cameras="{ front: {type: opencv, index_or_path: "/dev/video6", width: 640, height: 480, fps: 30, fourcc: "MJPG"}}" \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM1 \
--display_data=true
# 使用realsense调用相机的参数
$ lerobot-teleoperate \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.cameras="{ front: {type: intelrealsense, serial_number_or_name: 348522070526, width: 640, height: 480, fps: 30}}" \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM1 \
--display_data=true
record the dataset:
# 控制台输出 Recording episode 开始采数据 采集一条数据结束点击向右键-> 结束一个loop,或者等到设定的时间episode_time_s结束会自动结束一个loop
# 输出 Reset the environment 环境初始化,初始化完毕点击向右键或者等待设定的reset_time_s时间结束会自动结束这个阶段,之后可以看到进度条在储存数据
# 本条数据采集过程中发现数据质量不好可以点击向左键<-删除本条记录
$ lerobot-record \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.cameras="{ front: {type: opencv, index_or_path: "/dev/video6", width: 640, height: 480, fps: 30, fourcc: "MJPG"}}" \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM1 \
--display_data=true \
--dataset.repo_id=so100/classify \
--dataset.num_episodes=5 \
--dataset.single_task="Classify the items" \
--dataset.push_to_hub=false \
--dataset.episode_time_s=30 \
--dataset.reset_time_s=30
visualize dataset:
# 本地数据集
$ lerobot-dataset-viz \
--repo-id so100/classify \
--episode-index 0
resume recording the dataset:
# 在之前采集的数据集上继续采集数据
lerobot-record \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.cameras="{ front: {type: opencv, index_or_path: "/dev/video6", width: 640, height: 480, fps: 30, fourcc: "MJPG"}}" \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM1 \
--display_data=true \
--dataset.repo_id=so100/classify \
--dataset.num_episodes=5 \
--dataset.single_task="Classify the items" \
--dataset.push_to_hub=false \
--dataset.episode_time_s=40 \
--dataset.reset_time_s=30 \
--resume=true
模型训练:
lerobot训练act:
lerobot-train \
--dataset.repo_id=so100/pnp\
--policy.type=act \
--output_dir=./outputs/train/act_your_dataset \
--job_name=act_so100 \
--policy.device=cuda \
--wandb.enable=true \
--policy.push_to_hub=false
lerobot训练pi0.5
python src/lerobot/scripts/lerobot_train.py\
--dataset.repo_id=so100/pnp \
--policy.type=pi05 \
--output_dir=./outputs/pi05_so100 \
--job_name=pi05_so100_classify \
--policy.pretrained_path=lerobot/pi05_base \
--policy.compile_model=true \
--policy.gradient_checkpointing=true \
--wandb.enable=true \
--policy.dtype=bfloat16 \
--steps=3000 \ # 总共训练的步数
--policy.device=cuda \
--batch_size=32 \
--policy.push_to_hub=false
报错:
ValueError: Failed to instantiate processor step 'tokenizer_processor' with config: {'max_length': 200, 'task_key': 'task', 'padding_side': 'right', 'padding': 'max_length', 'truncation': True, 'tokenizer_name': 'google/paligemma-3b-pt-224'}. Error: You are trying to access a gated repo.
Make sure to have access to it at https://huggingface.co/google/paligemma-3b-pt-224.
401 Client Error. (Request ID: Root=1-69155b8c-1be0425b23925b043886a9e0;3f77abf3-0196-4498-aa8d-22e0d1887ca8)
Cannot access gated repo for url https://huggingface.co/google/paligemma-3b-pt-224/resolve/main/config.json.
Access to model google/paligemma-3b-pt-224 is restricted. You must have access to it and be authenticated to access it. Please log in.
---------------------------
解决方法终端登陆huggingface $huggingface-cli login
输入huggingface登陆后生成的token
pi0.5在之前checkpoint之后继续训练,--policy.pretrained_path改为之前的训练出来的checkpoint路径:
python src/lerobot/scripts/lerobot_train.py\
--dataset.repo_id=so100/classify \
--policy.type=pi05 \
--output_dir=./outputs/pi05_so100_classify1 \
--job_name=pi05_so100_classify \
--policy.pretrained_path=./outputs/pi05_so100_classify/checkpoints/003000/pretrained_model \
--policy.compile_model=true \
--policy.gradient_checkpointing=true \
--wandb.enable=true \
--policy.dtype=bfloat16 \
--steps=10000 \
--policy.device=cuda \
--batch_size=32 \
--policy.push_to_hub=false
训练smolvla:
lerobot-train \
--policy.path=lerobot/smolvla_base \
--dataset.repo_id=so100/classify \
--batch_size=64 \
--steps=100000 \
--output_dir=./outputs/smolvla_so100_classify \
--job_name=smolvla_so100_classify \
--policy.device=cuda \
--wandb.enable=true \
--policy.push_to_hub=false \
--rename_map='{"observation.images.front": "observation.images.camera2"}'
evaluation:
lerobot-record \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
--robot.cameras="{ front: {type: opencv, index_or_path: "/dev/video6", width: 640, height: 480, fps: 30}}" \
--display_data=true \
--dataset.repo_id=so100/eval_act_so100_classify \
--dataset.num_episodes=10 \
--dataset.single_task="eval_act_so100_classify" \
--policy.path="./outputs/train/act_your_dataset/checkpoints/100000/pretrained_model" \
--dataset.episode_time_s=30 \
--dataset.reset_time_s=20
更多推荐
所有评论(0)