Last weekend, I had the chance to compete in the inaugural DroneGames at Groupon's offices in San Francisco. The event, previously known as the DroneOlympics (But banhammered for using the word olympics), promised to bring together software developers, hardware developers and random hackers for the purpose of making Parrot's ubiquitous AR.Drone do cool shit.
Ingrid and I were supposed to compete, but we got our drone in a week where we were too busy with work to implement a hack, let alone come up with some reasonable ideas. So we showed up at the event with our drone and fully charged laptops, and not much else. We got paired up with Brandon Angelo, a fellow idea-less hacker from San Mateo.
We quickly brainstormed and tried to come up with some ideas, but by this point it was already 11:00, and presentations started in two hours; it would have to be a sprint if we were to be done in time. We waffled between hooking up an arduino to the AR.Drone or doing something more random, and decided that with our particular skillsets and hardware on hand, we would be best suited to hack together something in software. We decided to develop some quick software to track someone using the drone.
The application was to have three parts:
- The server which controls the AR.Drone using Felix's ubiquitous node-ardrone.
- An application running on the target's mobile which pushes current GPS data to the Node server
- An application which runs on the follower's device, showing images from the Drone's camera and the current GPS heading of the follower.
We quickly went to work, with Brandon hacking on the first item, me hacking on the second item and Inga hacking on the third item. We raced to get everything working, but by the time presentations rolled around, I could not get my target application to report data to the nodejs server even though everything else seemed to worked brilliantly. At the end, I think PhoneGap for Android has some built in HTTP access control which was limiting my application's network connections, and I wasn't able to figure out why this wasn't changeable in the build.phonegap.com UI in time for the demos. Fixing that for the future will be a no-brainer and I'm looking forward to getting this code working in the real world! Brandon, Inga and I will probably make a plan to get together and hack on this again in the future, which will be a lot of fun.
When it was time to present, the demos that were presented were interesting. It seems like everyone took EASY MODE and just hooked openCV in to the node-ardrone library. Which, while cute, seemed mostly uninspired. But they got something out the door in time for demos, which we did not :)
The most interesting entry, imo, was not the 1st prize, but allowed you to control the drones over a cellular connection. This allows you to control a drone remotely and would probably really simplify the future of our follower code, if we decide to use it in a future competition.
All in all, really cool event, really well planned out, and I would (and will) definitely attend/compete in the future! Check out the media coverage of the event for more info over at TechCrunch and the IEEE Spectrum.
Want to complain about my latest project? Rave about how great my opinions are? Send me an @!