Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

libpointmatcher

用於 2D/3D 點雲配準與建圖的模組化 ICP 函式庫

授權條款

BSD-3-Clause

概述

libpointmatcher 是一個模組化的 C++ 函式庫,實作用於 2D 與 3D 點雲配準的疊代最近點(ICP)演算法。它提供彈性的管線架構,其中每個步驟(資料過濾、匹配、離群值剔除、誤差最小化)都能獨立設定。它為 SLAM 與 3D 建圖等機器人應用打造,支援多種點雲格式並與 ROS 整合。這個函式庫在學術機器人研究中被廣泛當作 ICP 的參考實作。

libpointmatcher 是一個模組化的 C++ 函式庫,實作疊代最近點(ICP)演算法,用於對齊 2D 與 3D 點雲。它最初由 Francois Pomerleau 與 Stephane Magnenat 在 ETH Zurich 的 Autonomous Systems Lab 開發,目前由 Laval University 的 Northern Robotics Laboratory(Norlab)積極維護。

這個函式庫的主要優勢在於完全模組化的管線架構。ICP 流程的每個階段(輸入過濾、點匹配、離群值剔除與誤差最小化)都以可互換的模組實作。這種設計讓研究人員能有系統地測試不同的演算法選擇與配置,使它成為學術評測與方法開發的首選工具。

libpointmatcher 為了效率以 C++ 撰寫,並提供 Python 綁定以便快速製作原型。它支援以 Docker 部署,與 ROS 整合以用於即時機器人應用,並被收錄於多份精選的重要機器人與光達(LiDAR)處理函式庫清單中。

為何重要

libpointmatcher 已成為學術機器人領域中,以 ICP 為基礎之點雲配準的標準開源參考實作。它的模組化架構讓研究人員能替換個別的 ICP 管線元件(資料過濾器、匹配器、離群值過濾器、誤差最小化器),非常適合用於評測與開發新的配準方法。

解決的問題

對齊來自光達(LiDAR)或深度感測器的點雲,是機器人建圖與定位的基礎,但 ICP 實作往往是單體式的,難以客製。libpointmatcher 提供完全模組化的 ICP 管線,每個階段都能獨立設定或替換,讓配準策略能有系統地比較,也能輕鬆整合進更大的 SLAM 系統。

重點

  • 模組化的 ICP 管線,資料過濾器、匹配器、離群值過濾器與誤差最小化器皆可替換
  • 支援 2D 與 3D 點雲配準,用於建圖與定位
  • 最初由 ETH Zurich 的 Autonomous Systems Lab 開發,現由 Laval University 的 Norlab 維護
  • 在核心 C++ 函式庫之外提供 Python 綁定
  • 提供 Docker 映像,便於部署與可重現的研究

適用對象

  • 評測或開發點雲配準方法的機器人研究人員
  • 需要可設定 ICP 後端、以光達(LiDAR)為基礎的 SLAM 開發者
  • 從事定位與建圖流程的自動駕駛車輛工程師
  • 研究 3D 感知與掃描匹配的研究生

限制

  • 專注於以 ICP 為基礎的配準:不包含以特徵或學習為基礎的匹配
  • 處理非常大的點雲時,可能需要仔細調整資料過濾器與降採樣
  • 文件詳盡,但部分教學反映的是較舊的 API 版本
  • 仰賴 libnabo 進行最近鄰搜尋,增加了一項建置相依項目

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。