LeRobot 机器人学习框架教程:如何用 3 条命令跑通 SO-100 数据采集与 ACT 策略训练
2026/9/20 17:58:36 网站建设 项目流程

LeRobot 机器人学习框架教程:如何用 3 条命令跑通 SO-100 数据采集与 ACT 策略训练

【免费下载链接】lerobot🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot

LeRobot 是 Hugging Face 开源的 PyTorch 机器人学习框架,打通硬件控制、数据采集和策略训练。这篇教程带你装好环境,并走一遍从遥操作录数据到训练出策略的完整链路。

值不值得试:先看你踩不踩这些坑

上手机器人学习,最常见的三个卡点:

  1. 硬件各写各的 API,SO-100 的控制代码搬到别的手臂上基本要重写;
  2. 采集到的数据散落成 MP4 加 CSV,别人无法直接用,自己也难复用;
  3. 想试 ACT、Pi0 这类新策略,得自己拼数据管线和训练脚本。

LeRobot 就是冲着这三件事来的:一个统一的Robot接口接管 SO-100、LeKiwi、Unitree G1 等十几款硬件;一个 LeRobotDataset 标准格式收纳全部数据(Hugging Face Hub 上已有数千个公开数据集);内置 ACT、Diffusion、Pi0、GR00T 等一批现成策略。

核心概念:LeRobot 靠什么把三件事串起来

一句话拆解它的架构:接口层 + 数据层 + 策略层

  • 接口层:所有硬件实现同一个Robot接口,你只调connect()get_observation()send_action()三个动作,换硬件不改代码;
  • 数据层:LeRobotDataset 把观测存成 MP4 视频、状态和动作存成 Parquet,两者按帧对齐,支持流式读取和可视化;
  • 策略层:模仿学习(ACT、Diffusion、VQ-BeT)、强化学习(HIL-SERL、TDMPC)、视觉-语言-动作模型(Pi0、GR00T N1.7、SmolVLA)都是纯 PyTorch 实现,训练和推理共用同一套数据接口。

数据层的存储分工可以这样记:

数据内容存储格式作用
相机观测帧MP4 视频压缩存储,按帧解码
状态 / 动作Parquet列式存储,读取快
数据集描述元数据特征、时间戳、episode 划分

快速安装 LeRobot:环境要求与一步到位命令

环境要求很明确:Python 3.12+,PyTorch 2.10+,视频解码依赖ffmpeg。装之前建议先建一个干净环境,避免和别的项目的依赖打架。

conda create -y -n lerobot python=3.12 conda activate lerobot pip install "lerobot[core_scripts]" conda install ffmpeg -c conda-forge

core_scripts这个 extra 包含了dataset+hardware+viz三组依赖,够你用lerobot-recordlerobot-replay这些采集回放命令;后面要训练再补pip install "lerobot[training]"

成功的标志:运行lerobot-info,能打印出版本和已加载的功能模块,就说明装好了。

上手走一遍:SO-100 遥操作录数据、ACT 策略训练

以最典型的 SO-100 桌面机械臂为例,整条链路是:配置电机 → 遥操作录数据 → 训练 → 评估。硬件相关的准备命令(找端口lerobot-find-port、写电机 IDlerobot-setup-motors、标定lerobot-calibrate)都带交互引导,跟着提示按回车就行。

核心流程命令对照(lerobot-record具体参数按你装的机器人和遥操作器类型填):

阶段命令说明
录数据lerobot-record --robot.type=... --teleop.type=... --dataset.repo_id=用户名/数据集名主臂带动从臂,逐 episode 记录
看数据lerobot-dataset-viz <数据集路径>浏览器里回放采集结果
训练见下方代码块ACT 策略,跑通即得第一个 checkpoint
评估lerobot-eval --env.type=libero --env.task=libero_object --eval.n_episodes=10在 LIBERO 仿真基准上验证

训练本身真的只是两行参数:

lerobot-train \ --policy.type=act \ --dataset.repo_id=lerobot/aloha_mobile_cabinet

成功的标志:训练日志出现逐步下降的 loss,checkpoints/目录里生成 checkpoint 文件。

第一次跑 LeRobot 的常见坑与修复

坑 1:串口打不开,报 Permission denied现象是连接电机时报/dev/ttyACM0无法读写。原因是 Linux 默认不给普通用户 USB 串口权限。解决:sudo chmod 666 /dev/ttyACM0(多总线时把 ttyACM1 等一并放开)。

坑 2:加载数据集时视频解码报错原因是 TorchCodec 解码需要ffmpeg,而很多机器上没装。解决:conda install ffmpeg -c conda-forge;Intel 版 macOS、Linux ARM 等平台会自动回退到 pyav,可以跳过。

坑 3:训练时 CUDA out of memory原因是 VLA 类模型参数量大,batch 一次塞不下。解决:减小 batch size、开梯度累积,或降低输入图像分辨率再重新采数。

进一步资源:文档与源码目录清单

  • 安装与平台适配细节:docs/source/installation.mdx
  • 各款机器人的组装与配置指南(SO-100 全流程在 docs/source/so100.mdx)
  • 硬件抽象层源码:src/lerobot/robots/
  • 策略模型实现:src/lerobot/policies/
  • 数据集读写与统计工具:src/lerobot/datasets/
  • 可运行的场景示例(遥操作、训练、回放):examples/
  • 第三方机器人插件机制:装lerobot_robot_<名称>前缀的包即可被 CLI 自动发现,详见 docs/source/third_party_robots.mdx

🔧 LeRobot 把机器人学习最碎的三块——硬件、数据、策略——收进了一个 PyTorch 框架里。下一步就动手:把examples/里的 SO-100 流程跑一遍,遇到硬件或参数问题,直接在仓库提 Issue 找维护者确认。

【免费下载链接】lerobot🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询