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

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

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

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

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

Simultaneous Localization and Mapping

Robotics. Mobile Robotics. Marc Toussaint U Stuttgart

Probabilistic Fundamentals in Robotics. DAUIN Politecnico di Torino July 2010

Using the Kalman Filter for SLAM AIMS 2015

Autonomous Mobile Robot Design

Probabilistic Fundamentals in Robotics. DAUIN Politecnico di Torino July 2010

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

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

Introduction to Mobile Robotics SLAM: Simultaneous Localization and Mapping

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

Mobile Robot Localization

Probabilistic Fundamentals in Robotics. DAUIN Politecnico di Torino July 2010

Introduction to Unscented Kalman Filter

From Bayes to Extended Kalman Filter

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

TSRT14: Sensor Fusion Lecture 9

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

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

Lecture 2: From Linear Regression to Kalman Filter and Beyond

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

Probabilistic Fundamentals in Robotics

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

2D Image Processing (Extended) Kalman and particle filter

Distributed Data Fusion with Kalman Filters. Simon Julier Computer Science Department University College London

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

Mobile Robot Localization

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

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

2D Image Processing. Bayes filter implementation: Kalman filter

Consistent Triangulation for Mobile Robot Localization Using Discontinuous Angular Measurements

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

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

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

Lecture 2: From Linear Regression to Kalman Filter and Beyond

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

Robot Localization and Kalman Filters

2D Image Processing. Bayes filter implementation: Kalman filter

Parametric Models. Dr. Shuang LIANG. School of Software Engineering TongJi University Fall, 2012

Simultaneous Localization and Mapping Techniques

Lecture 6: Multiple Model Filtering, Particle Filtering and Other Approximations

Constrained State Estimation Using the Unscented Kalman Filter

Data assimilation with and without a model

Robot Mapping. Least Squares. Cyrill Stachniss

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

(Extended) Kalman Filter

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

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

Introduction to Mobile Robotics Probabilistic Robotics

Partially Observable Markov Decision Processes (POMDPs)

Bayesian Approaches Data Mining Selected Technique

9 Multi-Model State Estimation

CHAPTER-17. Decision Tree Induction

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

Markov localization uses an explicit, discrete representation for the probability of all position in the state space.

CMU-Q Lecture 24:

Fundamentals of Data Assimila1on

Data Preprocessing. Cluster Similarity

Data assimilation with and without a model

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

Mobile Robotics II: Simultaneous localization and mapping

Simultaneous Localisation and Mapping in Dynamic Environments (SLAMIDE) with Reversible Data Association

Image Alignment and Mosaicing Feature Tracking and the Kalman Filter

Rao-Blackwellized Particle Filter for Multiple Target Tracking

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

Sensor Tasking and Control

Introduction to Graphical Models

Robust Monte Carlo Methods for Sequential Planning and Decision Making

Mobile Robot Geometry Initialization from Single Camera

Introduction to Machine Learning

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

1 Kalman Filter Introduction

ECE276A: Sensing & Estimation in Robotics Lecture 10: Gaussian Mixture and Particle Filtering

Machine Learning 4771

AUTOMOTIVE ENVIRONMENT SENSORS

Lecture 7: Optimal Smoothing

Chris Bishop s PRML Ch. 8: Graphical Models

Machine Learning Linear Classification. Prof. Matteo Matteucci

SGN (4 cr) Chapter 5

the robot in its current estimated position and orientation (also include a point at the reference point of the robot)

UAV Navigation: Airborne Inertial SLAM

Unsupervised Learning with Permuted Data

Gaussian processes. Chuong B. Do (updated by Honglak Lee) November 22, 2008

Grundlagen der Künstlichen Intelligenz

Lecture 6: Bayesian Inference in SDE Models

Probabilistic numerics for deep learning

Based on slides by Richard Zemel

DEEP LEARNING CHAPTER 3 PROBABILITY & INFORMATION THEORY

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

Dynamic models 1 Kalman filters, linearization,

Machine Learning (CS 567) Lecture 5

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

3 : Representation of Undirected GM

TSRT14: Sensor Fusion Lecture 8

Signal Processing - Lecture 7

Ch 4. Linear Models for Classification

Transcription:

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

Goals What will we learn Gain an appreciation for what SLAM is and can accomplish Understand the underlying theory behind SLAM Understand the terminology and fundamental building blocks of SLAM algorithms Appreciate the deficiencies of SLAM and SLAM algorithms Won t focus on the math, but the concept Online non-linear feature based SLAM with unknown data association

Outline What is SLAM? Probabilistic basis of SLAM EKF SLAM Data Association Closing the Loop FastSLAM Sub-Mapping SLAM Resources Questions?

What is SLAM? Simultaneous Localization and Mapping Given an unknown environment and vehicle pose: Move through the environment Estimate the robot pose Generate a map of environmental features Use the robot pose estimate to improve the map landmark position estimates Use the landmark estimates to improve the robot pose estimate

What is SLAM? and why do we need it? Robot motion models aren t accurate Wheel odometry error is cumulative IMU sensors errors Maps are generated from sensors on the vehicle. If we can t accurately predict the robot pose then how can we produce an accurate map. GPS can help but is not always available or reliable.

What is SLAM? and why do we need it?

What is SLAM? and why do we need it?

Given: What is SLAM? The SLAM problem Robot control signal u k (or measurement) A set of feature observations z K (sensor measurements) Estimate: Map of landmarks M k+1 Robot Pose V k+1 Sources of Error: Control signal Mapping sensor Motion model Observation model

Probabilistic Basis of SLAM Probability Theory Probability Theory gives us a framework for dealing with these sources of error The online SLAM theory is: p(v k+1, M k+1 z k, u k ) Estimate the Joint Probability of V k+1 and M k+1 conditioned on z k, u k (Joint Conditional PDF)

Probabilistic Basis of SLAM SLAM Probability toolkit Conditional Probability p(x y) = p(x,y) p(y) Product Rule p(x, y) = p(x y)p(y) Bayes Rule p(x y) = p(y x)p(x) p(y) p(x y) = ηp(y x)p(x) Gaussian PDF p(x) = det(2πσ) 1 2 exp 1 2 (x x)t Σ 1 (x x) or

Probabilistic Basis of SLAM SLAM as a Bayesian filter p(v k+1, M k+1 z k+1, u k+1 ) =

Probabilistic Basis of SLAM SLAM as a Bayesian filter p(v k+1, M k+1 z k+1, u k+1 ) = ηp(z k+1 V k+1, M k+1 )p(v k+1, M k+1 z k, u k+1 ) (Bayes Filter)

Probabilistic Basis of SLAM SLAM as a Bayesian filter p(v k+1, M k+1 z k+1, u k+1 ) = ηp(z k+1 V k+1, M k+1 )p(v k+1, M k+1 z k, u k+1 ) (Bayes Filter) = ηp(z k+1 V k+1, M k+1 ) p(v k+1, M k+1 V k, z k, u k+1 )p(v k z k, u k+1 )dv k

Probabilistic Basis of SLAM SLAM as a Bayesian filter p(v k+1, M k+1 z k+1, u k+1 ) = ηp(z k+1 V k+1, M k+1 )p(v k+1, M k+1 z k, u k+1 ) (Bayes Filter) = ηp(z k+1 V k+1, M k+1 ) p(v k+1, M k+1 V k, z k, u k+1 )p(v k z k, u k+1 )dv k = ηp(z k+1 V k+1, M k+1 ) p(v k+1 V k, u k )p(v k, M k z k, u k )dv k No closed form solution Approximate the solution using an Extended Kalman Filter

Probabilistic Basis of SLAM SLAM as a Bayesian filter p(v k+1, M k+1 z k+1, u k+1 ) = ηp(z k+1 V k+1, M k+1 )p(v k+1, M k+1 z k, u k+1 ) (Bayes Filter) = ηp(z k+1 V k+1, M k+1 ) p(v k+1, M k+1 V k, z k, u k+1 )p(v k z k, u k+1 )dv k = ηp(z k+1 V k+1, M k+1 ) p(v k+1 V k, u k )p(v k, M k z k, u k )dv k Prior probability: Prior state and covariance estimates from the last filter iteration

Probabilistic Basis of SLAM SLAM as a Bayesian filter p(v k+1, M k+1 z k+1, u k+1 ) = ηp(z k+1 V k+1, M k+1 )p(v k+1, M k+1 z k, u k+1 ) (Bayes Filter) = ηp(z k+1 V k+1, M k+1 ) p(v k+1, M k+1 V k, z k, u k+1 )p(v k z k, u k+1 )dv k = ηp(z k+1 V k+1, M k+1 ) p(v k+1 V k, u k )p(v k, M k z k, u k )dv k Motion Model: Probabilistic motion model estimates the new vehicle pose covariance estimates from the prior estimate and the control

Probabilistic Basis of SLAM SLAM as a Bayesian filter p(v k+1, M k+1 z k+1, u k+1 ) = ηp(z k+1 V k+1, M k+1 )p(v k+1, M k+1 z k, u k+1 ) (Bayes Filter) = ηp(z k+1 V k+1, M k+1 ) p(v k+1, M k+1 V k, z k, u k+1 )p(v k z k, u k+1 )dv k = ηp(z k+1 V k+1, M k+1 ) p(v k+1 V k, u k )p(v k, M k z k, u k )dv k Measurement Model: Measurement model gives the expected value of the feature observations.

Probabilistic Basis of SLAM Gaussian PDF

Probabilistic Basis of SLAM Gaussian PDF

EKF SLAM Simultaneous Localization and Mapping: Joint estimate both robot pose and position of unique landmarks Landmark estimates improve robot pose estimates and vice versa Use standard Extended Kalman Filtering techniques Assumes Gaussian noise and error. x m 1 y M k = 1. m xn m yn m, V k = x r k y r k θ r k

EKF SLAM Algorithm X k = ( Vk M k ) ( Pv P, P k = vm P T vm P m ) (1) Prediction - A prediction of the new state vector and covariance matrix is calculated from the previous state and covariance, and the new control u k.

EKF SLAM Algorithm X k = ( Vk M k ) ( Pv P, P k = vm P T vm P m ) (1) Data Association - Find matches between the current landmarks M k and the new set of observed features z k.

EKF SLAM Algorithm X k = ( Vk M k ) ( Pv P, P k = vm P T vm P m ) (1) Measurement Update - Calculate the Kalman gain for each observed landmark and update the state and covariance values based on that Kalman gain and the measurement innovation.

EKF SLAM Algorithm X k = ( Vk M k ) ( Pv P, P k = vm P T vm P m ) (1) Augmentation - Integrate newly observed landmarks into the state vector and covariance matrix.

EKF SLAM Linearization Kalman Filters work under a linear Gaussian assumption Robot motion and measurement functions are non-linear Use Taylor Expansion to linearize (Approximate a Gaussian) g g + g g is Jacobian of the function with respect to its variables

EKF SLAM Linearization

EKF SLAM Prediction Predict the robot motion from the control signal Linearize to approximate the Gaussian V k+1 = V k + V

EKF SLAM Prediction Predict the robot motion from the control signal Linearize to approximate the Gaussian V k+1 = x r k y r k θ r k + v k ω k sin(θk r ) + v k ω k sin(θk r + ω k t) v k ω k cos(θk r ) v k ω k cos(θk r + ω k t) ω k t

EKF SLAM Prediction Predict the robot motion from the control signal Linearize to approximate the Gaussian P v(k+1) = G k P v(k) Gk T P vm(k+1) = R k QR ( k T ) Pv(k+1) Pvm(k+1) P k+1 = P vm(k+1) T P m G linearizes the state transition function R maps additional motion noise into the state space

EKF SLAM Feature Extraction Algorithms Extract stable salient features from environment):

EKF SLAM Feature Extraction Algorithms What do we want in feature extraction algorithm?

EKF SLAM Feature Extraction Algorithms What do we want in feature extraction algorithm? Stable features Outlier rejection Accuracy Speed

EKF SLAM Feature Extraction Algorithms What do we want in feature extraction algorithm? Expectation Maximization

EKF SLAM Feature Extraction Algorithms What do we want in feature extraction algorithm? RANSAC

EKF SLAM Feature Extraction Algorithms What do we want in feature extraction algorithm? Split and Merge

EKF SLAM Feature Extraction Algorithms What do we want in feature extraction algorithm? Hough Transform

EKF SLAM Feature Extraction Algorithms What do we want in feature extraction algorithm? Incremental Line Fitting

EKF SLAM Laser Feature Extraction Extract features from Raw laser data Incremental algorithm (line tracking) Fit a line to a set of points Compute the residual If below error threshold add another point and repeat If above the last point added is a feature

EKF SLAM Data Association Find matches between features and landmarks For each feature Calculate the predicted feature for each landmark (measurement model) compute the Mahalanobis Distance: choose the feature/landmark with the lowest distance (Maximum Likelihood) below some threshold End for

EKF SLAM Data Association Measurement Model: ( ) ( ) r zj m m = j y 2 + x βj m = 2 arctan ( y, x)

EKF SLAM Data Association Measurement Model: ( ) ( ) r zj m m = j y 2 + x βj m = 2 arctan ( y, x) Mahalanobis Distance normalizes feature/landmark distance based on their covariances: d ij = (z i z m j ) T (H j P k+1 H j T + R) 1 (z i z m j )

EKF SLAM Why Mahalanobis Distance? Why Mahalanobis Distance:

EKF SLAM Why Mahalanobis Distance?

EKF SLAM Why Mahalanobis Distance? Points which lie on the same covariance ellipse have are equidistant

EKF SLAM Update For each data association Calculate Kalman Gain: K j = P k+1 H j T (H j Pk+1 H j T + R) 1 H linearizes the measurement model Update state and covariance estimates: X k+1 = X k+1 + K j (z i z m j ) P k+1 = P k+1 K j H j P k+1 End for Innovation vector - Larger bigger correction Kalman Gain - Weights the innovation vector. Smaller measurement error higher gain (trust the measurement) Smaller covariance smaller gain (trust the prediction)

EKF SLAM Augment State Vector and Covariance matrix grow as new landmarks are observed If a feature has no matches, add it to the state vector as a new landmark

EKF SLAM Augment New Landmark Locations: x m y m i = xk r + r i cos(θk r + β i) i = yk r + r i sin(θk r + β i)

EKF SLAM Augment Append to state vector: X = X xi m yi m

EKF SLAM Augment Original Covariance Matrix: ( ) Pv P P = vm P vm T P m

EKF SLAM Augment Augmented Covariance Matrix: P a = P v P vm P T T v F i T P vm P m P T T vm F i F i P v F i P vm F i P v F T T i + M i RM i F and M are the Jacobians which linearize the new landmark equations with respect to vehicle pose and measurement variables respectively

EKF SLAM Other Issues Can use provisional landmark list to reject spurious features Pruning (removing old/irrelevant landmarks) Landmark Signatures (reflectivity/color/shape/etc.) Landmark minimum distance Intelligent update (Only update relevant landmarks) Sub-Mapping (more on this later)

EKF SLAM Advantages Straightforward application of the EKF Large body of research to pull from Works reasonably well for small number of features and distinct landmarks

EKF SLAM Disadvantages Complexity Quadratic with number of features No guarantee of convergence in non-linear case Make hard decisions about data associations Can t correct for erroneous data associations Need sufficiently distinct landmarks (low clutter) Gaussian Assumption

EKF SLAM Variants Unscented KF SLAM Linearization using Sigma points Preserves the true mean and covariance of the posterior Extended Information Filter SLAM Dual representation of EKF Less complex measurement update

Data Association Erroneous data association WILL cause SLAM to fail! 1 feature to 2 landmarks 2 features to 1 landmark clutter Symmetry Reduce the max Mahalanobis distance?

Data Association How do determine the correspondence between a feature and landmark? Individual Compatibility Joint Compatibility Branch and Bound Combined Constrained Data Association Randomized Joint Compatibility Multi hypothesis Data Association

Data Association Individual Compatibility Calculate Mahalanobis distance from each feature to landmark Choose feature with smallest distance to landmark within threshold (validation gate) Disregard ambiguous associations Advantage: Simple Disadvantage: Can be error prone especially in clutter

Data Association Joint Compatibility Branch and Bound Consider multiple associations simultaneously Find the largest set of matches which correspond Joint Mahalanobis distance measurement with joint validation gate Branch and bound interpretation tree search Advantage: Robust Disadvantage: Tree search computation/may be Ambiguous sets

Data Association Joint Compatibility Branch and Bound Potential Matches z1 L1 or L2 z2 L2 or L3 z3 L4 Null

Data Association Joint Compatibility Branch and Bound

Data Association Combined Constrained Data Association Correspondence Graph technique Nodes are individually compatible associations Edges are compatible associations Find the maximum clique of associations that are mutually compatible Consider both relative and absolute constraints Advantage: Can work with no pose info (relative constraints) Disadvantage: May be ambiguous sets

Data Association Randomized Joint Compatibility JCBB with RANSAC Uses relative constraints Randomly select m of the n feature measurements Advantage: Reduced complexity, no pose necessary Disadvantage: Don t always know P fail and P good

Closing the Loop What is loop closing? Even with the best SLAM algorithm pose uncertainty will increase as the vehicle moves. This pose uncertainty means that landmark locations further from the map origin have a higher uncertainty Revisiting a previously observed landmarks significantly reduces uncertainty in robot and landmark pose estimates Errors in landmark estimates are correlated with robot pose New pose info necessarily improved landmark estimates

Closing the Loop How to Close the loop Map Matching Techniques (feature matching) Can use pose estimate to constrain the search Expectation Maximization Algorithm Non-linear Optimization

FastSLAM Represent probability distributions by set of particles Rao-Blackwellized particle filter (low dimensional EKFs) Each particle maintains its own pose and map estimates (multi-hypothesis) Each landmark has its own EKF N landmarks and M particles we have MxN + 1 filters

Do M times: FastSLAM Algorithm Retrieve pose from particle k Predict a new pose (motion model) Data Association Measurement Update Importance Weight END Re-sample with Replacement using the importance weight Raw Odometry FastSLAM

FastSLAM Advantages Time logarithmic to number of landmarks Multi-hypothesis data association (robustness) No linearization of non-linear motion models Solves both full SLAM and Online SLAM problems

FastSLAM Disadvantages Throws away correlations Over optimistic pose estimate Harder to close the loop

Sub-Mapping SLAM Partition SLAM into sub-maps Optimally Fuse at a global level periodically Reduces EKF linearization errors Reduces computational complexity Closing the loop techniques for sub-maps

Sub-Mapping SLAM Algorithms ATLAS Hybrid-SLAM Decoupled Stochastic Mapping Hierarchical SLAM Conditionally In dependant SLAM Divide and Conquer EKF SLAM vs. D&C SLAM

Other Topics Visual SLAM SIFT, Harris Corners, SURF, etc. for features No range to features Inverse Depth Muti-robot SLAM Teams map building Information sharing/cooperation Learning for SLAM Adaptive SLAM Learnt sensor, observation, motion models 6-DOF SLAM/Mesh Models Feature Extraction Algorithms Scan matching

Resources Probabilistic Robotics SLAM Summer School 2009 http://www.acfr.usyd.edu.au/education/summerschool.shtml openslam.org (MATLAB, C, Different algorithms, data sets, etc.)

Questions?