Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

Loop Closure

  • Também chamado: loop closing, loop closure detection
  • Categoria: State estimation & navigation › Localisation
  • Tags: slam, localization, place-recognition, mapping, state-estimation

A etapa do SLAM em que um robô reconhece que voltou a um lugar visitado anteriormente e usa essa correspondência para corrigir a deriva acumulada ao longo do caminho.

Definição

Fechamento de loop (loop closure) é o reconhecimento, durante o mapeamento, de que o robô voltou a um lugar que já viu, e o uso desse reconhecimento para corrigir sua trajetória estimada. A odometria, venha ela das rodas, de uma unidade de medição inercial (IMU), de câmeras ou de um LiDAR, acumula pequenos erros a cada passo. Depois de um loop longo, a estimativa do robô sobre onde está pode estar visivelmente distante do ponto de partida, mesmo que ele tenha voltado fisicamente ao mesmo lugar. Um fechamento de loop vincula a pose atual à anterior e permite que o sistema redistribua o erro.

O fechamento de loop tem duas partes. A detecção, muitas vezes chamada de reconhecimento de lugares, decide que a observação atual corresponde a uma anterior. Sistemas baseados em câmeras costumam usar métodos de saco de palavras visuais, como o DBoW2, ou descritores globais aprendidos; sistemas de LiDAR usam descritores de varredura, como o Scan Context, ou casamento geométrico direto. Em seguida, a verificação calcula a transformação relativa entre as duas observações, por exemplo com casamento de características e RANSAC para imagens ou ICP para nuvens de pontos, e rejeita as correspondências que não se encaixam geometricamente.

Depois de verificado, o fechamento de loop é adicionado como restrição, normalmente uma aresta em um grafo de poses, e o back end reotimiza todas as poses. A correção é distribuída por todo o loop, em vez de ser aplicada apenas no final.

A principal dificuldade é o aliasing perceptivo: lugares diferentes podem parecer iguais, como corredores idênticos, fileiras de prateleiras ou linhas de plantio repetidas. Um fechamento de loop falso pode deformar o mapa inteiro, por isso sistemas práticos são conservadores e preferem perder um fechamento verdadeiro a aceitar um falso.

Por que importa

Sem fechamento de loop, qualquer mapa construído a partir da odometria se degrada lentamente à medida que a deriva cresce, e o mesmo corredor pode acabar mapeado duas vezes em lugares ligeiramente diferentes. O fechamento de loop é o que permite que um sistema de SLAM construa mapas globalmente consistentes ao longo de grandes distâncias e visitas repetidas.

Principais aplicações

  • Construção de mapas consistentes de ambientes internos e externos com SLAM por LiDAR ou por câmera
  • Correção da deriva na odometria visual e visual-inercial
  • Relocalização depois que um robô é movido ou perde o rastreamento
  • Fusão de mapas de várias sessões ou de vários robôs

Na prática

Em um robô móvel que roda um pacote de SLAM como Cartographer, RTAB-Map ou ORB-SLAM, o fechamento de loop roda em segundo plano junto com o rastreamento. Cada novo quadro-chave ou submapa é comparado com um banco de dados dos anteriores; os candidatos que passam por um limiar de aparência são verificados geometricamente, e apenas os que têm inliers suficientes e uma transformação consistente são passados ao otimizador do grafo de poses. As equipes costumam percorrer loops deliberados ao mapear um local novo para que o sistema tenha chances de fechá-los, e ajustam os limiares de detecção para cada ambiente, aceitando menos fechamentos em espaços repetitivos como armazéns. Quando um mapa mostra paredes duplicadas ou um corredor torto, um fechamento de loop perdido ou falso é uma das primeiras coisas que os engenheiros verificam.

Equívocos comuns

  • O fechamento de loop corrige apenas a pose atual — ele adiciona uma restrição que o otimizador do back end propaga por toda a trajetória
  • Se duas imagens parecem iguais, o lugar é o mesmo — o aliasing perceptivo significa que correspondências de aparência precisam ser verificadas geometricamente antes de se confiar nelas
  • A odometria visual já inclui o fechamento de loop — a odometria estima apenas o movimento incremental; o fechamento de loop é o que transforma a odometria em SLAM completo

Quem deve saber

  • Engenheiros de SLAM e mapeamento
  • Desenvolvedores de navegação de robôs móveis e drones
  • Engenheiros de visão computacional que trabalham com reconhecimento de lugares
  • Equipes de robótica de campo que mapeiam grandes áreas externas

Tecnologias relacionadas

  • Reconhecimento de lugares (Place Recognition)
  • Saco de palavras visuais (Bag of Visual Words)
  • RANSAC
  • ORB-SLAM
  • Cartographer
  • RTAB-Map

Termos relacionados

  • SLAM
  • Pose Graph Optimization
  • Visual Odometry
  • Odometry

Projetos relacionados

  • LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
  • oomwoo: Open-source DIY robot vacuum: 3D-printed, ROS2 + 2D LiDAR, fully local.
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
  • Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO

Vídeos

  • SLAM Course - 20 - SLAM Frontends (2013/14; Cyrill Stachniss): Cyrill Stachniss

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.