Skip to content

Small scale implementation of a self driving car by implementing a Convolutional Neural Network model to predict the direction of motion of a car taking track image as input.

Notifications You must be signed in to change notification settings

rupashi97/self-driving-rc-car

Repository files navigation

Self-Driving RC Car

This project is a part of my bachelor's thesis, where we tackled the complex problem of building autonomous vehicles by creating a small-scale solution. Utilizing Convolutional Neural Networks (CNNs), we predicted the car's directional movement based on real-time track images. We captured these images using a Raspberry Pi and a Pi camera module and communicated with a local server through TCP/IP socket programming.

Here's the setup of the RC car:

Track set up

Dataset

MAC0460 Self driving dataset available on Kaggle is used for training the classifier.

Model Training

The training involves multiple steps:

  1. time_stamps_match: To synchronize Image_Stamps and Direction_Stamps, generating Image_Command.csv.
  2. training_file_gen.ipynb: To create Training_Data and Training_Labels from Image_Command.csv.

Models

For manual Data labeling

For Testing/Driving the car using Model Predictions

  1. rc_rpi_controller: Arduino-based socket connection for car commands.
  2. drive.py: RPI program to actuate car based on model's predictions.

For in-depth information and model training/testing results, please refer to our project report.

About

Small scale implementation of a self driving car by implementing a Convolutional Neural Network model to predict the direction of motion of a car taking track image as input.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages