I’m Stefan, a developer at Husarion. We are currently working on an outdoor navigation demo on our Panther robot with dual GNSS antennas for heading. As we will soon upgrade our robots to ROS 2 Jazzy, we reconsidered our options for sensor fusion packages and would ask for guidance.
From our research, the robot_localization package is no longer being developed and would require treating GNSS heading as IMU data to function properly. We are considering switching to the fuse package by Locus Robotics, but the lack of open-source examples and out-of-the-box GNSS support is concerning. Any guidance or recommendations would be greatly appreciated.
Hi Stefan…. late to this thread but I’ve been working on exactly this problem.
I built FusionCore….. a ROS 2 Jazzy sensor fusion package that directly addresses what you described: robot_localization deprecated, fuse lacking GNSS support and working examples.
What it does for your use case specifically:
UKF with full 3D state: not a port of robot_localization
Native GNSS fusion in ECEF coordinates: no UTM hack, no treating dual antenna heading as IMU data
Automatic gyroscope and accelerometer bias estimation: no manual covariance matrices
HDOP/VDOP quality-aware noise scaling: bad fixes automatically down-weighted
Apache 2.0: commercially safe for Husarion’s use case
ros2 lifecycle set /fusioncore configure
ros2 lifecycle set /fusioncore activate
Honest status: core fusion: UKF, IMU bias estimation, GNSS ECEF, encoder fusion: is working and tested at 100Hz. Adaptive covariance and outlier rejection are on the roadmap for the next release.
I respond to issues within 24 hours. If you hit problems getting it running on the Panther, open an issue or reply here.