
LeRobot 机器人学习库实战指南统一机器人接口、标准化数据集与端到端策略训练【免费下载链接】lerobot LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobotLeRobotHugging Face 开源的 PyTorch 机器人学习库以让机器人的端到端学习更易用为目标把统一机器人控制接口、标准化数据集格式LeRobotDataset、SOTA 策略模型训练、真机/仿真评估串成一条完整链路。本文以仓库 README.md 为骨架结合 src/lerobot 源码带你掌握从pip install lerobot到用一行命令训练 ACT/Pi0 等策略、再到在 LIBERO 仿真或自研机器人上部署推理的完整实战路径。一、LeRobot 是什么定位与设计哲学LeRobot 的目标是为真实世界机器人提供PyTorch 生态下的模型、数据集与工具核心是降低入门门槛让每个人都能基于共享数据集与预训练模型做出贡献。其技术路线由四个支柱构成对应 README.md 开篇硬件无关的统一接口一个 Python 原生的Robot抽象类标准化从低成本机械臂SO-100到人形机器人的控制协议标准化、可扩展的数据集格式LeRobotDataset 采用 Parquet MP4或图片存储托管于 Hugging Face Hub支持大规模数据的存储、流式加载与可视化可部署到真机的 SOTA 策略覆盖模仿学习、强化学习、VLA视觉-语言-动作模型、世界模型与奖励模型开源生态支持通过命名前缀插件机制第三方机器人、遥操作设备、相机可被自动发现。从代码结构看这一设计落地为清晰的模块划分src/lerobot/robots机器人、src/lerobot/datasets数据集、src/lerobot/policies策略、src/lerobot/envs仿真环境与src/lerobot/scriptsCLI 入口并通过src/lerobot/processor中的可组合处理器完成数据集 → 策略 → 机器人之间的数据变换。二、快速开始安装与系统自检LeRobot 可直接从 PyPI 安装pip install lerobot lerobot-infolerobot-info是安装后的第一步自检工具其实现位于 src/lerobot/scripts/lerobot_info.py它会以 Markdown 列表形式输出运行环境LeRobot 版本、平台、Python 版本、HuggingFace Hub / Transformers / Datasets / NumPy / FFmpeg 版本GPU 能力PyTorch 版本、Torchcodec 版本、是否 CUDA 可用、CUDA 版本、当前 GPU 型号可用命令通过读取包元数据的 console_scripts 入口列出环境内已注册的全部 LeRobot CLI。从 src/lerobot/scripts/lerobot_info.py 可以看出该脚本在 torch 未安装时也能安全降级为 N/A方便在裸环境中先排查问题。若需要详细安装指引含硬件驱动、ffmpeg 等前置依赖参见仓库文档 docs/source/installation.mdx。完整 CLI 命令清单lerobot-record、lerobot-train、lerobot-eval、lerobot-teleoperate、lerobot-calibrate、lerobot-find-port、lerobot-setup-motors、lerobot-replay等定义于 pyproject.toml。安装注意事项lerobot-info只做系统信息汇总训练、记录等命令依赖对应 extras。例如 SO-100/SO-101 的舵机驱动需安装 feetech 相关依赖具体 extras 组合以 docs/source/installation.mdx 为准。三、机器人控制统一 Robot 接口与受支持硬件LeRobot 通过统一的Robot抽象类解耦控制逻辑与硬件细节其接口契约定义于 src/lerobot/robots/robot.py所有机器人子类必须实现以下抽象成员成员类型职责observation_featuresproperty描述观测的结构与类型标量类型或数组形状与get_observation返回结构一致action_featuresproperty描述期望动作的结构与类型与send_action入参结构一致is_connectedproperty是否已连接未连接时调用读写接口应报错connect(calibrateTrue)method建立与硬件的通信可选择连接后自动校准is_calibrated/calibrate()method校准状态查询与校准执行无校准需求的硬件应为 no-opconfigure()method一次性或运行时配置电机参数、控制模式、初始状态等get_observation()method返回扁平的观测字典send_action(action)method发送动作返回实际下发可能被安全限幅的动作disconnect()method断开连接并清理资源此外基类还通过__enter__/__exit__/__del__提供了上下文管理器与析构安全网robot.py确保即使发生异常也能自动disconnect释放资源。README 给出的最小使用范式如下以自定义机器人MyRobot为例实际替换为具体机器人类型from lerobot.robots.myrobot import MyRobot # Connect to a robot robot MyRobot(config...) robot.connect() # Read observation and send action obs robot.get_observation() action model.select_action(obs) robot.send_action(action)原生支持的硬件LeRobot 代码库内原生集成了以下硬件README.md Robots Control 一节SO100、LeKiwi、Koch、HopeJR、OMX、EarthRover、Reachy2、Gamepads、Keyboards、Phones、OpenARM、Unitree G1、reBot B601。从源码结构看src/lerobot/robots目录下每个子目录对应一类机器人如so_follower、koch_follower、lekiwi、unitree_g1、openarm_follower等src/lerobot/teleoperators则对应遥操作端so_leader、gamepad、keyboard、phone、homunculus等两者共用同一套Robot契约。如果你有自研硬件只需实现Robot接口即可直接复用 LeRobot 的数据采集、训练与可视化工具链。详细接入教程见 docs/source/integrate_hardware.mdx。四、LeRobotDataset标准化机器人数据集格式针对机器人领域数据碎片化问题LeRobot 定义了LeRobotDataset格式核心设计README.md LeRobot Dataset 一节结构视觉数据用同步的 MP4 视频或图片存储状态/动作数据用 Parquet 文件存储HF Hub 集成数据集托管于 Hugging Face Hub可直接浏览、下载海量机器人数据集工具链支持删除 episode、按索引/比例切分、增删 feature、合并多个数据集等操作。从 Hub 加载数据集from lerobot.datasets.lerobot_dataset import LeRobotDataset # Load a dataset from the Hub dataset LeRobotDataset(lerobot/aloha_mobile_cabinet) # Access data (automatically handles video decoding) episode_index 0 print(f{dataset[episode_index][action].shape}\n)其底层实现位于 src/lerobot/datasets/lerobot_dataset.pyLeRobotDataset继承自torch.utils.data.Dataset封装了三类内容——metadatainfo记录形状/键名/fpsstats记录各模态归一化统计量tasks记录各任务 prompt供任务条件训练使用、data由datasets.Dataset支撑、从 Parquet 读取、videos可选帧加载与 Parquet 数据保持同步。一个典型数据集的目录结构为. ├── data │ ├── chunk-000 │ │ ├── file-000.parquet │ │ ├── file-001.parquet │ │ └── ... │ └── ... └── videos ├── chunk-000 │ ├── observation.images.top.mp4 │ └── ... └── ...两种实例化模式从 lerobot_dataset.py 的类文档可以确认LeRobotDataset支持两种加载方式数据集已存在本地磁盘传入root可离线使用或位于 Hugging Face Hub传入repo_id自动下载旧版 v2.1 数据集会被提示用 scripts/convert_dataset_v21_to_v30.py 转换到 v3.0数据集不存在通过create类方法创建空数据集用于录制新数据或把已有数据移植为 LeRobotDataset 格式。数据集工具合并、切分、增删 feature 等的完整命令在 docs/source/using_dataset_tools.mdx 与 docs/source/lerobot-dataset-v3.mdx 中有详细说明对应实现位于 src/lerobot/datasets/dataset_tools.py。五、SOTA 策略模型与训练LeRobot 用纯 PyTorch 实现了覆盖模仿学习、强化学习、VLA 模型、世界模型、奖励模型的 SOTA 策略并提供训练过程的可观测与检视工具。训练一个策略只需运行一个脚本配置README.md SoTA Models 一节lerobot-train \ --policy.typeact \ --dataset.repo_idlerobot/aloha_mobile_cabinet从 src/lerobot/scripts/lerobot_train.py 的实现看lerobot-train支持分布式训练可用torchrun --nproc-per-node8启动多卡训练所有并行/加速参数都挂在配置上--parallelism.*、--accelerator.*例如--parallelism.dp_shard8 --accelerator.mixed_precisionbf16保证一次运行可从train_config.json完整复现。模型分类总览CategoryModelsImitation LearningACT、Diffusion、VQ-BeT、Multitask DiT PolicyReinforcement LearningHIL-SERL、TDMPC 及即将推出的 QC-FQLVLAs ModelsPi0、Pi0Fast、Pi0.5、GR00T N1.7、SmolVLA、XVLA、EO-1、MolmoAct2、WALL-OSS、EVO1World ModelsVLA-JEPA、LingBot-VA、FastWAMReward ModelsSARM、TOPReward、Robometer每一类策略的详细配置、训练与部署指南可进入上述文档阅读GPU/RAM 需求与预期训练时长参见 docs/source/hardware_guide.mdx。接入自定义策略与硬件类似你可以实现自己的策略并复用 LeRobot 的数据采集、训练与可视化工具再把模型分享到 HF Hub。策略侧的接入指南见 docs/source/bring_your_own_policies.mdx从代码结构看所有策略均继承自 src/lerobot/policies/pretrained.py 中的PreTrainedPolicy并经由 src/lerobot/policies/factory.py 统一创建。六、推理与评估真机部署与仿真基准使用统一的评估脚本即可在仿真或真实硬件上评测策略。LeRobot 支持LIBERO、MetaWorld等标准基准# Evaluate a policy on the LIBERO benchmark lerobot-eval \ --policy.pathlerobot/pi0_libero_finetuned \ --env.typelibero \ --env.tasklibero_object \ --eval.n_episodes10评估脚本实现位于 src/lerobot/scripts/lerobot_eval.py仿真环境LIBERO、MetaWorld、RoboCasa 等定义于 src/lerobot/envs。如果你想实现自己的仿真环境或基准并将其通过 Hugging Face Hub 分发可参考 docs/source/envhub.mdxEnvHub 文档以及 docs/source/adding_benchmarks.mdx。七、第三方硬件生态命名前缀插件自动发现除了原生硬件社区还维护着一个持续增长的插件生态覆盖 UFACTORY xArm、Universal Robots UR5e、Franka、AgileX Piper、Trossen WidowX、ARX5、I2RT YAM、GELLO、SpaceMouse、Meta Quest、ROS 2 桥接、触觉/深度相机等完整列表见 docs/source/third_party_robots.mdx 与 docs/source/third_party_sensors.mdx。插件的自动发现机制如下README.md Third-Party Hardware 一节LeRobot 会导入环境中任何以lerobot_robot_、lerobot_teleoperator_或lerobot_camera_前缀命名的已安装包。安装后即可直接在 CLI 中使用它注册的type。其底层实现位于 src/lerobot/utils/import_utils.py 的register_third_party_plugins()该函数用importlib.metadata扫描环境中所有发行版含 editable 安装凡包名以lerobot_robot_、lerobot_camera_、lerobot_teleoperator_、lerobot_policy_、lerobot_env_或lerobot_strategy_开头即尝试导入并记录成功/失败日志。该函数会被lerobot-record、lerobot-train、lerobot-eval、lerobot-teleoperate、lerobot-calibrate、lerobot-replay、lerobot-rollout、lerobot-setup-motors等所有主要 CLI 在入口处调用因此第三方能力在命令行中即装即用pip install lerobot_robot_name lerobot_teleoperator_name lerobot-record \ --robot.typerobot_name \ --teleop.typeteleoperator_name \ --dataset.repo_id${HF_USER}/my-dataset八、生态资源与引用方式围绕 LeRobot 还有以下官方生态资源README.md Resources 一节Documentation完整的教程与 API 指南对应本仓库 docs/source/index.mdxLeLab基于浏览器的 Web 界面无需 CLI 即可完成 SO 机械臂的遥操作、校准、数据集录制、回放与训练Robot Learning Tutorial免费的动手实战课程T-Shirt Folding Experiment用 LeRobot 叠 T 恤的端到端演示。引用若在项目中使用 LeRobot请按以下格式引用README.md Citation 一节misc{cadene2024lerobot, author {Cadene, Remi and Alibert, Simon and Soare, Alexander and Gallouedec, Quentin and Zouitine, Adil and Palma, Steven and Kooijmans, Pepijn and Aractingi, Michel and Shukor, Mustafa and Aubakirova, Dana and Russi, Martino and Capuano, Francesco and Pascal, Caroline and Choghari, Jade and Meftah, Khalil and Ellerbach, Maxime and Moss, Jess and Wolf, Thomas}, title {LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch}, howpublished \url{https://github.com/huggingface/lerobot}, year {2024} }小结LeRobot 的价值在于把真实机器人学习的全流程收敛为一套可复制的标准范式Robot抽象类让硬件接入有规可循LeRobotDataset 让数据共享有统一格式lerobot-train/lerobot-eval让训练与评估下沉为一条命令命名前缀插件机制则让整个生态可以持续生长。上手路径清晰先pip install lerobot lerobot-info自检环境再用lerobot-record录制或直接从 Hub 加载数据集接着用lerobot-train --policy.typeact训练策略最后用lerobot-eval在 LIBERO 仿真或真机上验证闭环。【免费下载链接】lerobot LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考