/self-driving-car-nd

Udacity's Self-Driving Car Nanodegree project files and notes.

Primary LanguageJupyter Notebook

self-driving-car-nd

Udacity's Self-Driving Car Nanodegree project files and notes.

This repository contains project files and lecture notes for Udacity's Self-Driving Car Engineer Nanodegree program which I started working on on 27 October, 2016.

The Self-Driving Car Engineer is an online certification intended to prepare students to become self-driving car engineers. The program was developed by Udacity in partnership with Mercedes-Benz, NVIDIA, Otto, DiDi, BMW, McLaren and NextEv.

See also: My notes for Udacity's Machine Learning Nanodegree.

Program Outline:

Term 1: Deep Learning and Computer Vision

1. Deep Learning

  • deep-learning-notes-and-labs: Notes on Deep Learning, Tensorflow and Keras
  • Project 2: Traffic Sign Classifier
  • Project 3: Behavioural Cloning
    • Train a car to drive in a 3D simulator using a deep neural network.
    • Input data comprises steering angles and camera images captured by driving with a keyboard / mouse / joystick in the simulator.

2. Computer Vision

  • computer-vision-notes-and-labs: Notes on Computer Vision
  • Project 1: Finding Lane Lines (Intro to Computer Vision)
  • Project 4: Advanced Lane Lines
  • Project 5: Vehicle Detection

Term 2: Sensor Fusion, Localisation and Control

1. Sensor Fusion

  • Combining lidar and radar data to track objects in the environment using Kalman filters.
  • Project 1: Extended Kalman Filters
  • Project 2: Unscented Kalman Filters

2. Localisation

  • Locate a car relative to the world (Align a car and sensors to the map).
  • Use particle filters to localise the vehicle.
  • Project 3: Kidnapped Vehicle (Particle Filters)

3. Control

  • Fundamental concepts of robotic control.
  • Build algorithms to steer car and wheels so as to meet an objective.
  • Project 4: PID Controller
  • Project 5: Model Predictive Control

Term 3: Path Planning, Controlling a Self-Driving Car

1. Path Planning

  • Finding a sequence of steps in a maze (navigating cities, parking lots)
  • Project 1: Path Planning (Driving a car down a highway with other cars in a simulator)

2. Advanced Deep Learning: Semantic Segmentation

  • Fully Convolutional Networks
  • Inference Performance (Optimising NNs in TensorFlow for Inference Speed)
  • Project 2: Semantic Segmentation (Identifying free space on the road in a video clip)

3. Functional Safety

4. System Integration

  • Put your code in a self-driving car