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

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

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

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

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

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

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

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

Practical Course WS 2010 Simultaneous Localization and Mapping

Robot Mapping. TORO Gradient Descent for SLAM. Cyrill Stachniss

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

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

Introduction to Mobile Robotics SLAM Landmark-based FastSLAM

TORO - Efficient Constraint Network Optimization for SLAM

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

Simultaneous Localization and Mapping

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

Graph-Based SLAM and Open Source Tools. Giorgio Grisetti

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

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

Least Squares and SLAM Pose-SLAM

Practical Course WS12/13 Introduction to Monte Carlo Localization

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

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

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

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

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

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

EKF Localization and EKF SLAM incorporating prior information

Introduction to Mobile Robotics

Probabilistic Robotics. FastSLAM

Dynamic Covariance Scaling for Robust Map Optimization

What is the SLAM problem?

Introduction to Mobile Robotics Multi-Robot Exploration

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

Probabilistic Robotics

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

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

Evaluation of Pose Only SLAM

Information-Theoretic Compression of Pose Graphs for Laser-Based SLAM

Proceedings of the 2016 Winter Simulation Conference T. M. K. Roeder, P. I. Frazier, R. Szechtman, E. Zhou, T. Huschka, and S. E. Chick, eds.

Semantic Mapping and Reasoning Approach for Mobile Robotics

Advanced Techniques for Mobile Robotics Bag-of-Words Models & Appearance-Based Mapping

Introduction to Mobile Robotics

Unit Dual-Quaternion Parametrisation for Graph SLAM

An Approach to Solving Large-Scale SLAM Problems with a Small Memory Footprint

Humanoid Robotics. Monte Carlo Localization. Maren Bennewitz

08 An Introduction to Dense Continuous Robotic Mapping

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

Probabilistic Robotics

Introduction to Mobile Robotics Techniques for 3D Mapping

arxiv: v1 [cs.ro] 24 Nov 2018

Analyzing the Quality of Matched 3D Point Clouds of Objects

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

Introduction to Mobile Robotics Path Planning and Collision Avoidance

Humanoid Robotics. Least Squares. Maren Bennewitz

From Least-Squares to ICP

Statistical Techniques in Robotics (16-831, F10) Lecture#06(Thursday September 11) Occupancy Maps

Fast and Accurate SLAM with Rao-Blackwellized Particle Filters

Probabilistic Robotics Course. Multi-Point Registration

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

Efficient Estimation of Accurate Maximum Likelihood Maps in 3D

Using the ikart mobile platform

Data Association for SLAM

Probabilistic Robotics

Grid-Based Models for Dynamic Environments

Data Mining. Dr. Raed Ibraheem Hamed. University of Human Development, College of Science and Technology Department of Computer Science

Human Body Recognition and Tracking: How the Kinect Works. Kinect RGB-D Camera. What the Kinect Does. How Kinect Works: Overview

Autonomous Mobile Robot Design

Introduction to Mobile Robotics Probabilistic Motion Models

Probabilistic Robotics

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

CVPR 2014 Visual SLAM Tutorial Efficient Inference

Uncertainties: Representation and Propagation & Line Extraction from Range data

Introduction to Mobile Robotics. SLAM: Simultaneous Localization and Mapping

AUTONOMOUS SYSTEMS. LOCALIZATION, MAPPING & SIMULTANEOUS LOCALIZATION AND MAPPING Part V Mapping & Occupancy Grid Mapping

Minimizing Noise and Bias in 3D DIC. Correlated Solutions, Inc.

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

Recovering Particle Diversity in a Rao-Blackwellized Particle Filter for SLAM After Actively Closing Loops

AUTONOMOUS SYSTEMS. PROBABILISTIC LOCALIZATION Monte Carlo Localization

Using Augmented Measurements to Improve the Convergence of ICP. Jacopo Serafin and Giorgio Grisetti

Animation by Adaptation

Lecture 7: Segmentation. Thursday, Sept 20

g 2 o: A General Framework for Graph Optimization

A Probabilistic Framework for Learning Kinematic Models of Articulated Objects

Lecture 20: The Spatial Semantic Hierarchy. What is a Map?

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

UNIVERSITÀ DEGLI STUDI DI GENOVA MASTER S THESIS

Simuntaneous Localisation and Mapping with a Single Camera. Abhishek Aneja and Zhichao Chen

Null Space Optimization for Effective Coverage of 3D Surfaces using Redundant Manipulators

Motion Capture using Body Mounted Cameras in an Unknown Environment

Deep Incremental Scene Understanding. Federico Tombari & Christian Rupprecht Technical University of Munich, Germany

Delayed Optimisation for Robust and Linear Pose-Graph SLAM

Visual SLAM. An Overview. L. Freda. ALCOR Lab DIAG University of Rome La Sapienza. May 3, 2016

Robotics. Chapter 25-b. Chapter 25-b 1

Efficient Continuous-time SLAM for 3D Lidar-based Online Mapping

COS Lecture 13 Autonomous Robot Navigation

PacSLAM Arunkumar Byravan, Tanner Schmidt, Erzhuo Wang

Helmert s and Bowie s Geodetic Mapping Methods and Their Relation to Graph-Based SLAM

An Embedded Particle Filter SLAM implementation using an affordable platform

Transcription:

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

Graph-Based SLAM Measurements connect the poses of the robot while it is moving Measurements are inherently uncertain Robot pose Measurement 2

Graph-Based SLAM Observing previously seen areas generates measurements between non-successive poses Robot pose Measurement 3

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 measurement between them Graph-Based SLAM: Build the graph and find a node configuration that minimize the measurement error 4

Front-End and Back-End Front-end extracts constraints from the sensor data (data association!) Back-end optimizes the pose-graph to reduce the measurement error node positions raw data graph construction edges graph optimization (front-end) (back-end) Intermediate solutions are needed to make good data associations 5

Hierarchical Pose-Graph bottom layer (input data) first layer second layer top layer There is no need to optimize the whole graph when a new observation is obtained 6

Motivation SLAM front-end seeks for loopclosures Requires to compare observations to all previously obtained ones In practice, limit search to areas in which the robot is likely to be This requires to know in which parts of the graph to search for data associations 7

Hierarchical Approach Insight: to find loop closing points, one doesn t need a perfect global map Idea: correct only the core structure of the scene, not the overall graph The hierarchical pose-graph is a sparse approximation of the original It exploits the facts that in SLAM Robot moved through the scene and it not teleported to locations Sensors have a limited range 8

Key Idea of the Hierarchy Input is the dense graph 9

Key Idea of the Hierarchy Input is the dense graph Group the nodes of the graph based on their local connectivity 10

Key Idea of the Hierarchy Input is the dense graph Group the nodes of the graph based on their local connectivity For each group, select one node as a representative 11

Key Idea of the Hierarchy The representatives are the nodes in a new sparsified graph (upper level) 12

Key Idea of the Hierarchy The representatives are the nodes in a new sparsified graph (upper level) Edges of the sparse graph are determined by the connectivity of the groups of nodes The parameters of the sparse edges are estimated via local optimization 13

Key Idea of the Hierarchy The representatives are the nodes in a new sparsified graph (upper level) Edges of the sparse graph are determined by the connectivity of the groups of nodes The parameters of the sparse edges are estimated via local optimization Process is repeated recursively 14

Key Idea of the Hierarchy Only the upper level of the hierarchy is optimized completely 15

Key Idea of the Hierarchy Only the upper level of the hierarchy is optimized completely The changes are propagated to the bottom levels only close to the current robot position Only this part of the graph is relevant for data association Robot position 16

Construction of the Hierarchy When and how to generate a new group? A (simple) distance-based decision The first node of a new group is the representative When to propagate information downwards? Only when there are inconsistencies How to construct an edge in the sparsified graph? Next slides How to propagate information downwards? Next slides 17

Determining Edge Parameters Given two connected groups How to compute a virtual observation and the information matrix for the new edge? 18

Determining Edge Parameters Optimize the two subgroups independently from the rest 19

Determining Edge Parameters Optimize the two subgroups independently from the rest The observation is the relative transformation between the two representatives 20

Determining Edge Parameters Optimize the two subgroups independently from the rest The observation is the relative transformation between the two representatives The information matrix is computed from the diagonal block of the matrix H Inverse of the [b,b] block of H -1 21

Propagating Information Downwards All representatives are nodes from the lower (bottom) level same node 22

Propagating Information Downwards All representatives are nodes from the lower (bottom) level Information is propagated downwards by transforming the group at the lower level using a rigid body transformation 23

Propagating Information Downwards All representatives are nodes from the lower (bottom) level Information is propagated downwards by transforming the group at the lower level using a rigid body transformation Only if the lower level becomes inconsistent, optimize at the lower level 24

For the Best Possible Map Run the optimization on the lowest level (at the end) For offline processing with all measurements, the hierarchy helps convergence in case of large errors In this case, one pass up the tree (to construct the edges) followed by one pass down the tree is sufficient 25

Stanford Garage Parking garage at Stanford University Nested loops, trajectory of ~7,000m 26

Stanford Garage Result Parking garage at Stanford University Nested loops, trajectory of ~7,000m 27

Stanford Garage Video 28

Intel Research Lab Video 29

Consistency How well does the top level in the hierarchy represent the original input? 30

Consistency How well does the top level in the hierarchy represent the original input? Probability mass of the marginal distribution in the highest level vs. the one of the true estimate (original problem, lowest level) low risk of becoming overly confident one does not ignore too much information 31

Consistency 3 ellipses ~0.1% ~10% Red: overly confident (~0.1% prob. mass) Blue: under confident (~10% prob. mass) 32

Conclusions Hierarchical pose-graph to estimate the structure to support efficient data association Designed for online mapping (interplay between optimization and data association) Higher level represent simplified problem 33

Literature Hierarchical Pose-Graph Optimization Grisetti, Kümmerle, Stachniss, Frese, and Hertzberg: Hierarchical Optimization on Manifolds for Online 2D and 3D Mapping Open-source implementation hosted at http://openslam.org/hog-man.html 34

Slide Information These slides have been created by Cyrill Stachniss as part of the robot mapping course taught in 2012/13 and 2013/14. I created this set of slides partially extending existing material of Giorgio Grisetti and myself. I tried to acknowledge all people that contributed image or video material. In case I missed something, please let me know. If you adapt this course material, please make sure you keep the acknowledgements. Feel free to use and change the slides. If you use them, I would appreciate an acknowledgement as well. To satisfy my own curiosity, I appreciate a short email notice in case you use the material in your course. My video recordings are available through YouTube: http://www.youtube.com/playlist?list=plgnqpqtftogqrz4o5qzbihgl3b1jhimn_&feature=g-list Cyrill Stachniss, 2014 cyrill.stachniss@igg.uni- 35