When you enroll in this course, you'll also be enrolled in this Specialization.
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
Show info about module content
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
How to Use Supplementary Readings in This Course•15 minutes
1 discussion prompt•Total 30 minutes
Get to Know Your Classmates•30 minutes
Module 1: Least Squares
Module 2•7 hours to complete
Module details
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
Show info about module content
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
Module 1: Graded Quiz•50 minutes
Lesson 1: Practice Quiz•30 minutes
Lesson 2: Practice Quiz•30 minutes
2 ungraded labs•Total 180 minutes
Lesson 1 Practice Notebook: Least Squares•90 minutes
Lesson 2 Practice Notebook: Recursive Least Squares•90 minutes
Module 2: State Estimation - Linear and Nonlinear Kalman Filters
Module 3•7 hours to complete
Module details
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.
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
Module 3: GNSS/INS Sensing for Pose Estimation
Module 4•2 hours to complete
Module details
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
Show info about module content
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
Module 4: LIDAR Sensing
Module 5•2 hours to complete
Module details
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
Show info about module content
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
Module 5: Putting It together - An Autonomous Vehicle State Estimator
Module 6•6 hours to complete
Module details
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.
Established in 1827, the University of Toronto is one of the world’s leading universities, renowned for its excellence in teaching, research, innovation and entrepreneurship, as well as its impact on economic prosperity and social well-being around the globe.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.7
839 reviews
5 stars
78.30%
4 stars
15.97%
3 stars
3.69%
2 stars
0.59%
1 star
1.43%
Showing 3 of 839
D
DC
5·
Reviewed on May 17, 2019
Finishing this course was quite challenging, but I did it. Thanks a lot to the professors for the clear explanations.
A
AQ
5·
Reviewed on Feb 8, 2020
One of the most exciting courses ever had in terms of learning and understanding. Kalman filter is a fascinating concept with infinite applications in real life on daily basis.
T
TM
5·
Reviewed on Jun 11, 2024
This is an eye-opening course on how to utilize statistical analysis for engineering applications, and in particular, autonomous systems, as such it is very useful and captivating course!!!
What will I actually learn in this self-driving car localization course?
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.
Do I need to know Python before taking this course?
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.
Is this course beginner-friendly for self-driving cars?
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.
How long does it take to complete this course?
Plan on about 27 hours in total. At around 10 hours a week, that's roughly 3 weeks of steady work across lessons, readings, quizzes, and coding assignments. The mix of guided notebooks and a final project helps the workload feel varied rather than purely lecture-based.
Are there hands-on exercises, projects, or labs in this course?
Yes, the course includes guided notebooks, practice exercises, and programming assignments. You'll work through tasks like least squares estimation and vehicle trajectory estimation, then finish with a larger assignment that implements an error-state extended Kalman filter using CARLA simulator data. The practice is guided more than open-ended, which works well if you want to apply each idea as you learn it.
What skills, topics, or methods are covered in this course?
The course centers on state estimation for self-driving cars, especially how to model sensors and combine noisy measurements into a usable vehicle pose estimate. You'll study methods such as least squares and Kalman filters, then use them with GPS, IMU, and LIDAR data for localization and sensor fusion. Overall, it helps you understand how autonomous vehicles keep track of where they are and how they're moving.
What can I actually do after finishing this course?
You should be able to model common localization sensors, set up filtering-based state estimation, and explain how different measurements affect accuracy. In practical terms, that means you can work with GPS, IMU, and LIDAR inputs to estimate a vehicle's pose over time and compare that estimate with ground truth. You'll also be better prepared to reason about sensor fusion, calibration, and what happens when a sensor drops out.
Is this course more focused on theory or hands-on learning?
It's more concept-first than project-heavy. The lessons spend a lot of time on estimation logic and sensor models, while the notebooks and assignments give you guided ways to apply what you've learned.
Why would I choose this course over other self-driving car localization courses?
This course is a strong choice if you want localization taught as an engineering problem, not just as a high-level overview of autonomous driving. It connects the math behind estimation to real vehicle sensors, then carries that through to a full state estimator built from GPS, IMU, and LIDAR data. If you want a rigorous, advanced course with guided implementation work, it's a better fit than lighter survey-style alternatives.