Software for automated control of a Parrot AR. Drone


Ardrone_control readme
Copyright 2012 Ardrone_control authors. See AUTHORS file for details.
For license details please see the file COPYING which you should have received
with this code.


Ardrone_control is software designed to allow autonimous flight of a Parrot
ARdrone 2 (or later?). It concists of two main programs:
ardrone_atd - handles the AT command interface of the drone,
including the requirement for a watchdog command every few mili-seconds.
ardrone_controld - handles controlling the drone, reads commands from stdin and outputs commands to stdout.


This software requires  a working network interface for connection to the drone (probably wireless),
the gcc compiler or a system providing equivalent libraries and support for
message queues for communication between drone_controld and drone_atd.

In addition, the libav, opencv, libconfig and gsl libraries are required for compilation.

The code has been compiled on Debian Linux using gcc,
and should compile on most Linuxes and may be other unix-like operating systems as well.
At the moment, the code makes use of some GNU specific library functions.


All source is under the src directory.  The commands below assume you have changed into this directory.
A Makefile has been provided which, providing that the libraries are installed
in places where your compiler can find them,
should compile both ardrone_controld and ardrone_atd.

An example command would be:
cd src && make

If you wish to compile one or other of these specify the program name after the make call e.g
`make ardrone_controld'
would recompile the drone control demon.


First start ardrone_atd and then ardrone_controld.
For example:
ardrone_atd &
ardrone_controld &

These commands (in most shells) will start ardrone_atd and ardrone_controld in the background.  You can also provide the programs with a config file e.g:
ardrone_atd my_config_file.conf 
ardrone_controld my_config_file.conf &

Like the previous commands these start the programs in the background, but this time the programs are given a config file called my_config_file.conf.
It is important to note that any config setting not provided in the config file will use the compiled in default.