Advanced Kalman Filtering and Sensor Fusion

Theory and C++ Simulation Implementation for Autonomous Vehicles and Self Driving Cars!

You need to learn know Sensor Fusion and Kalman Filtering! Learn how to use these concepts and implement them with a focus on autonomous vehicles in this course.

What you’ll learn

  • How to use the Linear Kalman Filter to solve linear optimal estimation problems.
  • How to use the Extended Kalman Filter to solve non-linear estimation problems.
  • How to use the Unscented Kalman Filter to solve non-linear estimation problems.
  • How to fuse in measurements of multiple sensors all running at different update rates.
  • How to tune the Kalman Filter for best performance.
  • How to correctly initialize the Kalman Filter for robust operation.
  • How to model sensor errors inside the Kalman Filter.
  • How to use fault detection to remove bad sensor measurements.
  • How to implement the above 3 Kalman Filter Variants in C++.
  • How to implement the LKF in C++ for a 2d Tracking Problem.
  • How to implement the EKF and UKF in C++ for an autonomous self-driving car problem.

Course Content

  • Welcome –> 6 lectures • 14min.
  • Introduction –> 9 lectures • 30min.
  • Background Theory –> 12 lectures • 1hr 22min.
  • Linear Kalman Filter –> 11 lectures • 1hr 13min.
  • Extended Kalman Filter –> 22 lectures • 2hr 44min.
  • Unscented Kalman Filter –> 13 lectures • 1hr 25min.
  • Filtering in the Real World –> 4 lectures • 31min.
  • Capstone Project –> 3 lectures • 11min.
  • Conclusion –> 2 lectures • 9min.

Advanced Kalman Filtering and Sensor Fusion

Requirements

  • A curious mind!.
  • Basic Calculus: Functions, Derivatives, Integrals.
  • Linear Algebra: Matrix and Vector Operations.
  • Basic Probability.
  • Basic C++ Programming Knowledge.

You need to learn know Sensor Fusion and Kalman Filtering! Learn how to use these concepts and implement them with a focus on autonomous vehicles in this course.

The Kalman filter is one of the greatest discoveries in the history of estimation and data fusion theory, and perhaps one of the greatest engineering discoveries in the twentieth century. It has enabled mankind to do and build many things which could not be possible otherwise. It has immediate application in control of complex dynamic systems such as cars, aircraft, ships and spacecraft.

These concepts are used extensively in engineering and manufacturing but they are also used in many other areas such as chemistry, biology, finance, economics, and so on.

Why focus on Sensor Fusion and Kalman Filtering

  • Data Fusion is an amazing tool that is used pretty much in every modern piece of technology that involves any kind of sensing, measurement or automation.
  • The Kalman Filter is one of the most widely used methods for data fusion. By understanding this process you will more easily understand more complicated methods.
  • Sensor fusion is one of the key uses of Kalman Filtering and is extensively used in unmanned vehicles and self-driving cars.
  • Evaluating and tuning the Kalman Filter for best performance can be a bit of a ‘black art’, we will give you tips and a structure so you know how to do this yourself.
  • So you don’t waste time trying to solve or debug problems that would be easily avoided with this knowledge! Become a Subject Matter Expert!

What you will learn:

You will learn the theory from ground up, so you can completely understand how it works and the implications things have on the end result. You will also learn practical implementation of the techniques, so you know how to put the theory into practice. In this course you will work with a C++ simulation that leads you through the implementation of various Kalman filtering methods for autonomous vehicles.

At the end of the course, the Capstone project is to implement the Unscented Kalman Filter and run it as it would be used in a real self-driving car or autonomous vehicle!

We will cover:

  • Basic Background Probability and Systems Theory
  • Linear Kalman Filtering
  • Extended Kalman Filtering
  • Unscented Kalman Filtering
  • Advanced Topics for Sensor Fusion, such as fault detection and sensor error modelling.
  • C++ Implementation in simulation for a self-driving car sensor fusion problem.

By the end of this course you will know:

  • How to use the Linear Kalman Filter to solve linear optimal estimation problems
  • How to use the Extended Kalman Filter to solve non-linear estimation problems
  • How to use the Unscented Kalman Filter to solve non-linear estimation problems
  • How to fuse in measurements of multiple sensors all running at different update rates
  • How to tune the Kalman Filter for best performance
  • How to correctly initialize the Kalman Filter for robust operation
  • How to model sensor errors inside the Kalman Filter
  • How to use fault detection to remove Bad Sensor measurements
  • How to implement the above 3 Kalman Filter Variants in C++
  • How to implement the LKF in C++ for a 2d Tracking Problem
  • How to implement the EKF and UKF in C++ for an autonomous self-driving car problem

What are the course requirements or prerequisites:

This course is part of the more advanced series and as such it does have a few prerequisites:

  • Basic Calculus: Functions, Derivatives, Integrals
  • Linear Algebra: Matrix and Vector Operations
  • Basic Probability
  • Basic C++ Programming Knowledge

Who is this course for:

  • University students or independent learners.
  • Aspiring robotic or self-driving car engineers or enthusiasts.
  • Working Engineers and Scientists.
  • Engineering professionals who want to brush up on the math theory and skills related to Kalman filtering and Sensor Fusion.
  • Software Developers who wish to understand the basic concepts behind data fusion to aid in implementation or support of developing data fusion code.
  • Anyone already proficient with the math “in theory” and want to learn how to implement the theory in code.

What you will get in this course:

  • >8 hours of video lectures that include explanations and walk thoughts, pictures, diagrams and animations.
  • PDF documents of cheat sheets with important notes and exercises
  • C++ simulation code for a self driving car example.
  • All the source code and friendly support in the Q&A area.

Why am I qualified to teach this course:

I have been employed for the last decade as a Guidance, Navigation and Control engineer for a number of aerospace and automation companies, focusing on sensor fusion for aircraft, missile and vehicle state estimation. I have taught this content to bachelor’s, master’s and PhD students while teaching at university and to engineering professionals.

So what are you waiting for??

Watch the course instruction video and free samples so that you can get an idea of what the course is like. If you think this course will help you then sign up, money back guarantee if this course is not right for you.

I hope to see you soon in the course!

Steve