RTAB-Map
RTAB-Map 起源於具記憶體管理的外觀式迴圈偵測,將節點在工作記憶與長期記憶之間轉移,使迴圈偵測在固定時間內完成,以支援大範圍與長期線上運作。擴充版成為以圖為基礎的 SLAM 函式庫,可接收任意來源的里程計,並支援 RGB-D、雙目及 2D/3D LiDAR,後端可選 TORO、g2o 或 GTSAM。論文以同一系統比較視覺與 LiDAR 組態在 KITTI、EuRoC、TUM RGB-D 與 MIT Stata Center 資料上的表現,輸出包括點雲、OctoMap 與佔據格地圖。
本頁內容
RTAB-Map is a graph-based SLAM library with memory-managed appearance-based loop closure that accepts any odometry and RGB-D, stereo or LiDAR inputs, used to compare visual and LiDAR configurations on several datasets.
技術屬性
欄位內容為文獻擷取紀錄的原文用語(英文),以原文為據;「未查證」表示本研究尚未讀到該資訊,不代表該方法不具備此能力。
| 感測輸入 | RGB-D、stereo、2D LiDAR、3D LiDAR、wheel odometry、IMU only through external odometry (wheel and IMU EKF) or integrated visual-inertial odometry such as OKVIS, MSCKF and Google Tango (Sec. 3.1.1, 4.3, 4.4)、the bag-of-words loop closure needs a camera, and without one the authors suggest feeding an empty image and relying on laser proximity detection only (Sec. 6) |
|---|---|
| 原文測試平台 | wheeled UGV、vehicle、UAV、handheld |
| 狀態估計 | graph-based SLAM with selectable back-ends TORO, g2o or GTSAM; odometry from any external or built-in visual/LiDAR source (Fig. 1; back-end paragraph) |
| 資料關聯 | visual odometry: GFTT features with BRIEF descriptors matched by NNDR to a local feature map (F2M) or tracked by optical flow to the last keyframe (F2F), constant-velocity prediction, PnP RANSAC and local BA with g2o; lidar odometry: libpointmatcher ICP, point-to-point or point-to-plane, scan-to-scan or scan-to-map; loop closure: incremental bag-of-words with TF-IDF and a Bayes filter, transform from visual PnP optionally refined by ICP; proximity detection by laser scans for nearby graph nodes (Sec. 3.1, 3.4) |
| 時間表示 | discrete poses (graph nodes created at a fixed detection rate) |
| 去畸變 | no internal deskewing: laser scans are assumed to be motion-distortion corrected before input to RTAB-Map; authors note correction can be ignored when scanner rotation is fast relative to robot speed (Sec. 3.1.2) |
| 迴圈閉合 | appearance-based loop closure detection with memory management (working, short-term and long-term memory) to bound detection time; proximity detection (abstract; Fig. 1) |
| 全域最佳化 | pose-graph optimisation with TORO, g2o or GTSAM (GTSAM default); loop and proximity links rejected when their optimised change exceeds RGBD/OptimizeMaxError times the translational variance; multi-session mapping (Sec. 3.5, 5.1) |
| 地圖表示 | pose graph with node sensor data; assembled 2D occupancy grid, OctoMap and point cloud outputs (Fig. 1) |
| 先驗資訊 | none; multi-session map reuse |
| 可輸出幾何 | assembled point cloud (voxel-filtered, PointCloud2), OctoMap and 2D occupancy grid ROS outputs built from per-node local grids and re-assembled after loop closure (Fig. 1, Fig. 8, Sec. 3.6); file export features of the application not described in the paper |
| 計算需求 | Intel Core i7-3770 (four cores), 6 GB RAM, 512 GB SSD, Ubuntu 16.04; offline datasets on one core, MIT Stata Center online in ROS (Sec. 4); average odometry time 15 to 25 ms for lidar and 32 to 100 ms for visual configurations on MIT Stata Center (Table 8); memory management adds about 52 ms on average and keeps updates within the 2 Hz limit (Sec. 5.1); ORB2-RTAB needed 1600 MB RAM versus 230 MB for the other visual configurations (Sec. 4.4) |
使用設備
原文使用的感測器、運算硬體與載具(equipment)。型號保留原文寫法,連結到設備頁中同一型號的歸併名稱;角色依原文用途分為方法輸入、資料集感測器、執行運算平台、參考或真值量測(reference or ground truth)與比較對象設備。
| 類別 | 型號(原文寫法) | 角色 | 資料集 | 原文規格 | 出處 |
|---|---|---|---|---|---|
| LiDAR | Velodyne 64E | 資料集感測器 | KITTI | roof-mounted, synchronized with stereo at 10 Hz; downsampled with a 50 cm voxel filter for S2S and S2M | (Labbé & Michaud, 2019, Sec. 4.1) |
| LiDAR | UTM30 | 資料集感測器 | MIT Stata Center | 2D long-range lidar, 30 m range, 40 Hz; also filtered to 5.6 m to emulate a short-range lidar such as a URG04LX | (Labbé & Michaud, 2019, Sec. 4.4) |
| 慣性量測單元(IMU) | EuRoC IMU (model not reported) | 資料集感測器 | EuRoC | synchronized with the cameras; used by OKVIS and MSCKF odometry | (Labbé & Michaud, 2019, Sec. 4.3) |
| 雙目相機 | two synchronized monochrome PointGrey cameras | 資料集感測器 | KITTI | rectified 1241x376 images, baseline 0.54 m, 10 Hz, car roof | (Labbé & Michaud, 2019, Sec. 4.1) |
| 雙目相機 | EuRoC stereo camera (model not reported) | 資料集感測器 | EuRoC | stereo images at 20 Hz on a drone; exposure not synchronized between cameras, exposure compensation applied | (Labbé & Michaud, 2019, Sec. 4.3) |
| 雙目相機 | PR2 head stereo camera (model not reported) | 資料集感測器 | MIT Stata Center | replayed at 15 Hz; baseline scaled by 1.091664 to match lidar scale | (Labbé & Michaud, 2019, Sec. 4.4) |
| RGB-D 相機 | Kinect v1 | 資料集感測器 | TUM RGB-D | hand-held; RGB and depth at 30 Hz, synchronized with the dataset tool | (Labbé & Michaud, 2019, Sec. 4.2) |
| RGB-D 相機 | PR2 head RGB-D camera (model not reported) | 資料集感測器 | MIT Stata Center | replayed at 15 Hz; depth scaled by 1.043; used for loop closure in lidar configurations | (Labbé & Michaud, 2019, Sec. 4.4) |
| 輪式或腿式里程計 | wheel encoders and IMU fused by EKF (WheelIMU) | 資料集感測器 | MIT Stata Center | odometry already recorded in the ROS bags | (Labbé & Michaud, 2019, Sec. 4.4) |
| 載具平台 | car | 資料集感測器 | KITTI | autonomous-driving recording car | (Labbé & Michaud, 2019, Sec. 1, Sec. 4.1) |
| 載具平台 | PR2 robot | 資料集感測器 | MIT Stata Center | teleoperated in an office building; lidar on the base, cameras on the head | (Labbé & Michaud, 2019, Sec. 4.4) |
| 運算硬體 | Intel Core i7-3770 | 執行運算平台 | 未標示 | four cores, 6 GB RAM, 512 GB SSD, Ubuntu 16.04; single core for offline datasets | (Labbé & Michaud, 2019, Sec. 4) |
作者報告的優勢與限制
優勢
- add: WheelIMU→S2M had the lowest or equal-lowest ATEend and ATEmax among the compared 2D lidar SLAM systems on both MIT Stata Center sequences (Table 9)
- with memory management the combined two-session run stayed real time with the same final ATE of 12 cm (Sec. 5.1)
限制
- add: bag-of-words loop closure depends on a camera and lidar refinement runs only after visual motion estimation succeeds (Sec. 6)
- short-range lidar odometry without wheel odometry drifted along corridors (S2S ATEend 11 m on 12-14-25) (Table 8, Sec. 4.4)
- RGB-D depth is poor beyond about 4 m, stereo cannot see textureless ground, and glass or reflective objects make light-based sensing unsafe for navigation (Sec. 4.4, 5, 6)
營建工程相關證據
原論文未報告營建工地測試(評估含 MIT Stata Center 既有建築)。Shang 與 Shen 在施工現場以無人機搭載 RealSense R200 並使用 RTAB-Map 建立點雲,以攝影測量為參考比較,見(Shang & Shen, 2018)。
原文驗證環境:公開基準、已完工建築
報告的性能數據
以下是原文作者報告的性能數值(author-reported results),不是本研究重新量測的結果。每張圖只並列同一個比較組(comparison group,同一張表、同一組實驗設定)內的方法;不同比較組之間的數值不可直接比較,也不構成排名。
本方法共出現在 11 個比較組,合計 157 筆紀錄。以下列出本方法紀錄最多的 4 組,其餘 7 組列在最後,並連到性能比較頁。
Labbé & Michaud, 2019 · Table 8 本方法 114 筆
表格設定(擷取紀錄原文):Online results on MIT Stata Center PR2 bags 2012-01-25; ATE computed at every frame on the map graph with loop closures; ATEend = error at end of run, ATEmax = maximum during run; memory management disabled; visual bags replayed at 15 Hz; short-range lidar emulated by filtering UTM30 scans to 5.6 m; stereo baseline scaled by 1.091664 and depth by 1.043 to match lidar; x = lost, could not complete (Labbé & Michaud, 2019, Table 8)
ATEend,MIT Stata Center (PR2) · 2012-01-25-12-14-25
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
- 失敗
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Labbé & Michaud, 2019 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Labbé & Michaud, 2019, Table 8)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| RTAB-Map with WheelIMU→S2S odometry (Long-range lidar)本方法原文提出 | 0.06 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with WheelIMU→S2M odometry (Long-range lidar)本方法原文提出 | 0.05 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with S2S odometry (Long-range lidar)本方法原文提出 | 0.05 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with S2M odometry (Long-range lidar)本方法原文提出 | 0.05 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with WheelIMUrefined odometry (Long-range lidar)本方法原文提出 | 0.07 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with WheelIMU odometry (Long-range lidar)本方法原文提出 | 0.09 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with WheelIMU→S2S odometry (Short-range lidar)本方法原文提出 | 0.26 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with WheelIMU→S2M odometry (Short-range lidar)本方法原文提出 | 0.07 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with S2S odometry (Short-range lidar)本方法原文提出 | 11 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with S2M odometry (Short-range lidar)本方法原文提出 | 4.61 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with WheelIMUrefined odometry (Short-range lidar)本方法原文提出 | 0.07 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with WheelIMU odometry (Short-range lidar)本方法原文提出 | 0.12 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with F2M odometry (Stereo camera)本方法原文提出 | 0.3 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with F2F odometry (Stereo camera)本方法原文提出 | 0.28 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with Fovis odometry (Stereo camera)本方法原文提出 | 無數值失敗註記(擷取紀錄):failed | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with ORB2-RTAB odometry (Stereo camera)本方法原文提出 | 0.227 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with Viso2 odometry (Stereo camera)本方法原文提出 | 0.88 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with WheelIMU odometry (Stereo camera)本方法原文提出 | 0.12 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with F2M odometry (RGB-D camera)本方法原文提出 | 0.37 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with F2F odometry (RGB-D camera)本方法原文提出 | 0.38 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with Fovis odometry (RGB-D camera)本方法原文提出 | 無數值失敗註記(擷取紀錄):failed | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with ORB2-RTAB odometry (RGB-D camera)本方法原文提出 | 0.28 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with DVO odometry (RGB-D camera)本方法原文提出 | 0.56 m | (Labbé & Michaud, 2019, Table 8) |
| RTAB-Map with WheelIMU odometry (RGB-D camera)本方法原文提出 | 0.11 m | (Labbé & Michaud, 2019, Table 8) |
Cramariuc et al., 2023 · Table II 本方法 10 筆
表格設定(擷取紀錄原文):HILTI 2021 SLAM Dataset, RMSE of APE; seven baselines and four maplab 2.0 configurations (ROVIO + SIFT, OKVIS + SP + B, OKVIS + SP + B + ICP, FAST-LIO2 + SP + B); sensors used differ per method (icons in table); Total Time measured on Intel i7-8700 with Nvidia RTX 2080 for 52 min of data (Cramariuc et al., 2023, Table II)
RMSE of the absolute position error (APE),HILTI 2021 SLAM Dataset · Construction 1
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Cramariuc et al., 2023 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Cramariuc et al., 2023, Table II)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| ORB SLAM3 | 1.55 m | (Cramariuc et al., 2023, Table II) |
| LVI SAM | 0.13 m | (Cramariuc et al., 2023, Table II) |
| RTAB Map本方法 | 0.36 m | (Cramariuc et al., 2023, Table II) |
| maplab | 0.16 m | (Cramariuc et al., 2023, Table II) |
| ROVIO | 0.98 m | (Cramariuc et al., 2023, Table II) |
| OKVIS | 1.17 m | (Cramariuc et al., 2023, Table II) |
| FAST LIO2 | 0.04 m | (Cramariuc et al., 2023, Table II) |
| maplab 2.0: ROVIO + SIFT原文提出 | 0.14 m | (Cramariuc et al., 2023, Table II) |
| maplab 2.0: OKVIS + SP + B原文提出 | 0.08 m | (Cramariuc et al., 2023, Table II) |
| maplab 2.0: OKVIS + SP + B + ICP原文提出 | 0.08 m | (Cramariuc et al., 2023, Table II) |
| maplab 2.0: FAST-LIO2 + SP + B原文提出 | 0.04 m | (Cramariuc et al., 2023, Table II) |
Labbé & Michaud, 2019 · Table 9 本方法 8 筆
表格設定(擷取紀錄原文):MIT Stata Center 2012-01-25 sequences; RTAB-Map WheelIMU→S2M versus other ROS 2D lidar SLAM run with default parameters; Cartographer, GMapping and Karto use WheelIMU odometry, Hector SLAM uses none; GMapping ATE computed on the current best particle path (Labbé & Michaud, 2019, Table 9)
ATEend,MIT Stata Center (PR2) · 2012-01-25-12-14-25
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Labbé & Michaud, 2019 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Labbé & Michaud, 2019, Table 9)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| RTAB-Map (WheelIMU→S2M) [Long-range lidar]本方法原文提出 | 0.05 m | (Labbé & Michaud, 2019, Table 9) |
| Cartographer (WheelIMU) [Long-range lidar] | 0.11 m | (Labbé & Michaud, 2019, Table 9) |
| GMapping (WheelIMU) [Long-range lidar] | 0.19 m | (Labbé & Michaud, 2019, Table 9) |
| Karto SLAM (WheelIMU) [Long-range lidar] | 0.22 m | (Labbé & Michaud, 2019, Table 9) |
| Hector SLAM (no odometry) [Long-range lidar] | 0.06 m | (Labbé & Michaud, 2019, Table 9) |
| RTAB-Map (WheelIMU→S2M) [Short-range lidar]本方法原文提出 | 0.07 m | (Labbé & Michaud, 2019, Table 9) |
| Cartographer (WheelIMU) [Short-range lidar] | 0.45 m | (Labbé & Michaud, 2019, Table 9) |
| GMapping (WheelIMU) [Short-range lidar] | 1.71 m | (Labbé & Michaud, 2019, Table 9) |
| Karto SLAM (WheelIMU) [Short-range lidar] | 0.48 m | (Labbé & Michaud, 2019, Table 9) |
| Hector SLAM (no odometry) [Short-range lidar] | 4.59 m | (Labbé & Michaud, 2019, Table 9) |
Asadi et al., 2020 · Table 4 本方法 6 筆
資料集與序列own 3 min test run · 3 min run, all modules active
表格設定(擷取紀錄原文):Hardware utilization of one module on the UGV laptop during a 3 min run with all modules active; CPU in percent of 400 (quad core), RAM in GB of 16, GPU memory and streaming-multiprocessor load in percent (Asadi et al., 2020, Table 4)
CPU (%), Min usage,own 3 min test run · 3 min run, all modules active
這張表在此指標與資料序列只列出本方法一筆,沒有可並列的其他方法,因此不畫圖,數值與出處見下表。這是 Asadi et al., 2020 在此表設定下報告的數值(author-reported results),不代表方法在其他資料或設定下的表現。
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| RTAB-MAP (UGV SLAM Module)本方法硬體:UGV laptop: Intel Core i7-4710HQ quad-core, 16 GB DDR3 RAM, NVIDIA GeForce GTX 960M | 17 % of 400 | (Asadi et al., 2020, Table 4) |
其他比較組
來源
Labbé & Michaud, 2019
(2019)RTAB‐Map as an open‐source lidar and visual simultaneous localization and mapping library for large‐scale and long‐term online operationJournal of Field Robotics, 36(2):416-446
DOI 10.1002/rob.21831arXiv 2403.06341程式碼
同儕審查已出版已讀全文近十年
相關版本
- 預印本:RTAB-Map as an Open-Source Lidar and Visual SLAM Library for Large-Scale and Long-Term Online Operation (accepted-manuscript preprint posted 2024-03-10) https://arxiv.org/abs/2403.06341
- 程式碼釋出:rtabmap https://github.com/introlab/rtabmap
程式碼:https://github.com/introlab/rtabmap(授權:BSD-style 3-clause (LICENSE header))。有公開程式碼不等於已被重現,也不代表目前版本與論文版本相同。