We may earn an affiliate commission when you visit our partners.
Course image
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.

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.

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

Traffic lights

Read about what's good
what should give you pause
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

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Mastering kalman filters for autonomous systems

According to learners, this course is a highly valuable resource for understanding and implementing Kalman filters, particularly for autonomous vehicle applications. Students consistently praise the instructor's ability to explain complex concepts with remarkable clarity, effectively bridging the gap between theory and practical C++ implementation. The hands-on C++ simulations and the challenging capstone project are frequently highlighted as the strongest aspects, providing a real-world application focus. While the course offers deep theoretical foundations, some students note its fast pace and emphasize the necessity of having solid prior knowledge in calculus, linear algebra, and C++ to truly thrive. Overall, it's considered a masterclass for professionals and aspiring engineers in the field.
Strong focus on self-driving car simulation and capstone project.
"The C++ simulations for the self-driving car application are invaluable, making the theory immediately applicable."
"The capstone project, implementing UKF for a self-driving car, was challenging but incredibly rewarding."
"I especially appreciated the focus on real-world issues like sensor errors."
Instructor explains complex topics with remarkable clarity.
"Absolutely fantastic! The instructor explains complex concepts with remarkable clarity, breaking down advanced topics like UKF into manageable parts."
"The instructor's explanations are top-notch, simplifying complex concepts without oversimplifying them."
"Excellent course! Very clear explanations of complex topics. Instructor is very knowledgeable."
Seamlessly bridges advanced theory with practical C++ implementation.
"This is exactly what I needed to bridge the gap between theory and practical application."
"The balance between theory and practical coding is perfect. The C++ implementation aspect is a huge plus."
"I've taken other KF courses, but this one provides the necessary C++ context for robotics/automotive applications."
"The theoretical foundations are robust, and the practical application in C++ is exactly what engineers need."
Requires solid prior knowledge; course is fast-paced.
"For a beginner, the pace might be challenging without solid prerequisites."
"I found it extremely fast-paced. As someone with only basic C++ knowledge, I struggled with the coding parts."
"I struggled to keep up with the pace in certain sections, especially without an extensive background in linear algebra and differential equations."
"Definitely not for absolute beginners, as stated in the prerequisites, but excellent for its target audience."

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 Advanced Kalman Filtering and Sensor Fusion with these activities:
Read Robot Modeling and Control
This book provides a comprehensive overview of robot modeling and control. It will help you to understand the fundamentals of robotics, including sensor fusion and the Kalman Filter.
Show steps
  • Read Chapter 10
  • Do Chapter 10 exercises
Practice linear algebra and differential equations
This will help you to refresh your math skills, which are essential for understanding sensor fusion and the Kalman Filter.
Browse courses on Linear Algebra
Show steps
  • Review the notes or textbook on the topic
  • Do 10 practice problems
Solve Probability and Calculus exercises
Practicing these skills outside the context of the course will help solidify your understanding.
Browse courses on Probability
Show steps
  • Review the notes or textbook on the topic
  • Do 10 practice problems
Six other activities
Expand to see all activities and additional details
Show all nine activities
Follow a tutorial on sensor fusion
This will help you get a better understanding of the concepts and how they are applied.
Browse courses on Sensor Fusion
Show steps
  • Find a tutorial on sensor fusion
  • Follow the tutorial
Solve Kalman Filter Exercises
Practice solving Kalman Filter exercises to reinforce theoretical concepts.
Show steps
  • Find online resources or textbooks with Kalman Filter exercises.
  • Attempt to solve the exercises independently.
  • Compare your solutions with provided answers or discuss with peers.
Follow Tutorials on Unscented Kalman Filter (UKF)
Explore tutorials to gain a deeper understanding of the Unscented Kalman Filter and its applications.
Browse courses on Unscented Kalman Filter
Show steps
  • Identify relevant tutorials on Unscented Kalman Filters.
  • Follow the tutorials step-by-step, implementing the concepts in Python
  • Experiment with different parameters to observe the impact on filter performance.
Write a summary of the Kalman Filter
This will help you solidify your understanding of the Kalman Filter.
Browse courses on Kalman Filter
Show steps
  • Read the course materials on the Kalman Filter
  • Write a summary of the Kalman Filter
Implement a Kalman Filter in Python
Create a project to build a practical understanding of Kalman Filter implementation.
Show steps
Implement a Kalman Filter in C++
This will help you apply your understanding of the Kalman Filter to a real-world problem.
Browse courses on Kalman Filter
Show steps
  • Find a dataset that you can use to test your Kalman Filter
  • Implement a Kalman Filter in C++
  • Test your Kalman Filter using the dataset

Career center

Learners who complete Advanced Kalman Filtering and Sensor Fusion will develop knowledge and skills that may be useful to these careers:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser