POGEMA: 灵活、可调整和可扩展的部分可观察多智能体路径规划环境

Ray

pogema

🌟 POGEMA简介

POGEMA(Partially-Observable Grid Environment for Multiple Agents)是一个为部分可观察多智能体路径规划(PO-MAPF)问题设计的网格环境。它具有以下特点:

  • 灵活性:可以适应各种PO-MAPF场景
  • 可调整性:提供多种参数设置选项
  • 可扩展性:支持大规模智能体和环境

与传统的MAPF不同,PO-MAPF是一个本质上去中心化的问题。在POGEMA中,每个智能体只能获得局部环境观察,需要在执行过程中进行决策。智能体的目标是到达各自的目标位置,同时避免与其他智能体和静态障碍物发生碰撞。

🛠️ POGEMA的主要功能

  1. 网格环境:基于网格的环境设计,支持多智能体同时运行。

  2. 部分可观察:智能体只能观察到局部环境信息。

  3. 动作空间:支持上下左右移动和等待五种基本动作。

  4. 随机地图生成:可以生成具有不同障碍密度的随机地图。

  5. 自定义地图:支持导入自定义设计的地图。

  6. 多框架集成:提供与PettingZoo、PyMARL、SampleFactory等主流强化学习框架的集成。

  7. 单智能体支持:除了多智能体场景,也完全支持单智能体的路径规划任务。

🔧 安装与使用

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支持与多个主流强化学习框架的集成,使研究者可以灵活选择适合自己的工具:

  1. PettingZoo集成:
env = pogema_v0(GridConfig(integration="PettingZoo"))
  1. PyMARL集成:
env = pogema_v0(GridConfig(integration="PyMARL"))
  1. SampleFactory集成:
env = pogema_v0(GridConfig(integration="SampleFactory"))
  1. 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领域的发展。

POGEMA Logo

Open In Colab

avatar
0
0
0
最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号