ZhuoyunZhong / Self-Driving-Car-Engineer-Projects

Udacity Self-Driving Car Engineer Nano Degree projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Self-Driving Car Engineer

Udacity Self-Driving Car Engineer Nano Degree projects.

Currently finished projects:

  • 1, Finding Lane Lines
  • 2, Traffic Sign Classifier
  • 3, Behavioral Cloning
  • 4, Advanced Lane Finding
  • 5, Vehicle Detection and Tracking
  • 6, Extended Kalman Filter
  • 7, Unscented Kalman Filters
  • 8, Kidnapped Vehicle
  • 9, PID Control
  • 10, Model Predictive Control

Demonstration

1. Finding Lane Lines

Use basic computer vision techniques, Canny Edge Detection and Hough Transform for instance, to detect lanes in some video streams taken from a running car.

Video demonstration:


2. Traffic Sign Classifier

Classify 43 classes of traffic signs from data set "GTSRB" using LeNet deep neural network architecture with the help of TensorFlow.


3. Behavioral Cloning

With the help of Udacity Self-Driving Car Simulator, implement a deep neural network to train a self-driving car to finish 2 required tracks.

Video demonstration:


4. Advanced Lane Finding

Use advanced computer vision algorithm such as Sobel Edge Detection, Perspective Transform, to percisely locate the towards lanes next to our vehicle.

Video demonstration:


5. Vehicle Detection and Tracking

Use HOG and color histogram features extrated from vehicle and non-vehicle images to train a SVM classifier. Implement a sliding windows to find and use SVC to detect vehicle positions.

Video demonstration:


6. Extended Kalman Filter

An Extended Kalman Filter is implemented to estimate the state of a moving object of interest with noisy lidar and radar measurements.

Video demonstration:


7. Unscented Kalman Filter

An Unscented Kalman Filter is implemented to estimate the state of a moving object of interest with noisy lidar and radar measurements.

Video demonstration:


8. Kidnapped Vehicle

An Particle Filter is implemented to estimate the location of a lost vehicle with noisy initial GPS data, vehicle controls and noisy landmark observations.

Video demonstration:


9. PID Control

A PID controller is implemented, which collects data and attempts to minimize the error (CTE in this case) over time by adjustment of a control variable u(t) (steering value in this case).

Video demonstration:


10. Model Predictive Control

A Model Predictive Controller (MPC) is implemented, which differs from PID control that is an optimized problem, but simulates different actuators input and predicts future vehicle trajectory in order to find the best trajectory with a minimum cost.

Video demonstration:

11. Path Planning

In the project, a vehicle navigates safely around a virtual highway with other traffic that is driving +-10 MPH of the 50 MPH speed limit. The path planner uses localization and sensor fusion data to generate a smooth and comfortable trajectory.

Video demonstration:

About

Udacity Self-Driving Car Engineer Nano Degree projects


Languages

Language:C++ 55.5%Language:Jupyter Notebook 36.1%Language:Fortran 5.5%Language:C 1.1%Language:CMake 0.9%Language:Cuda 0.5%Language:Shell 0.1%Language:Python 0.1%Language:Ruby 0.0%Language:JavaScript 0.0%Language:CSS 0.0%Language:Dockerfile 0.0%