# Kalman Filters Course - Python

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

## Course Summary

One of the most common problems in robot navigation is to know 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 for robotics, and how they work. You will learn the theoretical meaning, but also the Python implementation. Finally, you will also apply the studied filters to mobile robots using ROS.

## What you will learn

In this course you will learn: * What is a Kalman Filter and why are required * Different types of Kalman Filters and when to apply each one. * Bayesian Filters * One-dimensional Kalman Filters * Multivariate Kalman Filters * Unscendent Kalman Filters * Extended Kalman Filters * Particle Filters

## Course Overview

### Introduction

A brief introduction to the course contents. It containing a practical demonstration.

### Bayesian Filter

In this Chapter, you will learn about the Bayes Filter. Specifically, you will learn about the following concepts: the building blocks of the Bayes Filter, how sensor noise affects predictions, robot motion under uncertainty, the recursive nature of Bayesian filtering and how to implement a 1-dimensional discrete Bayes Filter.

### Kalman Filters

In this Chapter, you will learn about traditional Kalman filters. Specifically, you will learn about the following concepts: Histograms and Gaussian distributions, One-dimensional Kalman filter and Multi-dimensional Kalman filter.

### Extended Kalman Filter and Unscented Kalman Filter

In this chapter, you will learn about the Extended Kalman Filter (EKF) and the Unscented Kalman Filter (UKF).Specifically, upon completion of this chapter, 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, and use the robot_localization package which contains EKF and UKF estimation nodes.

### Particle Filter

In this Unit, you will learn about the Particle filter. Specifically, 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), and use the AMCL package on a robot with rangefinder sensors to estimate its pose in a known map.

### Project

In this Unit, you will practice the acquired knowledge directly on a hands-on project. In order to successfully complete the project, you will need to complete all the exercises that are described in it. For this, you will need to use all your skills learned and, maybe, get some new ones. Good luck!

## Teachers

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

## Robots used

### Turtlebot robot

## Learning Path

Basic Robotics Theory