/self-driving-car-nanodegree-nd013

Self-driving cars are set to change the way we live with technology. In this program I'm learning the skills and techniques used by self-driving car teams at the most innovative companies in the world including robotics, machine learning, computer vision, and mechanical engineering.

Primary LanguageC++MIT LicenseMIT

Self-Driving Car Engineer Nanodegree

Learning to build the future, today.

Self-driving cars are set to change the way we live with technology. In this program I'm learning the skills and techniques used by self-driving car teams at the most innovative companies in the world including robotics, machine learning, computer vision, and mechanical engineering.

Self-driving cars represent one of the most significant advances in modern history. Their impact will go beyond technology, beyond transportation, beyond urban planning to change our daily lives in ways we have yet to imagine.

car

Project directory:

Term 2:

The goal of this project is to build an extended Kalman filter and sensor fusion pipeline. We take Lidar and Radar measurements, run a Predict/Update cycle through a Kalman filter, and output the results.

I developed an UKF in C++ to detect a bicycle using Laser and Radar data. The filter successfully achieved RMSE results < .1 on px and py. More information.

I developed a 2 dimensional particle filter in C++ for localization use.

I developed a proportional integral derivative controller in C++. The car reached 95 mph on the most difficult corner of the virtual test track. Video here. :)

A MPC optimizes the current controls while keeping future information in mind.

Term 1:

Step 1 in developing a self-driving car: automatically detect lane lines using an algorithm.

I use what I have learnt about deep neural networks and convolutional neural networks to classify traffic signs. I train a model so it can decode traffic signs from natural images by using the German Traffic Sign Dataset.

My goal is to clone human driving into a computer program using a simulator and deep neural networks.

More advanced lane finding including camera undistortion, perspective transform, thresholding, lane fitting, and time based smoothing.

Use Histogram of Oriented Gradients (HOG) feature extraction, SVM classification, sliding windows, and heatmapping to detect vehicles.