Skip to content
Tech News
← Back to articles

FusionCore: ROS 2 sensor fusion (IMU and GPS and encoders)

read original get ROS 2 Sensor Fusion Kit → more articles
Why This Matters

FusionCore addresses a critical gap in ROS 2 sensor fusion by providing advanced, self-tuning algorithms that reliably combine IMU, GPS, and wheel encoder data for accurate robot localization. Its superior performance in benchmarks demonstrates its potential to enhance navigation accuracy and robustness in autonomous systems, benefiting both developers and end-users in the robotics industry.

Key Takeaways

FusionCore

ROS 2 sensor fusion SDK. Combines IMU, wheel encoders, and GPS into one reliable position estimate. Self-tuning noise covariance. Apache 2.0.

What problem does this solve?

Every mobile robot needs to know where it is. It gets this from multiple sensors: IMU, wheel encoders, GPS: each of which is imperfect in its own way. IMUs drift. Wheels slip. GPS jumps. You need software that intelligently combines all three into one trustworthy position estimate.

That software is called a sensor fusion package. The standard one for ROS, robot_localization , lacks native ECEF GPS fusion, IMU bias estimation, and adaptive noise covariance. Its designated replacement ( fuse ) has incomplete GPS support with no ECEF handling or RTK quality gating as of early 2026. No clear accessible replacement exists for either.

FusionCore is built to fill that gap.

Benchmark results

FusionCore vs robot_localization on the NCLT dataset (University of Michigan): same IMU + wheel odometry + GPS, no manual tuning. Six sequences, same pipeline:

Sequence FC ATE RMSE RL-EKF ATE RMSE RL-UKF 2012-01-08 5.6 m 23.4 m NaN divergence at t=31 s 2012-02-04 9.7 m 20.6 m NaN divergence at t=22 s 2012-03-31 4.2 m 10.8 m NaN divergence at t=18 s 2012-08-20 7.5 m 9.4 m NaN divergence 2012-11-04 28.7 m 10.9 m NaN divergence 2013-02-23 4.1 m 5.8 m NaN divergence

FusionCore wins 5 of 6 sequences. On 2012-11-04 (fall, degraded GPS), FC's Mahalanobis outlier gate still loses despite inertial coast mode (Q inflation on consecutive rejections): GPS was sufficiently degraded for long enough that accumulated drift could not be fully recovered. RL-EKF has no rejection gate and self-corrects immediately. RL-UKF diverged with NaN on all six sequences. Full methodology, configs, and reproduce instructions in benchmarks/ .

... continue reading