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),每一步都會累積微小的誤差。走完一段長迴圈後,即使機器人實際上已回到同一個地點,它對自身位置的估計也可能與出發點有明顯落差。迴圈閉合把目前的姿態與先前的姿態連結起來,讓系統重新分配誤差。

迴圈閉合分為兩個部分。偵測,通常稱為地點辨識,判斷目前的觀測是否與先前某次觀測相符。以相機為基礎的系統常用 DBoW2 等視覺詞袋方法或學習而得的全域描述子;光達系統則使用 Scan Context 等掃描描述子或直接的幾何匹配。接著的驗證會計算兩次觀測之間的相對轉換,例如對影像使用特徵匹配與 RANSAC,對點雲使用 ICP,並剔除幾何上不吻合的匹配。

通過驗證後,迴圈閉合會作為一個限制條件加入,通常是姿態圖中的一條邊,後端再重新最佳化所有姿態。修正會分散到整個迴圈上,而不是只套用在末端。

主要的難題是感知混淆:不同的地方可能看起來很像,例如一模一樣的走廊、一排排貨架或重複的作物行。一個錯誤的迴圈閉合可能讓整張地圖扭曲,因此實際的系統都相當保守,寧可錯過真正的閉合,也不接受錯誤的閉合。

為何重要

沒有迴圈閉合,任何由里程計建立的地圖都會隨著漂移擴大而逐漸劣化,同一條走廊最後可能在略有不同的位置被建圖兩次。正是迴圈閉合讓 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 以瀏覽我們的開源機器人專案。