title: A Consensus-Based Grouping Algorithm for Multi-agent Cooperative Task Allocation with Complex Requirements.
abstract: This paper looks at consensus algorithms for agent cooperation with unmanned aerial vehicles. The foundation is the consensus-based bundle algorithm, which is extended to allow multi-agent tasks requiring agents to cooperate in completing individual tasks. Inspiration is taken from the cognitive behaviours of eusocial animals for cooperation and improved assignments. Using the behaviours observed in bees and ants inspires decentralised algorithms for groups of agents to adapt to changing task demand. Further extensions are provided to improve task complexity handling by the agents with added equipment requirements and task dependencies. We address the problems of handling these challenges and improve the efficiency of the algorithm for these requirements, whilst decreasing the communication cost with a new data structure. The proposed algorithm converges to a conflict-free, feasible solution of which previous algorithms are unable to account for. Furthermore, the algorithm takes into account heterogeneous agents, deadlocking and a method to store assignments for a dynamical environment. Simulation results demonstrate reduced data usage and communication time to come to a consensus on multi-agent tasks.
authors.affiliation: Department of Computer Science, Loughborough University, Loughborough, UK.
authors.forename: Simon
authors.initials: S
authors.lastname: Hunt
authors.affiliation: Department of Computer Science, Loughborough University, Loughborough, UK.
authors.forename: Qinggang
authors.initials: Q
authors.lastname: Meng
authors.affiliation: Department of Computer Science, Loughborough University, Loughborough, UK.
authors.forename: Chris
authors.initials: C
authors.lastname: Hinde
authors.affiliation: Texas A&M University at Qatar, Doha, Qatar.
authors.forename: Tingwen
authors.initials: T
authors.lastname: Huang
keywords: Cognitive behaviours; Consensus; Cooperation; Eusocial animals; Task allocation