LeRobot 实战指南:一条命令链跑通机器人数据采集与策略训练 📅 发布时间:2026/9/20 22:23:58 👁 浏览次数: LeRobot 实战指南一条命令链跑通机器人数据采集与策略训练【免费下载链接】lerobot LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot当你需要让机械臂学会一个抓取任务时流程通常是遥操作演示 → 录制数据集 → 训练策略 → 部署回机器人。LeRobot 是 Hugging Face 开源的端到端机器人学习框架把这条链路封装成了一套 CLI 命令和统一 API你不需要自己写串口驱动或视频解码lerobot-record、lerobot-train、lerobot-rollout各管一环数据集、策略模型、硬件配置都通过配置文件描述。一、LeRobot 解决什么问题硬件抽象层——src/lerobot/robots/下注册了 SO-100/SO-101、LeKiwi、OpenARM、Koch、Reachy2、Unitree G1 等十余种机器人串口、相机、舵机总线全部封装在统一接口后面。换一台机器臂你只需要改--robot.type和端口参数训练代码一行不动。统一数据集格式——LeRobotDataset把视觉数据存成 MP4 视频、状态动作存成 Parquet 列式文件再配 JSON 元数据。这种视频 列式数据的混合结构让几小时演示数据的读取速度远快于逐帧图像且可以直接托管到 Hugging Face Hub 做版本管理。策略即插即用——src/lerobot/policies/注册了 20 余个策略实现从经典的 ACT、Diffusion Policy 到 pi0/pi05、SmolVLA、GR00T 等视觉-语言-动作模型全部通过同一个工厂函数按名字实例化预处理器/后处理器管线随策略配置自动重建。覆盖完整工具链——标定lerobot-calibrate、遥操作lerobot-teleoperate、标注lerobot-annotate、评估lerobot-eval都是独立命令组合起来就是一条从硬件到模型的流水线。视觉-语言-动作模型在 LeRobot 中的数据处理流程源码见src/lerobot/policies/二、三步完成环境搭建与验证第 1 步创建环境。官方文档要求 Python ≥ 3.12uv 路径conda 用户按docs/source/installation.mdx建 3.12 环境# 创建独立 conda 环境并激活 conda create -y -n lerobot python3.12 conda activate lerobot第 2 步按工作流装 extras。基础包故意做得很轻硬件、训练、可视化依赖都拆成了 extras装哪些取决于你要跑什么命令# 从源码安装PyPI 安装则去掉 -e . 换成 lerobot pip install -e .[core_scripts] # 录数据/回放/标定 pip install -e .[training] # 训练策略含 accelerate、wandb第 3 步验证安装。lerobot-info是唯一一个不装依赖也能跑的脚本会打印版本、Python、CUDA、GPU 型号是排查环境问题的第一现场# 打印系统与环境摘要确认 CUDA 可用 lerobot-info三个平台的差异点平台视频解码额外操作Linux x86_64TorchCodecGPU 解码需装 ffmpegconda install ffmpeg -c conda-forgeApple SiliconTorchCodecMPS无额外操作macOS Intel / Linux ARM自动回退 pyav可跳过 ffmpegWSL 用户注意遥操作依赖 evdev需conda install evdev -c conda-forge详见docs/source/installation.mdx。三、核心模块拆解机器人、数据集、策略工厂硬件抽象层一个工厂函数实例化所有机器人# 从配置对象构建机器人type 字段决定具体实现 from lerobot.robots import RobotConfig, make_robot_from_config cfg RobotConfig(typeso101_follower, port/dev/ttyACM0, idmy_arm) robot make_robot_from_config(cfg) # 自动查注册表、连接串口、加载标定文件所有机器人类型都通过RobotConfig.register_subclass(so101_follower)这样的装饰器注册见src/lerobot/robots/so_follower/config_so_follower.py注册表同时支持第三方插件所以支持的机器人清单实际比仓库里的目录更多。数据集层LeRobotDataset视频存 MP4、状态动作存 Parquetlerobot/datasets/lerobot_dataset.py里的LeRobotDataset把它们拼成一个标准torch.utils.data.Dataset按 episode 索引、支持流式编码、内置特征统计量均值/标准差/分位数供策略归一化用。录制时的编码参数如--dataset.rgb_encoder.crf23在这里被消费。策略工厂按名字注册按名字实例化# 名字 → 配置类 → 策略类全程无需手动 import 模型 from lerobot.policies.factory import get_policy_class, make_policy_config policy_cls get_policy_class(act) # act/diffusion/pi05 等注册名 config make_policy_config(act, hidden_dim512)内置策略按形态大致分三类策略名类型特点act、vqbet行为克隆轻量机械臂任务首选起点diffusion、multi_task_dit扩散策略多模态动作分布建模pi0、pi05、smolvla、groot视觉-语言-动作支持语言指令模型较重另有tdmpc模型预测控制、hilserlHIL-SERL 强化学习见src/lerobot/rl/。四、实战工作流从遥操作到部署的 5 条命令以 SO-101 双臂为例一条完整链路的命令序列串口名请替换成你机器上的实际值找设备lerobot-find-port定位串口拔掉 USB 线按回车即可识别lerobot-find-cameras验证相机输出。标定每台机器做一次# 舵机标定id 命名后续命令必须保持一致 lerobot-calibrate --robot.typeso101_follower \ --robot.port/dev/ttyACM0 --robot.idmy_follower_arm录制数据集# 遥操作录制 30 个 episode完成后上传 Hub lerobot-record --robot.typeso101_follower \ --robot.port/dev/ttyACM0 --robot.idmy_follower_arm \ --teleop.typeso101_leader --teleop.port/dev/ttyACM1 --teleop.idmy_leader_arm \ --dataset.repo_id${HF_USER}/so101_demo --dataset.num_episodes30 \ --dataset.single_taskput the red brick in a bowl --display_datatrue录制中按→保存并进入下一段、←丢弃重来、ESC停止并上传。训练策略# 用 ACT 策略训练 20000 步结果保存到 outputs/train/ lerobot-train --dataset.repo_id${HF_USER}/so101_demo \ --policy.typeact --policy.devicecuda --steps20000 \ --output_diroutputs/train/act_so101 --job_nameact_so101部署回机器人# base 策略做 60 秒推理相机配置必须与录制时一致 lerobot-rollout --strategy.typebase \ --policy.pathoutputs/train/act_so101 \ --robot.typeso101_follower --robot.port/dev/ttyACM0 \ --taskput the red brick in a bowl --duration60没有本地 GPU 时给lerobot-train加--job.targeta10g-small训练会跑在 Hugging Face Jobs 的远端实例上中断的训练用--config_path检查点 --resumetrue续跑。五、高频报错速查现象→原因→解法串口连接失败SerialException: /dev/ttyACM0 could not be opened确认设备确实插在预期端口lerobot-find-port。Linux 下把用户加入dialout组后重新登录sudo usermod -aG dialout $USER。检查--robot.port与标定/录制时用的是否同一个口。视频解码不可用TorchCodec is not available on this platform框架会自动回退到 pyav 解码功能不受影响只是没有 GPU 加速。若需要 TorchCodecmacOS Intel、Linux ARM 目前不支持见官方文档Linux x86 上确认conda install ffmpeg -c conda-forge已执行再用lerobot-info核对 ffmpeg 版本。训练显存不足torch.cuda.OutOfMemoryError: CUDA out of memory先降--batch_size这是收益最大的旋钮。换成更轻的起点pi05换smolvladiffusion换act。仍不够就加--job.targetflavor挪到更大的远端 GPU。推理时观测 key 不匹配现象lerobot-rollout启动即报特征不一致提示缺少observation.images.xxx。原因是 rollout 时的相机名与录制时不一致——相机配置必须逐字匹配名称、分辨率、fps这是跨设备部署最常见的坑。SO-100 在真实任务中的执行画面对应examples/so100_to_so100_EE/示例目录六、生态、社区与演进方向示例仓库examples/下有 lekiwi、omx、phone_to_so100、isaac_teleop_to_so101 等完整工作流examples/notebooks/quickstart.ipynb是官方推荐的交互式入口。命令速查docs/source/cheat-sheet.mdx汇总了全部 CLI 命令及参数忘参数时翻这里最快。硬件接入docs/source/integrate_hardware.mdx说明如何按src/lerobot/robots/的模板写自己的机器人驱动。评测与基准src/lerobot/envs/内置 LIBERO、Meta-World、RoboCasa、RoboTwin 等仿真环境配合lerobot-eval做策略评估。演进方向流式视频编码、HIL-SERL 强化学习管线、多 GPU 训练src/lerobot/distributed/是近期迭代最活跃的三块路线图细节建议查阅官方文档确认。进阶阅读想理解策略注册与预处理器机制直接读src/lerobot/policies/factory.py的get_policy_class和src/lerobot/processor/pipeline.py。七、行动路线图从复现到贡献克隆仓库并跑通pip install -e .[core_scripts]lerobot-info。选一个examples/示例无硬件可从examples/notebooks/quickstart.ipynb开始复现一遍。用lerobot-recordlerobot-train在自己的数据上训练一个act策略。跑通lerobot-eval在仿真环境里评估它。从docs/source/的文档勘误或CONTRIBUTING.md指引的第一个 issue 开始贡献。LeRobot 的价值在于把机器人学习从硬件工程拉回到算法迭代本身——装好环境今天就跑通第一条记录命令。【免费下载链接】lerobot LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考