Advanced Kalman Filtering and Sensor Fusion
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.
Theory and C++ Simulation Implementation for Autonomous Vehicles and Self Driving Cars!
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 implement the above 3 Kalman Filter Variants in C++ for an autonomous self-driving car problem
How to fuse in measurements of multiple sensors all running at different update rates
How to model sensor errors inside the Kalman Filter and use fault detection to remove bad sensor measurements
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
Who this course is for:
Welcome to the Course!
FREE PREVIEWCourse Outline
Setting up the C++ Development Environment
Setting up the C++ Simulation
C++ Simulation README
What is Data Fusion
FREE PREVIEWHow Does Sensor Fusion Work
FREE PREVIEWWhat is the Kalman Filter
Types of Kalman Filters
FREE PREVIEWLearning Roadmap
Simulation Overview
FREE PREVIEWSection Outline
Basic Probability
Basic Probability
Probability Density Functions
FREE PREVIEWProbability Density Functions Quiz
Multivariate Probability
Multivariate Probability Quiz
Gaussian Probability Distribution
FREE PREVIEWGaussian Probability Distribution Quiz
Linear Transformation of Uncertainties
Linear Transformation of Uncertainties Quiz
Differential Equations
State Space Representation
Continuous and Discrete Time
Mathematical Models
Discrete Model Conversions
Probability and Estimation
FREE PREVIEWHow does the Linear Kalman Filter Work?
LKF Simulation Framework
FREE PREVIEW2D Tracking Linear Process Model
LKF Prediction Step
LKF Prediction Step Exercise
LKF Prediction Step Explanation
FREE PREVIEWLKF Update Step
LKF Update Step Exercise
LKF Update Step Explanation
LKF Initial Conditions
LKF Summary
What is the Extended Kalman Filter?
EKF Simulation Framework
2D Vehicle Non-Linear Process Model
EKF Prediction Step (Summary)
What are Jacobians?
EKF Prediction Step (Derivation)
EKF Prediction Step (Example)
2D Vehicle EKF Prediction Step Exercise
2D Vehicle EKF 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)
2D Vehicle EKF Update Step Exercise
2D Vehicle EKF Update Step Explanation
Numerical Jacobian Calculation (Algorithm)
Numerical Jacobian Calculation (Example)
EKF Understanding and Insights
EKF Summary
What is the Unscented Kalman Filter?
Unscented Transformation
UKF Simulation Framework
UKF Prediction Step (Summary)
Matrix Square Root
2D Vehicle UKF Prediction Step Exercise
2D Vehicle UKF Prediction Step Explanation
UKF Measurement Innovation (Summary)
UKF Update Step (Summary)
UKF Update Step (Derivation)
2D Vehicle UKF Update Step Exercise
2D Vehicle UKF Update Step Explanation
UKF Summary
Sensor Models and Errors
Dealing with Faulty Data
Dealing with Sensor Biases
Dealing with Initial Conditions
Project Overview
Project Details and Framework
Project Hints
Conclusion
Steven Dumble