面向学术研究的开源多智能体集群行为仿真器,支持群集、编队、牧羊、晶格装配及恶意代理模拟,可选四旋翼动力学。
本项目由 Queen's University 的 P.T. Jardine 开发维护,采用纯 Python 实现(MIT 许可),提供统一框架用于多智能体集群行为的仿真与可视化。框架将所有群集技术抽象为高层轨迹规划器,底层基于双积分器动力学,智能体完全去中心化异步决策。
群集行为#
集成了三种经典群集算法,可在同一框架下直接对比:
- Reynolds Boids:经典三规则群集模型(Reynolds, 1987)
- Olfati-Saber:基于一致性协议的群集算法(Olfati-Saber, 2006)
- Starling:椋鸟群集模型(Hildenbrandt et al., 2010)
结构化集群与其他行为#
- Lemniscate Swarming:双纽线编队(Jardine & Givigi, 2022)
- Encirclement:包围队形
- Shepherding:牧羊驱赶引导行为(Van Havermaet et al., 2023)
- Lattice Assembly:基于 Pinning Control 的晶格装配(Cabral, Givigi & Jardine, 2020)
- 恶意智能体仿真:模拟虚假信号注入等 Cyber-physical 攻击(Zhang et al., 2024)
- 涌现同胚曲线:Emergent Homeomorphic Curves(Jardine & Givigi, 2025)
物理与学习模块#
可选四旋翼飞行器模型包含平移速度、角位置、角速度三层嵌套控制回路,将高层加速度指令映射为实际飞行控制输入(部分代码改编自 bobzwik 开源项目)。强化学习模块(learner/)用于动态结构生成等实验,具体算法未完全文档化。
架构设计#
以 orchestrator.py 为核心控制器,planner/techniques/ 承载各算法实现,通过 config/config.json 进行参数化配置。智能体独立异步运行,仅基于局部观测做出决策。可视化基于 matplotlib 实现,实验结果可自动归档至 experiments/ 目录(含合并数据、配置快照和图表)。
安装与使用#
git clone https://github.com/tjards/multi-agent_sim.git
cd multi-agent_sim
source venv/bin/activate
pip install -r requirements.txt
python main.py
核心依赖:numpy、scipy、matplotlib、pandas、scikit-learn、seaborn、h5py、pytest。从依赖版本推断需 Python ≥ 3.10。
适用场景#
学术论文算法验证与对比实验、集群安全攻击研究、编队控制策略仿真、无人机集群行为仿真。不适用于需要全局规划器、真实物理引擎或 3D 渲染的场景。
待确认事项#
- 四旋翼模块是否支持 3D 可视化渲染
learner/模块具体采用的强化学习算法- 仓库无 releases/tags,所有开发在 master 分支进行
learner/内部参数迁移至 config 的时间线未确定