Autonomous Robot Navigation Using Computer Vision for Exhaustive Path-Finding
CSEF · 2016 Mathematics & Computer Science Second Award
Overview
Objectives/Goals The objective of this project is to develop a computer vision algorithm for solving the problem of exhaustively searching for a predefined path, by solely analyzing a video stream from a camera mounted on a differential drive robot. The algorithm should find all possible routes a robot can take with no prior knowledge of its environment, other than the color of the paths to be traversed. In this project I also designed and built a differential robot to test the algorithm. The path is represented by a connected graph and marked on the floor and given a completely new path the robot should still find all the routes. Methods/Materials The system consists of a differential robot and camera mounted on top which broadcasts a video stream to a computer through a Wi-Fi network. The computer then analyses the video and sends commands back to the robot via a Bluetooth serial modem. The algorithm was developed in Visual Studio C++ using the computer vision library OpenCV 3.1. The algorithm first uses a preprocessing pipeline to perform color segmentation and then looks for the center of mass of certain regions in a frame. After that it uses a PID algorithm to track the location of the path and determine the position of the next target. I designed the robot on SolidWorks and 3D printed the parts. The camera is an android phone which is mounted on the robot#s body. I used an Arduino DUE connected to a motor controller and two DC motors. Results I developed two sets of patterns which can be used to generate any possible path and to demonstrate the feasibility of the project. Experiments were conducted by recording a video of the robot following a certain pattern from above so that the top view gives a clear position of the robot as it moves through each path. Then the recorded video was replayed to measure the deviation of the robot from the path in equally divided periods of time. I limited the angle of rotation to a maximum of 30° and an equivalent radius of 20cm. The result was that robot was able to successfully complete every tested path. Conclusions/Discussion I developed a robust algorithm that allows a robot to follow different paths without having any prior knowledge of its surroundings and is also capable of exhaustively searching for every connected route. This algorithm is suitable for real-time processing and has industrial applications.
Summary statement
In my project I developed a computer vision algorithm to recognize paths and navigate them autonomously.
Help received
I took engineering courses at my high school that allowed me to learn programming and 3D computer modeling. I have also been a part of multiple robotics teams including the FTC competition where I was the main developer. My main source of information came from the internet.
Awards (1)
Competition history
- CSEF 2016
Resources
Related projects
CSEF · 2017
Autonomous Off-Road Vehicle Using Computer Vision for Surveillance Applications
CSEF · 2018
Deep Learning Based Collision Avoidance Algorithm for Mobile Robots in Pedestrian Environments
CSEF · 2012
Autonomous Navigation and Robust Object Detection through Edge-based Optical Flow
CSEF · 2009
Autonomous Robotic Vehicle: Designing the Auto Matrix
ISEF · 2017
Autonomous Off-Road Vehicle Using Computer Vision for Surveillance Applications
CSEF · 2011
Quadrocopter Aerial Monocular Vision for Improved Autonomous Robot Navigation
CSEF · 2017
Building a Driverless Toy Car
CSEF · 2015
Developing Efficient Algorithms for Self-Navigating Vehicles
Closest projects by meaning, across every fair and year in the corpus.
Browse more like this
Source: California Science & Engineering Fair public projects