The University of Sheffield
Department of Computer Science

Robert Dwyer Undergraduate Dissertation 2005/06

"Investigate How to Design a Controller for an Autonomous UAV"

Supervised by Dr GA Manson

Abstract

Background Mini UAVs (Unmanned Air Vehicles) are small aircraft that are flown either by a remote operator, or by an automated system. They are used mainly for reconnaissance and surveillance both commercially and by the military. Mini UAVs are cheaper to build and use than conventional aircraft, and can be flown in areas that are too dangerous to fly with manned aircraft. Mini UAVs are very difficult to fly manually, requiring constant correction of the controls in order to keep them in stable flight. Also, the operator must be able to see the UAV in order to fly it, which limits where it can be flown. This has resulted in increased interest in autonomous mini UAVs. These are mini UAVs that are flown by an automated system rather than by a person. A number of autonomous UAV systems have been developed previously and there are many competitions devoted to autonomous flight, such as the international MAV competition and the International Universities Mini UAV Competition.

Project Aims The main aim of the project is to investigate how to create a control system that will allow a UAV to fly autonomously. Only the development environment required will be developed this year. The objectives for this year include choosing the best hardware/software, finding out how to use them and creating a development environment from them. The first objective requires that for each area of hardware and software that is needed to create the initial development environment, the available hardware or software for that area is searched to find that which is most suitable to the project. The second objective will require the reading through of documentation and example programs and writing of test programs to find out how the hardware and software works. Documentation that will be looked through includes readme files, manuals, books, programming guides and tutorials. The third objective involves writing code that allows easy access to all of the areas required to produce a UAV system, and integrating the hardware and software in such a way that they all work well together.

Main Achievements The main achievements of the project were the creation of a development environment for the system. This consists of the hardware and software chosen to compile upload and run programs on a microcontroller. These have been configured to work together and example code and documentation has been created that explains there use. There are also the results of research into the development of UAVs and of programming with microcontrollers.