From Bayes to Extended Kalman Filter

Similar documents
Mobile Robot Localization

L11. EKF SLAM: PART I. NA568 Mobile Robotics: Methods & Algorithms

1 Kalman Filter Introduction

SLAM Techniques and Algorithms. Jack Collier. Canada. Recherche et développement pour la défense Canada. Defence Research and Development Canada

Miscellaneous. Regarding reading materials. Again, ask questions (if you have) and ask them earlier

Mobile Robot Localization

EKF Based Navigation and SLAM. Background Material, Notes and Example Code. SLAM Summer School 2006, Oxford SLAM. Summer School.

2D Image Processing. Bayes filter implementation: Kalman filter

Robotics. Mobile Robotics. Marc Toussaint U Stuttgart

2D Image Processing. Bayes filter implementation: Kalman filter

Simultaneous Localization and Mapping

Kalman Filter. Predict: Update: x k k 1 = F k x k 1 k 1 + B k u k P k k 1 = F k P k 1 k 1 F T k + Q

AUTOMOTIVE ENVIRONMENT SENSORS

Robotics 2 Target Tracking. Kai Arras, Cyrill Stachniss, Maren Bennewitz, Wolfram Burgard

EKF and SLAM. McGill COMP 765 Sept 18 th, 2017

CS491/691: Introduction to Aerial Robotics

Robots Autónomos. Depto. CCIA. 2. Bayesian Estimation and sensor models. Domingo Gallardo

CS 532: 3D Computer Vision 6 th Set of Notes

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

Bayes Filter Reminder. Kalman Filter Localization. Properties of Gaussians. Gaussians. Prediction. Correction. σ 2. Univariate. 1 2πσ e.

2D Image Processing (Extended) Kalman and particle filter

L06. LINEAR KALMAN FILTERS. NA568 Mobile Robotics: Methods & Algorithms

Probabilistic Fundamentals in Robotics. DAUIN Politecnico di Torino July 2010

Using the Kalman Filter for SLAM AIMS 2015

Factor Analysis and Kalman Filtering (11/2/04)

Autonomous Mobile Robot Design

CIS 390 Fall 2016 Robotics: Planning and Perception Final Review Questions

Robotics. Lecture 4: Probabilistic Robotics. See course website for up to date information.

Simultaneous Localization and Mapping (SLAM) Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Kalman Filter Computer Vision (Kris Kitani) Carnegie Mellon University

A Study of Covariances within Basic and Extended Kalman Filters

Rao-Blackwellized Particle Filtering for 6-DOF Estimation of Attitude and Position via GPS and Inertial Sensors

Kalman filtering and friends: Inference in time series models. Herke van Hoof slides mostly by Michael Rubinstein

Machine Learning. Gaussian Mixture Models. Zhiyao Duan & Bryan Pardo, Machine Learning: EECS 349 Fall

Modeling and state estimation Examples State estimation Probabilities Bayes filter Particle filter. Modeling. CSC752 Autonomous Robotic Systems

SLAM for Ship Hull Inspection using Exactly Sparse Extended Information Filters

Localization. Howie Choset Adapted from slides by Humphrey Hu, Trevor Decker, and Brad Neuman

ECE521 week 3: 23/26 January 2017

Recursive Estimation

9 Multi-Model State Estimation

TSRT14: Sensor Fusion Lecture 9

Vlad Estivill-Castro. Robots for People --- A project for intelligent integrated systems

Perception: objects in the environment

Gaussian Mixture Models, Expectation Maximization

Introduction to Mobile Robotics Bayes Filter Particle Filter and Monte Carlo Localization

Nonlinear Filtering. With Polynomial Chaos. Raktim Bhattacharya. Aerospace Engineering, Texas A&M University uq.tamu.edu

Lecture : Probabilistic Machine Learning

Particle Filters. Pieter Abbeel UC Berkeley EECS. Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics

Manipulators. Robotics. Outline. Non-holonomic robots. Sensors. Mobile Robots

Gaussian Processes for Machine Learning

CS 630 Basic Probability and Information Theory. Tim Campbell

(Extended) Kalman Filter

Performance Comparison of K-Means and Expectation Maximization with Gaussian Mixture Models for Clustering EE6540 Final Project

Probability Theory for Machine Learning. Chris Cremer September 2015

Introduction to Mobile Robotics Probabilistic Sensor Models

TSRT14: Sensor Fusion Lecture 8

Unsupervised Learning

L03. PROBABILITY REVIEW II COVARIANCE PROJECTION. NA568 Mobile Robotics: Methods & Algorithms

E190Q Lecture 11 Autonomous Robot Navigation

Lecture 2: From Linear Regression to Kalman Filter and Beyond

Gaussian Process Approximations of Stochastic Differential Equations

ESTIMATOR STABILITY ANALYSIS IN SLAM. Teresa Vidal-Calleja, Juan Andrade-Cetto, Alberto Sanfeliu

Inference and estimation in probabilistic time series models

Machine Learning 4771

Robot Mapping. Least Squares. Cyrill Stachniss

Overview. Probabilistic Interpretation of Linear Regression Maximum Likelihood Estimation Bayesian Estimation MAP Estimation

Probabilistic Fundamentals in Robotics

Partially Observable Markov Decision Processes (POMDPs)

Parametric Unsupervised Learning Expectation Maximization (EM) Lecture 20.a

Bayesian Learning (II)

Robot Localization and Kalman Filters

E190Q Lecture 10 Autonomous Robot Navigation

Managing Uncertainty

Introduction to Mobile Robotics SLAM: Simultaneous Localization and Mapping

Dynamic System Identification using HDMR-Bayesian Technique

UAV Navigation: Airborne Inertial SLAM

Autonomous Navigation for Flying Robots

Probabilistic Fundamentals in Robotics. DAUIN Politecnico di Torino July 2010

Chris Bishop s PRML Ch. 8: Graphical Models

System identification and sensor fusion in dynamical systems. Thomas Schön Division of Systems and Control, Uppsala University, Sweden.

Probability and statistics; Rehearsal for pattern recognition

CS 4495 Computer Vision Principle Component Analysis

Probabilistic Reasoning in Deep Learning

Lecture Note 2: Estimation and Information Theory

Particle Filters; Simultaneous Localization and Mapping (Intelligent Autonomous Robotics) Subramanian Ramamoorthy School of Informatics

The Kalman Filter ImPr Talk

Probabilistic Fundamentals in Robotics. DAUIN Politecnico di Torino July 2010

Lecture Notes 4 Vector Detection and Estimation. Vector Detection Reconstruction Problem Detection for Vector AGN Channel

The Kalman Filter. Data Assimilation & Inverse Problems from Weather Forecasting to Neuroscience. Sarah Dance

COS Lecture 16 Autonomous Robot Navigation

Conditions for Suboptimal Filter Stability in SLAM

Comparision of Probabilistic Navigation methods for a Swimming Robot

L11: Pattern recognition principles

Sensor Tasking and Control

Fundamentals of Data Assimila1on

Optimization-Based Control

Kalman Filter. Man-Wai MAK

Linear Dynamical Systems

Statistical and Learning Techniques in Computer Vision Lecture 2: Maximum Likelihood and Bayesian Estimation Jens Rittscher and Chuck Stewart

Probability and Estimation. Alan Moses

Transcription:

From Bayes to Extended Kalman Filter Michal Reinštein Czech Technical University in Prague Faculty of Electrical Engineering, Department of Cybernetics Center for Machine Perception http://cmp.felk.cvut.cz/ reinsmic, reinstein.michal@fel.cvut.cz Acknowledgement: V. Hlavac Introduction to probability theory and P. Newman SLAM Summer School 2006, Oxford Overview: From MAP to RBE Outline of the lecture: Example: Linear navigation problem Overview: From LSQ to NLSQ Linear Kalman Filter (LKF) Extended Kalman Filter (EKF) Introduction to EKF-SLAM

References 2/55 1 Paul Newman, EKF Based Navigation and SLAM, SLAM Summer School 2006, http://www.robots.ox.ac.uk/ SSS06/Website/index.htm, University of Oxford 2 Sebastian Thrun, Wolfram Burgard, and Dieter Fox. Probabilistic robotics. MIT press, 2005. 3 Grewal, Mohinder S., and Angus P. Andrews. Kalman filtering: theory and practice using MATLAB. John Wiley & Sons, 2011.

What is Estimation? Estimation is the process by which we infer the value of a quantity of interest, x, by processing data that is in some way dependent on x. Measured data corrupted by noise uncertainty in input transformed into uncertainty in inference (e.g. Bayes rule) Quantity of interest not measured directly (e.g. odometry in skid-steer robots) Incorporating prior (expected) information (e.g. best guess or past experience) Open-loop prediction (e.g. knowing current heading and speed, infer future position) Uncertainty due to simplifications of analytical models (e.g. performance reasons linearization) 3/55

Bayes Theorem 4/55 P(B A) = P(A B) P (B) P (A), where P(B A) is the posterior probability and P(A B) is the likelihood. This is a fundamental rule for machine learning (pattern recognition) as it allows to compute the probability of an output B given measurements A. The prior probability is P (B) without any evidence from measurements. The likelihood P(A B) evaluates the measurements given an output B. Seeking the output that maximizes the likelihood (the most likely output) is known as the maximum likelihood estimation (ML). The posterior probability P(B A) is the probability of B after taking the measurement A into account. Its maximization leads to the maximum a-posteriori estimation (MAP).

Overview of the Probability Rules The Product rule: P (A, B) = P (A B) P (B) = P (B A) P (A) The Sum rule: P (B) = A P (A, B) = A P (B A) P (A) 5/55 Random events A, B are independent P (A, B) = P (A) P (B), and the independence means: P (A B) = P (A), P (B A) = P (B) A, B are conditionally independent P (A, B C) = P (A C)P (B C) The Bayes theorem: P (A B) = P (A,B) P (B) = P (B A)P (A) P (B) = P (B A)P (A) P (B A) P (A) A General inference: P (V S) = P (V, S) P (S) = A,B,C S,A,B,C P (S, A, B, C, V ) P (S, A, B, C, V )

Mean & Covariance 6/55 Expectation = the average of a variable under the probability distribution. Continuous definition: E(x) = x f(x) dx vs. discrete: E(x) = x P (x) x Mutual covariance σ xy of two random variables X, Y is σ xy = E ((X µ x )(Y µ y )) Covariance matrix 1 Σ of n variables X 1,..., X n is Σ = σ 2 1... σ 2 1n... σ 2 n 1... σ 2 n 1 Note: The covariance matrix is symmetric (i.e. Σ = Σ ) and positive-semidefinite (as the covariance matrix is real valued, the positive-semidefinite means that x Mx 0 for all x R).

Multivariate Normal distribution (1) 7/55 Source: Andrew Ng, Stanford University, Machine Learning course 2012, Lecture 15

Multivariate Normal distribution (2) 8/55 Source: Andrew Ng, Stanford University, Machine Learning course 2012, Lecture 15

Multivariate Normal distribution (3) 9/55 Source: Andrew Ng, Stanford University, Machine Learning course 2012, Lecture 15

Multivariate Normal distribution (4) 10/55 Source: Andrew Ng, Stanford University, Machine Learning course 2012, Lecture 15

Multivariate Normal distribution (5) 11/55 Source: Andrew Ng, Stanford University, Machine Learning course 2012, Lecture 15

Multivariate Normal distribution (6) 12/55 Source: Andrew Ng, Stanford University, Machine Learning course 2012, Lecture 15

MAP - Maximum A-Posteriori Estimation In many cases, we already have some prior (expected) knowledge about the random variable x, i.e. the parameters of its probability distribution p(x). With the Bayes rule, we go from prior to a-posterior knowledge about x, when given the observations z: 13/55 p(x z) = p(z x)p(x) p(z) = likelihood prior normalizing constant C p(z x)p(x) Given an observation z, a likelihood function p(z x) and prior distribution p(x) on x, the maximum a posteriori estimator MAP finds the value of x which maximizes the posterior distribution p(x z): ˆx MAP = argmax x p(z x)p(x)

MMSE - Minimum Mean Squared Error 14/55 Without proof 2 : We want to find such a ˆx, an estimate of x, that given a set of measurements Z k = {z 1, z 2,..., z k } it minimizes the mean squared error between the true value and this estimate. 3 ˆx MMSE = argmin ˆx E{(ˆx x) (ˆx x) Z k } = E{x Z k } Why is this important? The MMSE estimate given a set of measurements is the mean of that variable conditioned on the measurements! 4 2 See reference [1] pages 11-12 3 Note: We minimize a scalar quantity. 4 Note: In LSQ the x is a unknown constant but in MMSE x is a random variable.

RBE - Recursive Bayesian Estimation RBE is the natural extension of MAP to time-stamped sequence of observations being processed at each time step. In RBE we use the priory estimate and current measurement to compute the posteriori estimate ˆx. When the next measurement comes we use our previous posteriori estimate as a new prior and proceed with the same estimation rule. Hence for each time-step k we obtain an estimate for it s state given all observations up to that time (the set Z k ). Using the Bayes rule and conditional independence of measurements (z k being single measurement at time k): 15/55 p(x, Z k ) = p(x Z k )p(z k ) = p(z k x)p(x) = p(z k 1 x)p(z k x)p(x) We express p(zk 1 x) and substitute for it to get: p(x Z k ) = p(z k x)p(x Z k 1 )p(z k 1 ) p(z k )

RBE - Recursive Bayesian Estimation 16/55 RBE is extension of MAP to time-stamped sequence of observations. Without proof 5 : We obtain RBE as the likelihood of current k th measurement prior which is our last best estimate of x at time k 1 conditioned on measurement at time k 1 (denominator is just a normalizing constant). p(x Z k ) = p(z k x)p(x Z k 1 ) p(z k Z k 1 ) = current likelihood last best estimate normalizing constant 5 See reference [1] pages 12-14, note: if Gaussian pdf of both prior and likelihood then the RBE the LKF

LSQ - Least Squares Estimation 17/55 Given measurements z, we wish to solve for x, assuming linear relationship: Hx = z If H is a square matrix with det H 0 then the solution is trivial: x = H 1 z, otherwise (most commonly), we seek such solution ˆx that is closest (in Euclidean distance sense) to the ideal: ˆx = argmin x Hx z 2 = argmin x { } (Hx z) (Hx z)

LSQ - Least Squares Estimation Given the following matrix identities: 18/55 (AB) = B A x 2 = x x x b x = b x x Ax = 2Ax We can derive the closed form solution 6 : Hx z 2 = x H Hx x H z z Hx + z z Hx z 2 = 2H Hx 2H z = 0 x x = (H H) 1 H z 6 in MATLAB use the pseudo-inverse pinv()

LSQ - Weighted Least Squares Estimation If we have information about reliability of the measurements in z, we can capture this as a covariance matrix R (diagonal terms only since the measurements are not correlated: σz1 2 0 0 R = 0 σz2 2........ In the error vector e defined as e = Hx z we can weight each its element by uncertainty in each element of the measurement vector z, i.e. by R 1. The optimization criteria then becomes: 19/55 ˆx = argmin x R 1 (Hx z) 2 Following the same derivation procedure, we obtain the weighted least squares: x = (H R 1 H) 1 H R 1 z

LSQ - Least Squares Estimation The world is non-linear nonlinear model function h(x) non-linear LSQ 7 : 20/55 ˆx = argmin x h(x) z 2 We seek such δ that for x1 = x0 + δ the h(x1) z 2 is minimized. We use Taylor series expansion: h(x0 + δ) = h(x0) + Hx0δ h(x 1 ) z 2 = h(x 0 )+ H x 0δ z 2 = H }{{ x } 0 A δ (z h(x 0 ) }{{} b ) 2 where H x 0 is Jacobian of h(x): H x 0 = h x = h 1 h 1 x m x 1..... h n x 1... h n x m 7 Note: We still measure the Euclidean distance between two points that we want to optimize over.

LSQ - Least Squares Estimation The extension of LSQ to the non-linear LSQ can be formulated as an algorithm: 1. Start with an initial guess ˆx. 8 2. Evaluate the LSQ expression for δ (update the Hˆx and substitute). 9 21/55 δ := ( Hˆx Hˆx ) 1 Hˆx [z h(ˆx)] 3. Apply the δ correction to our initial estimate: ˆx := ˆx + δ. 10 4. Check for the stopping precision: if h(ˆx) z 2 > ɛ proceed with step (2) or stop otherwise. 11 8 Note: We can usually set to zero. 9 Note: This expression is obtained using the LSQ closed form and substitution from previous slide. 10 Note: Due to these updates our initial guess should converge to such ˆx that minimizes the h(ˆx) z 2 11 Note: ɛ is some small threshold, usually set according to the noise level in the sensors.

LSQ - Least Squares Estimation 22/55 Example - Long Base-line Navigation SONARDYNE

LSQ - Least Squares Estimation 23/55 Example - Long Base-line Navigation

LSQ - Least Squares Estimation 24/55 Example - Long Base-line Navigation

What have we learnt so far? Overview of Estimators 25/55 MLE - we have the likelihood (conditional probability of measurements) MAP - we have the likelihood and some prior (expected) knowledge MMSE - we have a set of measurements of a random variable RBE - we have the MAP and incoming sequence of measurements LSQ - we have a set of measurements and some knowledge about the underlying model (linear or non-linear) What comes next? The Kalman filter - we have sequence of measurements and a state-space model providing the relationship between the states and the measurements (linear model LKF, non-linear model EKF)

LKF - Assumptions The likelihood p(z x) and the prior p(x) on x are Gaussian, and the linear measurement model z = Hx + w is corrupted by Gaussian noise w N (0, R): 26/55 p(w) = 1 (2π) n/2 R 1/2 exp{ 1 2 w R 1 w} The likelihood p(z x) is now a multi-d Gaussian 12 : p(z x) = 1 (2π) n z/2 R 1/2 exp{ 1 2 (z Hx) R 1 (z Hx)} The prior belief in x with mean x and covariance P is a multi-d Gaussian: p(x) = 1 (2π) n x/2 P 1/2 exp{ 1 2 (x x ) P 1 (x x )} We want the a-posteriori estimate p(x z) that is also a multi-d Gaussian, with mean x and covariance P the equations of the LKF. 12 Note: n z is the dimension of the observation vector and n x is the dimension of the state vector.

LKF - The proof? 27/55 Without proof 13, here are the main ideas exploited while deriving the LKF: We use the Bayes rule to express the p(x z) the MAP14 We know that Gaussian Gaussian = Gaussian Considering the above, the new mean x will be the MMSE estimate, the new covariance P is derived using a crazy matrix identity 13 See reference [1] pages 22-26 14 Note: Recall the Bayes rule p(x z) = p(z x)p(x) p(z) = p(z x)p(x) p(z) = p(z x)p(x) + p(z x)p(x) dx = p(z x)p(x) normalising const

LKF - The proof? 28/55 For the proof see reference [1] pages 22-26

LKF - Update Equations We defined a linear observation model mapping the measurements z with uncertainty (covariance) R onto the states x using a prior mean estimate x with prior covariance P. 29/55 The LKF update: the new mean estimate x and its covariance P : x = x + Wν P = P WSW where ν is the innovation given by: ν = z Hx, where S is the innovation covariance given by: S = HP H + R, 15 where W is the Kalman gain ( the weights!) given by: W = P H S 1. What if we want to estimate states we don t measure? model 15 Note: Recall that if x N (µ, Σ) and y = Mx then y N (µ, MΣM )

LKF - System Model Definition 30/55 Standard state-space description of a discrete-time system: x (k) = Fx (k 1) + Bu (k) + Gv (k) where v is a zero mean Gaussian noise v N (0, Q) capturing the uncertainty (imprecisions) of our transition model (mapped by G onto the states), where u is the control vector 16 (mapped by B onto the states), where F is the state transition matrix 17. 16 For example the steering angle on a car as input by the driver. 17 For example the differential equations of motion relating the position, velocity and acceleration.

LKF - Temporal-Conditional Notation 31/55 The temporal-conditional 18 notation, noted as (i j), defines ˆx (i j) as the MMSE estimate of x at time i given measurements up until and including the time j, leading to two cases: ˆx (k k) estimate at k given all available measurements the estimate ˆx (k k 1) estimate at k given the first k 1 measurements the prediction 18 This notation is necessary to introduce when incorporating the state-space model into the LKF equations.

LKF - Incorporating System Model 32/55 The LKF prediction: using (i j) notation ˆx (k k 1) = Fˆx (k 1 k 1) + Bu (k) P (k k 1) = FP (k 1 k 1) F + GQG The LKF update: using (i j) notation ˆx (k k) = ˆx (k k 1) + W (k) ν (k) P (k k) = P (k k 1) W (k) SW (k) where ν is the innovation: ν (k) = z (k) Hˆx (k k 1) where S is the innovation covariance: S = HP (k k 1) H + R where W is the Kalman gain( the weights!): W (k) = P (k k 1) H S 1

LKF - Discussion 33/55 Recursion: the LKF is recursive, the output of one iteration is the input to next iteration. Initialization: the P(0 0) and ˆx(0 0) have to be provided. 19 Predictor-corrector structure: the prediction is corrected by fusion of measurements via innovation, which is the difference between the actual observation z (k) and the predicted observation Hˆx (k k 1). 19 Note: It can be some initial good guess or even zero for mean, one for covariance.

LKF - Discussion 34/55 Asynchrosity: The update step only proceeds when the measurements come, not necessarily at every iteration. 20 Prediction covariance increases: since the model is inaccurate the uncertainty in predicted states increases with each prediction by adding the GQG term the P k k 1 prediction covariance increases. Update covariance decreases: due to observations the uncertainty in predicted states decreases / not increases by subtracting the positive semi-definite WSW 21 the P k k update covariance decreases / not increases. 20 Note: If at time-step k there is no observation then the best estimate is simply the prediction ˆx (k k 1) usually implemented as setting the Kalman gain to 0 for that iteration. 21 Each observation, even the not accurate one, contains some additional information that is added to the state estimate at each update.

LKF - Discussion 35/55 Observability: the measurements z need not to fully determine the state vector x, the LKF can perform 22 updates using only partial measurements thanks to: prior info about unobserved states and correlations. 23 Correlations: the diagonal elements of P are the principal uncertainties (variance) of each of the state vector elements. the off-diagonal terms of P capture the correlations between different elements of x. Conclusion: The KF exploits the correlations to update states that are not observed directly by the measurement model. 22 Note: In contrary to LSQ that needs enough measurements to solve for the state values. 23 Note: Over the time for unobservable states the covariance will grow without bound.

LKF - Linear Navigation Problem 36/55 Example - Planet Lander: State-space model A lander observes its altitude x above planet using time-of-flight radar. Onboard controller needs estimates of height and velocity to actuate the rockets discrete time 1D model: [ ] [ ] 1 δt δ0.5t 2 x (k) = x 0 1 (k 1) + δt }{{}}{{} F G z (k) = [ 2 c 0 ] x }{{} (k) + w (k) H v (k) where δt is sampling time, the state vector x = [h ḣ] is composed of height h and velocity ḣ; the process noise v is a scalar gaussian process with covariance Q 24, the measurement noise w is given by the covariance matrix R. 25 24 Modelled as noise in acceleration hence the quadratics time dependence when adding to position-state. 25 Note: We can find R either statistically or use values from a datasheet.

LKF - Linear Navigation Problem 37/55 Example - Planet Lander: Simulation model A non-linear simulation model in MATLAB was created to generate the true state values and corresponding noisy observation: 1. First, we simulate motion in a thin atmosphere (small drag) and vehicle accelerates. 2. Second, as the density increases the vehicle decelerates to reach quasi-steady terminal velocity fall. The true σ2q of the process noise and the σ2r of the measurement noise are set to different numbers than those used in our linear model. 26 Simple Euler integration for the true motion is used (velocity height). 26 Note: we can try to change these settings and observe what happens if the model and the real world are too different.

LKF - Linear Navigation Problem 38/55 Example - Planet Lander: Controller model The vehicle controller has two features implemented: 1. When the vehicle descends below a first given altitude threshold, it deploys a parachute (to increase the aerodynamic drag). 2. When the vehicle descends below a second given altitude threshold, it fires rocket burners to slow the descend and land safely. The controller operates only on the estimated quantities. Firing the rockets also destroys the parachute.

LKF - Linear Navigation Problem - MATLAB Example - MATLAB 39/55

LKF - Linear Navigation Problem - MATLAB Example - MATLAB 40/55

LKF - Linear Navigation Problem Example - Results for: σ model R = 1.1σR true, σmodel Q We did good modeling, errors are due to the non-linear world! = 1.1σ true Q 41/55

LKF - Linear Navigation Problem Example - Results for: σ model R = 10σR true, σmodel Q = 1.1σ true Q We do not trust the measurements, the good linear model alone is not enough! 42/55

LKF - Linear Navigation Problem Example - Results for: σ model R = 1.1σR true, σmodel Q = 10σ true Q We do not trust our model, the estimates have good mean but are too noisy! 43/55

LKF - Linear Navigation Problem Example - Results for: σ model R = 0.1σR true, σmodel Q = 1.1σ true Q We are overconfident measurements fortunately, the sensor is not more noisy! 44/55

LKF - Linear Navigation Problem Example - Results for: σ model R = 1.1σR true, σmodel Q = 0.1σ true Q We are overconfident in our model, but the world is really not linear... 45/55

LKF - Linear Navigation Problem Example - Results for: σ model R = 10σR true, σmodel Q = 10σ true Q We do neither trust the model nor measurements, we cope with the nonlinearities. 46/55

From LKF to EKF 47/55 Linear models in the non-linear environment BAD. Non-linear models in the non-linear environment BETTER. Assume the following the non-linear system model function f(x) and the non-linear measurement function h(x), we can reformulate: x (k) = f(x (k 1), u (k),k ) + v (k) z (k) = h(x (k), u (k),k ) + w (k)

EKF - Non-linear Prediction Without proof 27 : The main idea behind EKF is to linearize the non-linear model around the best current estimate 28. 48/55 This is realized using a Taylor series expansion 29. Assume an estimate ˆx (k 1 k 1) then x (k) f(ˆx (k 1 k 1), u (k),k ) + F x [x (k 1) ˆx (k 1 k 1) ] + + v (k) where the term F x is a Jacobian of f(x) w.r.t. x evaluated at ˆx (k 1 k 1) : F x = f x = f 1 f 1 x m x 1..... f n x 1... f n x m 27 See reference [1] pages 39-41 28 Note: the best meaning the prediction at (k k 1) or the last estimate at (k 1 k 1) 29 Note: recall the non-linear LSQ problem of LBL navigation

EKF - Non-linear Observation Without proof 30 : The same holds for the observation model, i.e. the predicted observation z (k k 1) is the projection of ˆx (k k 1) through the non-linear measurement model 31. Hence, assume an estimate ˆx (k k 1) then 49/55 z (k) h(ˆx (k k 1), u (k),k ) + H x [ˆx (k k 1) x (k) ] + + w (k) where the term H x is a Jacobian of h(x) w.r.t. x evaluated at ˆx (k k 1) : H x = h x = h 1 h 1 x m x 1..... h n x 1... h n x m 30 See reference [1] pages 41-43 31 Note: for the LKF it was given by Hˆx (k k 1)

EKF - Algorithm (1) 50/55 Source: [1] P. Newman, EKF Based Navigation and SLAM, SLAM Summer School 2006

EKF - Algorithm (2) 51/55 Source: [1] P. Newman, EKF Based Navigation and SLAM, SLAM Summer School 2006

EKF - Features & Maps Assumption: The world is represented by a set of discrete landmarks (features) whose location / orientation and geometry can by described by a set of discrete parameters concatenated into a feature vector called Map: M = x f,1 x f,2 x f,3. x f,n 52/55 Examples of features in 2D world: absolute observation: given by the position coordinates of the landmarks in the global reference frame: x f,i = [x i y i ] (e.g., measured by GPS) relative observation: given by the radius and bearing to landmark: x f,i = [r i θ i ] (e.g., measured by visual odometry, laser mapping, sonar)

EKF - Localization 53/55 Assumption: we are given a map M and a sequence of vehicle-relative 32 observations Z k described by likelihood p(z k M, x v ). Task: to estimate the pdf for the vehicle pose p(x v M, Z k ). = p(x v M, Z k ) = p(x v, M, Z k ) p(m, Z k ) p(z k M, x v ) p(x v M) p(m) + p(zk M, x v )p(x v M) dx v p(m) = = p(zk M, x v ) p(m, x v ) p(z k M) p(m) = p(z k M,xv ) p(x v M) normalising constant Solution: p(x v M) is just another sensor the pdf of locating the robot when observing a given map. 32 Note: Vehicle-relative observations are such kind of measurements that involve sensing the relationship between the vehicle and its surroundings the map, e.g. measuring the angle and distance to a feature.

EKF - Mapping 54/55 Assumption: we are given a vehicle location x v, 33 and a sequence of vehicle-relative observations Z k described by likelihood p(z k M, x v ). Task: to estimate the pdf of the map p(m Z k, x v ). = p(m Z k, x v ) = p(x v, M, Z k ) p(z k, x v ) p(z k M, x v ) p(m x v ) p(x v ) + p(zk M, x v )p(m x v ) dm p(x v ) = = p(zk M, x v ) p(m, x v ) p(z k x v ) p(x v ) = p(z k M,xv ) p(m x v ) normalising constant Solution: p(m x v ) is just another sensor the pdf of observing the map at given robot location. 33 Note: Ideally derived from absolute position measurements since position derived from relative measurements (e.g. odometry, integration of inertial measurements) is always subjected to a drift so called dead reckoning

EKF - Simultaneous Localization and Mapping 55/55 If we parametrize the random vectors x v and M with mean and variance then the (E)KF will compute the MMSE estimate of the posterior. What is the SLAM and how can we achieve it? With no prior information about the map (and about the vehicle no GPS), the SLAM is a navigation problem of building consistent estimate of both the environment (represented by the map the mapping) and vehicle trajectory (6 DOF position and orientation the localization), using only proprioceptive sensors (e.g., inertial, odometry), and vehicle-centric sensors (e.g., radar, camera, laser, sonar etc.).