利用信息素进行多体路径规划的开发文档

文件结构

~ ├── MapConfig #保存所有地图配置的文件夹 ├── VisualSrc #可视化资源 图片 └── Model ├── dislist.data # 目标分配方案记录 ├── Phermenon.data #地图信息素记录 ├── Route.data #生成路径的记录 ├── Agent_brain.py #智能体类 内部包含了智能体寻路的内在逻辑算法 ├── Config.py #用于读取配置文件 加载地图 ├── CreatMap.py #用于交互式生成测试用地图 ├── DoRealTarfet.py #仿真执行实际任务入口程序 ├── Env.py #仿真环境类 包括可视化的一些程序 ├── Runthis.py #仿真训练程序入口 ├── muiti_Thread_edition.py #测试多线程效果的仿真训练程序入口

算法结构和思路

程序总体来看可以分为以下几个模块:

1、初始化:读取配置文件信息,完成地图和智能体的创建工作。

2、A*寻路预处理:在完成配置后,程序进入update()函数,首先会利用A*算法对地图上的信息素进行一个预先的初始化工作。

3、开始学习地图的信息素信息:在完成信息素的初始化工作后,程序进入循环的学习阶段,在该阶段中,智能体将会依据地图上已有的信息素信息寻找到目标点路径并反向传播信息素。

4、对目标点进行聚类分配:依据之前学习到的信息素信息对目标点进行聚类以及分配工作

5、获得路径并处理避障:在分类完成后,程序会完全依据信息素浓度规划路径,在得到所有智能体的路径后程序将会处理路径中存在的冲突进行避障。

初始化工作

A*寻路预处理

学习阶段

目标聚类分配

避障处理