Since a couple of months we at nugg.ad are trying to build two drones from scratch. Besides pure interest and excitement about the technology (i tend to call drones ‘algorithm-machines’ and nugg.ad is all about applying algorithms and machine learning as well*) we want to do something with them in the field of advertising (oh yes, we are working in advertising sorry…), but i am not allowed to disclose that for now.
But i can talk a little bit about the technology and what we achieved so far.
The idea was to build the whole thing based on open-source technology as much as possible. To say the truth, in the beginning i thought we would build it on a Raspberry Pi. But this turned out to be not the best choice as the RPi is not a realtime device/os and therefore will make it tough to do the calculations a drone needs to stabilize fast and efficient enough. But there are some RPi projects out there that seem to be able to deal with that, it just looked to complicated for me (a lot of C stuff etc.).
So i decided to use one of the Arduino based projects as a flight controller. To get started i ordered the Quadcopter DiY Kit from 3d robotics which comes with Ardupilot as a controller. Ardupilot is a customized Arduino board that comes with a highly customized Arduino ‘sketch’ that can be uploaded and edited with the Arduino IDE, but it’s meant to be done with a special software that serves as a mission planner and configuration tool in the same time. It didn’t work. The controller obviously had some weird issues and the support staff at 3d robotics asked me to send it back to get a replacement. Which i never got until today (they say they have shipment issues outside the US currently, sure…).
In the meantime (while desperately waiting for the new board) i figured that there are much cheaper and easier to get solutions, also based on Arduino boards and software. And more open… Namely the multiwii-project that initially was built buy some guys to run a copter with sensors from a Nintento Wii controller. So i ordered an Arduino Micro as Controller from flyduino which also didn’t work in the first place but they sent a replacement quickly and that worked just fine. The price was 18 EUR which is 10-times cheaper than the ardupilot! But it comes with less sensors, so i had to buy a breakout board with gyroscope and accelerometer + a barometer from ebay (a gy80 module) which again cost 15 EUR or so.
With that setup i was able – ok, after some painful weeks of figuring out a broad number of issues and problems – to get up in the air for the first time. What a blast!
I learned about PID configuration to adjust a lot of paramenters that the copter needs to get into a stable flight. And about Radio-control systems (i am using a Spektrum DX7) – i had no clue about all these things before… (btw. in the video above you can see that the PID settings for YAW-control were not ok – that’s the reason why it is spinning)
But the Raspberry was still missing, right? And to be honest, the whole reason why i got into that drone project was not so much about flying, but more about getting a linux-server up in the air and being able to log into it with ssh while it’s flying above my head. That was my dream. And as Arduino usually has no ssh and no Linux (besides the amazing Yun and the Galileo btw – imagine that i also tried to get it running with the Yun but that just didn’t work at all) i really still needed a Raspberry.
Luckily the Multiwii-thing missed something important for a drone – a camera. So i soldered a USB-connector to the power-source (which was 5volt already) and got the Pi just on top of it – look how beautiful it is:
And this is the very first video the whole thing recorded (ok, out of all that excitement i tried to explore my video editing skills as well, sorry for that…).
In the future you will see how i tried (and finally managed) to add GPS to it and had to exchange the controller again for a more powerful one because of that, how autonomous flying worked (because this is a very early feature in the multiwii project and also a thrill in general), how i tried to print new legs and a case with the 3D-Printer and how the RPi got more work than just recording videos…
When it comes to that, we will hopefully have autumn 2014 and it will come with a world-premiere as well, so stay tuned… (and buy your ticket for our data-days conference where we will show it for the first time)
*btw – this is really something i find amazing – especially if you imagine a drone like that flying autonomously – the whole thing is completely algorithm-driven – without a computer permanently (hundreds of times a second) checking different parameters from the sensors and adjusting the motors it just would’nt fly at all, it would just fall down like a stone.