Hugging Face推出的开源项目LeRobot引发了业界广泛关注。这一项目通过整合最先进的机器学习算法和便捷的开发工具链,为开发者提供了一个高效、易用的机器人AI开发平台,堪称机器人领域的“Transformer时刻”。
🤗 LeRobot 旨在为 PyTorch 中的真实机器人技术提供模型、数据集和工具。目标是降低机器人技术的准入门槛,以便每个人都可以从共享数据集和预训练模型中受益。
🤗 LeRobot 包含最先进的方法,这些方法已被证明可以转移到现实世界中,重点是模仿学习和强化学习。
🤗 LeRobot 已经提供了一组预训练模型、带有人工收集演示的数据集和仿真环境,无需组装机器人即可开始使用。在接下来的几周内,我们计划在最实惠、功能最强大的机器人上增加对现实世界机器人技术的越来越多的支持。
主要功能
- 统一接口,适配多款硬件
LeRobot项目的一大亮点是其统一的硬件接口设计,能够无缝适配多种机器人硬件,包括机械臂、摄像头和电机等设备。这一设计极大降低了开发者的硬件适配成本,无论是基于Koch v1.1机器人套件的双臂机械臂,还是其他类型的硬件,LeRobot都能提供灵活的支持。开发者无需从零开始搭建复杂的硬件接口,只需专注于算法开发和任务设计即可。
- 海量预训练模型,触手可及
LeRobot内置了海量预训练模型,涵盖了当前最先进的机器人学习算法,如Diffusion Policy、ACT(Action Chunking with Transformers)、VQ-BeT等。这些模型经过优化,可直接通过Hugging Face Hub调用,开发者只需几行代码即可加载state-of-the-art的机器人控制模型。这一“开箱即用”的特性不仅加速了开发进程,也让AI机器人技术变得更加普惠。
- 标准化数据集,快速上手
为了进一步降低研发门槛,LeRobot提供了标准化的数据集加载工具,支持多种格式的数据集,如aloha_hdf5、pusht_zarr和xarm_pkl等。开发者可以通过LeRobotDataset类一键加载数据集,并利用内置的数据增强和转换工具,快速处理多模态时间序列数据(如状态、动作和视觉输入)。此外,项目还支持将数据集上传至Hugging Face Hub,便于社区共享和协作。
- 记忆迁移,社区协作新模式
LeRobot的另一个创新点在于其“记忆迁移”功能。开发者可以将训练好的模型上传至Hugging Face Hub,其他开发者只需简单调用即可复用这些模型。这一功能不仅促进了机器人领域的知识共享,还极大提升了模型的复用效率。无论是PushT任务中的标杆案例,还是ALOHA机械臂的复杂操控,LeRobot都已实现SOTA(state-of-the-art)效果,展现了其强大的实用性。
- 智能评估与高效训练
LeRobot内置了智能评估系统,能够自动生成训练曲线和性能报告,帮助开发者实时监控模型表现。通过集成wandb工具,开发者可以轻松查看训练过程中的关键指标,如成功率和奖励值。此外,LeRobot支持AMP(自动混合精度)技术,可将训练速度提升3倍,大幅缩短开发周期。无论是学术研究还是工业应用,这一功能都为开发者提供了极大的便利。
安装和使用
下载我们的源代码:
git clone https://github.com/huggingface/lerobot.git
cd lerobot
使用 Python 3.10 创建虚拟环境并激活它,例如使用 miniconda
:
conda create -y -n lerobot python=3.10
conda activate lerobot
在您的环境中使用 install 时:minicondaffmpeg
conda install ffmpeg -c conda-forge
注意:这通常适用于使用编码器编译的平台。如果不支持(使用 检查支持的编码器),您可以:
ffmpeg 7.Xlibsvtav1libsvtav1ffmpeg -encoders
- [在任何平台上]使用以下方式显式安装:
ffmpeg 7.X
conda install ffmpeg=7.1.1 -c conda-forge
- [仅限 Linux]安装 ffmpeg 构建依赖项并使用 libsvtav1 从源代码编译 ffmpeg,并确保使用相应的 ffmpeg 二进制文件进行安装。
which ffmpeg
安装 🤗 LeRobot:
pip install -e .
注意:如果遇到构建错误,则可能需要安装其他依赖项(、 和 )。在 Linux 上,运行: 。对于其他系统,请参阅:编译 PyAV
cmakebuild-essentialffmpeg libssudo apt-get install cmake build-essential python3-dev pkg-config libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev libavfilter-dev pkg-config
对于模拟,🤗 LeRobot 附带了可以作为附加功能安装的gymnasium环境:
例如,要使用 aloha 和 pusht 安装 🤗 LeRobot,请使用:
pip install -e ".[aloha, pusht]"
要使用 Weights and Biases 进行实验跟踪,请使用
wandb login
可视化数据集
查看示例 1,该示例说明了如何使用我们的 dataset 类,该类会自动从 Hugging Face 中心下载数据。
您还可以通过从命令行执行我们的脚本,在本地可视化中心数据集中的剧集:
python lerobot/scripts/visualize_dataset.py \
--repo-id lerobot/pusht \
--episode-index 0
或从本地文件夹中的数据集中搜索数据集,并在root--local-files-only./my_local_data_dir/lerobot/pusht
)
python lerobot/scripts/visualize_dataset.py \
--repo-id lerobot/pusht \
--root ./my_local_data_dir \
--local-files-only 1 \
--episode-index 0
脚本还可以可视化存储在远程服务器上的数据集。有关更多说明,请参阅。python lerobot/scripts/visualize_dataset.py --help