FusionCore 是為真實世界機器人設計的 ROS 2 UKF 感測器融合 SDK。整合 IMU、輪式編碼器和 GPS 資料,以 100 Hz 的頻率運行。它能處理不良校準、時間戳記抖動、GPS 延遲、輪胎打滑以及 ARM 硬體問題,且無需手動調校。採用 Apache 2.0 授權。

驗證其工作情況(單一指令,取代 4 個終端的手動測試):

啟動 FusionCore 並使用偽感測器,約 15 秒內檢查所有輸出。每個檢查會列出 [PASS] / [FAIL]。

嘗試 FusionCore 的最簡單方法 — 無需安裝 ROS 2。映像檔託管於 GitHub Container Registry (GHCR)。

完整指南(磁碟掛載、主題重對映、--net=host):docs/docker.md

大多數感測器融合教學都假設資料乾淨。真實的機器人資料並不乾淨。FusionCore 的建置就是為了解決您實際遇到的問題。

FusionCore 與 robot_localization 在 NCLT 資料集上的比較:使用相同的 IMU、輪式里程計和 GPS,無需手動調校。涵蓋所有季節的十二個完整序列。RL-EKF 在 99.9% 的信心水準下以 chi-squared 等效閾值運行。

注意:這些數字是等待在當前 main 分支上進行受控的完整套件重新運行時的快照。10/12 的結果仍然成立,但 2013-04-05 的數字(12.1 m)已過時:自那時以來已退化至約 19.4 m(仍有 93% 的勝率)。請參閱 tools/benchmark_regression.md。

RL-UKF 在所有十二個序列上都出現 NaN 發散。FusionCore 在 10/12 個序列中獲勝。RL-EKF 的損失追溯到一個根本原因:GPS 驅動程式報告 3m 的 sigma,但與 RTK 基準真相相比,實際的 p95 雜訊根據日期不同,為 9.7-53.1m。RL 的閘門是根據聲稱的 3m 校準的,並在 GPS 不良的日子裡拒絕有效的修正。FusionCore 的自適應雜訊估計(adaptive.gnss: true)可即時校準 chi2 統計資料。

兩個 FC 的損失是由於 2012-08-20 的 GPS 資料品質問題(在斷電邊界附近的 24 秒窗口內有 105 個損壞的模式 3 修復)以及 2012-06-15 的 462 秒 GPS 斷電期間累積的航向誤差所致。請參閱 benchmarks/README.md 以獲取完整的每個序列分析,包括根本原因和修復路徑。

真實工程師、真實機器人、真實感測器資料。非演示。

「該系統在真實機器人資料上表現穩定,且配置相對容易。我能夠在不花費過多時間進行參數調校的情況下獲得合理的行為。整體體驗感覺更偏向部署導向,而非研究演示導向。」

Michał Bednarek (@mbed92),Robotics PhD Factory 差速機器人,ROS 2 Humble:Cartographer(點雲定位,無預載地圖)+ 輪式里程計 + IMU

「正在嘗試在農業領域機器人中使用 FusionCore。希望一兩個月內能讓機器人動起來。」

Sam (@samuk),Agroecology Lab 室外農業機器人,整合中

Russ Hall,Andino 機器人(Raspberry Pi)OAK-D(立體深度 + IMU)+ Velodyne VLP-16 + rtabmap:室內 SLAM 地圖建置

在您的機器人上運行 FusionCore?請在 Discussions #22 中留言,我會將您加入此處。

rtabmap_ros(已合併):FusionCore 已被包含在官方 rtabmap_ros 儲存庫中,由 @matlabbe 維護,作為一個命名演示(「Turtlebot3 Nav2,使用 FusionCore 的 2D LiDAR SLAM」)。該演示展示了 FusionCore 和 icp_odometry 在一個回饋迴路中運行:FusionCore 的穩定里程計框架通過 guess_frame_id 為掃描匹配提供種子,而 ICP 結果則作為第二個速度來源回饋到 FusionCore。查看演示

Stereolabs 社群:FusionCore + ZED 整合指南已發布在 Stereolabs 開發者論壇上,並得到 Stereolabs 技術支援的認可。@privvyledge 正在積極評估 FusionCore,將其與 Wolf、TIER IV EagleEye 和 robot_localization 在兩個平台上進行比較:一個 F1/10 比例的汽車(室內,VESC + RealSense D435i)和一輛全尺寸的自動駕駛貨車(GPS + ZED 2i + 360 LiDAR)。

OpenMowerNext(整合中):FusionCore 正被整合為 OpenMowerNext 的定位堆疊,這是一個社群 ROS 2 自動割草系統。該整合用 FusionCore 的單一生命週期節點取代了 robot_localization,融合了 RTK GPS (u-blox F9P)、IMU 和輪式里程計,並從割草機的家庭位置計算 ECEF 基準。

FusionCore 是 robot_localization + navsat_transform 堆疊的直接替代品。遷移指南涵蓋了 YAML 和啟動檔案的變更:manankharwar.github.io/fusioncore/migration_from_robot_localization

在實務中重要的架構差異:

如果您希望直接引用軟體發布版:

問題將在 24 小時內得到解答。在 GitHub 上開啟一個 issue 或在 ROS Discourse 上尋找討論。

在您的機器人上運行 FusionCore?開啟一個 Discussion 以列在 ADOPTERS.md 中。

需要保證在您的硬體上獲得結果?提供商業支援和固定價格整合服務。

ROS 2 感測器融合 SDK:UKF,3D 原生,正確的 GNSS,零手動調校。Apache 2.0。