We may earn an affiliate commission when you visit our partners.
Course image
Jonathan Kelly and Steven Waslander

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.

Read more

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).

Enroll now

What's inside

Syllabus

Module 0: Welcome to Course 2: State Estimation and Localization for Self-Driving Cars
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.
Read more
Module 1: Least Squares
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.
Module 2: State Estimation - Linear and Nonlinear Kalman Filters
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.
Module 3: GNSS/INS Sensing for Pose Estimation
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.
Module 4: LIDAR Sensing
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).
Module 5: Putting It together - An Autonomous Vehicle State Estimator
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.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides a deep dive into state estimation and localization techniques critical for the development of self-driving cars
Taught by instructors Jonathan Kelly and Steven Waslander, renowned experts in robotics and autonomous vehicle research
Designed for learners with a background in engineering or robotics, catering to a specialized audience
Requires strong fundamentals in linear algebra, statistics, calculus, and physics
Includes a practical project involving the implementation of an Error-State Extended Kalman Filter (ES-EKF) in the CARLA simulator
Covers essential sensor models for GPS, IMUs, and LIDAR, ensuring a comprehensive understanding of sensor data

Save this course

Save State Estimation and Localization for Self-Driving Cars to your list so you can find it easily later:
Save

Reviews summary

Kalman filters for self-driving cars

Learners say that this intermediate-level course teaches state estimation for self-driving cars using Kalman filters. They say that the assignments are engaging but difficult, and they recommend that students read supplementary materials to get the most out of the course.
Clear and engaging
"A well-taught course by Prof. Jonathan Kelly.I accumulated huge amount of knowledge after undergoing his teachings.The supplementary readings proved to be of great help to ace the final project."
"Firstly, I would like to start thanking Prof. Jonathan Kelley for making good illustration."
Helpful and in-depth
"The supplementary material provided really helped me to strengthen my concepts."
"This course provides a lot of insights in various sensors used for pose estimation and also delves into multi sensor fusion which gives the knowledge and importance about the sensor calibration. Overall a very well taught course and the most important one for who want to pursue a career in self driving cars."
Challenging but rewarding
"Very challenging, nevertheless excelent for learning automation concepts, python programming, sensor fusion, probability & statistics"
"The programming assignments given tested us on how well we understood the fundamentals of localization"
"The last assignment for this module is very challenging."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in State Estimation and Localization for Self-Driving Cars with these activities:
Review previous coursework
Review previously learned material in Linear Algebra, Statistics, Calculus and Physics to prepare for the course.
Browse courses on State Estimation
Show steps
  • Review lecture notes from previous courses
  • Go through practice problems and assignments
  • Take practice quizzes and tests
Form a study group with classmates
Enhance learning by collaborating with peers through a study group, where you can discuss course material, share insights, and work through problems together.
Browse courses on Self-Driving Cars
Show steps
  • Find a group of classmates who are interested in forming a study group
  • Set up regular meeting times
  • Prepare for each meeting by reading the assigned material and completing any homework
  • Discuss the material, ask questions, and work through problems together
Gather resources on sensor fusion
Compile a collection of resources (e.g., articles, videos, datasets) on sensor fusion, which will expand knowledge and understanding of how different sensors are combined for state estimation.
Browse courses on Sensor Fusion
Show steps
  • Search for relevant resources online
  • Organize the resources into a logical structure
  • Share the compilation with other students or online communities
Five other activities
Expand to see all activities and additional details
Show all eight activities
Attend a workshop on self-driving car technology
Deepen understanding and gain insights into the latest advancements in self-driving car technology by attending a workshop led by experts in the field.
Browse courses on Self-Driving Cars
Show steps
  • Find relevant workshops and conferences
  • Register and attend the workshop
  • Take notes and actively participate in discussions
Review 'Autonomous Vehicle Technology' by James M. Anderson
Gain a comprehensive overview of the field by reading 'Autonomous Vehicle Technology', which provides a thorough examination of the key concepts, technologies, and challenges in self-driving car development.
Show steps
  • Read the book thoroughly
  • Take notes and highlight important passages
  • Discuss the book's concepts with other students or experts
Follow tutorials on Kalman filters
Reinforce understanding of Kalman filters by following online tutorials, which will provide step-by-step guidance and examples.
Browse courses on Kalman Filter
Show steps
  • Find online tutorials on the Kalman filter
  • Go through the tutorials at your own pace
  • Complete the exercises and practice problems
Practice least squares estimation
Practice applying the method of least squares to estimate parameters in various scenarios, which will strengthen foundational skills in parameter estimation.
Browse courses on Least Squares
Show steps
  • Find practice problems and datasets online
  • Solve the problems using the least squares method
  • Compare your results to the expected values
Build a simple state estimator for a moving object
Apply course concepts by building a simple state estimator for a moving object, which will provide practical experience in implementing and evaluating state estimation algorithms.
Browse courses on State Estimation
Show steps
  • Choose an appropriate state estimation algorithm
  • Define the state space model for the moving object
  • Implement the algorithm and test it using simulated data
  • Evaluate the performance of the estimator

Career center

Learners who complete State Estimation and Localization for Self-Driving Cars will develop knowledge and skills that may be useful to these careers:
Sensor Engineer
A Sensor Engineer is responsible for designing, developing, and testing sensors used in a variety of applications, including self-driving cars. This course would be particularly useful for Sensor Engineers who want to learn more about the specific challenges of state estimation and localization for autonomous vehicles. The course covers topics such as Kalman filtering, LIDAR sensing, and GPS/INS sensing, which are all essential for developing accurate and reliable sensors for self-driving cars.
Controls Engineer
A Controls Engineer is responsible for designing, developing, and testing control systems for a variety of applications, including self-driving cars. This course would be particularly useful for Controls Engineers who want to learn more about the specific challenges of state estimation and localization for autonomous vehicles. The course covers topics such as Kalman filtering, LIDAR sensing, and GPS/INS sensing, which are all essential for developing robust and reliable control systems for self-driving cars.
Software Engineer
Software Engineers design, develop, and test software for a variety of applications, including self-driving cars. This course would be helpful for Software Engineers who want to learn more about the specific challenges of state estimation and localization for autonomous vehicles. The course covers topics such as Kalman filtering, LIDAR sensing, and GPS/INS sensing, which are all essential for developing robust and reliable software for self-driving cars.
Robotics Engineer
Robotics Engineers design, build, and maintain robots, which are becoming increasingly important in a variety of industries, including the automotive industry. This course would be helpful for Robotics Engineers who want to learn more about the specific challenges of state estimation and localization for self-driving cars. The course covers topics such as Kalman filtering, LIDAR sensing, and GPS/INS sensing, which are all essential for developing robots that can navigate safely and autonomously.
Systems Engineer
A Systems Engineer is responsible for designing, developing, and testing systems that integrate hardware and software, including self-driving cars. This course would be helpful for Systems Engineers who want to learn more about the specific challenges of state estimation and localization for autonomous vehicles. The course covers topics such as Kalman filtering, LIDAR sensing, and GPS/INS sensing, which are all essential for developing safe and reliable systems for self-driving cars.
Artificial Intelligence Engineer
Artificial Intelligence Engineers design, develop, and test AI systems, which are becoming increasingly important in a variety of industries, including the automotive industry. This course would be helpful for Artificial Intelligence Engineers who want to learn more about the specific challenges of state estimation and localization for self-driving cars. The course covers topics such as Kalman filtering, LIDAR sensing, and GPS/INS sensing, which are all essential for developing safe and reliable AI systems for self-driving cars.
Data Scientist
Data Scientists use data to solve problems and make predictions, which is becoming increasingly important in a variety of industries, including the automotive industry. This course would be helpful for Data Scientists who want to learn more about the specific challenges of state estimation and localization for self-driving cars. The course covers topics such as Kalman filtering, LIDAR sensing, and GPS/INS sensing, which are all essential for developing data-driven solutions for self-driving cars.
Automotive Engineer
Automotive Engineers design, develop, and test automobiles, including self-driving cars. This course would be helpful for Automotive Engineers who want to learn more about the specific challenges of state estimation and localization for autonomous vehicles. The course covers topics such as Kalman filtering, LIDAR sensing, and GPS/INS sensing, which are all essential for developing safe and reliable self-driving cars.
Mechanical Engineer
Mechanical Engineers design, develop, and test mechanical systems, including those used in self-driving cars. This course would be helpful for Mechanical Engineers who want to learn more about the specific challenges of state estimation and localization for autonomous vehicles. The course covers topics such as Kalman filtering, LIDAR sensing, and GPS/INS sensing, which are all essential for developing safe and reliable mechanical systems for self-driving cars.
Electrical Engineer
Electrical Engineers design, develop, and test electrical systems, including those used in self-driving cars. This course would be helpful for Electrical Engineers who want to learn more about the specific challenges of state estimation and localization for autonomous vehicles. The course covers topics such as Kalman filtering, LIDAR sensing, and GPS/INS sensing, which are all essential for developing robust and reliable electrical systems for self-driving cars.
Project Manager
Project Managers plan, execute, and close projects, which is becoming increasingly important in a variety of industries, including the automotive industry. This course would be helpful for Project Managers who want to learn more about the specific challenges of state estimation and localization for self-driving cars. The course covers topics such as Kalman filtering, LIDAR sensing, and GPS/INS sensing, which are all essential for developing and managing successful self-driving car projects.
Business Analyst
Business Analysts gather and analyze data to help businesses make better decisions, which is becoming increasingly important in a variety of industries, including the automotive industry. This course would be helpful for Business Analysts who want to learn more about the specific challenges of state estimation and localization for self-driving cars. The course covers topics such as Kalman filtering, LIDAR sensing, and GPS/INS sensing, which are all essential for developing data-driven solutions for self-driving cars.
Sales Engineer
Sales Engineers sell products and services to businesses, including self-driving cars.
Technical Writer
Technical Writers create documentation for a variety of products and services, including self-driving cars.
Product Manager
Product Managers plan, develop, and launch products, which is becoming increasingly important in a variety of industries, including the automotive industry.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in State Estimation and Localization for Self-Driving Cars.
Thoroughly investigates the theory of optimal state estimation, providing supplementary knowledge for the course.
Provides a good overview of autonomous mobile robots, covering topics related to self-driving cars.
Good resource to enhance the understanding of automotive technology, which is important for self-driving cars.
Useful reference for robotics, containing relevant information for autonomous vehicles.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to State Estimation and Localization for Self-Driving Cars.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser