LeRobot 使用方式与典型场景
四、使用方式与典型场景
下面按"标定 → 遥操作验证 → 采集 → 训练 → 评估"的顺序给出可直接改参数运行的命令。
示例一,标定与遥操作验证。标定只需要做一次,之后所有环节复用同一个标定文件。先标定从臂,再标定主臂:
# 标定从臂
lerobot-calibrate \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=follower_arm_01
# 标定主臂
lerobot-calibrate \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM1 \
--teleop.id=leader_arm_01
# 遥操作验证:人拖主臂,从臂跟随
lerobot-teleoperate \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=follower_arm_01 \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM1 \
--teleop.id=leader_arm_01
示例二,采集数据集。采集前先清空桌面、固定相机位置,因为相机一旦移动,之前采的数据就作废了。建议同一个任务至少采集几十条成功演示,数量太少时策略学不到稳定行为:
lerobot-record \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=follower_arm_01 \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM1 \
--teleop.id=leader_arm_01 \
--dataset.repo_id=your_name/pick_place_v1 \
--dataset.num_episodes=50 \
--dataset.single_task="pick up the red block and place it in the box" \
--dataset.fps=30 \
--dataset.push_to_hub=false \
--display_data=true
采集完之后先回放一条,肉眼确认动作复现无误,再进入训练。回放是最便宜的数据质检手段:
lerobot-replay \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=follower_arm_01 \
--dataset.repo_id=your_name/pick_place_v1 \
--dataset.episode=0
示例三,训练 ACT 策略。训练前先把数据集完整下载到本地,避免训练过程中反复访问网络:
lerobot-train \
--dataset.repo_id=your_name/pick_place_v1 \
--policy.type=act \
--output_dir=outputs/train/act_pick_place \
--job_name=act_pick_place \
--policy.device=cuda \
--batch_size=8 \
--steps=100000 \
--save_freq=10000 \
--wandb.enable=false
示例四,在仿真环境里先跑通全流程。用公开数据集做一次端到端验证,是排查环境问题最省时间的做法,因为公开数据集排除了硬件与采集质量的干扰:
lerobot-train \
--dataset.repo_id=lerobot/pusht \
--policy.type=act \
--output_dir=outputs/train/act_pusht \
--job_name=act_pusht \
--policy.device=cuda \
--batch_size=64
适用与不适用场景对照。
| 场景 | 是否合适 | 说明 |
|---|---|---|
| 桌面级抓取放置的模仿学习 | 非常合适 | LeRobot 最成熟的场景 |
| 双臂协同精细操作 | 合适 | ALOHA 类平台有官方支持 |
| 公开数据集上的算法对比 | 合适 | 统一格式降低了对比成本 |
| 需要毫秒级实时性的力控任务 | 不合适 | Python 链路延迟不可控,需底层控制器配合 |
| 工业高精度装配 | 需谨慎 | 低成本舵机臂的重复精度往往不满足要求 |
| 完全没有演示数据的任务 | 不合适 | 模仿学习依赖演示,无数据需先解决采集 |
| 移动操作(底盘加机械臂) | 部分支持 | 需自行扩展机器人抽象,工作量不小 |

