Skip to content

Mobile application through which the user can choose manual or automatic mode

Notifications You must be signed in to change notification settings

meeranahmed/self-driving-car

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Self Driving Car

This Project consists of two modes

1. Manual Mode

2. Automatic Mode


1. Manual Mode

  • The user select from the home page Manual mode.
  • The user starts to select the direction where the car would move.
  • The car recieves the required direction through the esp WiFi module.
  • The WiFi module starts to send this direction to the arduino which will lead the motors to move in this direction.

Mobile UI Sample

1. Automatic Mode

  • The user select from the home page Autoatic mode..
  • The car webcam starts to take images of the car lane.
  • The webcam sends the images to the server.
  • The server sends the image to the lane detection algorithm to detect the direction which the car should move to.
  • The detected direction will be sent to the esp WiFi module through the server.
  • The WiFi module sends the direction to the arduino to make the motors move to this direction.

Mobile UI Sample

Project code structure:

1. Server side:

  • Responsible for sending and receiving images to be processed and directions between the mobile and the car esp WiFi module.
  • Tools used:
    • flask
    • python

2. Client app:

  • A Mobile application responsible for switching between different modes and sending directions to the server in case of manual mode.
  • Tools used:
    • React js

3. WebCam:

  • Responsible for capturing pictures of the lane and sending them to the server in case of automatic mode.

3. Computer Vision algorithm:

  • Responsible lane detection and specify the correct direction.

  • Steps of lane detection algorithm:

    1. Isolate the Color of the Lane:

    2. Turn the color space used by the image, which is RGB (Red/Green/Blue) into the HSV (Hue/Saturation/Value) color space.

    3. lift all the blueish colors from the image by specifying a range of the color Blue.

    4. Detecting Edges of Lane Lines using canny edge detection.

    5. Isolate Region of Interest

    6. Detect Line Segments using Hough Transform

    7. Motion Planning: Steering Angle

      • Now that we have the coordinates of the lane lines, we need to steer the car so that it will stay within the lane lines, even better, we should try to keep it in the middle of the lane. Basically, we need to compute the steering angle of the car, given the detected lane lines.

    8. Depending on the steering angle we deside the direction:

    • 0 <= steering_angle <= 85 : Right
    • 85 < steering_angle < 92 : Forword
    • 92 <= steering_angle <= 180 : Left

About

Mobile application through which the user can choose manual or automatic mode

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published