Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 6.2: Kalman Filter Jürgen Sturm Technische Universität München.

Slides:



Advertisements
Similar presentations
State Estimation and Kalman Filtering CS B659 Spring 2013 Kris Hauser.
Advertisements

EKF, UKF TexPoint fonts used in EMF.
Robot Localization Using Bayesian Methods
Markov Localization & Bayes Filtering 1 with Kalman Filters Discrete Filters Particle Filters Slides adapted from Thrun et al., Probabilistic Robotics.
Observers and Kalman Filters
Uncertainty Representation. Gaussian Distribution variance Standard deviation.
Introduction to Mobile Robotics Bayes Filter Implementations Gaussian filters.
Probabilistic Robotics: Kalman Filters
Reliable Range based Localization and SLAM Joseph Djugash Masters Student Presenting work done by: Sanjiv Singh, George Kantor, Peter Corke and Derek Kurth.
Stanford CS223B Computer Vision, Winter 2007 Lecture 12 Tracking Motion Professors Sebastian Thrun and Jana Košecká CAs: Vaibhav Vaish and David Stavens.
Introduction to Kalman Filter and SLAM Ting-Wei Hsu 08/10/30.
Mobile Intelligent Systems 2004 Course Responsibility: Ola Bengtsson.
CS 547: Sensing and Planning in Robotics Gaurav S. Sukhatme Computer Science Robotic Embedded Systems Laboratory University of Southern California
Probabilistic Robotics
Stanford CS223B Computer Vision, Winter 2007 Lecture 12 Tracking Motion Professors Sebastian Thrun and Jana Košecká CAs: Vaibhav Vaish and David Stavens.
Stanford CS223B Computer Vision, Winter 2006 Lecture 11 Filters / Motion Tracking Professor Sebastian Thrun CAs: Dan Maynes-Aminzade, Mitul Saha, Greg.
Particle Filtering for Non- Linear/Non-Gaussian System Bohyung Han
Estimation and the Kalman Filter David Johnson. The Mean of a Discrete Distribution “I have more legs than average”
Probabilistic Robotics Bayes Filter Implementations Gaussian filters.
© 2003 by Davi GeigerComputer Vision November 2003 L1.1 Tracking We are given a contour   with coordinates   ={x 1, x 2, …, x N } at the initial frame.
Tracking with Linear Dynamic Models. Introduction Tracking is the problem of generating an inference about the motion of an object given a sequence of.
Kalman Filtering Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in EMF. Read.
ROBOT MAPPING AND EKF SLAM
Slam is a State Estimation Problem. Predicted belief corrected belief.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 3.1: 3D Geometry Jürgen Sturm Technische Universität München.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 2.1: Recap on Linear Algebra Daniel Cremers Technische Universität.
Markov Localization & Bayes Filtering
Computer vision: models, learning and inference Chapter 19 Temporal models.
Autonomous Navigation for Flying Robots Lecture 2.2: 2D Geometry
Computer vision: models, learning and inference Chapter 19 Temporal models.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 2.3: 2D Robot Example Jürgen Sturm Technische Universität München.
Probabilistic Robotics Robot Localization. 2 Localization Given Map of the environment. Sequence of sensor measurements. Wanted Estimate of the robot’s.
Kalman Filter (Thu) Joon Shik Kim Computational Models of Intelligence.
Computer Vision - A Modern Approach Set: Tracking Slides by D.A. Forsyth The three main issues in tracking.
Probabilistic Robotics Bayes Filter Implementations Gaussian filters.
Probabilistic Robotics Bayes Filter Implementations.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 4.2 : Feedback Control Jürgen Sturm Technische Universität München.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 6.1: Bayes Filter Jürgen Sturm Technische Universität München.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 5.2: Recap on Probability Theory Jürgen Sturm Technische Universität.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 5.1: State Estimation Jürgen Sturm Technische Universität München.
Mobile Robot Localization (ch. 7)
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 5.3: Reasoning with Bayes Law Jürgen Sturm Technische Universität.
1 Assignment, Project and Presentation Mobile Robot Localization by using Particle Filter by Chong Wang, Chong Fu, and Guanghui Luo. Tracking, Mapping.
State Estimation and Kalman Filtering
Unscented Kalman Filter 1. 2 Linearization via Unscented Transform EKF UKF.
Autonomous Navigation for Flying Robots Lecture 6.3: EKF Example
An Introduction To The Kalman Filter By, Santhosh Kumar.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 1.1: Welcome Jürgen Sturm Technische Universität München.
University of Colorado Boulder ASEN 5070: Statistical Orbit Determination I Fall 2015 Professor Brandon A. Jones Lecture 14: Probability and Statistics.
State Estimation and Kalman Filtering Zeeshan Ali Sayyed.
Extended Kalman Filter
Colorado Center for Astrodynamics Research The University of Colorado 1 STATISTICAL ORBIT DETERMINATION Kalman Filter with Process Noise Gauss- Markov.
The Unscented Kalman Filter for Nonlinear Estimation Young Ki Baik.
Robust Localization Kalman Filter & LADAR Scans
VANET – Stochastic Path Prediction Motivations Route Discovery Safety Warning Accident Notifications Strong Deceleration of Tra ffi c Flow Road Hazards.
Probabilistic Robotics Bayes Filter Implementations Gaussian filters.
Probabilistic Robotics Bayes Filter Implementations Gaussian filters.
Using Sensor Data Effectively
Tracking We are given a contour G1 with coordinates G1={x1 , x2 , … , xN} at the initial frame t=1, were the image is It=1 . We are interested in tracking.
PSG College of Technology
Unscented Kalman Filter
Unscented Kalman Filter
Probabilistic Robotics
Introduction to particle filter
Lecture 10: Observers and Kalman Filters
Introduction to particle filter
Unscented Kalman Filter
Bayes and Kalman Filter
Extended Kalman Filter
Extended Kalman Filter
Presentation transcript:

Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 6.2: Kalman Filter Jürgen Sturm Technische Universität München

Motivation  Bayes filter is a useful tool for state estimation  Histogram filter with grid representation is not very efficient  How can we represent the state more efficiently? Jürgen Sturm Autonomous Navigation for Flying Robots 2

Kalman Filter  Bayes filter with continuous states  State represented with a normal distribution  Developed in the late 1950’s  Kalman filter is very efficient (only requires a few matrix operations per time step)  Applications range from economics, weather forecasting, satellite navigation to robotics and many more Jürgen Sturm Autonomous Navigation for Flying Robots 3

Normal Distribution  Univariate normal distribution Jürgen Sturm Autonomous Navigation for Flying Robots 4 68% of mass within 1sd 99% of mass within 3sd meanvariance (squared std dev)

Normal Distribution  Multivariate normal distribution  Mean  Covariance  Probability density function Jürgen Sturm Autonomous Navigation for Flying Robots 5

2D Example Jürgen Sturm Autonomous Navigation for Flying Robots 6 Isolines (contour plot) Probability density function (pdf) 68% 95%

Properties of Normal Distributions  Linear transformation  remains Gaussian  Intersection of two Gaussians  remains Gaussian Jürgen Sturm Autonomous Navigation for Flying Robots 7

Linear Process Model  Consider a time-discrete stochastic process (Markov chain) Jürgen Sturm Autonomous Navigation for Flying Robots 8

Linear Process Model  Consider a time-discrete stochastic process  Represent the estimated state (belief) by a Gaussian Jürgen Sturm Autonomous Navigation for Flying Robots 9

Linear Process Model  Consider a time-discrete stochastic process  Represent the estimated state (belief) by a Gaussian  Assume that the system evolves linearly over time, then Jürgen Sturm Autonomous Navigation for Flying Robots 10

Linear Process Model  Consider a time-discrete stochastic process  Represent the estimated state (belief) by a Gaussian  Assume that the system evolves linearly over time and depends linearly on the controls Jürgen Sturm Autonomous Navigation for Flying Robots 11

Linear Process Model  Consider a time-discrete stochastic process  Represent the estimated state (belief) by a Gaussian  Assume that the system evolves linearly over time, depends linearly on the controls, and has zero-mean, normally distributed process noise with Jürgen Sturm Autonomous Navigation for Flying Robots 12

Linear Observations  Further, assume we make observations that depend linearly on the state Jürgen Sturm Autonomous Navigation for Flying Robots 13

Linear Observations  Further, assume we make observations that depend linearly on the state and that are perturbed by zero-mean, normally distributed observation noise with Jürgen Sturm Autonomous Navigation for Flying Robots 14

Kalman Filter Estimates the state of a discrete-time controlled process that is governed by the linear stochastic difference equation and (linear) measurements of the state with and Jürgen Sturm Autonomous Navigation for Flying Robots 15

Variables and Dimensions  State  Controls  Observations  Process equation  Measurement equation Jürgen Sturm Autonomous Navigation for Flying Robots 16

Kalman Filter  Initial belief is Gaussian  Next state is also Gaussian (linear transformation)  Observations are also Gaussian Jürgen Sturm Autonomous Navigation for Flying Robots 17

Remember: Bayes Filter Algorithm For each time step, do 1.Apply motion model 2.Apply sensor model Jürgen Sturm Autonomous Navigation for Flying Robots 18

From Bayes Filter to Kalman Filter For each time step, do 1.Apply motion model Jürgen Sturm Autonomous Navigation for Flying Robots 19

From Bayes Filter to Kalman Filter For each time step, do 1.Apply motion model Jürgen Sturm Autonomous Navigation for Flying Robots 20

From Bayes Filter to Kalman Filter For each time step, do 2.Apply sensor model with (Kalman gain) Jürgen Sturm Autonomous Navigation for Flying Robots 21

Kalman Filter Algorithm For each time step, do 1.Apply motion model (prediction step) 2.Apply sensor model (correction step) with Jürgen Sturm Autonomous Navigation for Flying Robots 22 See Probabilistic Robotics for full derivation (Chapter 3)

Complexity  Highly efficient: Polynomial in the measurement dimensionality k and state dimensionality n:  Optimal for linear Gaussian systems!  Most robotics systems are nonlinear! Jürgen Sturm Autonomous Navigation for Flying Robots 23

Nonlinear Dynamical Systems  Most realistic robotic problems involve nonlinear functions  Motion function  Observation function  Can we linearize these functions? Jürgen Sturm Autonomous Navigation for Flying Robots 24

Taylor Expansion  Idea: Linearize both functions  Motion function  Observation function Jürgen Sturm Autonomous Navigation for Flying Robots 25

Extended Kalman Filter (EKF) For each time step, do 1.Apply motion model (prediction step) with 2.Apply sensor model (correction step) with and Jürgen Sturm Autonomous Navigation for Flying Robots 26

Lessons Learned  Kalman filter  Linearization of sensor and motion model  Extended Kalman filter  Next: Example in 2D Jürgen Sturm Autonomous Navigation for Flying Robots 27