Today’s toy quadcopters are cheap, safe and have great flying capabilities.
However, they generally require a human to control them at all times and can not hover in a single spot by themselves.
The goal of this project is to create a drone with a single on board camera that can stabilize itself above some predefined pattern.
This is a recording of the developed system in action:
On the hardware side, we attached a down facing RF camera to a drone.
We also connected an RF video receiver and an RC controller to the computer,
which lets it receive video from the camera and send commands to the drone.
While the drone flies, it sends images from the camera to the computer.
The computer runs computer vision algorithms on the images,
understands where the drone is and sends commands to stabilize the drone and keep it at a fixed point.
The control program is written in C++, with extensive use of the OpenCV library.
For detailed explanations of the algorithms used, read the project guide.
For information about how to compile the code, read the README.md file found in the source code directory.
All the code is available at this link.
Project by Andrey Leshenko and Eli Tarnarutsky.