Swarm Multi-Agent Distributed Coordination

Project Description

In this project, two algorithms are demonstrated with swarm robots in simulation:

  • Brazil Nut Effect sorting
  • Reynold’s flocking

The Coachswarm simulation is provided by Professor Michael Rubenstein at Northwestern University.

Brazil Nut Effect Sorting

Introduction

Brazil Nut Effect is the phenomenon that in a cereal packs under vibration, the largest particle, which is usually the Brazil nut, will end up at the top. Based on this kind of segregation pattern, it can be applied to the task of sorting a swarm and multi-robot system based on the artificial size assigned to the robots.

The implementation is based on this paper: Chen, Jianing, et al. “Segregation in swarms of e-puck robots based on the brazil nut effect.” Proceedings of the 11th International Conference on Autonomous Agents and Multiagent Systems-Volume 1. 2012.

Since this is a class project, the python code cannot be made public. If you are interested, please contact me for more details.

Approach

The robots in different colors represent different virtual body radius. The green robots have twice the radius of the red robots while the blue robots have three times the radius of the red robots. Each robot, no matter what color it is, will be governed by the same rule. The rule is defined by three vectors:

  1. A gravitational pulling towards a common target (the center, in this case).
  2. A random motion vector, which is the effect of vibration
  3. A repulsive vector that moves away from neighbors, which is the effect of collision

Full Demo Video:

Reynold’s Flocking

Reynolds Flocking is a computer model invented by Craig Reynolds in 1986. It aims for simulating the coordinated motion of large number of animals such as bird flocks and fish schools.

The implementation is based on this paper: Hauert, Sabine, et al. “Reynolds flocking in reality with fixed-wing robots: communication range vs. maximum turning rate.” 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2011.

Since this is a class project, the python code cannot be made public. If you are interested, please contact me for more details.

Approach

Each agent follows a simple behavior to interact with its neighbors. The behavior is defined by four steering vectors:

  1. Alignment: Mean velocity of all neighbors
  2. Cohesion: Center of mass of all neighbors
  3. Seperation: Repulsive vector that avoids being too closed to the neighbors
  4. Migration: A vector that points to the common goal (In the demo, it is the center)

Full Demo Video:

The robots will be randomly placed at the beginning. They will soon group together and move around the center. At the last ten seconds of the video, the flock converges to a circular motion around the migration point.

Updated: