The goal of this project was to build a drone that could autonomously hold its position using computer vision. An onboard Raspberry Pi used an IR sensor to determine its height and a downward-facing camera to determine its location on the table using feature matching.
During this project, I learned the very basics of computer vision including edge detection, Gaussian filtering, and feature matching. Using the Open CV library with Python, I was able to create algorithms for computer vision to accomplish different tasks.
For the construction of the drone, I was provided with all the parts (flight controller, Raspberry Pi, ESC's, motors, etc.) and I assembled it based on given directions. I soldered all of the electronics myself and I was the first student in the class to have a flying quadcopter.
Below, there are additional images of the construction as well as videos of the drone in flight.
In this video, the drone is flying using its "Vision Flow and Phase" code, which utilizes the concept of optical flow. Each frame of video taken by the Raspberry Pi camera is compared to the previous frame to see how much the drone has moved and in which direction. It uses this information to make corrections to stay in place as best as it can.
Michael Sherman
Copyright © 2021 Michael Sherman - All Rights Reserved.
We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.