As week two of my Senior Experience project draws to a close, I am back with another update. Last week, I planned, designed, and built a swarm drone. Over the last few days, I programmed this robot to move and communicate with the Internet!
As I wrote about last week, I have put significant effort into making my swarm robots as simple as possible. One benefit of this simplicity is that it makes it easier for me to program them! The “brain” of the drone robot is an ESP8266, which is essentially a tiny, WiFi-enabled computer. Unlike other WiFi chips though, the ESP8266 makes programming wireless communication extremely simple. Espressif, the manufacturer, also has lots of documentation on how to use the chip with other peripheral devices, such as, in my robot’s example, servo motors. As a result of all this, I was able to very quickly write code to make my robot move.
My code needed a bit of tweaking and iteration, but, as you can see from the video, the robot is speeding around and looks great!
Now that I have a moving robot, I need to build the infrastructure for other swarm drones to function and work collaboratively. Things can get very messy when devising wireless systems, so it is important to be very organized. I created this diagram to convey how the Camera Module will communicate with the robot swarm. This will be very handy once I start programming the different devices to communicate.
While I have decided to use WiFi to coordinate communication for my swarm, I still have many options for data-exchange methods within WiFi itself. From UDP to IoT packages, there are dozens of different WiFi-based protocols to choose from. After conducting research and experiments on a number of these protocols, I decided that using a “webserver” would be the best option for my project. A webserver may sound fancy, but all it is is just a website that can change dynamically to both take in and put out data. Next week, I will dive into programming the webserver that will serve as the backbone of my robot swarm.
In the meantime, I have started to design a 3D-printed enclosure for the Camera Module that will track the motion of the robot swarm. Here’s a sneak peak!