Skip to content

matsfranco/Adaptative-Line-Follower

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Adaptative Line Follower

The Adaptative Line Follower (ALF) robot was my graduation project in Computer Engineering at Sao Paulo Federal University. This is the source code of a line follower robot implemented using Image Processing (OpenCV) to identify the line and an Reinforcement Learning (Q-learning) algorithm.

ALF Robot

The Adaptative Linefollower Robot (ALF) platform. Built from zero using 3D printed parts.

Implementation Highlights

CVU_Q_Learning

This code is responsible for implementing image processing and Q-learning algorith using Python, OpenCV and a SQL Database to store learning process data

MotorControlUnit

This is the source code of a Arduino-based module to control direct current electrical motors using PID controllers. It was implemented a Serial interface to implement the communication between CVLU and this unit. CVLU send a stream of instructions to control robot movement.

Webserver

This module implements a webserver using Pyhton and Flask to create a visual interface to follow up learning processes in real time and access previous learning processes for analysis using tables and chats in Javascript (Plot.ly).

Diagrams

Block Diagram

Block Diagram of the final system

Class Diagram

Class Diagram with most important classes

Database Diagram

Database ER diagram.

About

Project and Development of a line follower robot capable of learning by itself how to follow a line using Reinforcement Learning and Computer Vision. This project was developed using Rasberry Pi and Arduino, Python, Flask and Plotly

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors