港大今年開源了哪些SLAM算法?

過去的5個月,香港大學 MaRS 實驗室陸續開源了四套面向無人機的在線 SLAM 框架:**FAST-LIVO2 、Point-LIO(grid-map 分支) 、Voxel-SLAM 、Swarm-LIO2 **。這四套框架覆蓋了單機三傳感器融合、高帶寬高速機動、長時間多級地圖優化以及去中心化集群協同等核心應用場景,幾乎囊括當下無人機自主導航的主要需求。

本文將介紹每套 SLAM 算法的核心內容與技術亮點,幫助您選擇適配的方案并快速上手。文末還附有論文與代碼鏈接,方便您一鍵直達。

01 FAST-LIVO2

FAST-LIVO2 是一種融合激光雷達(LiDAR)、慣性測量單元IMU和視覺信息的高效定位與建圖系統,核心采用誤差狀態迭代卡爾曼濾波器(ESIKF)與順序更新策略,實現精確狀態估計。不同于傳統方法,FAST-LIVO2 避免特征提取,直接處理原始 LiDAR 和圖像數據,提升了計算效率與系統魯棒性。


圖片來源:《FAST-LIVO2: Fast, Direct LiDAR-Inertial-Visual Odometry》, IEEE T-RO,2024.

技術亮點

  • 直接法融合策略,拋棄繁瑣特征提取LiDAR模塊直接對原始點云進行配準,無需提取邊緣或平面特征。視覺模塊通過最小化光度誤差進行圖像對齊,避免了傳統的特征點提取過程。

  • 統一體素地圖,幾何與紋理深度協同
    系統采用統一的體素地圖結構,LiDAR構建幾何結構,圖像patch附著于LiDAR平面形成“視覺地圖點”,實現稠密彩色地圖構建。該策略不僅優化了數據結構,也保障了多源信息的一致性融合。

  • 圖像對齊與魯棒性增強通過最小化光度誤差進行稀疏圖像對齊,動態更新參考圖像patch;在LiDAR盲區或FoV不足時,按需射線投影補齊盲區;實時估算曝光時間,適應劇烈光照變化;FAST-LIVO2 同時提升了圖像對齊精度與在光照驟變或點云缺失場景下的魯棒性。


圖片來源:《FAST-LIVO2: Fast, Direct LiDAR-Inertial-Visual Odometry》, IEEE T-RO,2024.

圖片來源:《FAST-LIVO2: Fast, Direct LiDAR-Inertial-Visual Odometry》, IEEE T-RO,2024.

  • ESIKF慣序更新,系統收斂更快更穩采用誤差狀態迭代卡爾曼濾波器(ESIKF),對 LiDAR 與圖像依次更新狀態,解決了多源觀測維度不一致的問題,極大提高融合精度與實時性。

圖片來源:《FAST-LIVO2: Fast, Direct LiDAR-Inertial-Visual Odometry》, IEEE T-RO,2024.

  • 優化資源利用
    為了適配資源受限的嵌入式平臺,FAST-LIVO2 對系統架構與算法流程進行了深度優化。實測表明,FAST-LIVO2 能夠在 RK3588、Jetson Orin NX、RB5 等低功耗 ARM 平臺上穩定運行,單幀處理時延控制在 78 ms 以內,滿足實時導航與建圖的需求。

02 Swarm-LIO2

Swarm-LIO2 是港大 MaRS 實驗室4月最新開源的無人機集群 LiDAR-IMU 狀態估計框架,它通過去中心化 + 即插即用 + 超低帶寬 + 邊緣化加速,在 GPS 拒止、視野遮擋甚至 LiDAR 退化場景中,依舊為 40 架 UAV 提供厘米級本機與互相位姿,堪稱“無人機集群的 RTK”。

圖片來源:《Swarm-LIO2: Decentralized, Efficient LiDAR-Inertial Odometry for UAV Swarms》,IEEE T-RO,2025

技術亮點

  • 全分布式,去中心化設計基于 Ad-Hoc 網絡搭建分布式通信框架,每架無人機自主廣播身份與狀態,無需中心節點協調,避免單點故障。

  • 反光特征 + 因子圖快速初始化通過在機體貼反光條,每架無人機可在飛行中自動檢測新隊友,并通過軌跡匹配+因子圖優化完成時間延遲與全局外參的自動校準,支持大規模集群快速初始化。

圖片來源:《Swarm-LIO2: Decentralized, Efficient LiDAR-Inertial Odometry for UAV Swarms》,IEEE T-RO,2025

  • 高效估計器:ESIKF + 邊緣化機制基于ESIKF融合 LiDAR、IMU 及互觀測量,提供高精度位姿估計。引入邊緣化策略,僅對當前可觀測的隊友外參進行估計,避免計算量隨集群規模增長,顯著提高擴展性。

  • 時間補償機制針對不同無人機之間的傳感器異步問題,設計了精細的互觀測量時間補償模型,顯著提升互定位精度。

充分驗證

  • 在仿真和真實環境中,Swarm-LIO2 實現了包括:室外避障編隊飛行、穿越密林任務、目標跟蹤與動態入隊/退隊、多UAV協同運輸、展示了在通信中斷、LiDAR退化等極端條件下仍能維持高魯棒性。

圖片來源:《Swarm-LIO2: Decentralized, Efficient LiDAR-Inertial Odometry for UAV Swarms》,IEEE T-RO,2025

03 Voxel-SLAM

Voxel-SLAM 是一個完整、準確且通用的 LiDAR-Inertial SLAM 系統,系統模塊包括:初始化、里程計估計、局部建圖、閉環檢測、全局建圖。其核心優勢在于:五大模塊統一使用自適應Voxel Map結構,并通過對短期、中期、長期、多圖關聯四類數據關聯的統一建模,實現從動態初始化到多次會話閉環的端到端高精度建圖


圖片來源:《Voxel-SLAM: A Complete, Accurate, and Versatile LiDAR-Inertial SLAM System》,arXiv:2410.08935,2024

技術亮點

  • 統一的自適應體素地圖結構所有模塊均采用自適應體素地圖進行數據表達,實現各模塊的高效協同與快速數據關聯。

  • 高效魯棒的初始化即使在非靜止初始狀態下,僅需約1秒數據即可完成系統的高精度初始化。

  • 中期數據關聯的實時局部優化通過創新的LiDAR-慣性BA技術,實現實時優化狀態與地圖,顯著增強系統對快速運動和退化場景的適應能力。

  • 多會話回環檢測與重定位支持當前與歷史會話之間的回環檢測,極大提高長期運行時的系統穩定性。

  • 高效的全局一致性地圖優化引入層次化的全局優化方法,確保地圖精度與一致性,同時保證了高效的計算性能。

  • 出色的魯棒性與泛化能力經測試表明,Voxel-SLAM在室內狹窄場景、城市大規模戶外環境及無人機高空作業場景中均展現了卓越的定位與建圖能力。

圖片來源:《Voxel-SLAM: A Complete, Accurate, and Versatile LiDAR-Inertial SLAM System》,arXiv:2410.08935,2024

04 Point-LIO(grid-map 分支)

2025年2月港大在原 Point-LIO 框架中新增 point-lio-with-grid-map 分支,引入占據柵格重建與退化檢測,專為競速 UAV 的極限機動與高帶寬控制設計 。

圖片來源:《Point-LIO: Robust High-Bandwidth LiDAR-Inertial Odometry》,Advanced Intelligent Systems 2023

升級內容

  • 新增柵格地圖構建與退化檢測邏輯。

  • 持續 4–8 kHz 的里程計輸出,75 rad/s 角速度下仍無 IMU 飽和。

  • 快速上手:與原 Point-LIO 完全兼容,建議搭配 200 Hz 以上 IMU 與硬同步 LiDAR,充分發揮高頻優勢。

05 如何選擇+上手要點?

注意本文僅聚焦實時 SLAM / LIO / VIO;不含多會話地圖融合(LAMM)或稠密重建(GS-SDF、M2Mapping)等后端組件。

資源速遞

FAST-LIVO2:快速直接的激光-慣導-視覺里程計
FAST-LIVO2: Fast, Direct LiDAR-Inertial-Visual Odometry
論文鏈接:https://arxiv.org/pdf/2408.14035
FAST-LIVO2代碼開源:
https://github.com/hku-mars/FAST-LIVO2
硬同步設備開源:
https://github.com/xuankuzcr/LIV_handhold
相機和激光雷達標定開源:
https://github.com/hku-mars/FAST-Calib*

Swarm-LIO2:去中心化無人機集群激光-慣導里程計
Swarm-LIO2: Decentralized, Efficient LiDAR-Inertial Odometry for UAV Swarms
論文鏈接:https://arxiv.org/abs/2409.17798
開源代碼:https://github.com/hku-mars/Swarm-LIO2

Voxel-SLAM:完備、精確且多功能的激光-慣導 SLAM 系統
Voxel-SLAM: A Complete, Accurate, and Versatile LiDAR-Inertial SLAM System
論文鏈接:https://arxiv.org/abs/2410.08935
開源代碼:https://github.com/hku-mars/Voxel-SLAM

Point-LIO(grid-map 分支):高帶寬激光-慣導里程計
Point-LIO: Robust High-Bandwidth LiDAR-Inertial Odometry
論文鏈接:https://advanced.onlinelibrary.wiley.com/doi/full/10.1002/aisy.202200459
開源代碼:https://github.com/hku-mars/Point-LIO/tree/point-lio-with-grid-map

如果您有感興趣的技術話題,請在留言區告訴我們!關注阿木實驗室,更多技術干貨不斷更新!
開發遇到棘手難題可以上阿木官方論壇:bbs.amovlab.com
有工程師親自解答10000+無人機開發者和你共同進步!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/82326.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/82326.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/82326.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【質量管理】TRIZ因果鏈分析:解碼質量問題的“多米諾效應“

為什么要使用因果鏈分析 沒有發現問題并不等于沒有問題。愛因斯坦曾說,如果我只有一個小時的時間來拯救世界,我將花45分鐘時間分析問題,10分鐘的時間來檢查問題,最后5分鐘的時間來解決問題。可見問題分析的重要性。 在質量管理實踐…

線程中常用的方法

知識點詳細說明 Java線程的核心方法集中在Thread類和Object類中,以下是新增整合后的常用方法分類解析: 1. 線程生命周期控制 方法作用注意事項start()啟動新線程,JVM調用run()方法多次調用會拋出IllegalThreadStateException(線程狀態不可逆)。run()線程的任務邏輯直接調…

c++:迭代器(Iterator)

目錄 🚪什么是迭代器? 🔧 迭代器的本質 為什么不用普通數組或下標? STL容器的迭代器并不是共用一個類型! 迭代器的類型(Iterator Categories) 📦 常見容器的迭代器類型 ? 迭…

【文件系統—散列結構文件】

文章目錄 一、實驗目的實驗內容設計思路 三、實驗代碼實現四、總結 一、實驗目的 理解linux文件系統的內部技術,掌握linux與文件有關的系統調用命令,并在此基礎上建立面向隨機檢索的散列結構文件;## 二、實驗內容與設計思想 實驗內容 1.設…

力扣26——刪除有序數組中的重復項

目錄 1.題目描述: 2.算法分析: 3.代碼展示: 1.題目描述: 給你一個 非嚴格遞增排列 的數組 nums ,請你 原地 刪除重復出現的元素,使每個元素 只出現一次 ,返回刪除后數組的新長度。元素的 相對…

ggplot2 | GO barplot with gene list

1. 效果圖 2. 代碼 數據是GO的輸出結果,本文使用的是 metascape 輸出的excel挑選的若干行。 # 1. 讀取數據 datread.csv("E:\\research\\scPolyA-seq2\\GO-APA-Timepoint\\test.csv", sep"\t") head(dat)# 2. 選擇所需要的列 dat.usedat[, c(…

學習搭子,秘塔AI搜索

什么是秘塔AI搜索 《秘塔AI搜索》的網址:https://metaso.cn/ 功能:AI搜索和知識學習,其中學習部分是亮點,也是主要推薦理由。對應的入口:https://metaso.cn/study 推薦理由 界面細節做工精良《今天學點啥》板塊的知…

【C語言】--指針超詳解(三)

目錄 一.數組名的理解 二.使用指針訪問數組 三.一維數組傳參的本質 四.冒泡排序 五.二級指針 六.指針數組 6.1--指針數組的定義 6.2--指針數組模擬二維數組 🔥個人主頁:草莓熊Lotso的個人主頁 🎬作者簡介:C方向學習者 &…

Linux防火墻

1.防火墻是一種位于內部網絡與外部網絡之間的網絡安全系統,它依照特定的規則,允許或限制傳輸的數據通過,以保護內部網絡的安全。以下從功能、分類、工作原理等方面為你詳細講解: 功能訪問控制:這是防火墻最主要的功能。…

嵌入式培訓之C語言學習完(十七)結構體、共用體、枚舉、typedef關鍵字與位運算

目錄 一、結構體(struct關鍵字) (一)聲明一個結構體數據類型 (二)結構體的成員初始化與賦值 a、結構體變量賦值 b、結構體成員初始化 c、結構體的定義形式 (三)考點&#xff…

Python字典:數據操作的核心容器

在Python編程生態中,字典(dict)是最常用且功能強大的內置數據結構之一。它以鍵值對(Key-Value Pair)的形式存儲數據,為快速查找、靈活映射關系提供了天然支持。無論是數據清洗、算法實現還是Web開發&#x…

按位寬提取十六進制值

需求:給出一個十六進制值,要求提取high和low位之間的值。比如16ha0f0,這是一個16bit寬的十六進制數0xa0f0,提取[15:12]范圍內的值。 def extract_bits(value, high, low):"""從 value 中提取 [high:low] 位的值:p…

LeRobot 項目部署運行邏輯(六)——visualize_dataset_html.py/visualize_dataset.py

可視化腳本包括了兩個方法:遠程下載 huggingface 上的數據集和使用本地數據集 腳本主要使用兩個: 目前來說,ACT 采集訓練用的是統一時間長度的數據集,此外,這兩個腳本最大的問題在于不能裁剪,這也是比較好…

SSTI模版注入

1、概念 SSTI是一種常見的Web安全漏洞,它允許攻擊者通過注入惡意模板代碼,使服務器在渲染模板時執行非預期的操作。 (1)渲染模版 至于什么是渲染模版:服務器端渲染模板是一種Web開發技術,它允許在服務器端…

關于點膠機的精度

一、精度: 1:X/y軸定位精度常通在5個絲左右,Z軸在3個絲左右, 如果采用伺服電機絲桿配置,可提升至于個2絲左右。 2:膠水控制精度:通過噴閥驅動器,氣壓等參數,實現膠量控制&#xf…

gitee推送更新失敗問題記錄:remote: error: hook declined to update refs/heads/master

問題描述: gitee推送更新時,提示: 解決方法: 登錄Gitee,進入【個人主頁】 點擊【個人設置】 更改郵箱的配置,如下: 更改“禁止命令行推送暴露個人郵箱”,將其關閉:

Java如何獲取電腦分辨率?

以下是一個 Java 程序示例,用于獲取電腦的主屏幕分辨率: import java.awt.*; public class ScreenResolutionExample { public static void main(String[] args) { // 獲取默認的屏幕設備 GraphicsDevice device GraphicsEnvironm…

WPF 3D圖形編程核心技術解析

一、三維坐標系系統 WPF采用右手坐標系系統,空間定位遵循: X 軸 → 右 Y 軸 → 上 Z 軸 → 觀察方向 X軸 \rightarrow 右\quad Y軸 \rightarrow 上\quad Z軸 \rightarrow 觀察方向 X軸→右Y軸→上Z軸→觀察方向 三維坐標值表示為 ( x , y , z ) (x, y,…

【庫(Library)、包(Package)和模塊(Module)解析】

在Python中,**庫(Library)、包(Package)和模塊(Module)**是代碼組織的不同層級,而import語句的導入行為與它們密切相關。以下是詳細對比和解釋: 📦 1. 核心概…

裸機上的 printf:在無操作系統環境下構建 C 標準庫

在嵌入式開發和底層系統編程領域,裸機開發是一項極具挑戰性但又至關重要的任務。想象一下,在沒有操作系統支持的情況下,讓 C 語言的標準庫函數,如printf正常工作,這聽起來是不是很有趣又充滿挑戰?今天&…