Grisetti 2011 - Tutorial graph-based SLAM

Search IconIcon to open search

temp

Backlinks: What is SLAM?

Abstract

  • formulate SLAM using a graph
    • nodes: poses of the robot (as well as landmark postiions) at different points in time
    • edges: constraints between poses
      • come from
        • sensor measurements/observations
        • robot movement/control input
      • constraints can contradict each other, due to effect of noise in sensor readings
  • solve the graph, i.e. compute the map: find the spatial configuration of the nodes that best satisfy the constraints/edges
  • tutorial for back-end (optimisation) part of graph-based SLAM

:: Navigation task: requires a map and knowledge of current position relative to locations in the map

The need for an accurate map

  • systems navigating the map don’t have to rely on external reference systems like GPS sensors
    • GPS isn’t suitable for indoor environments
  • can operate in complex environments while relying only on their on-board sensors

Filtering vs. smoothing Filtering: on-line state (robot pose, map) estimation; “on-line” because incremental in nature Smoothing: full trajectory estimation, typically rely on LSQ minimisation

History of graph-based formulation

  • initially unpopular due to high solving complexity (high dimensional state spaces)
  • later:
    • use structure of SLAM problem
    • advancements in sparse linear algebra
  • now: graph-based SLAM is state-of-the-art (w.r.t. accuracy, speed)

Modelling the probabilistic SLAM formulation

  • DBN (shows temporal structure)
  • Graph-based (shows spatial structure)

Temporal vs spatial pose graphs Image.pngunknown_filename.png

Graph-based SLAM

  • node:
    • robot pose, labelled according to location (as opposed to time as in DBN)
    • measurement acquired at that position
  • edges: spatial constraints (in the form of probability distributions) between poses
    • from odometry/observations
    • :: g2o edges are constraints, which are the optim. function terms
    • edges are like an abstraction of raw measurements into ‘virtual measurements’ (using probability distributions, observation model etc.)
  • main tasks of graph-based SLAM:
    • [graph construction] constructing the graph from raw measurements
      • front-end
      • data association
      • very sensor-dependent
      • “How to interpret sensor data to obtain the graph constraints?”
    • [graph optimisation] finding best pose configuration from graph
      • back-end
      • relies on abstract representation of data, is sensor agnostic
      • “How to compute the map given the constraints?”
  • front- and back-end executions are interleaved (front end requires prior term which comes from back-end)

Observation model unknown_filename.1.png

  • The observation model is usually multimodal:
    • a single observation may result in multiple edges (in the spatial graph)
    • “a feature can be observed from multiple view points/camera poses”
    • the graph connectivity
  • Due to this multimodality, the Gaussian assumption does not hold