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

Similar documents
Introduction to Mobile Robotics SLAM: Simultaneous Localization and Mapping

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

Robotics. Mobile Robotics. Marc Toussaint U Stuttgart

Simultaneous Localization and Mapping

Robotics 2 Data Association. Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram Burgard

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

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

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

Using the Kalman Filter for SLAM AIMS 2015

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

Probabilistic Fundamentals in Robotics. DAUIN Politecnico di Torino July 2010

Mobile Robot Localization

Mobile Robot Localization

Exact State and Covariance Sub-matrix Recovery for Submap Based Sparse EIF SLAM Algorithm

Robot Mapping. Least Squares. Cyrill Stachniss

Probabilistic Fundamentals in Robotics. DAUIN Politecnico di Torino July 2010

Autonomous Mobile Robot Design

Robotics 2 Target Tracking. Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram Burgard

Simultaneous Localization and Map Building Using Natural features in Outdoor Environments

Introduction to Mobile Robotics Information Gain-Based Exploration. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Giorgio Grisetti, Kai Arras

2D Image Processing. Bayes filter implementation: Kalman filter

SLAM for Ship Hull Inspection using Exactly Sparse Extended Information Filters

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

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

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

From Bayes to Extended Kalman Filter

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

Advanced Techniques for Mobile Robotics Least Squares. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz

Probabilistic Robotics SLAM

Amortized Constant Time State Estimation in SLAM using a Mixed Kalman-Information Filter

2D Image Processing. Bayes filter implementation: Kalman filter

Probabilistic Fundamentals in Robotics

2D Image Processing (Extended) Kalman and particle filter

Robot Localisation. Henrik I. Christensen. January 12, 2007

Robotics 2 Least Squares Estimation. Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Maren Bennewitz, Wolfram Burgard

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

Autonomous Mobile Robot Design

Probabilistic Robotics SLAM

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

Probabilistic Fundamentals in Robotics. DAUIN Politecnico di Torino July 2010

Introduction to Mobile Robotics SLAM: Simultaneous Localization and Mapping

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

CS491/691: Introduction to Aerial Robotics

On the Treatment of Relative-Pose Measurements for Mobile Robot Localization

Sensor Tasking and Control

10 Robotic Exploration and Information Gathering

(W: 12:05-1:50, 50-N201)

Square Root Unscented Particle Filtering for Grid Mapping

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

Fast Incremental Square Root Information Smoothing

A Provably Consistent Method for Imposing Sparsity in Feature-based SLAM Information Filters

Observability-based Rules for Designing Consistent EKF SLAM Estimators

A Provably Consistent Method for Imposing Sparsity in Feature-based SLAM Information Filters

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

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

Recursive Bayes Filtering

The Belief Roadmap: Efficient Planning in Belief Space by Factoring the Covariance. Samuel Prentice and Nicholas Roy Presentation by Elaine Short

Sparse Extended Information Filters: Insights into Sparsification

An alternative to the Mahalanobis distance for determining optimal correspondences in data association

AUTOMOTIVE ENVIRONMENT SENSORS

THE goal of simultaneous localization and mapping

Lecture 2: From Linear Regression to Kalman Filter and Beyond

Simultaneous Mapping and Localization With Sparse Extended Information Filters: Theory and Initial Results

Unscented Transformation of Vehicle States in SLAM

1 Introduction 1.1 Problem Denition The general problem we want tosolve is to let a mobile robot explore an unknown environment using range sensing an

Information Gain-based Exploration Using Rao-Blackwellized Particle Filters

Square Root Iterated Kalman Filter for Bearing-Only SLAM

Online estimation of covariance parameters using extended Kalman filtering and application to robot localization

Simultaneous Localization and Mapping - A Discussion

Conditions for Suboptimal Filter Stability in SLAM

Lecture 22: Graph-SLAM (2)

Mobile Robots Localization

Robot Localization and Kalman Filters

A Comparison of the EKF, SPKF, and the Bayes Filter for Landmark-Based Localization

A decentralized Polynomial based SLAM algorithm for a team of mobile robots

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

Why Bayesian? Rigorous approach to address statistical estimation problems. The Bayesian philosophy is mature and powerful.

Introduction to Mobile Robotics Bayes Filter Kalman Filter

Bayesian Interaction Primitives: A SLAM Approach to Human-Robot Interaction

Towards Uncertainty-Aware Path Planning On Road Networks Using Augmented-MDPs. Lorenzo Nardi and Cyrill Stachniss

9 Multi-Model State Estimation

Information Exchange in Multi-rover SLAM

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

Lecture 2: From Linear Regression to Kalman Filter and Beyond

Stochastic Mapping Frameworks

Cooperative relative robot localization with audible acoustic sensing

Analysis and Improvement of the Consistency of Extended Kalman Filter based SLAM

Vlad Estivill-Castro (2016) Robots for People --- A project for intelligent integrated systems

Results: MCMC Dancers, q=10, n=500

CSE 473: Artificial Intelligence

1 Kalman Filter Introduction

Simultaneous Localization and Mapping Techniques

Autonomous Navigation for Flying Robots

SC-KF Mobile Robot Localization: A Stochastic-Cloning Kalman Filter for Processing Relative-State Measurements

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

Data Fusion Kalman Filtering Self Localization

Hidden Markov Models. Hal Daumé III. Computer Science University of Maryland CS 421: Introduction to Artificial Intelligence 19 Apr 2012

Localización Dinámica de Robots Móviles Basada en Filtrado de Kalman y Triangulación

COS Lecture 16 Autonomous Robot Navigation

Markov Models. CS 188: Artificial Intelligence Fall Example. Mini-Forward Algorithm. Stationary Distributions.

Transcription:

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

Today s Topic EKF Feature-Based SLAM State Representation Process / Observation Models Landmark Initialization Robot-Landmark Correlation

The SLAM Problem 3 A robot is exploring an unknown, static environment. Given: The robot s controls Observations of nearby features Estimate: Map of features Path of the robot

SLAM Applications 4 Indoors Undersea Space Underground

Representations 5 Grid maps or scans [Lu & Milios, 97; Gutmann, 98: Thrun 98; Burgard, 99; Konolige & Gutmann, 00; Thrun, 00; Arras, 99; Haehnel, 01; ] Landmark-based [Leonard et al., 98; Castelanos et al., 99: Dissanayake et al., 2001; Montemerlo et al., 2002;

Illustration of SLAM without Landmarks With only dead reckoning, vehicle pose uncertainty grows without bound Courtesy J. Leonard

Illustration of SLAM without Landmarks With only dead reckoning, vehicle pose uncertainty grows without bound Courtesy J. Leonard

Illustration of SLAM without Landmarks With only dead reckoning, vehicle pose uncertainty grows without bound Courtesy J. Leonard

Illustration of SLAM without Landmarks With only dead reckoning, vehicle pose uncertainty grows without bound Courtesy J. Leonard

Illustration of SLAM without Landmarks With only dead reckoning, vehicle pose uncertainty grows without bound Courtesy J. Leonard

Illustration of SLAM without Landmarks With only dead reckoning, vehicle pose uncertainty grows without bound Courtesy J. Leonard

Repeat, with Measurements of Landmarks First position: two features observed Courtesy J. Leonard

Illustration of SLAM with Landmarks Second position: two new features observed Courtesy J. Leonard

Illustration of SLAM with Landmarks Re-observation of first two features results in improved estimates for both vehicle and feature Courtesy J. Leonard

Illustration of SLAM with Landmarks Third position: two additional features added to map Courtesy J. Leonard

Illustration of SLAM with Landmarks Re-observation of first four features results in improved location estimates for vehicle and all features Courtesy J. Leonard

Illustration of SLAM with Landmarks Process continues as the vehicle moves through the environment Courtesy J. Leonard

SLAM Using Landmarks MIT Indoor Track Courtesy J. Leonard

Test Environment (Point Landmarks) Courtesy J. Leonard

View from Vehicle Courtesy J. Leonard

SLAM Using Landmarks 1. Move 2. Sense 3. Associate measurements with known features 4. Update state estimates for robot and previously mapped features 5. Find new features from unassociated measurements 6. Initialize new features 7. Repeat MIT Indoor Track

Comparison with Ground Truth odometry SLAM result Courtesy J. Leonard

Why is SLAM a hard problem? 23 SLAM: robot path and map are both unknown Robot path error correlates errors in the map

Why is SLAM a hard problem? 24 Robot pose uncertainty In the real world, the mapping between observations and landmarks is unknown Picking wrong data associations can have catastrophic consequences EKF SLAM is brittle in this regard Pose error correlates data associations

Simultaneous Localization and Mapping (SLAM) Building a map and locating the robot in the map at the same time Chicken-and-egg problem map localize Courtesy: Cyrill Stachniss

Definition of the SLAM Problem Given The robot s controls Observations Wanted Map of the environment Trajectory of the robot Courtesy: Cyrill Stachniss

Three Main Paradigms Kalman filter Particle filter Graphbased Courtesy: Cyrill Stachniss

Bayes Filter Recursive filter with prediction and correction step Prediction Correction Courtesy: Cyrill Stachniss

EKF for Online SLAM We consider here the Kalman filter as a solution to the online SLAM problem Courtesy: Thrun, Burgard, Fox

Extended Kalman Filter Algorithm Courtesy: Cyrill Stachniss

EKF SLAM Application of the EKF to SLAM Estimate robot s pose and locations of landmarks in the environment Assumption: known correspondences State space (for the 2D plane) is Courtesy: Cyrill Stachniss

EKF SLAM: State Representation Map with n landmarks: (3+2n)-dimensional Gaussian Belief is represented by Courtesy: Cyrill Stachniss

EKF SLAM: State Representation More compactly Courtesy: Cyrill Stachniss

EKF SLAM: State Representation Even more compactly (note: ) Courtesy: Cyrill Stachniss

EKF SLAM: Filter Cycle 1. State prediction 2. Measurement prediction 3. Measurement 4. Data association 5. Update Courtesy: Cyrill Stachniss

EKF SLAM: State Prediction Courtesy: Cyrill Stachniss

EKF SLAM: Measurement Prediction Courtesy: Cyrill Stachniss

EKF SLAM: Obtained Measurement Courtesy: Cyrill Stachniss

EKF SLAM: Data Association and Difference Between h(x) and z Courtesy: Cyrill Stachniss

EKF SLAM: Update Step Courtesy: Cyrill Stachniss

EKF SLAM: Concrete Example Setup Robot moves in the 2D plane Velocity-based motion model Robot observes point landmarks Range-bearing sensor Known data association Known number of landmarks Courtesy: Cyrill Stachniss

Initialization Robot starts in its own reference frame (all landmarks unknown) 2n+3 dimensions Courtesy: Cyrill Stachniss

Extended Kalman Filter Algorithm Courtesy: Cyrill Stachniss

Prediction Step (Motion) Goal: Update state space based on the robot s motion Robot motion in the plane How to map that to the 2n+3 dim space? Courtesy: Cyrill Stachniss

Update the State Space From the motion in the plane to the 2n+3 dimensional space Courtesy: Cyrill Stachniss

Extended Kalman Filter Algorithm DONE Courtesy: Cyrill Stachniss

Update Covariance The function only affects the robot s motion and not the landmarks Jacobian of the motion (3 3) Identity (2n 2n) Courtesy: Cyrill Stachniss

Jacobian of the Motion Courtesy: Cyrill Stachniss

Jacobian of the Motion Courtesy: Cyrill Stachniss

Jacobian of the Motion Courtesy: Cyrill Stachniss

Jacobian of the Motion Courtesy: Cyrill Stachniss

This Leads to the Time Propagation Apply & DONE Courtesy: Cyrill Stachniss

EKF SLAM: Motion Prediction Step Courtesy: Cyrill Stachniss

Extended Kalman Filter Algorithm DONE DONE Courtesy: Cyrill Stachniss

Extended Kalman Filter Algorithm DONE DONE Courtesy: Cyrill Stachniss

EKF SLAM: Correction Step Known data association : i-th measurement at time t observes the landmark with index j Initialize landmark if unobserved Compute the expected observation Compute the Jacobian of Proceed with computing the Kalman gain Courtesy: Cyrill Stachniss

Range-Bearing Observation Range-Bearing observation If landmark has not been observed observed location of landmark j estimated robot s location relative measurement Can initialize from a single measurement b/c the observation function is bijective for range/bearing. If using either range or bearing only, would need to accumulate observations over a time window and triangulate to initialize. Courtesy: Cyrill Stachniss

Expected Observation Compute expected observation according to the current estimate Courtesy: Cyrill Stachniss

Jacobian for the Observation Based on Compute the Jacobian low-dim space Courtesy: Cyrill Stachniss

Jacobian for the Observation Based on Compute the Jacobian Courtesy: Cyrill Stachniss

The First Component Based on We obtain (by applying the chain rule) Courtesy: Cyrill Stachniss

Jacobian for the Observation Based on Compute the Jacobian Courtesy: Cyrill Stachniss

Jacobian for the Observation Use the computed Jacobian map it to the high dimensional space Courtesy: Cyrill Stachniss

In other words, what that projection matrix F x,j does r w.r.t. robot w.r.t. other landmarks w.r.t. m i w.r.t. other landmarks

Next Steps as Specified DONE DONE Courtesy: Cyrill Stachniss

Extended Kalman Filter Algorithm DONE DONE Apply & DONE Apply & DONE Apply & DONE Courtesy: Cyrill Stachniss

EKF SLAM Correction (1/2) Courtesy: Cyrill Stachniss

EKF SLAM Correction (2/2) Courtesy: Cyrill Stachniss

EKF-SLAM Stacked (Batch) Update Update K t is a (3+2n) (2k) gain matrix composed of a weighted linear combination of the columns of t associated with R and m i indices Hence, in general, because K t is full, it non-trivially changes all of the elements in t during the covariance update

EKF-SLAM Sequential Update for i=1:k Think of this loop as a zero motion prediction + update step endfor Return the updated state

Batch vs Sequential Updates When can we do this? When sensor measurements are independent, i.e. Why? Because of conditional independence Are Batch vs. Sequential Updates Equivalent? Yes when observation models are linear (KF) Not quite when observation models are nonlinear (EKF) Why? because our linearization point for each H t i changes as we perform the updates sequentially

Implementation Notes Measurement update in a single step requires only one full belief update Always normalize the angular components You do not need to create the F projection matrices explicitly (e.g., in Matlab), they are shown for illustration of dimensionality. Prediction and update expressions can be more efficiently implemented accounting for the sparsity that exists in the Jacobians. Courtesy: Cyrill Stachniss

Done! Courtesy: Cyrill Stachniss

Loop-Closing Loop-closing means recognizing an already mapped area Data association under high ambiguity possible environment symmetries Uncertainties collapse after a loop-closure (whether the closure was correct or not) Courtesy: Cyrill Stachniss

Before the Loop-Closure Courtesy: K. Arras

After the Loop-Closure Courtesy: K. Arras

Loop-Closures in SLAM Loop-closing reduces the uncertainty in robot and landmark estimates This can be exploited when exploring an environment for the sake of better (e.g., more accurate) maps Wrong loop-closures lead to filter divergence Courtesy: Cyrill Stachniss

EKF SLAM Correlations In the limit, the landmark estimates become fully correlated Courtesy: Dissanayake

EKF SLAM Correlations 79 Blue path = true path Red path = estimated path Black path = odometry Approximate the SLAM posterior with a high-dimensional Gaussian [Smith & Cheesman, 1986] Single hypothesis data association Courtesy: M. Montemerlo

EKF SLAM Correlations Map Correlation matrix Courtesy: M. Montemerlo

EKF SLAM Correlations Map Correlation matrix Courtesy: M. Montemerlo

EKF SLAM Correlations Map Correlation matrix Courtesy: M. Montemerlo

EKF SLAM Correlations Covariance Matrix in the Linear Gaussian SLAM solution Pros : Enables us to transfer information from one part of the environment to the other parts Prevents overconfidence and divergence Cons : Increases computational complexity Maintain Slow Consistent Cross correlations Ignore Fast Inconsistent

EKF SLAM Correlations The correlation between the robot s pose and the landmarks cannot be ignored Assuming independence generates too optimistic estimates of the uncertainty Courtesy: J.M. Castellanos

EKF SLAM Uncertainties The determinant of any sub-matrix of the map covariance matrix decreases monotonically New landmarks are initialized with maximum uncertainty Courtesy: Dissanayake

EKF SLAM in the Limit In the limit, the covariance associated with any single landmark location estimate is determined only by the initial covariance in the vehicle location estimate. Courtesy: Dissanayake

Example: Victoria Park Dataset Courtesy: E. Nebot

Victoria Park: Data Acquisition Courtesy: E. Nebot

Victoria Park: EKF Estimate Courtesy: E. Nebot

Victoria Park: EKF Estimate Courtesy: E. Nebot

Victoria Park: Landmarks Courtesy: E. Nebot

92 Victoria Park: Landmark Covariance Courtesy: E. Nebot

Andrew Davison: MonoSLAM

EKF SLAM Complexity Cubic complexity depends only on the measurement dimensionality Cost per step: dominated by the number of landmarks: Memory consumption: The EKF becomes computationally intractable for large maps! Courtesy: Cyrill Stachniss

EKF SLAM Summary The first SLAM solution Convergence proof for the linear Gaussian case Can diverge if non-linearities are large (and the reality is non-linear...) Can deal only with a single mode Successful in medium-scale scenes Approximations exists to reduce the computational complexity Courtesy: Cyrill Stachniss

EKF SLAM Summary 96 Quadratic in the number of landmarks: O(n 2 ) Convergence results for the linear case. Can diverge if nonlinearities are large! Have been applied successfully in large-scale environments. Approximations reduce the computational complexity.

Next Lecture Data Association Incremental Maximum Likelihood (i.e., Nearest Neighbor) Joint Compatibility Branch and Bound

Literature EKF SLAM Thrun et al.: Probabilistic Robotics, Chapter 10 Smith, Self, & Cheeseman: Estimating Uncertain Spatial Relationships in Robotics Dissanayake et al.: A Solution to the Simultaneous Localization and Map Building (SLAM) Problem Durrant-Whyte & Bailey: SLAM Part 1 and SLAM Part 2 tutorials Courtesy: Cyrill Stachniss