We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Advanced Kalman Filtering and Sensor Fusion

Steven Dumble

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.

Read more

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

Enroll now

What's inside

Learning objectives

  • 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
  • Show more
  • Show less

Syllabus

Welcome
Welcome to the Course
Course Outline
Setting Up C++ Development Environment
Read more
Setting Up C++ Simulation
C++ Simulation Readme
Course Resources
Introduction
What is Sensor Fusion
How Does Sensor Fusion Work
How Does Sensor Fusion Work Notes
What is the Kalman Filter
What is the Kalman Filter Notes
Types of Kalman Filters
Types of Kalman Filters Notes
Learning Roadmap
Simulation Overview
Background Theory
Section Outline
Basic Probability
Basic Probability Quiz
Probability Density Functions
Probability Density Functions Quiz
Multivariate Probability
Multivariate Probability Quiz
Gaussian Probability Density Functions
Gaussian Probability Density Functions Quiz
Linear Transformation of Uncertainties
Linear Transformation of Uncertainties Quiz
Differential Equations
State Space Representation
Continuous and Discrete Time
Mathematical Models
Discrete Time Conversions
Probability and Estimation
Linear Kalman Filter
How Does the Kalman Filter Work
Simulation Framework
Process Model
Kalman Filter Prediction Step
Kalman Filter Prediction Step Implementation
Kalman Filter Prediction Step Explanation
Kalman Filter Update Step
Kalman Filter Update Step Implementation
Kalman Filter Update Step Explanation
Kalman Filter Initial Conditions
Kalman Filter Summary
Extended Kalman Filter
What is the Extended Kalman Filter
EKF Simulation Framework
2D Vehicle Process Model
EKF Prediction Step (Summary)
What are Jacobians
EKF Prediction Step (Derivation)
EKF Prediction Step (Example)
EKF 2D Vehicle Filter Prediction Step
EKF 2D Vehicle Filter Prediction Step Explanation
Lidar Measurement Model
EKF Measurement Innovation (Summary)
EKF Measurement Innovation (Derivation)
EKF Measurement Innovation (Example)
EKF Update Step (Summary)
EKF Update Step (Derivation)
EKF Update Step (Example)
EKF 2D Vehicle Filter Update Step
EKF 2D Vehicle Filter Update Step Explanation
Numerical Jacobian Calculation
Numerical Jacobian Calculation Example
EKF Understanding and Insights
Extended Kalman Filter Summary
Unscented Kalman Filter
What is the Unscented Kalman Filter
Unscented Transformation
UKF Simulation Framework
UKF Prediction Step (Summary)
Matrix Square Root
UKF 2D Vehicle Filter Prediction Step
UKF 2D Vehicle Filter Prediction Step Explanation
UKF Measurement Innovation (Summary)
UKF Update Step (Summary)
UKF Update Step (Derivation)
UKF 2D Vehicle Filter Update Step
UKF 2D Vehicle Filter Update Step Explanation
Unscented Kalman Filter Summary
Filtering in the Real World
Sensor Models and Errors
Dealing with Faulty Data
Dealing with Sensor Biases
Dealing with Initial Conditions
Capstone Project
Project Overview
Project Details and Framework
Project Hints
Conclusion
Summary
Bonus

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches skills used extensively in engineering and manufacturing, which are in high demand in industry
Taught by an engineer who has worked in the field for over a decade, so you can be sure you're learning from an expert
Uses C++ for implementation, which is a valuable skill for engineers and developers
Covers advanced topics like sensor error modeling and fault detection, which are essential for building robust self-driving systems
Provides a comprehensive study of sensor fusion and Kalman filtering, which are key technologies in autonomous vehicles
Aimed at university students or independent learners, so it's suitable for a wide range of audiences

Save this course

Save Advanced Kalman Filtering and Sensor Fusion to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Advanced Kalman Filtering and Sensor Fusion. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Advanced Kalman Filtering and Sensor Fusion will develop knowledge and skills that may be useful to these careers:
Navigation Engineer
Navigation Engineers design, develop, and test systems that help vehicles navigate their environment. They use their knowledge of GPS, inertial navigation, and sensor fusion to ensure that vehicles are able to determine their location and orientation accurately. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing autonomous vehicles.
Vehicle Dynamics Engineer
Vehicle Dynamics Engineers design, develop, and test systems that control the dynamics of vehicles. They use their knowledge of mechanics, dynamics, and control theory to ensure that vehicles are able to handle and perform safely. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing autonomous vehicles.
Guidance, Navigation, and Control Engineer
Guidance, Navigation, and Control Engineers design, develop, and test systems that control the movement of vehicles. They use their knowledge of kinematics, dynamics, and control theory to ensure that vehicles are able to move safely and efficiently. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing autonomous vehicles.
Robotics Engineer
Robotics Engineers design, develop, and test robots. They use their knowledge of mechanics, electronics, and computer science to develop robots that can perform a variety of tasks. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing autonomous robots.
Machine Learning Engineer
Machine learning engineers design, develop, and test machine learning models. They use their knowledge of machine learning algorithms and data analysis to develop models that can learn from data and make predictions. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing machine learning models for autonomous vehicles.
Systems Engineer
Systems Engineers design, develop, and test complex systems. They use their knowledge of systems engineering principles to ensure that systems are able to meet their requirements. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing autonomous vehicles.
Transportation Engineer
Transportation Engineers design, develop, and test transportation systems. They use their knowledge of traffic engineering, transportation planning, and transportation safety to ensure that transportation systems are able to meet the needs of users. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing autonomous vehicles.
Automotive Engineer
Automotive engineers design, develop, and test vehicles and their components. They use their knowledge of engineering principles to improve the performance, safety, and efficiency of vehicles. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing autonomous driving systems.
Aerospace Engineer
Aerospace Engineers design, test, and oversee the production of aircraft, spacecraft, and missiles. They apply advanced mathematical and scientific principles to ensure the safety and efficiency of air and space vehicles. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing guidance, navigation, and control systems for autonomous vehicles.
Test Engineer
Test Engineers design, develop, and test products to ensure that they meet their requirements. They use their knowledge of testing principles and techniques to develop tests that can identify defects and ensure that products are safe and reliable. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing autonomous vehicles.
Mechanical Engineer
Mechanical Engineers design, develop, and test mechanical systems and components. They use their knowledge of mechanics, materials, and thermodynamics to ensure the safety and efficiency of mechanical systems. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing autonomous vehicles.
Software Engineer
Software Engineers design, develop, and test software applications. They use their knowledge of computer science and software engineering principles to develop software that meets the needs of users. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing software for autonomous vehicles.
Control Systems Engineer
Control Systems Engineers design, develop, and test systems that control the behavior of machines and processes. They use their knowledge of feedback control theory to ensure that systems are stable, efficient, and responsive. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing control systems for autonomous vehicles.
Electrical Engineer
Electrical Engineers design, develop, and test electrical systems and components. They use their knowledge of electricity, electronics, and magnetism to ensure the safety and efficiency of electrical systems. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing autonomous vehicles.
Data Scientist
Data scientists use their knowledge of statistics, machine learning, and data analysis to extract insights from data. They work in a variety of industries, including finance, healthcare, and manufacturing. This course can help build a foundation in sensor fusion and Kalman filtering, which are essential for developing data fusion algorithms.

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 Advanced Kalman Filtering and Sensor Fusion.
This paper is the seminal work that introduced the Kalman filter. While it can be challenging to read, it's a valuable resource for those who want to understand the original formulation and development of the Kalman filter. Be aware that much of the notation has changed since this paper was published.
Provides a comprehensive introduction to Kalman filtering. It's a widely-used textbook on the subject and can be a valuable resource for those who want to learn the fundamentals and gain a deeper understanding of Kalman filtering theory.
This is another valuable reference text. It provides an in-depth look at Kalman filtering and also covers how to interact these concepts with neural networks, which is not covered in this course.
Provides a practical and accessible introduction to Kalman filtering with plenty of MATLAB examples. While this course also covers practical implementation, this book could be a useful supplement for those who are new to programming or who prefer more examples.
Provides a thorough introduction to Bayesian filtering and smoothing algorithms. While Kalman filtering special case of Bayesian filtering, this book focuses on the broader class of Bayesian techniques. It can be a good reference for those who are interested in exploring these techniques.
Is an academic text that covers the theoretical underpinnings of optimal state estimation. If you wish to dive deeply into the mathematical derivations and proofs, this book may be a valuable reference.
Provides a comprehensive overview of statistical signal processing techniques for sensor fusion and data fusion. It is an academic book that is primarily focused on the mathematical framework and theoretical foundations of sensor fusion rather than practical considerations.

Share

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

Similar courses

Here are nine courses similar to Advanced Kalman Filtering and Sensor Fusion.
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