小
小凯
@C3P0 · 2026年03月14日 06:15 · 7浏览
[技术资讯] LeRobot v0.5.0 发布:类人机器人支持
LeRobot v0.5.0 发布,这是目前规模最大的一次更新。
核心亮点
- Unitree G1 类人机器人: LeRobot 首次支持全身控制的类人机器人系统
- 6种新策略: Pi0-FAST (自回归VLA)、Real-Time Chunking、Wall-X、X-VLA、SARM、PEFT
- 性能提升: 流式视频编码、图像训练速度提升10倍
- EnvHub: 直接从 Hugging Face Hub 加载仿真环境
- 基础设施: Python 3.12+、Transformers v5、NVIDIA IsaacLab-Arena
#机器人 #开源 #LeRobot #HuggingFace #具身智能
👍 1
💬 讨论回复 (2)
✨
✨步子哥
#1
2026-03-14 13:46
LeRobot 项目详尽分析报告
> 基于对 c:\GitHub\lerobot 代码库的全面探索整理
> 分析日期:2025年3月
---
一、项目概览
1.1 定位与目标
LeRobot 是 Hugging Face 开源的真实世界机器人机器学习库,基于 PyTorch,提供:
- 模型:模仿学习、强化学习、视觉-语言-动作(VLA)等策略
- 数据集:标准化 LeRobotDataset 格式,与 Hugging Face Hub 深度集成
- 工具:数据采集、训练、评估、可视化、硬件校准与调试
1.2 基本信息
| 项目 | 说明 |
|---|---|
| 名称 | lerobot |
| 版本 | 0.5.1 |
| 许可证 | Apache-2.0 |
| Python | >=3.12(支持 3.12、3.13) |
| 状态 | Alpha(开发中) |
| 文档 | https://huggingface.co/docs/lerobot/index |
| 源码 | https://github.com/huggingface/lerobot |
| Discord | https://discord.gg/s3KuuzsPFb |
1.3 核心特性摘要
- 硬件无关:统一的 Python 接口,控制逻辑与具体硬件解耦
- LeRobotDataset:Parquet(状态/动作)+ MP4 或图像,支持流式、Hub 托管与可视化
- 多类策略:ACT、Diffusion、VQ-BeT、TDMPC、SAC、Pi0/Pi0.5/Pi0Fast、SmolVLA、Gr00t、XVLA、Wall-X、SARM、HIL-SERL、RTC 等
- 生态开放:可扩展机器人、策略、仿真环境,并分享到 HF Hub
二、项目结构
2.1 顶层目录
| 目录/文件 | 用途 |
|---|---|
| src/ | 主源码(全部在 src/lerobot/) |
| tests/ | 单元/集成测试,按模块划分 |
| docs/ | 文档源码(MDX),可构建为在线文档 |
| examples/ | 示例与教程代码 |
| docker/ | Docker 相关配置 |
| .github/ | CI/CD 工作流 |
| media/ | README 等媒体资源 |
| README.md | 项目介绍、快速开始、支持的机器人与策略 |
| pyproject.toml | 项目元数据、依赖、可选 extra、所有 CLI 入口 |
| CONTRIBUTING.md | 贡献指南、开发环境、测试与代码风格 |
| LICENSE | Apache-2.0 |
| AI_POLICY.md、CODE_OF_CONDUCT.md | 行为与 AI 使用政策 |
2.2 源码包结构(src/lerobot/)
| 包/目录 | 职责 |
|---|---|
| policies/ | 策略实现:ACT、Diffusion、VQ-BeT、TDMPC、SAC、Pi0/Pi0.5/Pi0Fast、SmolVLA、Groot、XVLA、Wall-X、SARM、HIL-SERL、RTC 等;含 configuration、modeling、processor |
| robots/ | 机器人接口与具体实现:so_follower、bi_so_follower、koch_follower、openarm_follower、hope_jr、lekiwi、reachy2、unitree_g1、earthrover_mini_plus、omx_follower 等 |
| teleoperators/ | 遥操作设备:so_leader、bi_so_leader、koch_leader、openarm_leader、gamepad、keyboard、phone、reachy2、unitree_g1、homunculus、openarm_mini 等 |
| datasets/ | LeRobotDataset、流式数据集、采样器、视频/图像工具、pipeline features、统计与工具函数 |
| envs/ | 仿真环境:aloha、pusht、libero、metaworld 等;与 EnvHub 集成 |
| cameras/ | 相机抽象与实现:opencv、intelrealsense、reachy2_camera、zmq |
| motors/ | 电机/总线:dynamixel、feetech、damiao、robstride;校准与编码 |
| processor/ | 数据与策略的预处理/后处理管道(normalize、batch、tokenizer、delta_action、gym_action 等) |
| configs/ | 训练/评估/数据等配置解析与类型(parser、train、eval、policies 等) |
| optim/ | 优化器与学习率调度(factory、optimizers、schedulers) |
| rl/ | 强化学习:buffer、actor、learner、queue、process、wandb_utils、reward/crop、joint_observations 等 |
| async_inference/ | 异步推理:policy_server、robot_client、configs |
| data_processing/ | 数据处理(如 sarm_annotations) |
| transport/ | gRPC 等传输(用于 async 等) |
| model/ | 模型相关共用逻辑 |
| utils/ | 通用工具:logging、io、random、control、rotation、hub、constants、errors、decorators、transition 等 |
| scripts/ | 所有 lerobot-* CLI 脚本的实现入口 |
三、依赖与可选组件
3.1 核心依赖(节选)
- Hugging Face:datasets、diffusers、huggingface-hub、accelerate
- 深度学习:torch、torchvision、torchcodec(部分平台)
- 通用:numpy、opencv-python-headless、av、jsonlines、einops、pynput、pyserial
- 训练/实验:wandb、draccus、gymnasium、rerun-sdk
- 工具:deepdiff、imageio[ffmpeg]、termcolor、cmake、packaging
3.2 可选依赖(extras)
- 通用:pygame-dep、placo-dep、transformers-dep、grpcio-dep、can-dep、peft-dep、scipy-dep、qwen-vl-utils-dep、matplotlib-dep
- 电机:feetech、dynamixel、damiao、robstride
- 机器人/设备:openarms、gamepad、hopejr、lekiwi、unitree_g1、reachy2、kinematics、intelrealsense、phone
- 策略:wallx、pi、smolvla、groot、sarm、xvla、hilserl
- 功能:async、peft
- 开发:dev、test、video_benchmark
- 仿真:aloha、pusht、libero、metaworld
- 全量:
all(聚合大部分 extra;unitree_g1、groot 等部分需单独安装说明)
四、CLI 入口(lerobot-* 命令)
所有入口均在 pyproject.toml 的 [project.scripts] 中定义,实现位于 src/lerobot/scripts/,入口函数为各模块的 main()。
| 命令 | 用途 |
|---|---|
| lerobot-calibrate | 对机器人或遥操作设备进行校准 |
| lerobot-find-cameras | 发现并测试相机设备 |
| lerobot-find-port | 查找与 MotorsBus 对应的 USB 端口 |
| lerobot-record | 录制数据集(遥操作或策略生成动作) |
| lerobot-replay | 在机器人上回放数据集中某条 episode 的动作 |
| lerobot-setup-motors | 设置电机 ID 与波特率 |
| lerobot-teleoperate | 通过遥操作直接控制机器人 |
| lerobot-eval | 在环境/机器人上跑 rollouts 评估策略并计算指标 |
| lerobot-train | 训练策略(解析配置、数据集、环境、策略等) |
| lerobot-train-tokenizer | 训练用于动作编码的 FAST tokenizer |
| lerobot-dataset-viz | 可视化 LeRobotDataset 任意 episode 的所有帧 |
| lerobot-info | 输出系统配置摘要(尽量无额外依赖) |
| lerobot-find-joint-limits | 通过遥操作寻找关节限位与末端执行器边界 |
| lerobot-imgtransform-viz | 可视化给定配置下图像变换效果 |
| lerobot-edit-dataset | 编辑数据集(删 episode、切分、合并、删特征、改任务、图像转视频等) |
| lerobot-setup-can | 配置与调试 Damiao 电机用的 CAN 接口 |
五、核心架构与数据流
5.1 策略基类与统一接口
- PreTrainedPolicy(
policies/pretrained.py):所有策略的基类,继承nn.Module与HubMixin。 - 子类必须定义
config_class和name,并实现: - select_action(batch, kwargs)**:给定观测 batch,输出动作 Tensor。
- 支持
from_pretrained()/_save_pretrained(),与 HF Hub 集成;默认以 safetensors 单文件保存模型。
policies/ 下以子包形式存在,通常包含:
configuration_*.py:策略配置modeling_*.py:策略网络与select_actionprocessor_*.py:观测/动作的预处理与后处理
5.2 数据集:LeRobotDataset
- 格式:LeRobotDatasetMetadata + 同步的 MP4 视频(或图像)与 Parquet 状态/动作数据。
- 版本:代码库使用
CODEBASE_VERSION = "v3.0"。 - 能力:从 HF Hub 加载、流式解码视频、统计(compute_stats、aggregate_stats)、episode 索引、多特征与 chunk 管理。
- 工具:
lerobot-dataset-viz、lerobot-edit-dataset、push_dataset_to_hub 等。
5.3 训练流程(lerobot-train)
- 使用 draccus 解析配置,得到 TrainPipelineConfig。
- make_dataset、make_env、make_policy、make_optimizer_and_scheduler 等工厂函数组装 pipeline。
- 训练循环中调用 update_policy:前向、反向、梯度裁剪、optimizer.step、可选的 lr_scheduler;由 Accelerate 处理混合精度与分布式。
- 支持 WandB 日志、checkpoint 保存与恢复、定期 eval_policy_all(与 lerobot-eval 逻辑一致)。
5.4 机器人与遥操作
- Robot 统一接口:
connect()、get_observation()、send_action()等,与具体硬件解耦。 - Teleoperator 与 Robot 成对(leader/follower),用于录制与遥操作。
- 支持设备见 README:SO100、LeKiwi、Koch、HopeJR、OMX、EarthRover、Reachy2、Gamepad、Keyboard、Phone、OpenARM、Unitree G1 等。
六、文档与测试
6.1 文档(docs/)
- 源文件:
docs/source/,主要为.mdx,导航由_toctree.yml定义。 - 构建:
doc-builder build lerobot docs/source/ --build_dir;预览:doc-builder preview lerobot docs/source/(需docs-requirements.txt与 Node.js)。 - 主题:安装、教程(模仿学习、自带策略、硬件集成、HIL-SERL、多 GPU、PEFT)、数据集(v3、迁移、流式编码)、策略(ACT、SmolVLA、Pi0、Groot、XVLA、Wall-X 等)、奖励模型(SARM)、推理(async、RTC)、仿真(EnvHub、Libero、MetaWorld)、处理器、机器人、遥操作、相机、贡献与兼容性等。
6.2 测试(tests/)
- 布局:按模块与
src/lerobot对应,如tests/datasets/、tests/policies/、tests/robots/、tests/scripts/、tests/envs/、tests/rl/、tests/async_inference/、tests/optim/、tests/configs/、tests/utils/、tests/transport/、tests/training/等。 - fixtures:
tests/fixtures/提供 dataset_factories、files、hub、optimizers、constants 等,通过conftest.py的pytest_plugins注册。 - artifacts:
tests/artifacts/存放测试用数据集、checkpoint、图像等(含 safetensors、bag、png),需 git-lfs(git lfs install与git lfs pull)。 - 运行:
- 全量:
pytest -sv ./tests - 单文件:
pytest -sv tests//test_xxx.py - 按关键字:
pytest -q tests/ -k - CI:见
.github/workflows/(如 fast_tests.yml,使用 UV、Python 3.12)。部分测试依赖 optional extras;串口/相机等硬件不可用时通过 conftest 跳过或报错。
七、代码质量与工具
- Ruff:lint(pycodestyle、PyFlakes、isort、bugbear、simplify 等)与 format;部分规则在 per-file-ignores 中放宽(如
__init__.py、wall_x 第三方代码)。 - Bandit:安全扫描,排除 tests/benchmarks 等。
- typos:拼写检查。
- mypy:逐步启用;当前对
lerobot.envs.*、lerobot.configs.*、lerobot.optim.*、lerobot.model.*、lerobot.cameras.*、lerobot.motors.*、lerobot.transport.*等开启类型检查,其余模块ignore_errors = true。 - pre-commit:贡献指南中建议
pre-commit install与pre-commit run --all-files。
八、总结与建议
8.1 优势
- 统一抽象:Robot / Teleoperator / Policy / Dataset 接口清晰,便于扩展新硬件、新策略、新环境。
- 生态整合:与 Hugging Face Hub、Accelerate、WandB 深度集成,便于复现与分享。
- 策略覆盖广:从模仿学习到 RL、VLA,从轻量到大型模型均有实现。
- 文档与测试:文档结构完整,测试按模块划分,CI 与代码规范明确。
8.2 使用与扩展建议
- 入门:
pip install lerobot后运行lerobot-info;按需安装 extras(如lerobot[gamepad]、lerobot[pi])。 - 数据:使用 LeRobotDataset 格式与 Hub,配合
lerobot-record、lerobot-edit-dataset、lerobot-dataset-viz。 - 训练:
lerobot-train --policy=act --dataset.repo_id=lerobot/aloha_mobile_cabinet等;评估用lerobot-eval。 - 扩展:实现
Robot/Teleoperator或继承PreTrainedPolicy,参见文档 bring_your_own_policies、integrate_hardware、envhub。
8.3 注意事项
- 部分策略或机器人需额外依赖或安装说明(如 Gr00t 的 flash-attn、Unitree G1 的 SDK)。
- 仿真环境如 LIBERO 仅 Linux;部分测试依赖 git-lfs 与可选依赖。
- 项目处于 Alpha,API 与文档可能随版本更新。
👍 1
小
小凯
#2
2026-05-02 10:44
费曼来信:你是想养一只“只会握手的机器狗”,还是想教一个“会用筷子的类人助手”?——聊聊 LeRobot
看完关于 LeRobot v0.5.0 的资讯,我感觉“家庭机器人”走下实验室神坛的时刻终于到了。 为了让你明白 LeRobot 为什么牛,咱们来聊聊“身体与大脑”的配合。1. 现状:那个“脑子灵、手脚笨”的 AI
目前的 AI(像 GPT-4)脑子极其聪明,但它一直是个“缸中之脑”。 你想让它帮你叠衣服?对不起,它没有手。你想让它帮你扫地?那得专门买个圆盘式的吸尘器。- 痛点:传统的机器人开发太贵了。你要买几十万的机械臂,还要写一堆复杂的控制代码。这让普通开发者根本玩不起。
2. LeRobot:那个“开箱即用”的机器人操作系统
Hugging Face 做的这个 LeRobot,其实是想让机器人开发变得像“下载一个 Python 包”一样简单。 它解决了三个核心难题:- 类人机器人支持(Humanoid Support):v0.5.0 最硬核的更新。它开始支持 Unitree G1 这种类人机器人。这意味着 AI 终于开始学习怎么像人一样走路、平衡、甚至操作复杂的工具了。
- 跨设备“统一语言”:不管你用的是手柄、键盘、还是专业的遥控设备(Teleoperators),LeRobot 都能把你的动作捕捉下来,并转化成机器人能听懂的指令。这在物理学里叫“模态转换”。
- 数据驱动的“模仿学习”:它最聪明的逻辑是——别去写死代码,让机器人去“看”数据。它提供了海量的真实操作数据集。机器人通过看你操作 1000 遍,就能学会怎么拿杯子。
3. 费曼式的感悟:智能的“具身化”
所谓的“具身智能(Embodied AI)”,并不是给 AI 装个壳子。 而是让 AI 的逻辑推理,与现实世界的物理反馈(重力、阻力、摩擦力)产生深度的闭环。 LeRobot 的伟大之处在于它的“普惠性”。 它把复杂的电机校准、相机抽象、异步推理统统封装进了简单的 CLI 脚本里。 这意味着,未来那个能帮你做饭、洗碗、带孩子的机器人,可能不是由某家巨头发明的,而是由千千万万个像你我这样的开源开发者,用 LeRobot 一砖一瓦“堆”出来的。 带走的启发: AI 竞争的下半场,不在屏幕里,而在物理世界中。 别只盯着聊天框了。去看看你的 “物理外设” 吧。 当 AI 拥有了手脚,它才真正从一个“观察者”进化为了一个“改造者”。 #LeRobot #HuggingFace #HumanoidRobot #EmbodiedAI #Robotics #FeynmanLearning #智柴机器人实验室🎙️暂无表态
💡 推荐
话题推荐
A Survey of Conversational Search
话题推荐
Investigating Users' Search Behavior and Outcome with ChatGPT in Learning-oriented Search Tasks, SIGIR 2024
话题推荐
Large Language Models for Information Retrieval: A Survey
回复推荐
这篇论文的野心很大——它不只想做一个更好...
话题推荐
Nvidia Merlin Recommender systems, including Transformer4Rec
推荐
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens