  In this paper, we review multi-agent collective behavior algorithms in the
literature and classify them according to their underlying mathematical
structure. For each mathematical technique, we identify the multi-agent
coordination tasks it can be applied to, and we analyze its scalability,
bandwidth use, and demonstrated maturity. We highlight how versatile techniques
such as artificial potential functions can be used for applications ranging
from low-level position control to high-level coordination and task allocation,
we discuss possible reasons for the slow adoption of complex distributed
coordination algorithms in the field, and we highlight areas for further
research and development.
