L15. POSE-GRAPH SLAM. NA568 Mobile Robotics: Methods & Algorithms

Similar documents
CVPR 2014 Visual SLAM Tutorial Efficient Inference

Robot Mapping. Least Squares Approach to SLAM. Cyrill Stachniss

Graphbased. Kalman filter. Particle filter. Three Main SLAM Paradigms. Robot Mapping. Least Squares Approach to SLAM. Least Squares in General

Advanced Techniques for Mobile Robotics Graph-based SLAM using Least Squares. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz

Least Squares and SLAM Pose-SLAM

ICRA 2016 Tutorial on SLAM. Graph-Based SLAM and Sparsity. Cyrill Stachniss

L10. PARTICLE FILTERING CONTINUED. NA568 Mobile Robotics: Methods & Algorithms

Nonlinear State Estimation for Robotics and Computer Vision Applications: An Overview

Autonomous Mobile Robot Design

Humanoid Robotics. Least Squares. Maren Bennewitz

Robot Mapping. Graph-Based SLAM with Landmarks. Cyrill Stachniss

High-precision, consistent EKF-based visual-inertial odometry

Robot Mapping. A Short Introduction to the Bayes Filter and Related Models. Gian Diego Tipaldi, Wolfram Burgard

Incremental Real-time Bundle Adjustment for Multi-camera Systems with Points at Infinity

L17. OCCUPANCY MAPS. NA568 Mobile Robotics: Methods & Algorithms

Graph-Based SLAM (Chap. 15) Robot Mapping. Hierarchical Pose-Graphs for Online Mapping. Graph-Based SLAM (Chap. 15) Graph-Based SLAM (Chap.

Removing Scale Biases and Ambiguity from 6DoF Monocular SLAM Using Inertial

INCREMENTAL SMOOTHING AND MAPPING

Robot Mapping. Graph-Based SLAM with Landmarks. Cyrill Stachniss

INCREMENTAL SMOOTHING AND MAPPING

Lecture 13 Visual Inertial Fusion

Probabilistic Robotics

Information Fusion in Navigation Systems via Factor Graph Based Incremental Smoothing

Practical Course WS12/13 Introduction to Monte Carlo Localization

Overview. EECS 124, UC Berkeley, Spring 2008 Lecture 23: Localization and Mapping. Statistical Models

g2o: A General Framework for Graph Optimization Rainer Kümmerle Giorgio Grisetti Hauke Strasdat Kurt Konolige Wolfram Burgard

GTSAM 4.0 Tutorial Theory, Programming, and Applications

Dealing with Scale. Stephan Weiss Computer Vision Group NASA-JPL / CalTech

Utility-based Map Reduction for Ground and Flight Vehicle Navigation

Graph-Based SLAM and Open Source Tools. Giorgio Grisetti

Introduction to robot algorithms CSE 410/510

Particle Filter in Brief. Robot Mapping. FastSLAM Feature-based SLAM with Particle Filters. Particle Representation. Particle Filter Algorithm

What is the SLAM problem?

Mobile Robotics. Mathematics, Models, and Methods. HI Cambridge. Alonzo Kelly. Carnegie Mellon University UNIVERSITY PRESS

Zürich. Roland Siegwart Margarita Chli Martin Rufli Davide Scaramuzza. ETH Master Course: L Autonomous Mobile Robots Summary

L12. EKF-SLAM: PART II. NA568 Mobile Robotics: Methods & Algorithms

Vision-based Mobile Robot Localization and Mapping using Scale-Invariant Features

Particle Filters. CSE-571 Probabilistic Robotics. Dependencies. Particle Filter Algorithm. Fast-SLAM Mapping

Probabilistic Robotics. FastSLAM

Introduction to Mobile Robotics SLAM Landmark-based FastSLAM

Computer Science and Artificial Intelligence Laboratory Technical Report. MIT-CSAIL-TR January 29, 2010

Robot Mapping. Hierarchical Pose-Graphs for Online Mapping. Gian Diego Tipaldi, Wolfram Burgard

Implementation of Odometry with EKF for Localization of Hector SLAM Method

Lecture 8.2 Structure from Motion. Thomas Opsahl

Robotics. Chapter 25. Chapter 25 1

The Bayes Tree: An Algorithmic Foundation for Probabilistic Robot Mapping

SLAM with SIFT (aka Mobile Robot Localization and Mapping with Uncertainty using Scale-Invariant Visual Landmarks ) Se, Lowe, and Little

Augmented Reality, Advanced SLAM, Applications

Incremental Light Bundle Adjustment for Robotics Navigation

COS Lecture 13 Autonomous Robot Navigation

Smoothing and Mapping using Multiple Robots

Hybrids Mixed Approaches

Autonomous Navigation in Complex Indoor and Outdoor Environments with Micro Aerial Vehicles

This chapter explains two techniques which are frequently used throughout

Università degli Studi di Padova. Graph-Based Simultaneous Localization And Mapping Using a Stereo Camera

Colorado School of Mines. Computer Vision. Professor William Hoff Dept of Electrical Engineering &Computer Science.

TORO - Efficient Constraint Network Optimization for SLAM

Square Root SAM: Simultaneous Localization and Mapping via Square Root Information Smoothing

Simultaneous Localization and Mapping

Final project: 45% of the grade, 10% presentation, 35% write-up. Presentations: in lecture Dec 1 and schedule:

Visual Bearing-Only Simultaneous Localization and Mapping with Improved Feature Matching

Probabilistic Robotics

Announcements. Recap Landmark based SLAM. Types of SLAM-Problems. Occupancy Grid Maps. Grid-based SLAM. Page 1. CS 287: Advanced Robotics Fall 2009

Robot Mapping. SLAM Front-Ends. Cyrill Stachniss. Partial image courtesy: Edwin Olson 1

Practical Course WS 2010 Simultaneous Localization and Mapping

Data Association for SLAM

(Sparse) Linear Solvers

IROS 05 Tutorial. MCL: Global Localization (Sonar) Monte-Carlo Localization. Particle Filters. Rao-Blackwellized Particle Filters and Loop Closing

Factor Graph Based Incremental Smoothing in Inertial Navigation Systems

Robot Mapping. TORO Gradient Descent for SLAM. Cyrill Stachniss

Probabilistic Robotics

ECE276A: Sensing & Estimation in Robotics Lecture 11: Simultaneous Localization and Mapping using a Particle Filter

Humanoid Robotics. Monte Carlo Localization. Maren Bennewitz

Robotic Perception and Action: Vehicle SLAM Assignment

Artificial Intelligence for Robotics: A Brief Summary

Simultaneous Localization and Mapping with Infinite Planes

Revising Stereo Vision Maps in Particle Filter Based SLAM using Localisation Confidence and Sample History

Robot Localization based on Geo-referenced Images and G raphic Methods

Multiview Stereo COSC450. Lecture 8

Incremental Light Bundle Adjustment for Structure From Motion and Robotics

Vision-based Target Tracking and Ego-Motion Estimation using Incremental Light Bundle Adjustment. Michael Chojnacki

Localization and Map Building

CS 231. Inverse Kinematics Intro to Motion Capture

Normalized graph cuts for visual SLAM

Linear-Time Estimation with Tree Assumed Density Filtering and Low-Rank Approximation

Dense Tracking and Mapping for Autonomous Quadrocopters. Jürgen Sturm

isam2: Incremental Smoothing and Mapping with Fluid Relinearization and Incremental Variable Reordering

AMS526: Numerical Analysis I (Numerical Linear Algebra)

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

A novel approach to motion tracking with wearable sensors based on Probabilistic Graphical Models

Optimization of the Simultaneous Localization and Map-Building Algorithm for Real-Time Implementation

SLAM: Robotic Simultaneous Location and Mapping

7630 Autonomous Robotics Probabilities for Robotics

Real-Time Vision-Based State Estimation and (Dense) Mapping

Introduction to Mobile Robotics Bayes Filter Particle Filter and Monte Carlo Localization. Wolfram Burgard

Survey: Simultaneous Localisation and Mapping (SLAM) Ronja Güldenring Master Informatics Project Intellgient Robotics University of Hamburg

Gaussian Processes, SLAM, Fast SLAM and Rao-Blackwellization

(Sparse) Linear Solvers

CS 395T Lecture 12: Feature Matching and Bundle Adjustment. Qixing Huang October 10 st 2018

Evaluation of Pose Only SLAM

Transcription:

L15. POSE-GRAPH SLAM NA568 Mobile Robotics: Methods & Algorithms

Today s Topic Nonlinear Least Squares Pose-Graph SLAM Incremental Smoothing and Mapping

Feature-Based SLAM Filtering Problem: Motion Prediction Causes Fill-in...... Conceptual Abstraction: Full-SLAM Marginalize out the Poses -1

Feature-Based SLAM In feature-based SLAM, the information matrix fills in unless we enforce approximations to make it sparse This is because we are continually marginalizing out the robot trajectory from the state representation What if we were to marginalize out the landmarks instead?...... Feature-Based SLAM Pose-Base SLAM -1... -1...

Pose-Graph SLAM Feature-based SLAM requires approximations to enforce sparsity. Furthermore, this approximation is non-trivial. 5...... Conceptual Abstraction: Full-SLAM Marginalize out the Landmarks...... -1 Key idea: marginalizing out the landmarks preserves locality

Three Main SLAM Paradigms Kalman filter Particle filter Graphbased least squares approach to SLAM Courtesy: C. Stachniss

Least Squares in General Approach for computing a solution for an overdetermined system More equations than unknowns Minimizes the sum of the squared errors in the equations Standard approach to a large set of problems Today: Application to SLAM Courtesy: C. Stachniss

Graph-Based SLAM Constraints connect the poses of the robot while it is moving Constraints are inherently uncertain Robot pose Constraint Courtesy: C. Stachniss

Graph-Based SLAM Observing previously seen areas generates constraints between non-successive poses Robot pose Constraint Courtesy: C. Stachniss

Idea of Graph-Based SLAM Use a graph to represent the problem Every node in the graph corresponds to a pose of the robot during mapping Every edge between two nodes corresponds to a spatial constraint between them Graph-Based SLAM: Build the graph and find a node configuration that minimizes the error introduced by the constraints Courtesy: C. Stachniss

Graph-Based SLAM in a Nutshell Every node in the graph corresponds to a robot position and a laser measurement An edge between two nodes represents a spatial constraint between the nodes Courtesy: C. Stachniss KUKA Halle 22, courtesy of P. Pfaff

Graph-Based SLAM in a Nutshell Every node in the graph corresponds to a robot position and a laser measurement An edge between two nodes represents a spatial constraint between the nodes Courtesy: C. Stachniss KUKA Halle 22, courtesy of P. Pfaff

Graph-Based SLAM in a Nutshell Once we have the graph, we determine the most likely map by correcting the nodes Courtesy: C. Stachniss

Graph-Based SLAM in a Nutshell Once we have the graph, we determine the most likely map by correcting the nodes like this Courtesy: C. Stachniss

Graph-Based SLAM in a Nutshell Once we have the graph, we determine the most likely map by correcting the nodes like this Then, we can render a map based on the known poses Courtesy: C. Stachniss

The Overall SLAM System Interplay of front-end and back-end Map helps to determine constraints by reducing the search space Topic today: optimization node positions raw data Graph Construction (Front-End) graph (nodes & edges) Graph Optimization (Back-End) Courtesy: C. Stachniss today

The Graph It consists of n nodes Each is a 2D or 3D transformation (the pose of the robot at time ) A constraint/edge exists between the nodes and if Courtesy: C. Stachniss

Create an Edge If (1) the robot moves from to Edge corresponds to odometry The edge represents the odometry measurement Courtesy: C. Stachniss

Create an Edge If (2) the robot observes the same part of the environment from and from Measurement from Measurement from Courtesy: C. Stachniss

Create an Edge If (2) the robot observes the same part of the environment from and from Construct a virtual measurement about the position of seen from Edge represents the position of from based on the observation seen Courtesy: C. Stachniss

Transformations Transformations can be expressed using homogenous coordinates Odometry-Based edge Observation-Based edge How node i sees node j Courtesy: C. Stachniss

Visual SLAM: Why Filter?

Visual SLAM

The SLAM Problem (t=0) Landmark measurement Robot Onboard sensors: Wheel odometry Inertial measurement unit (gyro, accelerometer) Sonar Laser range finder Camera RGB-D sensors Landmark

The SLAM Problem (t=1) Odometry measurement Robot Landmark measurement Landmark 1 Landmark 2

The SLAM Problem (t=n-1) Odometry measurement Robot Landmark measurement Landmark 1 Landmark 2

The SLAM Problem (t=n) Odometry measurement Landmark measurement

Factor Graph Representation Odometry measurement Robot pose Landmark measurement Landmark position Bipartite graph with variable nodes and factor nodes

Factor Graph Representation: Pose Graph Odometry measurement Loop closing constraint Robot pose Landmark measurement Landmark position Bipartite graph with variable nodes and factor nodes

Factor Graph Representation: Bundle Adjust. Pose Point measurement Point Bipartite graph with variable nodes and factor nodes

Nonlinear Least-Squares [Dellaert and Kaess, IJRR 06] poses points Gaussian noise Repeatedly solve linearized system (GN) A b

Solving the Linear Least-Squares System Solve: A Normal equations A T A Information matrix Measurement Jacobian

Solving the Linear Least-Squares System Can we simply invert A T A to solve for x? Normal equations A T A Yes, but we shouldn t The inverse of A T A is dense! O(n 3 ) Can do much better by taking advantage of sparsity! Information matrix

Solving the Linear Least-Squares System Solve: [Dellaert and Kaess, IJRR 06] A Normal equations Matrix factorization A T A Information matrix R Measurement Jacobian Square root information matrix

Matrix Square Root Factorization QR on A: Numerically More Stable A QR R Cholesky on A T A: Faster A T A Cholesky R

Retaining Sparsity: Variable Ordering Fill-in depends on elimination order: A T A R [Dellaert and Kaess, IJRR 06] factor Default ordering (poses, landmarks) permute factor Ordering based on COLAMD heuristic [Davis04] (best order: NP hard)

Solving by Backsubstitution After factorization: R T R x = A T b Forward substitution R T y = A T b, solve for y R T Backsubstition R x = y, solve for x R

Full Bundle Adjustment From Strasdat et al, 2011 IVC Visual SLAM: Why filter? Graph grows with time: Have to solve a sequence of increasingly larger BA problems Will become too expensive even for sparse Cholesky F. Dellaert and M. Kaess, Square Root SAM: Simultaneous localization and mapping via square root information smoothing, IJRR 2006

Keyframe Bundle Adjustment Drop subset of poses to reduce density/complexity Only retain keyframes necessary for good map Complexity still grows with time, just slower

Filter Keyframe idea not applicable: map would fall apart Instead, marginalize out previous poses Extended Kalman Filter (EKF) Problems when used for Visual SLAM: All points become fully connected! expensive Relinearization not possible! inconsistent

Incremental Solver Back to full BA and keyframes: New information is added to the graph Older information does not change Can be exploited to obtain an efficient solution!

Incremental Smoothing and Mapping (isam)

isam Solving a growing system: Exact/batch (quickly gets expensive) Approximations Incremental Smoothing and Mapping (isam) Key idea: New measurements -> Append to existing matrix factorization Repair using Givens rotations Periodic batch steps for Relinearization Variable reordering (to keep sparsity) [Kaess et al., TRO 08] R R

Factor Updates with Givens Rotations Zeroing entries with Givens Rotations: Old R factor New rows New R factor: Triangulated using Givens Rotations Numerically stable! Constant time!

Variable Reordering Constrained COLAMD Greedy approach Constrained Ordering Arbitrary placement of newest variable Newest variables forced to the end Number of affected variables: low high Much cheaper!

Variable Reordering Fill-in Incremental ordering still yields good overall ordering Only slightly more fill-in than batch COLAMD ordering Constrained ordering is worse than naïve/greedy: Suboptimal ordering because of partial constraint, but cheaper to update!

isam [Kaess et al., TRO 08] Example from real sequence: Square root inf. matrix Side length: 21000 variables Dense: 1.7GB, sparse: 1MB R 233499 non-zeros 0.1% density 11/column

Next Lecture FastSLAM