🌟 POGEMA简介
POGEMA(Partially-Observable Grid Environment for Multiple Agents)是一个为部分可观察多智能体路径规划(PO-MAPF)问题设计的网格环境。它具有以下特点:
- 灵活性:可以适应各种PO-MAPF场景
- 可调整性:提供多种参数设置选项
- 可扩展性:支持大规模智能体和环境
与传统的MAPF不同,PO-MAPF是一个本质上去中心化的问题。在POGEMA中,每个智能体只能获得局部环境观察,需要在执行过程中进行决策。智能体的目标是到达各自的目标位置,同时避免与其他智能体和静态障碍物发生碰撞。
🛠️ POGEMA的主要功能
-
网格环境:基于网格的环境设计,支持多智能体同时运行。
-
部分可观察:智能体只能观察到局部环境信息。
-
动作空间:支持上下左右移动和等待五种基本动作。
-
随机地图生成:可以生成具有不同障碍密度的随机地图。
-
自定义地图:支持导入自定义设计的地图。
-
多框架集成:提供与PettingZoo、PyMARL、SampleFactory等主流强化学习框架的集成。
-
单智能体支持:除了多智能体场景,也完全支持单智能体的路径规划任务。
🔧 安装与使用
POGEMA的安装非常简单,只需通过pip进行安装:
pip install pogema
以下是一个基本使用示例:
from pogema import pogema_v0, GridConfig
env = pogema_v0(grid_config=GridConfig())
obs, info = env.reset()
while True:
# 使用随机策略进行动作选择
obs, reward, terminated, truncated, info = env.step(env.sample_actions())
env.render()
if all(terminated) or all(truncated):
break
🎨 环境定制
POGEMA提供了丰富的定制选项,允许研究者根据需求调整环境参数。
随机地图生成
from pogema import pogema_v0, GridConfig
# 定义随机配置
grid_config = GridConfig(num_agents=4, # 智能体数量
size=8, # 网格大小
density=0.4, # 障碍物密度
seed=1, # 随机种子
max_episode_steps=128, # 最大步数
obs_radius=3, # 观察半径
)
env = pogema_v0(grid_config=grid_config)
env.reset()
env.render()
自定义地图
from pogema import pogema_v0, GridConfig
grid = """
.....#.....
.....#.....
...........
.....#.....
.....#.....
#.####.....
.....###.##
.....#.....
.....#.....
...........
.....#.....
"""
# 定义新配置,包含8个随机放置的智能体
grid_config = GridConfig(map=grid, num_agents=8)
# 创建自定义POGEMA环境
env = pogema_v0(grid_config=grid_config)
🔗 多框架集成
POGEMA支持与多个主流强化学习框架的集成,使研究者可以灵活选择适合自己的工具:
- PettingZoo集成:
env = pogema_v0(GridConfig(integration="PettingZoo"))
- PyMARL集成:
env = pogema_v0(GridConfig(integration="PyMARL"))
- SampleFactory集成:
env = pogema_v0(GridConfig(integration="SampleFactory"))
- Gymnasium集成(单智能体):
env = pogema_v0(GridConfig(integration="gymnasium"))
📊 基准测试
POGEMA项目提供了一系列基准实现,可以作为研究的起点或比较基准。这些基准实现被放在一个单独的仓库中,研究者可以方便地访问和使用。
🎓 引用
如果您在研究中使用了POGEMA,请引用以下论文:
@misc{skrynnik2024pogema,
title={POGEMA: A Benchmark Platform for Cooperative Multi-Agent Navigation},
author={Alexey Skrynnik and Anton Andreychuk and Anatolii Borzilov and Alexander Chernyavskiy and Konstantin Yakovlev and Aleksandr Panov},
year={2024},
eprint={2407.14931},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2407.14931},
}
🌐 结语
POGEMA为研究部分可观察多智能体路径规划问题提供了一个强大而灵活的工具。无论您是专注于算法开发、环境设计还是基准测试,POGEMA都能为您的研究提供有力支持。我们期待看到更多基于POGEMA的创新研究成果,推动PO-MAPF领域的发展。