Miniworld 目前由 Farama 基金会(https://farama.org/project_standards)维护。有关长期计划的详细信息,请参阅[项目路线图](https://github.com/Farama-Foundation/Miniworld/issues/103)。
目录:
简介
MiniWorld 是一个用于强化学习和机器人研究的简约 3D 室内环境模拟器。它可以用来模拟带有房间、门、走廊和各种物体的环境(例如:办公室和家庭环境、迷宫)。MiniWorld 可以被视为 VizDoom 或 DMLab 的一个更简单的替代品。它完全用 Python 编写,旨在让学生能够轻松修改或扩展。
特点:
- 依赖少,不易出错,安装简单
- 易于创建自己的关卡或修改现有关卡
- 性能良好,帧率高,支持多进程
- 轻量级,下载量小,内存需求低
- 基于宽松的 MIT 许可证提供
- 附带各种免费的 3D 模型和纹理
- 提供完全可观察的俯视图
- 支持域随机化,用于仿真到现实的迁移
- 能够在墙壁上显示字母数字字符串
- 能够生成与相机图像匹配的深度图(RGB-D)
局限性:
- 图形基本,远不及真实感
- 物理效果非常基础,不足以模拟机械臂或操作任务
使用 MiniWorld 的出版物和投稿列表(如有遗漏,请提交拉取请求添加):
- Decoupling Exploration and Exploitation for Meta-Reinforcement Learning without Sacrifices(斯坦福大学,ICML 2021)
- Rank the Episodes: A Simple Approach for Exploration in Procedurally-Generated Environments(德克萨斯 A&M 大学,Kuai Inc.,ICLR 2021)
- DeepAveragers: Offline Reinforcement Learning by Solving Derived Non-Parametric MDPs(NeurIPS 离线强化学习研讨会,2020 年 10 月)
- Pre-trained Word Embeddings for Goal-conditional Transfer Learning in Reinforcement Learning(安特卫普大学,2020 年 7 月,ICML 2020 LaReL 研讨会)
- Temporal Abstraction with Interest Functions(Mila,2020 年 2 月,AAAI 2020)
- Addressing Sample Complexity in Visual Tasks Using Hindsight Experience Replay and Hallucinatory GANs(Offworld Inc,佐治亚理工学院,加州大学伯克利分校,ICML 2019 RL4RealLife 研讨会)
- Avoidance Learning Using Observational Reinforcement Learning(Mila,麦吉尔大学,2019 年 9 月)
- Visual Hindsight Experience Replay(佐治亚理工学院,加州大学伯克利分校,2019 年 1 月)
这个模拟器是作为 Mila 工作的一部分创建的。
安装
要求:
- Python 3.7+
- Gymnasium
- NumPy
- Pyglet(OpenGL 3D 图形)
- GPU 用于 3D 图形加速(可选)
你可以使用 PyPI
安装:
python3 -m pip install miniworld
你也可以从源代码安装:
git clone https://github.com/Farama-Foundation/Miniworld.git
cd Miniworld
python3 -m pip install -e .
如果遇到任何问题,请查看故障排除指南。
使用
有一个简单的 UI 应用程序,允许你手动控制模拟或真实机器人。manual_control.py
应用程序将启动 Gym 环境,显示摄像机图像并将动作(键盘命令)发送回模拟器或机器人。--env-name
参数指定要加载的环境。有关更多信息,请参阅可用环境列表。
./manual_control.py --env-name MiniWorld-Hallway-v0
# 显示环境的俯视图
./manual_control.py --env-name MiniWorld-Hallway-v0 --top_view
还有一个运行自动测试的脚本(run_tests.py
)和一个收集性能指标的脚本(benchmark.py
)。
离屏渲染(集群和 Colab)
在集群或 Colab 环境中运行 MiniWorld 时,需要渲染到离屏显示。你可以通过在运行 MiniWorld 之前将环境变量 PYOPENGL_PLATFORM
设置为 egl
来离屏运行 gym-miniworld
,例如:
PYOPENGL_PLATFORM=egl python3 your_script.py
或者,如果这不起作用,你也可以尝试使用 xvfb
运行 MiniWorld,例如:
xvfb-run -a -s "-screen 0 1024x768x24 -ac +extension GLX +render -noreset" python3 your_script.py
引用
要引用此项目,请使用:
@article{MinigridMiniworld23,
author = {Maxime Chevalier-Boisvert and Bolun Dai and Mark Towers and Rodrigo de Lazcano and Lucas Willems and Salem Lahlou and Suman Pal and Pablo Samuel Castro and Jordan Terry},
title = {Minigrid \& Miniworld: Modular \& Customizable Reinforcement Learning Environments for Goal-Oriented Tasks},
journal = {CoRR},
volume = {abs/2306.13831},
year = {2023},
}