Line Following Drone

A drone that can follow a line on the ground using computer vision, can implemented to follow rivers and map ecosystems.

Public Chat
Similar projects worth following
Drones are able to provide useful environmental information, however they are often cost prohibitive as a team is required to operate the drone and parse the data. The purpose of this project is to make a drone that can follow a line on the ground using computer vision. The drone will fly autonomously by processing video. This project can be later applied for environmental purposes, instead of following a line it could be implemented to follow a river and map or monitor the ecosystem there.

The purpose of this project is to make a drone that can follow a line on the ground using computer vision. I will be working on this with a partner in the computer systems lab. This project can be later applied for environmental purposes, instead of following a line it could be implemented to follow a river and map or monitor the ecosystem there. Many remotely controlled drones are already being used for environmental purposes such as observing endangered species to prevent poaching and monitoring wildfires. Having a drone that does not need to be remotely controlled would increase the amount of time the drone can be used as well as make the drone more cost effective. As for the drone building aspect, there are websites on how to build a drone however these drones are typically made to be remote controlled.

The drone I will build has to be able to fly autonomously based on the video it takes. To do this project, the drone and the computer vision software have to be worked on at the same time and then later combined. My aspect of the project will be building a drone with a camera, initially the drone will be remotely controlled. My partner in the computer systems lab has talked to previous seniors who have done a computer vision project involving video processing.Then the drone will be programmed to work with the image processing software. The goal of this project is to be able to place any tape line on the floor with curves and turns and have the drone be able to follow it.

  • 1 × Camera
  • 4 × Brushless Motors
  • 1 × LiPo Battery
  • 4 × ESCs
  • 1 × Flight Controller

View all 10 components

  • May Update

    Neha05/31/2019 at 13:37 0 comments

    After 3D printing the parts, the next steps we had to take were to configure the electronics on the drone. Betaflight was used to configure the flight characteristics of the drone.  First the accelerometer was calibrated, then the ESCs. Next the transmitter was set up to communicate with the drone using the SBUS interface. The BLHeli configurator was used to ensure that the motors spin the correct direction before the propellers were attached. The camera subsystem was worked on separately to stream video that could be used for line detection.

    The line detection was done using C++, a coding language often used for image processing. The OpenCV library has a function called HoughLines that receives an image, grayscales it to reduce extraneous factors, and highlights the boundaries of the lines detected. The function considers each point on the image and defines a family of lines that go through that point. The lines, which are each defined by an r and θ value, are then plotted as a sinusoid. After each sinusoid is plotted, the function examines the intersections between them and the sinusoids that intersect are considered to be from the same line . A benefit of using this function is that it allows control of a threshold number of sinusoids in an intersection to be defined as a line, which can be used to reduce noise in an image and find only the necessary major line.

    Next, the line detecting function had to be used with a video. An ffmpeg function was used to extract one frame every two seconds from an inputted video. The frames were then run through the HoughLines process and the lines were highlighted. 

    Many individual aspects of the drone were completed, however unfortunately we were unable to fully assemble our drone due to delays in shipping of parts, however we achieved successful results with line detection. In the beginning, though the lines were often detected, other objects and lines in the image were also highlighted. These other lines would affect our control of the drone’s movements, so we increased the threshold in order to only highlight the main line We hoped to use the detected lines as boundaries for the drone’s movements

  • April Update

    Neha04/08/2019 at 18:37 0 comments

    I've researched parts and 3D printed a frame. Some of the parts have come in. I've started working on the software for the drone while waiting for parts. Depending on dimensions of the parts, I will have to modify the frame wot fit everything as well as to make it so that the camera is mounted under rather than on top of the drone.

  • January Update

    Neha01/23/2019 at 15:55 0 comments

    I've decided to make a micro drone instead of a 5" drone because a micro drone will be easier and cheaper to make as well as fly. This requires me to find new parts and figure out what I need to transmit images/video and how to fit it onto a smaller frame. I've updated the timeline for this change.

  • December Update

    Neha12/07/2018 at 15:50 0 comments

    So far I've found which specific parts I want to use.  I've decided on using BetaFlight and CL Racing F4S Flight Controller with a built in PDB and Aikon AK32 4-in-1 35A 6S BLHeli32 ESC. I've also found motors (Lumenier MX2206-9 2450KV Motor). For propellers, I'm going to use 5x4x3 propellors.

  • Timeline

    Neha11/02/2018 at 14:53 0 comments

    I've decided to move away from doing a five inch drone in favor of making a micro drone. Here's an updated timeline

    Finalize parts to order by 1/30

    Figure out software related to getting the drone to fly 2/8

    Assemble 2/15

    Get it to fly w/ RC 3/1

    Figure out how to transmit images 3/15

    Integrate drone and image processing 3/25

View all 5 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates