LeRobot:让机械臂学会模仿的机器人学习框架实战指南
LeRobot让机械臂学会模仿的机器人学习框架实战指南【免费下载链接】lerobot LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot你花半天调通串口换个机械臂型号采集、训练、部署的代码又得重写一遍LeRobot 是 Hugging Face 出品的机器人学习框架用一套 PyTorch 原生的工具链打通遥操作数据采集、策略训练到真机部署你只管写业务逻辑硬件差异它来兜底。它到底在解决什么问题做机器人项目的人大概率被这三件事折磨过。第一硬件代码互相不通用给 SO-100 写的舵机控制函数接到 Reachy2 上完全跑不动而 LeRobot 把每种机器人收敛成同一个Robot接口读观测、发动作的代码跨平台复用。第二演示数据散落在各家各格式里视频是视频的、关节角是 CSV训练前光是清洗对齐就要耗掉几天而它直接定义 LeRobotDataset 格式——MP4 视频与 Parquet 状态数据按时间轴严格对齐存下来就能喂给训练管线。第三预训练模型和别人的数据集不兼容换个数据集改特征名改半天而它把数据集元数据特征、统计量标准化模型按元数据自动适配。核心机制拆解它是怎么把硬件差异藏起来的输入是你手里的任意一台机器人输出是统一的观测字典和动作字典中间靠一层抽象。所有机器人类都实现同样的三个方法get_observation()把摄像头帧和关节角打包成 dictsend_action()把动作字典翻译成具体协议的指令calibrate()处理机械零点校准。对上层策略来说SO-100 的 Feetech 串口、Unitree G1 的 ZMQ 低层状态通道、Koch 的 CAN 总线全部长一个样# 来自官方 README 的统一控制接口换机器人只改这一行 robot MyRobot(config...) robot.connect() obs robot.get_observation() # 读观测相机帧 关节状态 action model.select_action(obs) robot.send_action(action) # 写动作目标位置/速度再往下还有一条 processor 管线负责归一化、delta 动作转换、设备迁移这些脏活策略代码完全不感知。数据是怎么存、怎么流的LeRobotDataset 把每帧图像写成同步的 MP4或图像文件关节角、动作写进 Parquet元数据里记录特征定义、FPS 和全局统计量。加载时按 episode 索引读取视频按需解码不用把几 GB 数据整个拖进内存数据集还能按索引切分、合并、删 episode托管在 Hub 上直接按 repo_id 引用。从零跑起来遥操作采集与策略训练先装环境别急着接硬件——依赖Python ≥ 3.12pyproject 要求 3.12、Linux 或 macOS 串口环境、USB 摄像头走 OpenCV、一台 SO-100/SO-101 或同类支持机械臂 遥操作手柄臂。Step 1装完跑一条最简验证命令能打印环境信息就说明安装 OKpip install lerobot[core_scripts] lerobot-infoStep 2接上主从两只 SO 臂遥操作采集几条演示。命令来自lerobot-record的官方示例把端口换成lerobot-find-port查到的值lerobot-record \ --robot.typeso100_follower \ --robot.port/dev/ttyUSB0 \ --teleop.typeso100_leader --teleop.port/dev/ttyUSB1 \ --dataset.repo_id你的用户名/so101_pick \ --dataset.num_episodes10 --dataset.single_taskGrab the cube按键盘提示开始和结束 episode数据以 LeRobotDataset 格式落盘采集过程可开--display_datatrue实时回放画面。Step 3拿一个现成数据集先练手训练 ACT 策略两条命令的事lerobot-train \ --policy.typeact \ --dataset.repo_idlerobot/aloha_mobile_cabinet想换 Diffusion、Pi0 等其他策略只改--policy.type数据特征由数据集元数据自动推导。跑起来之后SO-101 机械臂控制配置怎么选如果你要在单臂上做简单抓取放置SO-101 机械臂控制最常见场景推荐 ACT 策略几十到一两百条演示就能上手模型小、推理快边缘设备也扛得住 ⚡如果你要双臂协作或任务轨迹有随机性推荐bi_so_follower配扩散策略训练diffusion policy 类它对多模态动作分布的拟合更稳代价是训练和推理都更吃 GPU 如果你想让机器人听懂自然语言指令推荐直接上 VLA 类策略Pi0Fast、SmolVLA 这类先在 LIBERO 仿真基准上评估再上真机lerobot-eval --policy.path... --env.typelibero --env.tasklibero_object仿真跑通是上硬件前的必经关卡 踩坑实录我们掉进去的 3 个坑采集掉帧、FPS 不稳→ 原因大多是摄像头和串口挤在同一条 USB 总线上30 FPS 下总线带宽先撑不住。后来我们把 FPS 降到 15、摄像头插到另一个控制器下帧率立刻稳了。连接后机械臂姿态乱跳→ 没做机械零点校准或校准文件丢了。connect()默认会触发calibrate()但如果你跳过校准直接跑关节零点偏差会原封不动带进数据集——先跑lerobot-calibrate确认校准值落盘再继续。训练时报特征对不上→ 数据集是另一台机器人、另一个相机名录的特征字典和当前策略配置不匹配。解法是保持录什么数据集、就用什么配置训练真要改特征用lerobot-edit-dataset别手工改 Parquet。生态与入口文档docs/source/index.mdx安装、硬件、策略全套最小训练示例examples/tutorial/act/act_training_example.py手机遥操作完整工作流examples/phone_to_so100/贡献指南CONTRIBUTING.md近 30 天仓库合并了 40 多个 commitVLA、奖励模型、多 GPU 训练都在持续迭代社区响应活跃。收尾回到开头那个问题换个硬件就要重写代码的日子到此为止。先跑通 Step 1 的lerobot-info再录 10 条演示你的第一只会模仿的机械臂就有了。硬件只是外壳学习才是本体。【免费下载链接】lerobot LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考