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,支援後處理、即時資料視覺化與感測器校準。
相關
- 專案
- 專案
- 專案
- 專案