The goal of this project was to design the systems and algorithms necessary to allow a quadcopter to autonomous locate and land on a station target. The purpose of this system was to outline the framework for a quadcopter based data collection or surveillance system that copes with the relatively short battery life of these highly mobile devices by consistently landing the AAV safely in a designated location to be recharged.
The 3D Robotics ArduCopter was chosen as the quadcopter platform since it is capable of autonomously hovering in place and is capable of carrying a payload, such as the camera used to determine the location of the dock.
A system wasdevised such that the quadcopter can correctly determine the location of a target ground station while hovering and then land when above the target. Only commercially available components and free software were used to so that the entire docking system is easily accessible to future researchers and UAV enthusiasts.
While improving the mechanics, aerodynamics, and reliably of Multicopters is an active research area, the basics of quadcopter design is a solved problem. Instead of building in a quadcopter, the focus of this project was to explore what could be done with an autonomous quadcopter. Currently, the main constrain on multicopters is their battery life, which can limit the flight time to as little as 10 minutes.
DESIGN SOLUTION EVALUATION
One of the first major design choices made was choosing the type of multicopter to be used in this project. A quadcopter platform was chosen because in general they are capable of hovering in place, robust, well balanced for the amount of lift they generate, and are widely used in the UAV community.
In the final design a 3DRobototics quadcopter is controller using the ArudCopter ArduPilot Mega 2.5, an autopilot board that handles that stabilized flight, integrates the local sensors such as GPS, sonar and battery monitoring as well as radio communication. This quadcopter was chosen for it size, payload capacity, preexisting community and open-source software.
- Download the SimpleCV 1.3 superpack and run.
- Under Control Panel\System and Security\System, open Advanced System Settings. In systems settings dialog box, got to the Advanced tab and click on Environment Variables. Added the following:
- PATH: C:/Python27/;C:/Python27/Scripts/;C:/OpenCV2.3/opencv/build/x86/vc10/bin/;
PYTHONPATH:C:/SimpleCV1.3/files/opencv/build/python/2.7/; C:/Open CV2.3/opencv/build/python/2.7/;
- Download the QR code reader module.
- Download the MAVProxy, MAVLink, and all their required windows libraries by follow these directions.
- Install IP webcam on your android phone, or use the webcam of your computer (cam = Camera(0)).
Using this system, the quadcopter has successfully landed using visual targets (see webpage video). In timing tests where the quadcopter was flying under manual control, the quadcopter is able to land from hovering 60 cm in the air in about 0.6 seconds after the Land command was received.
The timelog recorded by the android module during each flight shows the amount of time elapsed between each subsequent command, showing that the quadcopter is able to determine the target is centered and ready to land in 10 milliseconds or less.
Source: Cornell University
Author: Sima Mitra