LeRobot机器人控制:从装好环境到跑通第一只手臂的完整路径
【免费下载链接】lerobot🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot
🤖 场景:让机械臂抓起一个杯子
本节从一个具体任务切入,回答"LeRobot机器人控制到底能替我干什么"。假设桌上放着一个杯子,你要让机械臂把它抓起来放到另一侧。手写代码的话,串口驱动、相机标定、数据格式、模型输入归一化,每一步都要自己趟。这个框架把整条链路做成了标准流程。遥操作收数据,一条命令训练,一条命令评测,最后部署到真机。
📋 能力速览:它解决哪几类问题
本节用一张表说清:给什么输入,能换什么输出。
| 想做的事 | 输入 | 输出 |
|---|---|---|
| 接机械臂采集数据 | 机器人 + 遥操作设备 | 标准 LeRobotDataset 数据集 |
| 训练控制策略 | 数据集 + 策略名 | 可训练模型(ACT、Pi0 等) |
| 验证策略 | 模型 + 仿真环境(LIBERO) | 成功率与评测报告 |
| 部署到真机 | 模型 + 机器人 | 实时动作流 |
硬件侧原生支持 SO100、LeKiwi、Koch、Unitree G1 等机械臂,手柄、键盘、手机也能当遥操作设备。策略侧覆盖模仿学习、强化学习和视觉语言动作(VLA)三类模型。
⚙️ 最小可运行路径:安装、验证、首次加载数据
本节给出最短的跑通路径,中途卡住可以直接跳到踩坑实录。
# 克隆仓库,用可编辑模式安装,改代码立即生效 # 前置要求:Python 3.12 及以上 git clone https://gitcode.com/GitHub_Trending/le/lerobot cd lerobot pip install -e .装完先验一下环境。lerobot-info会打印 LeRobot、PyTorch、ffmpeg 的版本,ffmpeg 是数据集视频解码的关键,早点确认它:
# 验证安装状态,重点看 ffmpeg 那行是否为 N/A lerobot-info然后加载第一个数据集。数据托管在 Hub 上,指定名字即可加载,视频解码自动处理:
from lerobot.datasets.lerobot_dataset import LeRobotDataset # 加载公开数据集,视频解码与对齐自动完成 dataset = LeRobotDataset("lerobot/aloha_mobile_cabinet") print(dataset[0]["action"].shape) # 看动作维度是否符合预期这行能跑通,说明安装和数据链路都没问题。
🔍 深挖策略模型:从图像和文字到电机动作
本节讲清整个框架最核心的模块——策略模型,其余模块一句话带过。
策略实现在 src/lerobot/policies/ 目录,包括 ACT、Diffusion、VQ-BeT、Pi0、Pi0.5、GR00T、SmolVLA 等。VLA 类模型能力最强,架构如下图所示:
看图的方法:左侧,相机图像和指令文字("拿起苹果放进下层架子")分别经 Vision Encoder 和 Text Tokenizer 编码后进入 Eagle-2 VLM,这部分预训练并冻结。机器人状态和加了噪声的动作序列,由 State Encoder 与 Action Encoder 接入。中间的 DiT Blocks 用交叉注意力和自注意力反复融合这些信息。右侧 Action Decoder 经过 K 次迭代,输出一段动作块 a_t 到 a_t+H-1。这个过程是去噪式生成,每次迭代都更接近真实动作,最终直接驱动电机。
其余模块:数据集格式是 MP4 视频加 Parquet 状态动作数据,见 src/lerobot/datasets/;输入输出处理由 src/lerobot/processor/ 的流水线完成;评测在 LIBERO、MetaWorld 等仿真环境里跑。
训练一条命令就够,指定策略类型和数据集即可:
# 用公开数据集训练 ACT 策略,参数全部走命令行 lerobot-train \ --policy.type=act \ --dataset.repo_id=lerobot/aloha_mobile_cabinet🛠️ 踩坑实录:三个高频问题
本节列三个高频问题,遇到时能省不少时间。
pip install直接报 Requires-Python >=3.12。原因是系统 Python 太旧,LeRobot 硬性要求 3.12 及以上。解决:用 conda 或 pyenv 装 3.12+ 后重建环境,别硬装旧版本。
加载数据集时视频解码慢或报错。原因是数据集帧以 MP4 存储,需要系统装 ffmpeg 才能解码。解决:先装 ffmpeg,再跑一次lerobot-info,确认 ffmpeg 一行不再是 N/A。
遥操作采集时机械臂不动、连接超时。原因是串口没被识别或没有权限,先怀疑 USB 链路而不是代码。解决:跑lerobot-find-port确认端口是否可见,再把用户加进 dialout 组解决权限。
🔗 生态与延伸
本节说明它在上下游工具链里的位置。上游是 Hub 上的数千个开源机器人数据集和预训练策略,指定仓库 id 就能直接加载。下游社区用lerobot_robot_*前缀的插件包接入 UR5e、Franka 等第三方机械臂,装完即自动发现,可直接在命令行使用。自研硬件或策略前,先读集成文档:docs/source/bring_your_own_policies.mdx。
🎯 收尾
LeRobot机器人控制的价值,是把"采集数据、训练、评测、部署"压缩成几条命令和一种数据集格式,让你把精力花在算法上而不是串口上。
- src/lerobot/datasets/
- examples/training/train_policy.py
- docs/source/
【免费下载链接】lerobot🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考