/linefollower

This repository contains our work during the line follower phase.

Primary LanguageC++MIT LicenseMIT

Line Follower

logo

God save Azza. 🏎️


Table of Contents


Overview

  • Azza is a line follower robot and it's target is to finish track as fast as possible
  • There is a mobile App that helps Azza to find straight lines to run with the max speed. The app communicates with Azza by bluetooth
  • Azza can accomplish this by utilising a combination of closed-loop controllers such as PID and a variety of conditions
  • πŸŽ‰ This project ranked 1st place among 7 teams.
  • This project is built using.
  • The Project have 2 parts

Components & cost

Name Number Market Cost per Part
Arduino Uno 1 356 EGP
l298 motor driver 1 60 EGP
DC Motor 2 35 EGP
Car chassis 1 65 EGP
Train sensor 1 130 EGP
Wheel 2 30 EGP
Caster Wheel 1 35 EGP

Total Budget = 776 EGP

Note: All prices are recorded in 2023


Parts

APP

  • App finds straight lines to help Azza drive with the highest speed
  • App should be fixed while running
  • App is built using flutter and uses Dart FFI to connect to image processing code
  • Image processing code is built using C++
  • A red & yellow paper help us to know front and back od the car. Front of the car is red. Back of the car is yellow.
  • Path of App

  • Click to expand...
    Screen Description
    • Start Screen
    • Press start button to use app
    • Connect to the bluetooth
    • Most of time it will HC-05
    • Take picture to the track when it is empty
    • You can zoom in or zoom out
    • Press on camera when you want to take picture
    • You can zoom in or zoom out
    • When press on camera start streaming and detect car on straight road or not
    • Output:
      • 0 => not in straight road
      • 1 => in straight road
      • 5 => can't find car

    Note: Mobile should be fixed while running program

  • Result of image processing

  • Input Output

Car

  • Azza receive output from app if found 1 drive with the fastest speed if 0 drive with original speed
  • Azza is able to tackle the line following problem using an array of sensors
  • Azza can accomplish this by utilizing a combination of closed-loop controllers such as PID and a variety of conditions
Car.mp4

Integration

Integration.mp4

Contributors

Project Manager

Mohab Zaghloul



Mahmoud Abdlhamid


Nour Ziad Almulhem


Basma Elhoseny


Ahmed Hosny


Ahmed Madbouly


Eman Shahda


Abd Elrhman Fathi


Zeinab Moawad


Doaa ElSherif


Eslam Ashraf


πŸ”’ License

Note: This software is licensed under MIT License, See License for more information Β©Lightning McQueen.