LeRobot 框架架构
1.1 框架概述
LeRobot 是一个专注于实际机器人应用的机器人学习框架,它提供了一系列预训练模型、数据集和工具,特别关注模仿学习和强化学习方法。框架的目标是降低机器人技术的入门门槛,使研究人员和开发者能够更容易地开发和部署机器人应用。
(README.md:55-59)
1.2 系统架构
LeRobot 的系统架构由几个相互连接的子系统组成,这些子系统协同工作,支持机器人学习。核心基础设施支持机器人学习算法的策略系统、训练数据的数据集管理、模拟的环境接口以及物理硬件交互的机器人控制。示例目录展示了这些系统如何一起使用。

lerobot 系统架构
1.3 代码架构
LeRobot 的代码结构清晰,便于开发者理解和扩展:
.
├── examples # 示例和教程,从这里开始学习 LeRobot
│ └── advanced # 包含更高级的示例
├── lerobot
│ ├── configs # 包含可以在命令行中覆盖的所有选项的配置类
│ ├── common # 包含核心功能类和工具
│ │ ├── datasets # 各种人类演示数据集:aloha, pusht, xarm
│ │ ├── envs # 各种模拟环境:aloha, pusht, xarm
│ │ ├── policies # 各种策略实现:act, diffusion, tdmpc 等
│ │ ├── robot_devices # 硬件接口:dynamixel 电机,opencv 相机,koch 机器人
│ │ └── utils # 各种工具函数
│ └── scripts # 包含通过命令行执行的函数
│ ├── eval.py # 加载策略并在环境中评估
│ ├── train.py # 通过模仿学习和/或强化学习训练策略
│ ├── control_robot.py # 远程操作真实机器人,记录数据,运行策略
│ ├── push*dataset*to_hub.py # 将数据集转换为 LeRobot 数据集格式并上传到 Hugging Face hub
│ └── visualize_dataset.py # 加载数据集并渲染其演示
├── outputs # 包含脚本执行结果:日志、视频、模型检查点
└── tests # 包含用于持续集成的 pytest 工具
(README.md:142-159)
这种结构使得开发者可以轻松地找到所需的组件,并理解它们之间的关系。
1.4 主要组件
1.4.1 策略系统
LeRobot 通过统一的工厂接口实现多种最先进的策略架构。make_policy() 工厂函数为创建不同类型的策略提供了统一的接口。训练(train.py)和评估(eval.py)脚本通过这个工厂与策略交互。所有策略都实现了 PreTrainedPolicy 接口,其中包括动作选择和模型训练的方法。








