Robotics

Analysis on FusionCore vs robot_localization

FusionCore's gating mechanism wins on brief dropouts but struggles with sustained GPS noise.

Deep Dive

Manankharwar's FusionCore library outperformed robot_localization EKF in 5 of 6 NCLT sequences across different weather conditions, with consistent configs and no parameter tweaks. The key differentiator: FusionCore's gating mechanism rejects bad GPS measurements based on Mahalanobis distance, preventing corruption during brief dropouts like tunnels or urban canyons. However, on the November 2012 sequence with sustained GPS degradation, robot_localization won because it accepts all updates, re-anchoring as signal improves.

To address this, the team added an inertial coast mode: after N consecutive GPS rejections, FusionCore increases position process noise (Q), expanding covariance (P) and loosening the gate to accept measurements again. This cut error from 61.4m to 28.7m on the problem sequence. FusionCore accepts nav_msgs/Odometry from sources like slam_toolbox, ORB-SLAM3, and VINS-Mono, with all code and results open-source on GitHub.

Key Points
  • FusionCore wins 5 of 6 NCLT sequences against robot_localization EKF with consistent configs
  • New inertial coast mode reduces error by 53% on sustained GPS degradation (61.4m to 28.7m)
  • FusionCore accepts odometry from SLAM tools like ORB-SLAM3 and VINS-Mono via nav_msgs/Odometry

Why It Matters

Open-source sensor fusion with adaptive GPS rejection improves robot localization reliability in real-world conditions.