Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

ARDrone Parrot (quadcopter) GUI and proxy-server

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 .gitignore
Octocat-spinner-32 Makefile
Octocat-spinner-32 readme.markdown

Cockatoo AR.Drone program

Code author: Andy Gelme

Documentation author: Chris Samuel based on what I can gather from the source. :-)

License: GPLv3.



The AR.Drone Parrot is an off-the-shelf, low-cost hobbyist quadcopter which is typically flown via an Android phone, iPhone or other iOS device over WiFi. The AR.Drone Parrot acts as a WiFi Access Point allowing direct connection from a laptop or mobile device.

The AR.Drone Parrot provides various UDP and TCP ports using a documented protocol. See "ARDrone Developer Guide, SDK 1.5, 2010-10-05, chapters 6 and 7".

Cockatoo is a Java service that implements the AR.Drone Parrot protocol. Cockatoo can act as a bridge between various forms of user input, such as a keyboard or even a Kinect for gesture control.

Video of Cockatoo being using inconjuction with a Kinect client developed by Jon Oxer and his LCA2011 presentation.


To compile:

  $ make

To run:

  $ make run

To clean:

  $ make clean


The Cockatoo proxy connects to an AR.Drone 1 (currently) on the default IP address of and sends it UDP commands to control it.

When the proxy starts it sets up a TCP port listening for connections on 5600 and accepts commands in plain text.

Currently those commands are:

  • takeoff
  • land
  • forward
  • backward (possibly with a argument)

It also opens an GUI window which listens for key presses and translates them into commands for the drone. These are:

  • t - takeoff
  • l - land
  • q - land
  • f - flat trim
  • e - emergency (the source says "reset")
  • h - hover (also the space bar)
  • 0-9 - rate
  • "up" - climb
  • "shift-up" - forwards
  • "down" - descend
  • "shift down" - backwards
  • "left" - rotate left (yaw left)
  • "shift left" - roll left
  • "right" - rotate right (yaw right)
  • "shift right" - roll right

Feedback and issues

Tracking is managed via GitHub ...

Something went wrong with that request. Please try again.