Open Source Robotics

고품질 오픈소스 로봇 프로젝트, 도구 및 소프트웨어의 엄선된 컬렉션.

Loop Closure

  • 다른 이름: loop closing, loop closure detection
  • 카테고리: State estimation & navigation › Localisation
  • 태그: slam, localization, place-recognition, mapping, state-estimation

로봇이 이전에 방문한 장소로 돌아왔음을 알아차리고, 그 일치를 이용해 그동안 누적된 드리프트를 보정하는 SLAM의 단계.

정의

루프 클로저(loop closure)는 지도 작성 중에 로봇이 이미 본 장소로 돌아왔음을 알아차리고, 그 인식을 이용해 추정한 궤적을 보정하는 것이다. 바퀴, IMU, 카메라, LiDAR 중 무엇에서 얻든 오도메트리는 매 단계 작은 오차를 누적한다. 긴 루프를 돈 뒤에는 로봇이 물리적으로는 같은 지점으로 돌아왔더라도, 자신이 어디에 있는지에 대한 추정이 출발 지점과 눈에 띄게 어긋날 수 있다. 루프 클로저는 현재 포즈를 이전 포즈와 묶어, 시스템이 오차를 재분배할 수 있게 한다.

루프 클로저는 두 부분으로 이루어진다. 흔히 장소 인식(place recognition)이라고 부르는 검출은 현재 관측이 이전 관측과 일치한다고 판단한다. 카메라 기반 시스템은 보통 DBoW2 같은 시각 단어 가방(bag-of-visual-words) 방법이나 학습된 전역 기술자를 사용하고, LiDAR 시스템은 Scan Context 같은 스캔 기술자나 직접적인 기하학적 매칭을 사용한다. 이어서 검증 단계에서는 두 관측 사이의 상대 변환을 계산하는데, 예를 들어 이미지에는 특징 매칭과 RANSAC을, 점군에는 ICP를 사용하며, 기하학적으로 맞지 않는 매칭은 기각한다.

검증이 끝나면 루프 클로저는 제약으로 추가되며, 보통 포즈 그래프의 간선이 되고, 백엔드가 모든 포즈를 다시 최적화한다. 보정은 끝 지점에만 적용되는 것이 아니라 루프 전체에 분산된다.

주된 어려움은 지각적 에일리어싱(perceptual aliasing)이다. 똑같은 복도, 늘어선 선반, 반복되는 작물 줄처럼 서로 다른 장소가 비슷해 보일 수 있다. 잘못된 루프 클로저 하나가 지도 전체를 뒤틀 수 있으므로, 실제 시스템은 보수적이며 잘못된 클로저를 받아들이기보다 진짜 클로저를 놓치는 쪽을 택한다.

중요한 이유

루프 클로저가 없으면 오도메트리로 만든 지도는 드리프트가 커지면서 서서히 나빠지고, 같은 복도가 약간 다른 위치에 두 번 지도에 그려질 수 있다. 루프 클로저는 SLAM 시스템이 긴 거리와 반복 방문에 걸쳐 전역적으로 일관된 지도를 만들 수 있게 해 주는 것이다.

주요 응용

  • LiDAR 또는 카메라 SLAM으로 일관된 실내외 지도 구축
  • 시각 오도메트리와 시각-관성 오도메트리의 드리프트 보정
  • 로봇이 옮겨졌거나 추적을 잃은 뒤의 재위치 추정
  • 여러 세션이나 여러 로봇의 지도 병합

실제 사례

Cartographer, RTAB-Map, ORB-SLAM 같은 SLAM 패키지를 실행하는 모바일 로봇에서 루프 클로저는 추적과 함께 백그라운드에서 실행된다. 새 키프레임이나 서브맵은 각각 이전 것들의 데이터베이스와 비교되며, 외관 임계값을 통과한 후보는 기하학적으로 검사되고, 인라이어가 충분하고 변환이 일관된 것만 포즈 그래프 최적화기로 전달된다. 팀은 새 현장을 지도로 만들 때 시스템이 루프를 닫을 기회를 갖도록 보통 일부러 루프를 그리며 주행하고, 환경별로 검출 임계값을 튜닝하여 창고처럼 반복적인 공간에서는 더 적은 클로저를 받아들인다. 지도에 벽이 이중으로 나타나거나 복도가 휘어 있으면, 놓친 루프 클로저나 잘못된 루프 클로저는 엔지니어가 가장 먼저 확인하는 것 중 하나이다.

흔한 오해

  • 루프 클로저는 현재 포즈만 보정한다 — 백엔드 최적화기가 궤적 전체로 전파하는 제약을 추가한다
  • 두 이미지가 같아 보이면 같은 장소이다 — 지각적 에일리어싱 때문에 외관 일치는 신뢰하기 전에 기하학적으로 검증해야 한다
  • 시각 오도메트리에는 이미 루프 클로저가 포함되어 있다 — 오도메트리는 증분 운동만 추정하며, 오도메트리를 완전한 SLAM으로 바꾸는 것이 루프 클로저이다

알아야 할 사람

  • SLAM 및 지도 작성 엔지니어
  • 모바일 로봇 및 드론 내비게이션 개발자
  • 장소 인식을 다루는 컴퓨터 비전 엔지니어
  • 넓은 실외 현장을 지도로 작성하는 필드 로보틱스 팀

관련 기술

  • 장소 인식(Place Recognition)
  • 시각 단어 가방(Bag of Visual Words)
  • RANSAC
  • ORB-SLAM
  • Cartographer
  • RTAB-Map

관련 용어

  • SLAM
  • Pose Graph Optimization
  • Visual Odometry
  • Odometry

관련 프로젝트

  • 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

동영상

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

이 웹사이트는 JavaScript가 필요합니다. 오픈소스 로봇 프로젝트를 탐색하려면 JavaScript를 활성화하세요.