革命性机器人学习框架LeRobot:基于PyTorch的现实世界AI控制新范式

【免费下载链接】lerobot 🤗 LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch 【免费下载链接】lerobot 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot

你是否还在为机器人学习项目中复杂的环境配置、碎片化的代码库和高昂的硬件成本而困扰?LeRobot框架将彻底改变这一现状。作为Hugging Face推出的开源机器人学习平台,LeRobot以PyTorch为核心,整合了最先进的模仿学习(Imitation Learning)和强化学习(Reinforcement Learning)算法,让普通用户也能轻松构建、训练和部署智能机器人系统。

读完本文,你将获得:

  • 从零开始搭建LeRobot开发环境的完整指南
  • 掌握3种核心机器人硬件(SO-101机械臂、LeKiwi移动平台、HopeJR灵巧手)的快速上手方法
  • 通过实际代码示例实现Diffusion策略在PushT任务上的训练与评估
  • 了解如何利用LeRobot数据集格式高效管理机器人感知与动作数据

核心优势:重新定义机器人开发流程

LeRobot的革命性突破体现在三个维度:硬件易用性算法模块化数据标准化。通过这三大支柱,LeRobot将原本需要专业实验室支持的机器人开发流程,简化为普通电脑即可完成的标准化工作流。

硬件易用性:千元级机器人的工业级性能

传统机器人开发面临的首要障碍是硬件成本。LeRobot生态系统提供了多款开源硬件设计,其中SO-101机械臂单臂成本仅需114欧元,配合LeKiwi移动平台可实现全场景移动作业。

SO-101机械臂 SO-101 follower机械臂 - 左侧为跟随执行端

SO-101控制端 SO-101 leader控制端 - 右侧为人工操作端

对于需要精细操作的场景,HopeJR灵巧手提供了12个自由度的拟人化设计,支持复杂抓取任务。所有硬件设计文件和组装指南均开源在docs/source/hope_jr.mdx中,用户可自行3D打印零件并组装。

HopeJR灵巧手 HopeJR灵巧手 - 支持12自由度精细操作

算法模块化:即插即用的SOTA策略库

LeRobot内置了当前机器人学习领域的主流算法,包括:

  • ACT (Action-Conditioned Transformer):基于Transformer架构的条件动作生成模型
  • Diffusion Policy:通过扩散过程实现的高鲁棒性动作预测
  • TDMPC (Transformer-based Deep Model Predictive Control):结合模型预测控制的强化学习方法
  • SmolVLA:Hugging Face团队原创的高效视觉语言动作模型

这些算法被封装为统一的Policy接口,开发者可通过简单配置实现不同策略的切换。例如examples/training/train_policy.py展示了如何在5000步内训练一个Diffusion策略:

# 加载数据集元数据获取特征信息
dataset_metadata = LeRobotDatasetMetadata("lerobot/pusht")
features = dataset_to_policy_features(dataset_metadata.features)

# 配置Diffusion策略
cfg = DiffusionConfig(input_features=input_features, output_features=output_features)
policy = DiffusionPolicy(cfg).to(device)

# 训练循环核心代码
for batch in dataloader:
    batch = preprocessor(batch)
    loss, _ = policy.forward(batch)
    loss.backward()
    optimizer.step()
    optimizer.zero_grad()

数据标准化:LeRobotDataset格式解析

LeRobot定义了统一的数据集格式,解决了机器人学习领域数据碎片化的痛点。该格式通过Parquet文件存储状态数据、MP4文件存储视频流,并使用JSONL记录元数据,实现了高效的存储与快速访问。

数据集结构如下:

dataset attributes:
  ├ hf_dataset: Hugging Face数据集对象
  │  ├ observation.images.cam_high (VideoFrame)
  │  ├ observation.state (关节状态数组)
  │  ├ action (动作指令数组)
  │  └ episode_index ( episode索引)
  ├ meta: 数据集元数据
  │  ├ info: 包含帧率、特征形状等基本信息
  │  ├ episodes:  episode统计信息DataFrame
  │  └ stats: 特征归一化统计量
  └ delta_timestamps: 时间序列查询配置

用户可通过src/lerobot/datasets/lerobot_dataset.py提供的API轻松加载数据:

# 加载带时间序列查询的数据集
delta_timestamps = {
    "observation.image": [-0.1, 0.0],  # 前0.1秒和当前图像
    "observation.state": [-0.1, 0.0],  # 前0.1秒和当前状态
    "action": [-0.1, 0.0, 0.1, ..., 1.4]  # 包含未来动作的时间序列
}
dataset = LeRobotDataset("lerobot/pusht", delta_timestamps=delta_timestamps)

快速开始:15分钟搭建你的第一个机器人学习系统

环境配置

LeRobot支持Python 3.10+和PyTorch 2.2+,推荐使用conda创建隔离环境:

# 创建并激活虚拟环境
conda create -y -n lerobot python=3.10
conda activate lerobot

# 安装ffmpeg依赖
conda install ffmpeg -c conda-forge

# 克隆仓库并安装
git clone https://gitcode.com/GitHub_Trending/le/lerobot.git
cd lerobot
pip install -e .

根据硬件需求安装额外组件,例如SO-101机械臂需要Feetech电机驱动:

# 安装Feetech电机控制支持
pip install -e ".[feetech]"

完整安装指南参见docs/source/installation.mdx

核心功能演示

1. 数据集可视化

LeRobot提供命令行工具快速查看数据集内容:

lerobot-dataset-viz \
    --repo-id lerobot/pusht \
    --episode-index 0

该命令会启动rerun.io可视化界面,展示摄像头画面、机器人状态和动作序列。

2. 策略训练

以PushT任务为例,训练Diffusion策略仅需一行命令:

lerobot-train --config_path=lerobot/diffusion_pusht

训练过程中可通过Weights & Biases跟踪指标:

wandb login  # 首次使用需登录
3. 机器人控制

对于SO-101机械臂,使用手机遥操作模式:

lerobot-teleoperate --robot so101 --teleoperator phone

实战案例:从仿真到实物的全流程开发

LeRobot采用"仿真验证-实物部署"的双轨开发模式,大幅降低调试风险。以下是使用SO-101机械臂完成咖啡杯抓取任务的完整流程:

步骤1:仿真环境验证

首先在gym-aloha仿真环境中训练策略:

# 安装仿真环境
pip install -e ".[aloha]"

# 运行仿真训练
lerobot-train --config_path=lerobot/act_aloha

ACT策略在ALOHA环境中运行 ACT策略在ALOHA仿真环境中执行任务

步骤2:硬件校准

使用电机校准工具配置SO-101关节参数:

lerobot-calibrate --robot so101

校准过程会生成配置文件保存到src/lerobot/motors/feetech/tables.py

步骤3:部署与评估

将训练好的策略部署到实体机器人:

lerobot-eval \
    --robot so101 \
    --policy_path outputs/train/act_aloha/checkpoints/005000

评估指标将自动记录到examples/evaluation/results.json。

未来展望:社区驱动的机器人学习生态

LeRobot正在快速扩展其硬件支持范围,即将发布的Reachy2人形机器人将提供更全面的感知与运动能力。社区贡献者可通过CONTRIBUTING.md参与代码开发,或提交新的机器人模型与数据集。

我们每周在Discord社区(https://discord.gg/s3KuuzsPFb)举办线上研讨会,欢迎加入讨论。如果本文对你的项目有帮助,请点赞、收藏并关注我们的GitHub仓库,获取最新更新!

下期预告:《LeKiwi移动机器人SLAM与自主导航实战》将详细介绍如何为移动平台添加环境建图能力,敬请期待。

【免费下载链接】lerobot 🤗 LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch 【免费下载链接】lerobot 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐