目录

LeRobot 仿真环境

本页面介绍 LeRobot 仿真环境支持的概览:配置类、工厂层、内置环境和通过 EnvHub 从 Hugging Face Hub 加载环境的机制。

返回概述

架构概览

所有仿真环境通过统一的工厂函数 make_env() 访问,返回嵌套的向量化 gymnasium 环境字典。每个环境由 EnvConfig 数据类描述,工厂根据配置类型实例化正确的 gymnasium 包装器。

EnvConfig:配置基类

EnvConfig(定义于 src/lerobot/envs/configs.py)是一个抽象数据类和 draccus.ChoiceRegistry。所有具体环境配置注册为命名的子类。

字段 类型 默认值 用途
task str / None None Gymnasium 任务 ID 或套件名称
fps int 30 目标帧率
features dict {} 观测/动作特征规格
featuresmap | dict | {} | 原始环境键到 LeRobot 策略键的映射 | | maxparallel_tasks int 1 最大并发任务数

每个子类必须实现抽象属性 gym_kwargs,返回转发给 gym.make() 的关键字参数。

make_env() 工厂

make_env() 是构建环境的单一入口点,接受 EnvConfig 实例或 Hub URL 字符串:

env_dict = make_env("pusht")
# 返回: {"pusht": {"default": <VecEnv>}}

返回结构的外层键是套件名称(如 “pusht”“libero_10”),内层键是任务 ID。这种结构支持多任务基准测试(如 LIBERO)。

内置仿真环境

环境 描述 用途
PushT 推动 T 形块到目标位置 策略开发和测试的基础环境
LIBERO 桌面操作任务的 10/90/100 任务套件 模仿学习和 VLA 基准测试
MetaWorld 多种元学习任务 强化学习基准测试
RoboTwin 双臂机器人仿真套件 高级操作研究

EnvHub:从 Hugging Face Hub 加载环境

EnvHub 系统允许使用 repo_id 直接从 Hugging Face Hub 加载仿真环境:

env_dict = make_env("https://huggingface.co/spaces/user/my-env")

环境预处理

LeRobot 将环境特定的预处理与策略特定的预处理分离,由 makeenvprepostprocessors() 处理:

相关页面