jnz/INSLIB

Open Source Inertial Navigation Library

解決的問題

INSLIB 提供了一種可攜式、高精度的 3D 導航狀態估計解決方案。它透過融合多種感測器(如 IMU、GNSS/GPS、氣壓計、磁力計)的資料,解決了準確追蹤車輛位置、姿態與速度的問題,同時應對現實世界中的挑戰,如感測器延遲、雜訊與 GNSS 中斷。

工作原理

該函式庫使用一組卡爾曼濾波器(特別是強健的 UDU/Bierman-Thornton 平方根濾波)來融合來自不同來源的測量值。它以純 C11 編寫,以在嵌入式微控制器上實現最大可攜性與效率,避免堆疊配置與作業系統依賴。為確保精確度,它包含感測器校準(偏移、比例與錯位)工具,以及透過交叉相關垂直速度資料來估計 GNSS 延遲的方法。

適用對象

  • 機器人與無人機開發者:建構無人機、自動駕駛車輛或航太系統,需要精確即時追蹤的開發者。
  • 嵌入式系統工程師:需要為裸機目標開發輕量級、WCET 友好型導航函式庫的開發者。
  • 資料分析師:對記錄的飛行或駕駛資料進行後處理,以分析導航效能的研究人員。

主要亮點

  • 航太級可靠性:測試覆蓋率超過 90%,採用 MC/DC 測試並具備嚴格的可追溯性要求。
  • 嵌入式優化:無堆疊或作業系統依賴,使用 32 位浮點數,避免對 64 位雙精度硬體的需求。
  • 強健的感測器融合:支援多種輸入,包括 Galileo HAS、RTK GNSS、磁力計以及零速度/零旋轉更新。
  • 完整的工具鏈:包含基於 Python 的 GUI,支援後處理、即時資料視覺化與感測器校準。

相關

  • 專案
  • 專案
  • 專案
  • 專案