A-LOAM
A-LOAM 是 HKUST 空中機器人組對 LOAM 的重新實作,README 說明以 Eigen 與 Ceres Solver 簡化程式結構並移除繁複推導,定位為學習用的精簡版本。程式分為特徵擷取、掃描對掃描里程計與掃描對地圖精修三個節點,只使用 3D LiDAR,不讀取 IMU,也沒有迴圈閉合。依原始碼判讀,預設設定關閉了單幀內的運動畸變校正(DISTORTION 設為 0),地圖以 50 m 立方格保存邊緣與平面特徵點。在本群集已核對的論文中,F-LOAM 的授權檔說明其程式碼由 A-LOAM 修改而來,Loam_livox 與 LiLi-OM 以 A-LOAM 作為 LOAM 基準;Feng 等人的施工現場評估也提及 A-LOAM 並指出其缺少迴圈閉合。(推論)後續比較中的「LOAM」可能多指 A-LOAM;由於 A-LOAM 預設關閉單幀內畸變校正,其結果不宜直接當成原始 LOAM 論文所述方法的表現。原始 LOAM 程式碼本次未核對,兩者是否等價仍屬未驗證。
本頁內容
A-LOAM is a clean Eigen/Ceres re-implementation of LOAM; within this cluster F-LOAM is built on its code and Loam_livox and LiLi-OM use it as their LOAM baseline.
技術屬性
欄位內容為文獻擷取紀錄的原文用語(英文),以原文為據;「未查證」表示本研究尚未讀到該資訊,不代表該方法不具備此能力。
| 感測輸入 | 3D spinning LiDAR only: launch files for Velodyne VLP-16, HDL-32 and HDL-64 (README examples name 'Velodyne VLP-16' and 'Velodyne HDL-64'; 'HDL-64E' is not written); no IMU subscription in the code |
|---|---|
| 原文測試平台 | 原文未報告 |
| 狀態估計 | LOAM-style two-stage estimation re-implemented with Eigen and Ceres Solver: scan-to-scan odometry minimising point-to-edge and point-to-plane residuals (2 Ceres solves, Huber loss 0.1) followed by scan-to-map refinement (2 outer iterations, max 4 solver iterations) (README; laserOdometry.cpp; laserMapping.cpp; lidarFactor.hpp) |
| 資料關聯 | curvature-based features per scan-line segment: up to 2 sharp and 20 less-sharp edge points (curvature > 0.1) and 4 flat points (curvature < 0.1), remaining less-flat points downsampled at 0.2 m; scan-to-scan correspondences by KD-tree nearest neighbours on adjacent scan lines (distance threshold 5 m); scan-to-map uses 5 nearest map points, accepts a line when the largest eigenvalue exceeds 3 times the second and fits a plane otherwise; only 16, 32 or 64 scan lines are supported |
| 時間表示 | discrete scan poses with a fixed scan period of 0.1 s; scanRegistration.cpp stores scan-line ID plus relative in-sweep time in each point's intensity field, but laserOdometry.cpp uses it only when DISTORTION is non-zero (default 0) |
| 去畸變 | not applied in the default code: '#define DISTORTION 0' makes TransformToStart use the full scan-to-scan relative pose for every point (s = 1.0), and the TransformToEnd re-projection block is wrapped in 'if (0)'; no IMU input is used |
| 迴圈閉合 | none: no loop-closure or place-recognition code in scanRegistration.cpp, laserOdometry.cpp or laserMapping.cpp (code inspection), consistent with Feng et al., 2025 Sec. 4.1.1 |
| 全域最佳化 | none (same source) |
| 地圖表示 | global edge and planar feature point clouds held in a 21 x 21 x 11 array of 50 m cubes (4851 cells) re-centred around the sensor; voxel-grid downsampling with defaults 0.4 m (line) and 0.8 m (plane), 0.2 m and 0.4 m in the VLP-16 launch file |
| 先驗資訊 | none |
| 可輸出幾何 | odometry streams (/laser_odom_to_init at scan rate, /aft_mapped_to_init after scan-to-map refinement, /aft_mapped_to_init_high_frec), registered full-resolution cloud (/velodyne_cloud_registered), local surround map every 5 frames and full feature map every 20 frames |
| 計算需求 | no hardware or runtime figures published; the code only prints per-module timing; scan-to-scan step runs 2 Ceres solves (DENSE_QR, Huber loss 0.1), scan-to-map step 2 outer iterations with at most 4 solver iterations each; launch files set mapping_skip_frame 1 (comment: mapping at 10 Hz) |
使用設備
原文使用的感測器、運算硬體與載具(equipment)。型號保留原文寫法,連結到設備頁中同一型號的歸併名稱;角色依原文用途分為方法輸入、資料集感測器、執行運算平台、參考或真值量測(reference or ground truth)與比較對象設備。
| 類別 | 型號(原文寫法) | 角色 | 資料集 | 原文規格 | 出處 |
|---|---|---|---|---|---|
| LiDAR | Velodyne VLP-16 | 資料集感測器 | NSH indoor outdoor (example rosbag linked in README) | 16 scan lines (scan_line 16), minimum_range 0.3 m in launch file | (Qin & Cao, n.d., README Sec. 3; launch/aloam_velodyne_VLP_16.launch) |
| LiDAR | Velodyne HDL-32歸入:Velodyne HDL-32E | 方法輸入 | 未標示 | 32 scan lines (scan_line 32); launch configuration only, no example data | (Qin & Cao, n.d., launch/aloam_velodyne_HDL_32.launch) |
| LiDAR | Velodyne HDL-64歸入:Velodyne HDL-64E | 資料集感測器 | KITTI Odometry | 64 scan lines (scan_line 64), minimum_range 5 m in launch file | (Qin & Cao, n.d., README Sec. 4; launch/aloam_velodyne_HDL_64.launch) |
作者報告的優勢與限制
優勢
- Simplified, readable code intended as learning material (README)
限制
- Lacks loop closure detection (Feng et al., 2025, Sec. 4.1.1)
- No accompanying peer-reviewed paper or version-specific evaluation
營建工程相關證據
原文未報告
報告的性能數據
以下是原文作者報告的性能數值(author-reported results),不是本研究重新量測的結果。每張圖只並列同一個比較組(comparison group,同一張表、同一組實驗設定)內的方法;不同比較組之間的數值不可直接比較,也不構成排名。
本方法共出現在 31 個比較組,合計 269 筆紀錄。以下列出本方法紀錄最多的 4 組,其餘 27 組列在最後,並連到性能比較頁。
Le Gentil et al., 2021 · Table I 本方法 21 筆
表格設定(擷取紀錄原文):Simulated odometry set-up, 50-run Monte Carlo, loop closure off; trajectories average 288.7 m at 4.85 m/s (max 7.35 m/s); errors on successful runs only (favours [5] in Fast); values are mean with plus-minus spread (Le Gentil et al., 2021, Table I)
Num. fails; as printed: 0,IN2LAAMA simulation (virtual room with 7 planes, VLP-16 and MTi-3 models) · Slow (avg 14.7, max 22.1 deg/s)
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Le Gentil et al., 2021 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Le Gentil et al., 2021, Table I)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| [10] (A-LOAM implementation of LOAM)本方法 | 0 count | (Le Gentil et al., 2021, Table I) |
| [5] IN2LAMA (no IMU factors) | 0 count | (Le Gentil et al., 2021, Table I) |
| IN2LAAMA原文提出 | 0 count | (Le Gentil et al., 2021, Table I) |
Oelsch et al., 2021 · Table II 本方法 20 筆
表格設定(擷取紀錄原文):Scenario 1, airplane as reference object; APE (cm) and RE (deg) against Gazebo ground truth for 2 to 35 correspondence and optimization iterations; LOAM = A-LOAM (Oelsch et al., 2021, Table II)
APE in cm, median,R-LOAM Gazebo simulated datasets · Dataset 1: VLP-16, 15111 scans, 0.35 m/s, 514 m, manual flight
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Oelsch et al., 2021 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Oelsch et al., 2021, Table II)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| LOAM [1], #Iter 2 (def)本方法 | 50.5 cm | (Oelsch et al., 2021, Table II) |
| LOAM [1], #Iter 5本方法 | 57.7 cm | (Oelsch et al., 2021, Table II) |
| LOAM [1], #Iter 15本方法 | 51.1 cm | (Oelsch et al., 2021, Table II) |
| LOAM [1], #Iter 25本方法 | 30.9 cm | (Oelsch et al., 2021, Table II) |
| LOAM [1], #Iter 35本方法 | 31.9 cm | (Oelsch et al., 2021, Table II) |
| R-LOAM, #Iter 2 (def)原文提出 | 10.5 cm | (Oelsch et al., 2021, Table II) |
| R-LOAM, #Iter 5原文提出 | 6.6 cm | (Oelsch et al., 2021, Table II) |
| R-LOAM, #Iter 15原文提出 | 3.1 cm | (Oelsch et al., 2021, Table II) |
| R-LOAM, #Iter 25原文提出 | 2.8 cm | (Oelsch et al., 2021, Table II) |
| R-LOAM, #Iter 35原文提出 | 2 cm | (Oelsch et al., 2021, Table II) |
Oelsch et al., 2021 · Table III 本方法 20 筆
表格設定(擷取紀錄原文):Scenario 2, van as small reference object; APE (cm) and RE (deg) against Gazebo ground truth for 2 to 35 iterations; LOAM = A-LOAM (Oelsch et al., 2021, Table III)
APE in cm, median,R-LOAM Gazebo simulated datasets · Dataset 3: VLP-16, 9718 scans, 0.49 m/s, 474 m
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Oelsch et al., 2021 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Oelsch et al., 2021, Table III)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| LOAM [1], #Iter 2 (def)本方法 | 19 cm | (Oelsch et al., 2021, Table III) |
| LOAM [1], #Iter 5本方法 | 65 cm | (Oelsch et al., 2021, Table III) |
| LOAM [1], #Iter 15本方法 | 24 cm | (Oelsch et al., 2021, Table III) |
| LOAM [1], #Iter 25本方法 | 23.8 cm | (Oelsch et al., 2021, Table III) |
| LOAM [1], #Iter 35本方法 | 23.9 cm | (Oelsch et al., 2021, Table III) |
| R-LOAM, #Iter 2 (def)原文提出 | 17.9 cm | (Oelsch et al., 2021, Table III) |
| R-LOAM, #Iter 5原文提出 | 7.3 cm | (Oelsch et al., 2021, Table III) |
| R-LOAM, #Iter 15原文提出 | 6.3 cm | (Oelsch et al., 2021, Table III) |
| R-LOAM, #Iter 25原文提出 | 13.5 cm | (Oelsch et al., 2021, Table III) |
| R-LOAM, #Iter 35原文提出 | 13.5 cm | (Oelsch et al., 2021, Table III) |
Oelsch et al., 2021 · Table IV 本方法 20 筆
表格設定(擷取紀錄原文):Scenario 3, Eiffel Tower as reference object; APE (cm) and RE (deg) against Gazebo ground truth for 2 to 35 iterations; LOAM = A-LOAM; authors state LOAM fails with the VLP-16 (Oelsch et al., 2021, Table IV)
APE in cm, median,R-LOAM Gazebo simulated datasets · Dataset 5: VLP-16, 5674 scans, 0.51 m/s, 291 m
只並列這張表在相同設定下報告的方法;以「本方法:」開頭者為本頁方法。失敗、未執行與未報告以標記呈現,不是 0。
- 失敗
按 Tab 進入圖表後,用上下方向鍵逐一瀏覽各類別,Esc 關閉提示框;也可開啟表格檢視閱讀全部數值。
這些是 Oelsch et al., 2021 在此表設定下報告的數值(author-reported results),只能在同一個比較組內對照,不代表方法在其他資料或設定下的表現。
資料來源作者報告值(Oelsch et al., 2021, Table IV)
| 方法(原文寫法) | 報告值 | 出處 |
|---|---|---|
| LOAM [1], #Iter 2 (def)本方法 | 499.3 cm失敗註記(擷取紀錄):failed (authors state LOAM fails in this scenario with a VLP-16) | (Oelsch et al., 2021, Table IV) |
| LOAM [1], #Iter 5本方法 | 380.2 cm失敗註記(擷取紀錄):failed (authors state LOAM fails in this scenario with a VLP-16) | (Oelsch et al., 2021, Table IV) |
| LOAM [1], #Iter 15本方法 | 1420.9 cm失敗註記(擷取紀錄):failed (authors state LOAM fails in this scenario with a VLP-16) | (Oelsch et al., 2021, Table IV) |
| LOAM [1], #Iter 25本方法 | 1326.4 cm失敗註記(擷取紀錄):failed (authors state LOAM fails in this scenario with a VLP-16) | (Oelsch et al., 2021, Table IV) |
| LOAM [1], #Iter 35本方法 | 1338.5 cm失敗註記(擷取紀錄):failed (authors state LOAM fails in this scenario with a VLP-16) | (Oelsch et al., 2021, Table IV) |
| R-LOAM, #Iter 2 (def)原文提出 | 31.5 cm | (Oelsch et al., 2021, Table IV) |
| R-LOAM, #Iter 5原文提出 | 2.4 cm | (Oelsch et al., 2021, Table IV) |
| R-LOAM, #Iter 15原文提出 | 0.5 cm | (Oelsch et al., 2021, Table IV) |
| R-LOAM, #Iter 25原文提出 | 0.3 cm | (Oelsch et al., 2021, Table IV) |
| R-LOAM, #Iter 35原文提出 | 0.3 cm | (Oelsch et al., 2021, Table IV) |
其他比較組
列出其餘 27 個比較組
- Nguyen et al., 2022b · Table IV
- Jiao et al., 2022 · Table IV
- Oelsch et al., 2022 · Table IV
- Palieri et al., 2021 · Table II
- Ruan et al., 2023 · Table II
- Chen et al., 2022b · Table I
- Chen et al., 2022b · Table II
- Yin et al., 2023 · Table 6
- Bavle et al., 2023 · Table II
- Wu et al., 2024b · Table I
- Li et al., 2021b · Table 1
- Lim et al., 2024 · Table 6
- Nguyen et al., 2022b · Table VI
- Nguyen et al., 2022b · Table VII
- Bavle et al., 2023 · Table I
- Le Gentil et al., 2021 · Table VI
- Koide et al., 2021a · Table I
- Lin & Zhang, 2020 · Table I
- Frosi & Matteucci, 2022 · Table II
- Frosi & Matteucci, 2022 · Table III
- Frosi & Matteucci, 2022 · Table IV
- Palieri et al., 2021 · Table III
- Le Gentil et al., 2021 · Text Sec.VII-E-2
- Wang et al., 2021b · Table II
- Ghadimzadeh Alamdari et al., 2025 · Table 3
- Jiao et al., 2022 · Text Sec.V
- Trzeciak et al., 2023 · Text Practical application
來源
Qin & Cao, n.d.
(n.d.)A-LOAM: Advanced implementation of LOAM (GitHub repository HKUST-Aerial-Robotics/A-LOAM)GitHub repository (HKUST Aerial Robotics Group)
軟體或資料集紀錄已讀全文近十年查證後修正
相關版本
- 程式碼釋出:Re-implementation of LOAM (RSS 2014) per README and LICENSE 10.15607/RSS.2014.X.007
程式碼:https://github.com/HKUST-Aerial-Robotics/A-LOAM(授權:BSD-style 3-clause text retaining LOAM copyright (Copyright 2013 Ji Zhang, CMU; 2016 Southwest Research Institute) (LICENSE file))。有公開程式碼不等於已被重現,也不代表目前版本與論文版本相同。