Operation GISH: Drone Swarm
We started on Friday night to formulate our plan. We had 30 Parrot Swat mini drones and 30 hours to create our swarm. We anticipated we could get at least 5 drones going in the swarm, but we first focused on getting just 1 which was tougher than we thought. This was the outcome of that night…
Before we begin, let me share with you where it started. I received a message from our Meetup.com page from Diane. In her message, she explained that she was a part of a scavenger hunt game called the Greatest International Scavenger Hunt, or GISH for short. She explained that her and her team mates are competing against other teams spread out around the world. Her team had 15 members, and they too were in places like London, Paris and the United States. Her and a team mate had traveled to Tampa for vacation and to take part in this hunt.
She told me we had one week to accomplish this item on her list, “Item 22: “Get a bunch of drones with lights on them to spell out the word “GISH” in the night sky. The drones must serve as pixels in the sky, so you will need a lot of them. Probably at least 40″ It’s worth a lot of points (292 !)”
The rules state that 1 drone equals 1 pixel of the entire image and we need at minimum 24 drones to get our GISH spelled out. That means we would have to have between 24 – 30 people flying their drone at the same time, with an LED attachment for the lettering, and at night to boot. There are so many things that could go wrong! Frequency overlapping was a major concern, along with pilot skill and ground effects of all the various sizes of drones the pilots would bring. Immediately I began to think how we could use swarm technology and the different ways of communicating with the swarm. But there was one major problem… The proper way of doing this was to acquire a mass number of GPS enables drones which cost a minimum of $150 each. But we needed at least 24 and you don’t have to be a math wiz to know that gets expensive really quick! The participants of the event gathered on our Discord server and began brain storming how we can run a swam for as cheap as possible. That meant that we needed to acquire some type of drone that could run node.js code AND have some form of altitude hold sensor AND be cheap enough to purchase a swarm. My Amazon results were successful in that I found the Parrot Airborne S.W.A.T minidrone for just under $13 each, and were delivered in 2 days with Prime. With a quick little fundraising, I purchased 30 of these and waited patiently for them to arrive.
As we waited for the drones to arrive, the Discord channel was buzzing with the various node libraries we should use, how we will position the drones for flight, etc. We settled on a project on GitHub by VooDooTikiGod which seemed the most developed. Also the project had a video of the exact drones we purchased performing the swarm maneuvers and stunts. The code was there but it wasn’t perfect. With some minor tweaking, we had a single drone take off and increase altitude just in the way we needed for the final event. But we still had 29 to go…
A major limitation we found wasn’t in the software, it was fairly straight forward in its execution. The limitation however was in the hardware, the bluetooth dongle that we were using. The BCM20702A0 chip set was verified to be the same one that the VoodooTikiGod’s GitHub project, but we could not get more than 2 drones to take off consistently using the swarm code. At times, 2 would take off with the others sat on the ground. Without any changes to the code, another set of drones would take off so it was very inconsistent. We later found a submission on the project page where someone was having the same issue. No matter how we tweaked the software, we simply could not get more than 3 drones to take off at the same time, every time.
Through dedication and hard work… and a new adapter with a different chipset, Clinton aka TechTweaker switched out the adapter we were using an used one made by Rocketek (CSR8510). And without changing any code from previous attempts before, he was able to get all 5 drones to take off and perform acrobatic stunts in swarm mode! We are swarming baby!!
Our next goal is to get 10 drones to fly in swarm mode at a single time. We anticipate we will eventually reach our maximum devices that will connect to our bluetooth adapter. From our research, the maximum number of devices that can connect to a single bluetooth adapter is 5 to 7 simultaneous devices. Since we have had great success with the new adapter, we will push it as far as we can go to see just how many we can reliably connect and send our instruction set. I expect we may have to run this code on its own RasPi node, where each node will connect to 5 drones. Doing this, we should get our 30 drones in the air at one time! Ohhhh the possibilities…
Hope you enjoyed the read! Fly safe!