Swarm behaviour engineering is an area of research that seeks to investigate methods and techniques for coordinating computation and action within groups of simple agents to achieve complex global goals like pattern formation, collective movement, clustering, and distributed sensing. Despite recent progress in the analysis and engineering of swarms (of drones, robots, vehicles), there is still a need for general design and implementation methods and tools that can be used to define complex swarm behaviour in a principled way. To contribute to this quest, this article proposes a new field-based coordination approach, called MacroSwarm, to design and program swarm behaviour in terms of reusable and fully composable functional blocks embedding collective computation and coordination. Based on the macroprogramming paradigm of aggregate computing, MacroSwarm builds on the idea of expressing each swarm behaviour block as a pure function, mapping sensing fields into actuation goal fields, e.g., including movement vectors. In order to demonstrate the expressiveness, compositionality, and practicality of MacroSwarm as a framework for swarm programming, we perform a variety of simulations covering common patterns of flocking, pattern formation, and collective decision-making. The implications of the inherent self-stabilisation properties of field-based computations in MacroSwarm are discussed, which formally guarantee some resilience properties and guided the design of the library.
翻译:群体行为工程是一个研究领域,旨在探索协调简单智能体群组内部计算与行动的方法与技术,以实现复杂的全局目标,如模式形成、集体运动、聚类和分布式感知。尽管近年来在群体(无人机、机器人、车辆)的分析与工程方面取得了进展,但仍需要通用的设计与实现方法及工具,以便以系统化的方式定义复杂的群体行为。为推进这一探索,本文提出了一种新的基于场的协调方法,称为MacroSwarm,用于通过可复用且完全可组合的功能块来设计和编程群体行为,这些功能块嵌入了集体计算与协调机制。基于聚合计算的宏编程范式,MacroSwarm的核心思想是将每个群体行为块表达为纯函数,将感知场映射到驱动目标场(例如包含运动矢量)。为了展示MacroSwarm作为群体编程框架的表达能力、组合性和实用性,我们进行了多种模拟,涵盖了聚集、模式形成和集体决策等常见模式。文中讨论了MacroSwarm中基于场的计算所固有的自稳定特性的意义,这些特性在形式上保证了某些弹性属性,并指导了该库的设计。