Source-linked AI summary

Online Global Loop Closure Detection for Large-Scale Multi-Session Graph-Based SLAM

Mathieu Labbe, François Michaud

arXiv:2407.15305v1cs.RO

TL;DR

The paper addresses unknown initial positioning in multi-session SLAM and the computational limits of global loop closure detection in large environments. It combines global loop closure detection and graph optimization with memory management that restricts processing to part of the map, and demonstrates the approach over five indoor mapping sessions while meeting online requirements.

  • Problem

    Multi-session SLAM must handle unknown positioning after shutdown or relocation, while online loop closure detection and graph optimization become more demanding as the environment grows.

  • Method

    The system uses global loop closure detection across sessions, graph optimization to merge maps, and memory management to limit nodes processed online.

  • Results

    The approach produced a fully connected map from five mapping sessions and satisfied online processing requirements independently of environment size.

  • Takeaways & Limitations

    Global loop closure detection lets the system address the kidnapped robot problem and gross odometry errors while supporting large-scale, long-term, multi-session mapping.

  • Takeaways & Limitations

    Online graph optimization uses only constraints retained in working memory, limiting map quality relative to using all available constraints; offline global optimization remains possible.

Abstract

from arXiv · show

For large-scale and long-term simultaneous localization and mapping (SLAM), a robot has to deal with unknown initial positioning caused by either the kidnapped robot problem or multi-session mapping. This paper addresses these problems by tying the SLAM system with a global loop closure detection approach, which intrinsically handles these situations. However, online processing for global loop closure detection approaches is generally influenced by the size of the environment. The proposed graph-based SLAM system uses a memory management approach that only consider portions of the map to satisfy online processing requirements. The approach is tested and demonstrated using five indoor mapping sessions of a building using a robot equipped with a laser rangefinder and a Kinect.

I. INTRODUCTION

The introduction frames multi-session graph-based SLAM as a problem of global relocalization and scalable online processing. The paper combines global loop closure detection with memory management to address both challenges.

  • Graph-based SLAM represents poses as nodes and odometry or loop-closure transformations as links.
  • Multi-session mapping must handle robots restarting or moving without knowing their position relative to an existing map.This includes the kidnapped robot and initial state problems.
  • Global loop closure detection can identify returns to previous maps independently of the robot’s estimated position.Detected inter-map closures allow session graphs to be combined into a global graph.
  • Online loop closure detection and graph optimization require increasing computation as the environment grows, while mobile robots have limited resources.Memory management limits the map portion processed so detections remain within a fixed time limit.
  • The proposed system uses global loop closures, graph optimization, and memory management to merge multi-session maps while respecting online constraints.It is tested across five indoor mapping sessions.

II. ONLINE MULTI-SESSION GRAPH-BASED SLAM

The system combines graph-based mapping, loop closure detection, graph optimization, and memory management so online processing remains bounded.

  • The map graph stores pose nodes with sensor and visual-word information, plus neighbor and loop-closure links carrying rigid transformations.Neighbor links connect consecutive nodes; loop-closure links connect detected revisits within or across maps.
  • Memory management limits the number of graph nodes available to loop closure detection and graph optimization to satisfy online requirements.

A. Loop Closure Detection

Loop closure detection uses visual words and a Bayesian filter to evaluate hypotheses, then estimates geometric transformations from RGB-D correspondences.

  • A Bayesian filter evaluates loop-closure hypotheses over previous images using SURF-derived visual words from an incremental dictionary.A loop closure is detected when the hypothesis reaches threshold H.
  • RGB images are registered with depth images so visual-word features have 3D positions for matching.
  • RANSAC computes the rigid transformation between matching images from 3D visual-word correspondences.The passage indicates that an inlier criterion is then applied.

B. Graph Optimization

Graph optimization uses node poses and link transformations to propagate loop-closure corrections, while a unique latest-node root handles multi-session graphs.

  • TORO optimizes node poses and link transformations as graph constraints, propagating odometry error corrections through the map.
  • Multi-session maps initially have separate roots and reference frames, preventing direct TORO optimization when inter-session loop closures connect them.
  • The method selects the latest node in the current map as the tree root, providing a uniquely defined root across intra-session and inter-session mapping.

C. Memory Management for Online Multi-Session Mapping

The memory-management approach keeps online loop-closure detection and graph optimization within processing limits by restricting active computation to selected map portions. It uses STM, WM, and LTM to retain relevant nodes while allowing forgotten regions to be retrieved when revisited, trading graph quality for online performance.

  • 1 Hz acquisition requires loop closure detection and graph optimization to finish in under R = 1 second for online mapping.Processing time otherwise increases with graph size, limiting large-scale and long-term operation.
  • STM receives new nodes, WM holds nodes considered for loop closure detection, and LTM stores nodes excluded from online detection and optimization.STM has fixed size S, while WM is controlled by a processing-time limit T.
  • When a forgotten area is revisited, neighboring LTM nodes can be retrieved into WM if at least one node from that area remains in WM.This incremental Retrieval process supports renewed loop-closure detection around the revisited area.
  • Node retention in WM prioritizes locations where the robot spends more time, increasing a node’s weight when consecutive images share visual words above threshold Y.If consecutive images are sufficiently similar, the first image’s weight increases and no new node is created.
  • The local map is the largest fully connected graph linking the latest node to WM nodes through available neighbor and loop-closure links.It can include nodes from more than the latest mapping session, but only reachable WM nodes are optimized.
  • Online optimization omits constraints transferred to LTM, limiting graph quality compared with using all constraints, while offline optimization can still use the global map.This is the stated compromise for satisfying online processing requirements.

III. RESULTS

The experiments evaluate graph optimization, memory management, processing time, and automatic merging across five mapping sessions. Results show online multi-session mapping while retaining only selected map portions in working memory.

  • Experimental setup: The AZIMUT-3 robot uses a URG-04XL laser rangefinder and Kinect sensor for mapping and loop-closure experiments.RGB images support appearance-based loop closure detection, while depth images provide 3D visual-word positions.
  • Experimental setup: Five mapping sessions totaling 750 m were recorded from different starting locations, with the robot revisiting previously mapped areas between sessions.Odometry was reset and the robot was moved between sessions; odometry, laser, RGB, and depth data were recorded at 1 Hz.
  • Single-session results: Maps from sessions 1–3 were evaluated with and without graph optimization, while sessions 4–5 also compared unoptimized global, locally optimized, and globally optimized maps.The experiments used STM size S = 10, minimum inliers I = 5, hypothesis threshold H = 0.11, similarity threshold Y = 0.45, and T = 0.7 s.
  • Memory management: Transferring nodes to LTM limits online optimization: loop closures to older nodes may be detected, but their effects cannot be globally optimized when neighboring nodes are unavailable.Offline optimization using all constraints in LTM allows loop closures with older map portions to affect graph optimization.
  • Multi-session results: Optimizing detected intra-session and inter-session constraints produced one fully connected map from all five sessions, with a global graph containing 2074 nodes and 173 nodes accessible to the local map.Only green inter-session links connected the five maps, and the local map used nodes available in working memory and linked to the latest node.
  • Multi-session results: Processing remained within online requirements independently of environment size, while map quality depended on how many loop closures remained available for detection and optimization.Without the time limit T, 193 intra-session and 387 inter-session closures were detected, compared with 188 and 258 online; the unconstrained map was slightly better.

IV. DISCUSSION

The approach meets online processing requirements independently of environment size, but map quality depends on detected loop closures and retained map portions. Revisiting old maps can improve global map quality, while invalid loop closures would introduce errors.

  • Processing time satisfies online requirements independently of environment size.Figure 12 marks the processing-time thresholds T = 0.7 and R = 1.
  • Map quality depends on how many loop closures can be detected while portions of the map are transferred to LTM.Nodes transferred to LTM cannot be used for loop closure detection.
  • If all nodes from a previous map are transferred to LTM before a new inter-session loop closure is detected, the previous map can be forgotten and excluded from global-map construction.Keeping at least one node per map in WM is proposed, but thousands of sessions could still exceed online requirements.
  • Frequent revisiting of old maps increases global map quality by creating more inter-session loop-closure constraints for graph optimization.A facility-mapping robot could revisit selected old-map areas after detecting them.
  • Invalid loop closures would add erroneous constraints to graph optimization and produce map errors, although none occurred in the experiments.Robust optimizers that handle invalid matches could improve the approach.

V. CONCLUSION

The proposed graph-based SLAM approach combines global loop closure detection with memory management for large-scale, long-term, multi-session online mapping. It meets online requirements, handles unknown initial positioning and gross odometry errors, and is released as open-source code.

  • The approach meets online requirements for large-scale, long-term and multi-session online mapping by limiting nodes in WM for detection and optimization.
  • Global loop closure detection lets the system naturally handle the kidnapped robot problem and gross odometry errors.
  • The authors report open-source code for the proposed approach and identify autonomous exploration strategies as future work.
Loading 2407.15305v1…