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