Multi-Robot Algorithms (4x)
ME 409 – Swarms and Multi-Robot Systems
In Fall 2020, I took a course on Swarms and Multi-Robot Systems. As a part of this course, we had small projects to implement some of the swarm behaviors studied in class on simulated robots. The projects are summarized below.
Project 1: Leader-Follower
The goal of this project is to have one robot orbit another robot. The orbiting robot should orbit in clockwise direction, the color of both robots should show distance error (green if less than desired distance, red otherwise), and don’t assume the other robot is stationary!
Project 2: Hopcount
This project implemented the coordinate system based on hopcount based on the paper “Organizing a global coordinate system from local information on an ad hoc sensor network.” The goal was to display the Northwestern “N” with 256 robots by adjusting the robot’s color (no robot motion). For this project, I implemented both the “standard” and the “smoothing” approaches to coordinates from the paper.
This video shows a “standard” implementation based on coordinates.
This video shows a “smooth” implementation based on coordinates.
This video shows a “smooth” implementation based on an alternate (non-coordante based) heuristic.
Project 3: Segregation based on Brazil Nut Effect
The goal of this project was to sort a group of robots in concentric shells based on shell size for three different scenarios.
Scenarios with 1,2 or 3 different shells
- 100 robots for 1 shell
- 100 robots for 2 shells (50/50)
- 150 robots for 3 shells (50/50/50)
Project 4: Flocking
The goal of this project was to create a flock of 20 robots, which show good heading agreement based on the paper “Reynolds flocking in reality with fixed-wing robots: communication range vs. maximum turning rate”. Robot start in random positions and orientations. The “flocks” should be designed to look like the left scenario below