State Estimation and Localization for Self-Driving Cars
State Estimation and Localization for Self-Driving Cars
This course is part of Self-Driving Cars Specialization
55,731 already enrolled
Included with
Learn more
841 reviews
Recommended experience
841 reviews
Recommended experience
What you'll learn
Understand the key methods for parameter and state estimation used for autonomous driving, such as the method of least-squares
Develop a model for typical vehicle localization sensors, including GPS and IMUs
Apply extended and unscented Kalman Filters to a vehicle state estimation problem
Apply LIDAR scan matching and the Iterative Closest Point algorithm
Details to know
5 assignments
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
There are 6 modules in this course
Welcome to State Estimation and Localization for Self-Driving Cars, the second course in University of Torontoβs Self-Driving Cars Specialization. We recommend you take the first course in the Specialization prior to taking this course.
This course will introduce you to the different sensors and how we can use them for state estimation and localization in a self-driving car. By the end of this course, you will be able to: - Understand the key methods for parameter and state estimation used for autonomous driving, such as the method of least-squares - Develop a model for typical vehicle localization sensors, including GPS and IMUs - Apply extended and unscented Kalman Filters to a vehicle state estimation problem - Understand LIDAR scan matching and the Iterative Closest Point algorithm - Apply these tools to fuse multiple sensor streams into a single state estimate for a self-driving car For the final project in this course, you will implement the Error-State Extended Kalman Filter (ES-EKF) to localize a vehicle using data from the CARLA simulator. This is an advanced course, intended for learners with a background in mechanical engineering, computer and electrical engineering, or robotics. To succeed in this course, you should have programming experience in Python 3.0, familiarity with Linear Algebra (matrices, vectors, matrix multiplication, rank, Eigenvalues and vectors and inverses), Statistics (Gaussian probability distributions), Calculus and Physics (forces, moments, inertia, Newton's Laws).
This module introduces you to the main concepts discussed in the course and presents the layout of the course. The module describes and motivates the problems of state estimation and localization for self-driving cars. An accurate estimate of the vehicle state and its position on the road is required at all times to drive safely.
What's included
9 videos3 readings1 discussion prompt
9 videosβ’Total 33 minutes
- Welcome to the Self-Driving Cars Specialization!β’6 minutes
- Welcome to the Courseβ’3 minutes
- Meet the Instructor, Jonathan Kellyβ’2 minutes
- Meet the Instructor, Steven Waslanderβ’6 minutes
- Meet Diana, Firmware Engineerβ’3 minutes
- Meet Winston, Software Engineerβ’4 minutes
- Meet Andy, Autonomous Systems Architectβ’2 minutes
- Meet Paul Newman, Founder, Oxbotica & Professor at University of Oxfordβ’5 minutes
- The Importance of State Estimationβ’2 minutes
3 readingsβ’Total 45 minutes
- Course Prerequisites: Knowledge, Hardware & Softwareβ’15 minutes
- How to Use Discussion Forumsβ’15 minutes
- How to Use Supplementary Readings in This Courseβ’15 minutes
1 discussion promptβ’Total 30 minutes
- Get to Know Your Classmatesβ’30 minutes
The method of least squares, developed by Carl Friedrich Gauss in 1795, is a well known technique for estimating parameter values from data. This module provides a review of least squares, for the cases of unweighted and weighted observations. There is a deep connection between least squares and maximum likelihood estimators (when the observations are considered to be Gaussian random variables) and this connection is established and explained. Finally, the module develops a technique to transform the traditional 'batch' least squares estimator to a recursive form, suitable for online, real-time estimation applications.
What's included
4 videos3 readings3 assignments2 ungraded labs
4 videosβ’Total 33 minutes
- Lesson 1 (Part 1): Squared Error Criterion and the Method of Least Squaresβ’11 minutes
- Lesson 1 (Part 2): Squared Error Criterion and the Method of Least Squaresβ’6 minutes
- Lesson 2: Recursive Least Squaresβ’7 minutes
- Lesson 3: Least Squares and the Method of Maximum Likelihoodβ’8 minutes
3 readingsβ’Total 105 minutes
- Lesson 1 Supplementary Reading: The Squared Error Criterion and the Method of Least Squaresβ’45 minutes
- Lesson 2 Supplementary Reading: Recursive Least Squaresβ’30 minutes
- Lesson 3 Supplementary Reading: Least Squares and the Method of Maximum Likelihoodβ’30 minutes
3 assignmentsβ’Total 110 minutes
- Lesson 1: Practice Quizβ’30 minutes
- Lesson 2: Practice Quizβ’30 minutes
- Module 1: Graded Quizβ’50 minutes
2 ungraded labsβ’Total 180 minutes
- Lesson 1 Practice Notebook: Least Squaresβ’90 minutes
- Lesson 2 Practice Notebook: Recursive Least Squaresβ’90 minutes
Any engineer working on autonomous vehicles must understand the Kalman filter, first described in a paper by Rudolf Kalman in 1960. The filter has been recognized as one of the top 10 algorithms of the 20th century, is implemented in software that runs on your smartphone and on modern jet aircraft, and was crucial to enabling the Apollo spacecraft to reach the moon. This module derives the Kalman filter equations from a least squares perspective, for linear systems. The module also examines why the Kalman filter is the best linear unbiased estimator (that is, it is optimal in the linear case). The Kalman filter, as originally published, is a linear algorithm; however, all systems in practice are nonlinear to some degree. Shortly after the Kalman filter was developed, it was extended to nonlinear systems, resulting in an algorithm now called the βextendedβ Kalman filter, or EKF. The EKF is the βbread and butterβ of state estimators, and should be in every engineerβs toolbox. This module explains how the EKF operates (i.e., through linearization) and discusses its relationship to the original Kalman filter. The module also provides an overview of the unscented Kalman filter, or UKF, a more recently developed and very popular member of the Kalman filter family.
What's included
6 videos5 readings1 programming assignment1 ungraded lab
6 videosβ’Total 53 minutes
- Lesson 1: The (Linear) Kalman Filterβ’9 minutes
- Lesson 2: Kalman Filter and The Bias BLUEsβ’5 minutes
- Lesson 3: Going Nonlinear - The Extended Kalman Filterβ’10 minutes
- Lesson 4: An Improved EKF - The Error State Extended Kalman Filterβ’7 minutes
- Lesson 5: Limitations of the EKFβ’8 minutes
- Lesson 6: An Alternative to the EKF - The Unscented Kalman Filterβ’15 minutes
5 readingsβ’Total 190 minutes
- Lesson 1 Supplementary Reading: The Linear Kalman Filterβ’45 minutes
- Lesson 2 Supplementary Reading: The Kalman Filter - The Bias BLUEsβ’10 minutes
- Lesson 3 Supplementary Reading: Going Nonlinear - The Extended Kalman Filterβ’45 minutes
- Lesson 4 Supplementary Reading: An Improved EKF - The Error State Kalman FIlterβ’60 minutes
- Lesson 6 Supplementary Reading: An Alternative to the EKF - The Unscented Kalman Filterβ’30 minutes
1 programming assignmentβ’Total 10 minutes
- Module 2 Graded Notebook (Submission): Estimating a Vehicle Trajectoryβ’10 minutes
1 ungraded labβ’Total 180 minutes
- Module 2 Graded Notebook: Estimating a Vehicle Trajectoryβ’180 minutes
To navigate reliably, autonomous vehicles require an estimate of their pose (position and orientation) in the world (and on the road) at all times. Much like for modern aircraft, this information can be derived from a combination of GPS measurements and inertial navigation system (INS) data. This module introduces sensor models for inertial measurement units and GPS (and, more broadly, GNSS) receivers; performance and noise characteristics are reviewed. The module describes ways in which the two sensor systems can be used in combination to provide accurate and robust vehicle pose estimates.
What's included
4 videos3 readings1 assignment
4 videosβ’Total 34 minutes
- Lesson 1: 3D Geometry and Reference Framesβ’11 minutes
- Lesson 2: The Inertial Measurement Unit (IMU)β’11 minutes
- Lesson 3: The Global Navigation Satellite Systems (GNSS)β’8 minutes
- Why Sensor Fusion?β’3 minutes
3 readingsβ’Total 55 minutes
- Lesson 1 Supplementary Reading: 3D Geometry and Reference Framesβ’10 minutes
- Lesson 2 Supplementary Reading: The Inertial Measurement Unit (IMU)β’30 minutes
- Lesson 3 Supplementary Reading: The Global Navigation Satellite System (GNSS)β’15 minutes
1 assignmentβ’Total 50 minutes
- Module 3: Graded Quizβ’50 minutes
LIDAR (light detection and ranging) sensing is an enabling technology for self-driving vehicles. LIDAR sensors can βseeβ farther than cameras and are able to provide accurate range information. This module develops a basic LIDAR sensor model and explores how LIDAR data can be used to produce point clouds (collections of 3D points in a specific reference frame). Learners will examine ways in which two LIDAR point clouds can be registered, or aligned, in order to determine how the pose of the vehicle has changed with time (i.e., the transformation between two local reference frames).
What's included
4 videos3 readings1 assignment
4 videosβ’Total 48 minutes
- Lesson 1: Light Detection and Ranging Sensorsβ’14 minutes
- Lesson 2: LIDAR Sensor Models and Point Cloudsβ’13 minutes
- Lesson 3: Pose Estimation from LIDAR Dataβ’18 minutes
- Optimizing State Estimationβ’4 minutes
3 readingsβ’Total 50 minutes
- Lesson 1 Supplementary Reading: Light Detection and Ranging Sensorsβ’10 minutes
- Lesson 2 Supplementary Reading: LIDAR Sensor Models and Point Cloudsβ’10 minutes
- Lesson 3 Supplementary Reading: Pose Estimation from LIDAR Dataβ’30 minutes
1 assignmentβ’Total 30 minutes
- Module 4: Graded Quizβ’30 minutes
This module combines materials from Modules 1-4 together, with the goal of developing a full vehicle state estimator. Learners will build, using data from the CARLA simulator, an error-state extended Kalman filter-based estimator that incorporates GPS, IMU, and LIDAR measurements to determine the vehicle position and orientation on the road at a high update rate. There will be an opportunity to observe what happens to the quality of the state estimate when one or more of the sensors either 'drop out' or are disabled.
What's included
8 videos2 readings1 programming assignment1 discussion prompt
8 videosβ’Total 58 minutes
- Lesson 1: State Estimation in Practiceβ’10 minutes
- Lesson 2: Multisensor Fusion for State Estimationβ’10 minutes
- Lesson 3: Sensor Calibration - A Necessary Evilβ’9 minutes
- Lesson 4: Loss of One or More Sensorsβ’5 minutes
- The Challenges of State Estimationβ’7 minutes
- Final Lesson: Project Overviewβ’3 minutes
- Final Project Solution [LOCKED]β’11 minutes
- Congratulations on Completing Course 2!β’2 minutes
2 readingsβ’Total 120 minutes
- Lesson 2 Supplementary Reading: Multisensor Fusion for State Estimationβ’90 minutes
- Lesson 3 Supplementary Reading: Sensor Calibration - A Necessary Evilβ’30 minutes
1 programming assignmentβ’Total 180 minutes
- Final Project: Vehicle State Estimation on a Roadwayβ’180 minutes
1 discussion promptβ’Total 15 minutes
- Your Learning Journeyβ’15 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructors
Offered by
Explore more from Software Development
- Status: Free TrialU
University of Toronto
Course
- Status: Free TrialU
University of Toronto
Course
- Status: Free TrialU
University of Toronto
Course
- Status: Free TrialU
University of Colorado System
Course
Why people choose Coursera for their career
Learner reviews
- 5 stars
78.24%
- 4 stars
15.93%
- 3 stars
3.80%
- 2 stars
0.59%
- 1 star
1.42%
Showing 3 of 841
Reviewed on May 22, 2021
The course gave a clear and an in-depth knowledge on Kalman filters and Localisation using those filters. The assignments were pretty tough but solving them was fun.
Reviewed on Jun 12, 2020
A lot of fun! I learnt a lot and feel that due to the well designed assignments I really got to the bottom of it...
Reviewed on Aug 11, 2019
Very interesting course if you want to learn about the different filters used in self driving cars for sensor fusion
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Frequently asked questions
You'll learn how self-driving cars estimate position, orientation, and motion from noisy sensor data, and how those estimates are turned into reliable localization. It starts with estimation basics, then builds into GPS, IMU, and LIDAR-based localization and sensor fusion. In the final project, you'll implement an error-state extended Kalman filter to localize a vehicle in simulation.
Yes, you'll need some Python experience, and the course also expects linear algebra, Gaussian statistics, calculus, and physics. It's an advanced course, so it moves quickly into modeling sensors and applying estimation methods rather than teaching those foundations from scratch. The instructors also recommend taking the first course in the Self-Driving Cars Specialization first.
Not really, unless you're already comfortable with Python and the math used in engineering or robotics. The course explains the self-driving context well, but it moves at an advanced pace through estimation methods, sensor models, and localization. If you're completely new to the topic, you'll probably want a more introductory course first.
More questions
Financial aid available,
