Plan
The purpose of this project is to analyze how a simple algorithm can govern the behavior of a population of individuals. With this in mind, we set out to devise an algorithm that can analyze the clustering behavior among Microbit-powered robots. Within the swarm, each robot will calculate the shortest possible distance between each other and start grouping together into clusters until they form one single unit and collectively act as one entity.
Materials
Microbit x 5
Robotbit set x 4 (optional)
HD 920c Logitech camera
Mac mini
Aruco markers
Code
First of all, we set up a computer vision system. We attached the Logitech camera high above the project setup, facing downwards so it could see all the robots. Then, we attached Aruco markers on the top of each robot. The camera is then connected to a program that will detect the markers and orientation of each robot, which then calculates the distance and uses radio serial communication to guide the robots to form clusters with each other.
The full program can be found on the following Github link:
https://github.com/krawc/arUco
Reflection
This project was very challenging for me to comprehend, especially because I wasn’t familiar with the concept of computer vision, however it motivated me to put in the extra effort because I was very interested in the concept behind it. Whilst I did not make a huge contribution to the technical developments of this project, I still found the experience very valuable because I was able to learn from my peers. Moreover, it was very rewarding to see the successful end result, especially because we experienced multiple failures in getting the robots to communicate with each other and form clusters. I think this project is a good stepping stone to devising more complex algorithms that can be applied towards real-life swarm behaviors.