Remote control of a drone by your hand, without any additional remotes was very interesting to us, so we decided to make an interface to control the drone with the Kinect.
What it does
The Kinect tracks you using an array of sensors, and it determines what position you're in. The position we track is what you're doing with your hands, specifically if you move them up, down, left, forwards, etc. Where your hands are guides the drone, so if you move your right hand up that's interpreted to mean the drone should go up, for example. The signal to move in a certain way is sent to the drone over wifi, and the drone acts out your commands in real time.
How I built it
We split this project into two parts: finding out where your hand is from the kinect, and formulating and sending commands to the drone. Once we could do both we sent the information from the kinect to the drone via Node JS. This information transmits, then, over UDP protocol to the drone, which changes its position.
Challenges I ran into
Interfacing the Kinect and the drone was the most difficult portion. The AR-Drone is complete with an outdated interface made in C and a newer interface written in Node JS. After attempting to use the C interface for a long while, we decided it was too out of date for use in our project, so we settled for the Node JS.
Accomplishments that I'm proud of
We are very proud of having the Kinect correctly detecting the users hands and translating that directly into drone movement.
What I learned
What's next for Drone Marshal
We are interested in using the Kinect for other projects that require user input. As far as Drone Marshal, we are looking forward to improving the precision in controlling the drone.