本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 {{htmlmetatags>metatag-robots=(index,follow) metatag-keywords=(LeRobot,仿真环境,PushT,LIBERO,EnvHub,MetaWorld,gymnasium) metatag-description=(LeRobot 仿真环境支持:环境配置、make_env 工厂、内置环境和 EnvHub Hub 环境加载机制) }} ====== LeRobot 仿真环境 ====== 本页面介绍 LeRobot 仿真环境支持的概览:配置类、工厂层、内置环境和通过 EnvHub 从 Hugging Face Hub 加载环境的机制。 [[机器人:lerobot:home|返回概述]] ===== 架构概览 ===== 所有仿真环境通过统一的工厂函数 ''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 | {} | 观测/动作特征规格 | | ''features_map'' | dict | {} | 原始环境键到 LeRobot 策略键的映射 | | ''max_parallel_tasks'' | int | 1 | 最大并发任务数 | 每个子类必须实现抽象属性 ''gym_kwargs'',返回转发给 ''gym.make()'' 的关键字参数。 ===== make_env() 工厂 ===== ''make_env()'' 是构建环境的单一入口点,接受 ''EnvConfig'' 实例或 Hub URL 字符串: <code> env_dict = make_env("pusht") # 返回: {"pusht": {"default": <VecEnv>}} </code> 返回结构的外层键是套件名称(如 ''"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.py'' 文件 * 执行其 ''make_env'' 函数 * 支持社区贡献环境的共享和版本控制 <code> env_dict = make_env("https://huggingface.co/spaces/user/my-env") </code> ===== 环境预处理 ===== LeRobot 将环境特定的预处理与策略特定的预处理分离,由 ''make_env_pre_post_processors()'' 处理: * **环境特征映射**:将原始环境观测和动作键映射到 LeRobot 策略期望的键 * **预处理流水线**:调整图像大小、颜色空间转换和归一化 * **后处理流水线**:将归一化的策略输出转回原始电机指令格式 ===== 相关页面 ===== * [[机器人:lerobot:home|LeRobot 框架概述]] * [[机器人:lerobot:训练与评估|训练与评估]] * [[机器人:lerobot:中心集成|Hugging Face Hub 集成]]