Udacity's self driving cars nano degree that teaches a variety of concepts in different fields like Artificial intelligence, computer vision, deep learning, path planning, sensor fusion, behavior modelling, prediction and system integration. This repository contains all the nanodegree projects from all these different fields.
Detecting lane lines using the basic concepts of computer vision like masking, thresholding, color conversions, Hough lines, etc.
Create a pipeline for advanced lane lines and radius of curvature detection using concepts like camera calibration, distortion correction, color transforms, gradients, perspective transform, etc. The radius of curvature is obtained by using an algorithm called sliding window search.
German traffic signs dataset was used to build a classifier with around 95% accuracy using a modified version of the LeNet architecture and other deep learning concepts using Tensorflow.
A deep convolutional neural network was trained using Keras framework to mimic the driving behavior of humans. The dataset was created with around 25000 images captured from 3 cameras on the vehicle and labelled with the steering angle at that point of time. The architecture used was the one presented by Nvidia in their paper on end to end learning for self driving cars.
An extended Kalman filter that is widely used in the real world for sensor fusion was implemented in C++ and then tested out on a simulator.
A particle filter that is widely used for localisation was implemented in C++ and tested on a simulator to see how well a vehicle localises itself in a known map with landmarks using the particle filter.
A path planner was designed and implemented in C++ to drive an autonomous vehicle on a highway that can sense and predict the movement of other vehicles around it and considering all the data, plan a path to traverse through the highway without any collisions, jerk minimisation and no speed violations.
A PID controller was designed and implemented in C++ to control the steering value of a car driving down a track in a simulator.