Intermediate Course

Kalman filters

Learn how Kalman filters work and how to apply them to mobile robots using ROS.

Course Overview


One of the most common problems in robot navigation is knowing where your robot is localized in the environment (known as robot localization). In this field, Kalman Filters are one of the most important tools that we can use.

With this course, you will understand the importance of Kalman Filters in robotics, and how they work. You will learn the theoretical meaning, and also the Python implementation. Finally, you will apply the studied filters to mobile robots using ROS.

What You will learn

  • What a Kalman Filter is and why they are required
  • Different types of Kalman Filters and when to apply each one
  • Bayesian Filters
  • One-dimensional Kalman Filters
  • Multivariate Kalman Filters
  • Unscented Kalman Filters
  • Extended Kalman Filters
  • Particle Filters

Simulation robots used in this course:







30 h

What projects will you be doing?

[ROS Q&A] 168 - What are the differences between global and local costmap

Bayes filter

Implement a Bayes filter in order to know a robot’s position.

ROS Mini Challenge #2 - RViz

Kalman filter

Implement a Kalman filter and test it in a simulated robot.


Compare the EKF and UKF filters’ performance using the robot_localization ROS package.

Course Project

Implement a pose estimation system combining different nonlinear filtering methods.

What you will learn

Course Syllabus

Unit 1: Introduction

A brief introduction to the course, including a practical demo.

Unit 2: Bayesian filter

You will learn about:

  • How to implement a discrete Bayes filter for 1D robot localization
  • The Measurement Update of the Bayes filter
  • The Movement Update of the Bayes filter
  • Recursive Bayesian filtering
Unit 3: Kalman filter

You will learn about:

  • Histograms and Guassian distributions
  • One-dimensional Kalman filter
  • Multi-dimensional Kalman filter
Unit 4: Extended Kalman Filter and Unscented Kalman Filter

Upon completion of this unit, you will:

  • Understand the underlying logic each filter uses for dealing with non-linear functions
  • Understand how the traditional Kalman Filter is modified in each case
  • Use the robot_localization package which contains EKF and UKF estimation nodes
Unit 5: Particle filter

Upon completion of this unit, you will:

  • Understand the properties of the Particle filter
  • Learn how the main filter steps work
  • Implement the Adaptive Monte Carlo Localization package (AMCL)
  • Use the AMCL package on a robot with rangefinder sensors to estimate its pose on a known map
Project: Combination of Bayesian Filtering methods for localization.
Your goal for this project is to implement a pose estimation system combining different nonlinear filtering methods into one robust localization system.

Roberto Zegers


PMP, B.Sc in Business Management. He loves all things robotics and is constantly exploring technology advancements evolving and shaping up the future of business.

Ready to get started?

Start learning ROS & Robotics online quickly and easily

More courses you might like

People interested in this course also viewed

Top universities choose The Construct for Campus to teach ROS & Robotics.

Pin It on Pinterest