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

Similar documents
Robot Mapping. Least Squares Approach to SLAM. Cyrill Stachniss

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

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

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

Least Squares and SLAM Pose-SLAM

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

Humanoid Robotics. Least Squares. Maren Bennewitz

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

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

Robot Mapping. TORO Gradient Descent for SLAM. Cyrill Stachniss

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

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

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

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

Robot Mapping. A Short Introduction to Homogeneous Coordinates. Gian Diego Tipaldi, Wolfram Burgard

Humanoid Robotics. Projective Geometry, Homogeneous Coordinates. (brief introduction) Maren Bennewitz

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

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

Practical Course WS 2010 Simultaneous Localization and Mapping

Camera calibration. Robotic vision. Ville Kyrki

The Efficient Extension of Globally Consistent Scan Matching to 6 DoF

(Sparse) Linear Solvers

Practical Course WS12/13 Introduction to Monte Carlo Localization

Multiview Stereo COSC450. Lecture 8

What is the SLAM problem?

From Least-Squares to ICP

CVPR 2014 Visual SLAM Tutorial Efficient Inference

(Sparse) Linear Solvers

Probabilistic Robotics

EKF Localization and EKF SLAM incorporating prior information

CS231A Course Notes 4: Stereo Systems and Structure from Motion

Autonomous Mobile Robot Design

Simultaneous Localization and Mapping

Introduction to Mobile Robotics SLAM Landmark-based FastSLAM

Tracking system. Danica Kragic. Object Recognition & Model Based Tracking

Visual Tracking (1) Tracking of Feature Points and Planar Rigid Objects

Localization and Map Building

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

Computational Fluid Dynamics - Incompressible Flows

Probabilistic Robotics. FastSLAM

TORO - Efficient Constraint Network Optimization for SLAM

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

Visual Tracking (1) Feature Point Tracking and Block Matching

Efficient Sparse Pose Adjustment for 2D Mapping

First scan matching algorithms. Alberto Quattrini Li University of South Carolina

Matrix Inverse 2 ( 2) 1 = 2 1 2

Chapter 18. Geometric Operations

COS Lecture 13 Autonomous Robot Navigation

3-D Tomographic Reconstruction

CS 664 Structure and Motion. Daniel Huttenlocher

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 263

Spring Localization II. Roland Siegwart, Margarita Chli, Juan Nieto, Nick Lawrance. ASL Autonomous Systems Lab. Autonomous Mobile Robots

Spring Localization II. Roland Siegwart, Margarita Chli, Martin Rufli. ASL Autonomous Systems Lab. Autonomous Mobile Robots

Interlude: Solving systems of Equations

Robot Mapping. Grid Maps. Gian Diego Tipaldi, Wolfram Burgard

Autonomous Navigation for Flying Robots

Linear Equation Systems Iterative Methods

Numerical Methods for PDEs : Video 11: 1D FiniteFebruary Difference 15, Mappings Theory / 15

Chapter 7: Computation of the Camera Matrix P

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6

Evaluation of Pose Only SLAM

Experimental Analysis of Dynamic Covariance Scaling for Robust Map Optimization Under Bad Initial Estimates

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

Localization, Mapping and Exploration with Multiple Robots. Dr. Daisy Tang

Contents. I Basics 1. Copyright by SIAM. Unauthorized reproduction of this article is prohibited.

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

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

Reminder: Lecture 20: The Eight-Point Algorithm. Essential/Fundamental Matrix. E/F Matrix Summary. Computing F. Computing F from Point Matches

A Tree Parameterization for Efficiently Computing Maximum Likelihood Maps using Gradient Descent

Uncertainties: Representation and Propagation & Line Extraction from Range data

5.2 Surface Registration

CS545 Contents IX. Inverse Kinematics. Reading Assignment for Next Class. Analytical Methods Iterative (Differential) Methods

Algebraic Iterative Methods for Computed Tomography

Analysis, optimization, and design of a SLAM solution for an implementation on reconfigurable hardware (FPGA) using CńaSH

Basics of Localization, Mapping and SLAM. Jari Saarinen Aalto University Department of Automation and systems Technology

Factorization with Missing and Noisy Data

3D Point Cloud Processing

Efficient Estimation of Accurate Maximum Likelihood Maps in 3D

EXTENSION. a 1 b 1 c 1 d 1. Rows l a 2 b 2 c 2 d 2. a 3 x b 3 y c 3 z d 3. This system can be written in an abbreviated form as

OPPA European Social Fund Prague & EU: We invest in your future.

Iterative Methods for Solving Linear Problems

Computer Vision I - Algorithms and Applications: Multi-View 3D reconstruction

D-SLAM: Decoupled Localization and Mapping for Autonomous Robots

The real voyage of discovery consists not in seeking new landscapes, but in having new eyes.

Artificial Intelligence for Robotics: A Brief Summary

Computational Optical Imaging - Optique Numerique. -- Multiple View Geometry and Stereo --

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

Matching. Compare region of image to region of image. Today, simplest kind of matching. Intensities similar.

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

Introduction to Mobile Robotics Iterative Closest Point Algorithm. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Kai Arras

Visual Tracking (1) Pixel-intensity-based methods

Introduction to Mobile Robotics SLAM Grid-based FastSLAM. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

Implementation of Odometry with EKF for Localization of Hector SLAM Method

Numerical Linear Algebra

EFFICIENT SOLVER FOR LINEAR ALGEBRAIC EQUATIONS ON PARALLEL ARCHITECTURE USING MPI

Introduction to Mobile Robotics

SELECTIVE ALGEBRAIC MULTIGRID IN FOAM-EXTEND

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

Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2018

Surface Registration. Gianpaolo Palma

Transcription:

Robot Mapping Three Main SLAM Paradigms Least Squares Approach to SLAM Kalman filter Particle filter Graphbased Cyrill Stachniss least squares approach to SLAM 1 2 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 Graph-Based SLAM! Constraints connect the poses of the robot while it is moving! Constraints are inherently uncertain Today: Application to SLAM 3 Robot pose Constraint 4

Graph-Based SLAM Idea of Graph-Based SLAM! Observing previously seen areas generates constraints between nonsuccessive poses Robot pose Constraint 5! 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 minimize the error introduced by the constraints 6 Graph-Based SLAM in a Nutshell Graph-Based SLAM in a Nutshell! Every node in the graph corresponds to a robot position and a laser measurement! 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! An edge between two nodes represents a spatial constraint between the nodes KUKA Halle 22, courtesy of P. Pfaff 7 KUKA Halle 22, courtesy of P. Pfaff 8

Graph-Based SLAM in a Nutshell! Once we have the graph, we determine the most likely map by correcting the nodes Graph-Based SLAM in a Nutshell! Once we have the graph, we determine the most likely map by correcting the nodes like this 9 10 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 The Overall SLAM System! Interplay of front-end and back-end! Map helps to determine constraints by reducing the search space! Topic today: optimization raw data Graph Construction (Front-End) node positions graph (nodes & edges) Graph Optimization (Back-End) 11 today 12

The Graph! It consists of n nodes! Each is a 2D or 3D transformation (the pose of the robot at time ti)! A constraint/edge exists between the nodes and if Create an Edge If (1)! the robot moves from to! Edge corresponds to odometry The edge represents the odometry measurement 13 14 Create an Edge If (2)! the robot observes the same part of the environment from and from 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 x i Measurement from x j Measurement from 15 Edge represents the position of seen from based on the observation 16

Transformations! Transformations can be expressed using homogenous coordinates! Odometry-Based edge! Observation-Based edge How node i sees node j 17 Homogenous Coordinates! H.C. are a system of coordinates used in projective geometry! Projective geometry is an alternative algebraic representation of geometric objects and transformations! Formulas involving H.C. are often simpler than in the Cartesian world! A single matrix can represent affine transformations and projective transformations 18 Homogenous Coordinates! H.C. are a system of coordinates used in projective geometry! Projective geometry is an alternative algebraic representation of geometric objects and transformations! Formulas involving H.C. are often simpler than in the Cartesian world! A single matrix can represent affine transformations and projective transformations 19 Homogenous Coordinates! N-dim space expressed in N+1 dim! 4 dim. for modeling the 3D space! To HC:! Backwards:! Vector in HC:! Translation:! Rotation: 20

The Edge Information Matrices Pose Graph! Observations are affected by noise! Information matrix for each edge to encode its uncertainty! The bigger, the more the edge matters in the optimization Questions! What do the information matrices look like in case of scan-matching vs. odometry?! What should these matrices look like when moving in a long, featureless corridor? 21 observation of from nodes according to the graph edge error 22 Pose Graph Least Squares SLAM observation of from edge! This error function looks suitable for least squares error minimization nodes according to the graph error! Goal: 23 24

Least Squares SLAM! This error function looks suitable for least squares error minimization Least Squares SLAM! This error function looks suitable for least squares error minimization Question:! What is the state vector? Question:! What is the state vector?! Specify the error function! One block for each node of the graph 25 26 The Error Function! Error function for a single constraint measurement x j referenced w.r.t. x i! Error as a function of the whole state vector! Error takes a value of zero if Gauss-Newton: The Overall Error Minimization Procedure! Define the error function! Linearize the error function! Compute its derivative! Set the derivative to zero! Solve the linear system! Iterate this procedure until convergence 27 28

Linearizing the Error Function! We can approximate the error functions around an initial guess via Taylor expansion Derivative of the Error Function! Does one error term depend on all state variables? with 29 30 Derivative of the Error Function! Does one error term depend on all state variables? No, only on and Derivative of the Error Function! Does one error term depend on all state variables? No, only on and! Is there any consequence on the structure of the Jacobian? 31 32

Derivative of the Error Function! Does one error term depend on all state variables? No, only on and! Is there any consequence on the structure of the Jacobian? Yes, it will be non-zero only in the rows corresponding to and Jacobians and Sparsity! Error depends only on the two parameter blocks and! The Jacobian will be zero everywhere except in the columns of and 33 34 Consequences of the Sparsity Illustration of the Structure! We need to compute the coefficient vector and matrix : Non-zero only at x i and x j! The sparse structure of will result in a sparse structure of! This structure reflects the adjacency matrix of the graph 35 36

Illustration of the Structure Illustration of the Structure Non-zero only at x i and x j Non-zero only at x i and x j Non-zero on the main diagonal at x i and x j Non-zero on the main diagonal at x i and x j... and at the blocks ij,ji 37 38 Illustration of the Structure + + + Consequences of the Sparsity! An edge contributes to the linear system via and! The coefficient vector is: + + +! It is non-zero only at the indices corresponding to and 39 40

Consequences of the Sparsity! The coefficient matrix of an edge is:! Non-zero only in the blocks relating i,j 41 Sparsity Summary! An edge ij contributes only to the! i th and the j th block of! to the blocks ii, jj, ij and ji of! Resulting system is sparse! System can be computed by summing up the contribution of each edge! Efficient solvers can be used! Sparse Cholesky decomposition! Conjugate gradients! many others 42 The Linear System! Vector of the states increments:! Coefficient vector: Building the Linear System For each constraint:! Compute error! Compute the blocks of the Jacobian:! System matrix:! Update the coefficient vector:! Update the system matrix: 43 44

Algorithm Example on the Blackboard 45 46 Trivial 1D Example! Two nodes and one observation What Went Wrong?! The constraint specifies a relative constraint between both nodes! Any poses for the nodes would be fine as long a their relative coordinates fit! One node needs to be fixed constraint that sets dx 1 =0 BUT??? 47 48

Role of the Prior Real World Examples! We saw that the matrix has not full rank (after adding the constraints)! The global frame had not been fixed! Fixing the global reference frame is strongly related to the prior! A Gaussian estimate about results in an additional constraint! E.g., first pose in the origin: 49 50 Fixing a Subset of Variables! Assume that the value of certain variables during the optimization is known a priori! We may want to optimize all others and keep these fixed! How? Fixing a Subset of Variables! Assume that the value of certain variables during the optimization is known a priori! We may want to optimize all others and keep these fixed! How?! If a variable is not optimized, it should disappears from the linear system 51 52

Fixing a Subset of Variables! Assume that the value of certain variables during the optimization is known a priori! We may want to optimize all others and keep these fixed! How?! If a variable is not optimized, it should disappears from the linear system! Construct the full system! Suppress the rows and the columns corresponding to the variables to fix Why Can We Simply Suppress the Rows and Columns of the Corresponding Variables? 53 Courtesy: R. Eustice 54 Uncertainty! represents the information matrix given the linearization point! Inverting gives the (dense) covariance matrix! The diagonal blocks of the covariance matrix represent the (absolute) uncertainties of the corresponding variables Relative Uncertainty To determine the relative uncertainty between and :! Construct the full matrix! Suppress the rows and the columns of (= do not optimize/fix this variable)! Compute the block j,j of the inverse! This block will contain the covariance matrix of w.r.t., which has been fixed 55 56

Example robot Conclusions! The back-end part of the SLAM problem can be effectively solved with Gauss-Newton! The matrix is typically sparse! This sparsity allows for efficiently solving the linear system! One of the state-of-the-art solutions for computing maps 57 58 Literature Least Squares SLAM! Grisetti, Kümmerle, Stachniss, Burgard: A Tutorial on Graph-based SLAM, 2010 59