How to train your Quadcopter

I have not seen “How to train your dragon”, but I have heard about it. Anyway, this post is not about dragons but the next best thing, quadcopters!

Sure, a quadcopter can’t expel fire from its mouth, it doesn’t even have a mouth, but it can fly and how cool is that? In this post I will talk about how I picked my quadcopter and how I take care of it and why I bought one and why I’m talking about dragons. By the way, dragons are evil, at least as portrayed in video games. I don’t know about Danaerys dragons in Game of Thrones, they are not really evil, they are just being dragons.

Dragons and other monsters portrayed in NES games. From left to right “The Legend of Zelda”, “Zelda II: Adventures of Link” and “Shadowgate”.

Picking the right one

I found that picking a quadcopter is not really straight forward, which is a big reason for why I’m writing this post. There are many companies (I found over 50). However, it gets much easier if you first think about the companies themselves. In my case I wanted a company that is very well known. If the company and their quadcopters are well known, the chances are that the programming community will also be larger and provide me with more support. Additionally, since so many people are interested in controlling a quadcopter, there will be more software for ordinary users to use, for instance using a smartphone or tablet to control it. I found that for some quadcopters you could even control it using Javascript (node.js).

I quickly realized it would take too long to compare all quadcopters, so I simply look at the most popular ones. I found that companies such as Blade, DJI Innovations, Walkers, Microdrones, Parrot met my requirements. I then created a list of the quadcopters from these companies. I also added information such as battery life, dimensions, where to buy them and price. Additionally, I need to be able to control the quadcopter using Wifi. As for the choice of dimension, I believe a medium sized quadcopter would best suit my needs. Judging by their sizes, the only quadcopters that fit the bill is Parrot and DJI Innovations. Also batteries only last around 10 minutes for most of the quadcopters.

There are models in the DJI family that have a longer battery life, but they are more expensive. Also, DJI has a bad reputation of randomly flying away (see DJI flyaway Facebook page) and their quadcopters are a little more expensive, so I settled for the Parrot AR Drone 2.0. Parrot has a couple of quadcopters, so I will sort out which is which.

The Ar Drone 2.0 in the box.

The Ar Drone 2.0 out of the box.

Ar Drone 2.0 is the standard version. The AR Drone 2.0 GPS Edition has a GPS added to it, so you can let the quadcopter “fly home” and it works like a black box saving navigation data, which is very cool. The Power edition has an extra battery, so you can fly for 36 minutes (18+18). The battery capacity is also higher in the power edition. The Elite edition seems to be like the standard version, but with another hull.

I finally picked the Power Edition, because of the two long-life batteries. In the box you will get a power plug adapter for several standards, three sets of blades, one outdoor hull and one for indoors.

I noticed that the quadcopter -because of its powerful fans- will create turbulence and it will make the quadcopter unstable. According to AR Drone forums, the bottom camera of the quadcopter will be used when hovering, so the ground should feature high contrast patterns.

An impromptu quadcopter handle.

The first thing that you will notice when buying a quadcopter is that it is very light. The hull is made from polystyrene, so it is quite brittle, but it is surprisingly flexible, so it will not easily break unless you step on it. A tip: if the styrofoam breaks, use wood glue. It will adhere styrofoam pieces surprisingly well. Don’t use super glue as it will melt through styrofoam.

Since we are on the topic of glue, you might want to glue the magnet to the hull that is meant to lock the hull in place. Use epoxy for plastic, that will work.

The magnetic lock is poorly glued from the factory.

The quadcopter is almost meant to be crashed. First of all you get three sets of blade replacement for all four blades. The hull is styrofoam, so you could glue it together with no problems if it were to break.

One thing to get clear from the start is that the quadcopter will crash. This is a fact, don’t be disappointed when it does.

Just after a crash I’m thinking about life and stuff, looking into empty space.

The quadcopter cam is looking at me. Stop looking at me…

The Project

So, after I researched quadcopters, I acquired it. What am I to do with it now? The project is about controlling a quadcopter using body gestures. It is important that the quadcopter is moving around in a safe way. Because I will give a demonstration in the ArtScience museum in Singapore, I will have to make sure it is safe. The project is a collaboration between the Human Computer Interaction (HCI) groups of Chalmers University of Technology and NUS – National University of Singapore.

Teaching it tricks

In order to control the quadcopter I send messages to it using WiFi from a laptop. There are many languages that can send commands to the quadcopter. The communication protocol is quite simple, so it is possible to write your own. The video stream requires a decoder, which is something I didn’t look into. Anyway, because I was on a deadline I eventually found a code that I liked.

So, the goal of the project was to control the quadcopter using your body motion. For the gestures recognition I used a code written by Felix Kistler. He wrote something called FUBI, a Full Body Interaction Framework written in C++ (Kistler’s homepage) using Microsoft Kinect and its depth buffer to recognize gestures.

To make the quadcopter fly, I used a code written in C# by Ruslan Balanukhin (see GitHub). His code was written on top of the official AR Drone code ( Even though I don’t use any of the additional features of Rusland’s code, such as video streaming or command chains, I did use his GUI for debugging which was very helpful.

Now, to be able to control the quadcopter using gestures I let FUBI do the gesture recognition and whenever a gesture is recognized, I send messages between FUBI and the Ar Drone software using a localhost socket. I simply send a message from FUBI and catch it in the control software and send the commands from the control software to the quadcopter. To be safe, I added keyboard control from FUBI, if something were to happen with the quadcopter I can then take over, fly it to safety and land it.

I experimented with different complex gestures using XML code which is interpreted by FUBI in real time.

FUBI and me at work.

FUBI statistics printout.

The Microsoft Kinect recognizing gestures.

Me teaching the dragon a new trick.

During the first few flights I noticed that the quadcopter is able to crash several times without sustaining any visible damage. It is very resiliant. However, I was surprised to learn that there are no off-switch on the quadcopter itself. To turn it off you have to unplug the battery by lifting off the hull and removing the power cord to the battery. If you need to grab the quadcopter when it is hovering, grab it from above and tilt it 90 degrees. When this happens, the quadcopter will enter an “emergency mode” and shut down, so you better hold it tight. I really would like to have a handle on top so I could do this maneuvre without the risk of hurting my fingers. If you accidentally put your fingers in one of the fans, you will get hurt. The fan blade will hit your nail and it will sting. I know because it happened to me.

Me at the ArtScience Museum teaching a four year old kid how to control the quadcopter. Photograph by Xiaojun Meng.

What about dragons again?

The demonstration in Singapore turned out perfectly. I was worried that my little dragon would misbehave, but it was very kind to me. It just goes to show you, in Asia, the dragons are indeed nice. Read more about dragons

ArtScience museum in Singapore.

By the way, it seems as though “Pete’s dragon”, another nice dragon, is having a remake in 2016

Another interesting connection: The Swedish band “Little Dragon”:

One Comment:

  1. Nice Post, the best the title!!

Leave a Reply

Your email address will not be published. Required fields are marked *