You’ll first apply computer vision and deep learning to automotive problems, including detecting lane lines, predicting steering angles, and more. Next, you’ll learn sensor fusion, which you’ll use to filter data from an array of sensors in order to perceive the environment. Then, you’ll work with a team to program Carla, Udacity’s real self-driving car.
Learn about how self-driving cars work and about the services available to you as part of the Nanodegree program.
You’ll use a combination of cameras, software, and machine learning to find lane lines on difficult roads and to track vehicles. You’ll start with calibrating cameras and manipulating images, and end by applying support vector machines and decision trees to extract information from video.
- Lesson 1: Computer Vision Fundamentals
- Lesson 2: Advanced Computer Vision
Project: Finding Lane Lines on a Road
In this project, you will be writing code to identify lane lines on
the road, first in an image, and later in a video stream (really just a series of images). To complete this project, you will use the tools you learned about in the lesson and build upon them.
Project: Advanced Lane Finding
In this project, your goal is to write a software pipeline to identify the lane boundaries in a video from a front-facing camera on a car.
Deep learning has become the most important frontier in both machine learning and autonomous vehicle development. Experts from NVIDIA and Uber ATG will teach you to build deep neural networks and train them with data from the real world and from the Udacity simulator. By the end of this course, you’ll be able to train convolutional neural networks to classify traffic signs, and to drive a vehicle in the simulator the same way you drive it yourself!
- Lesson 1: Neural Networks
- Lesson 2: TensorFlow
- Lesson 3: Deep Neural Networks
- Lesson 4: Convolutional Neural Networks
- Lesson 5: Keras
- Lesson 6: Transfer Learning
Project: Traffic Sign Classifier.
You just finished getting your feet wet with deep learning. Now put your skills to the test by using deep learning to classify different traffic signs! In this project, you will use what you’ve learned about deep neural networks and convolutional neural networks to classify traffic signs.
Project: Behavioral Cloning.
Put your deep learning skills to the test with this project! Train a deep neural network to drive a car like you!
Tracking objects over time is a major challenge for understanding the environment surrounding a vehicle. Sensor fusion engineers from Mercedes-Benz will show you how to program fundamental mathematical tools called Kalman filters. These filters predict and determine with certainty the location of other vehicles on the road. You’ll even learn to do this with difficult-to-follow objects, by using an advanced technique: the extended Kalman filter.
- Lesson 1: Sensors
- Lesson 2: Kalman Filters
- Lesson 3: C++ Checkpoint
- Lesson 4: Extended Kalman Filters
Project: Extended Kalman Filters.
In this project, you’ll apply everything you’ve learned so far about Sensor Fusion by implementing an Extended Kalman Filter in C++!
Localization is how we determine where our vehicle is in the world. GPS is great, but it’s only accurate to within a few meters. We need single-digit centimeter-level accuracy! To achieve this, Mercedes-Benz engineers will demonstrate the principles of Markov localization to program a particle filter, which uses data and a map to determine the precise location of a vehicle.
- Lesson 1: Introduction to Localization
- Lesson 2: Markov Localization
- Lesson 3: Motion Models
- Lesson 4: Particle Filters
- Lesson 5: Implementation of a Particle Filter
Project: Kidnapped Vehicle
In this project, you’ll build a particle filter and combine it with a real map to localize a vehicle!
Path planning routes a vehicle from one point to another, and it handles how to react when emergencies arise. The Mercedes-Benz Vehicle Intelligence team will take you through the three stages of path planning. First, you’ll apply model-driven and data-driven approaches to predict how other vehicles on the road will behave. Then you’ll construct a finite state machine to decide which of several maneuvers your own vehicle should undertake. Finally, you’ll generate a safe and comfortable trajectory to execute that maneuver.
- Lesson 1: Search
- Lesson 2: Prediction
- Lesson 3: Behavior Planning
- Lesson 4: Trajectory Generation
Project: Highway Driving
In this project, you’ll Drive a car down a highway with other cars using your own path planner.
Ultimately, a self-driving car is still a car, and we need to send steering, throttle, and brake commands to move the car through the world. Uber ATG will walk you through building both proportional-integral-derivative (PID) controllers and model predictive controllers. Between these control algorithms, you’ll become familiar with both basic and advanced techniques for actuating a vehicle.
- Lesson 1: PID Control
Project: PID Controller
In this project you’ll revisit the lake race track from the Behavioral Cloning Project. This time, however, you’ll implement a PID controller in C++ to maneuver the vehicle around the track!
Ultimately, a self-driving car is still a car, and we need to send steering, throttle, and brake commands to move the car through the world. Uber ATG will walk you through building both proportional-integral-derivative (PID) controllers and model predictive controllers. Between these control algorithms, you’ll become familiar with both basic and advanced techniques for actuating a vehicle.
- Lesson 1: Autonomous Vehicle Architecture
- Lesson 2: Introduction to ROS
- Lesson 3: Packages and Catkin Workspaces
- Lesson 4: Writing ROS Nodes
Project: Programming a Real Self-Driving Car
In this project you’ll Run your code on Carla, Udacity’s autonomous vehicle!
Verification URL: https://confirm.udacity.com/XGKPXGQT