rsasaki0109/kalman_filter_localization_ros2
gnss/imu localization using kalman filter
解決的問題
本專案為機器人與車輛提供高精度定位系統,解決了即時估計車輛位置、速度與姿態(朝向)的問題。它特別針對感測器雜訊、GNSS 中斷(GPS 訊號遺失)以及 IMU 偏置漂移等挑戰,確保即使在單個感測器失效或不準確時,車輛也能知道自己的位置。
工作原理
該系統使用誤差狀態擴展卡爾曼濾波器 (ESEKF) 來融合來自多個感測器的數據:GNSS(位置與速度)、IMU(加速度與角速度)以及輪式里程計。
關鍵技術機制包括:
- Measurement Replay:一個回溯並重放的引擎,允許濾波器在實際的感測器時間戳處融合測量值,從而修正延遲。
- Robust Loss Functions:使用 Huber 與 Cauchy 損失函數來忽略可能會扭曲位置估計的「離群值」測量值。
- 應對中斷:整合非完整約束 (NHC) 與零速更新 (ZUPT),以在 GNSS 中斷期間保持準確性。
- 傳播模型:提供多種積分方法(fast、exact 或 legacy),用於計算感測器更新之間的狀態。
- 平滑處理:可選的固定滯後 RTS 平滑器可以使用未來數據重新處理過去的狀態,從而建立高度精確的參考軌跡。
適用對象
- 開發自動駕駛車輛或地面機器人的機器人工程師。
- 專注於感測器融合與定位演算法的研究人員。
- 在導航堆疊中使用 ROS 2 的開發人員。
亮點
- 多感測器融合:結合了 GNSS、IMU 與輪速數據。
- 故障隔離:自動隔離產生非有限值或持續被拒絕樣本的感測器。
- 偏置估計:持續估計並校正陀螺儀與加速度計的偏置。
- 診斷工具:包括用於感測器配置診斷的
kf_doctor以及用於計算 APE 與 RPE 誤差的全面評估套件。 - UrbanNav 性能:證明了在長時間 GNSS 中斷(長達 81.8 秒)期間,能將 3D RMSE 從 600 多公尺降低到 3.15 公尺的能力。
相關
- 專案
- 專案
- 專案
- 專案
- 專案