ROS 2 sensor fusion SDK using a 22D UKF to combine IMU, wheel encoders, and GPS with adaptive noise covariance and no manual tuning. Apache 2.0.
Key Takeaways
Fills a real gap: robot_localization lacks ECEF GPS fusion and IMU bias estimation; its designated replacement fuse has no ECEF handling or RTK quality gating as of early 2026.
NCLT benchmark: FusionCore wins 5 of 6 sequences against robot_localization EKF; robot_localization UKF diverges with NaN on all six sequences.
Chi-squared outlier gating on all sensors plus GPS fix-quality tiers (GPS / DGPS / RTK_FLOAT / RTK_FIXED) replace the blunt mahalanobis_threshold knob in robot_localization.
ZUPT auto-suppresses velocity drift when stationary; lever arm correction activates only when heading is independently validated; filter reset service clears GPS reference without a node restart.
Headless install (Raspberry Pi, server) works cleanly: add COLCON_IGNORE to skip the Gazebo package, which otherwise pulls in a large GUI dependency chain.