Understand the FusionCore and icp_odometry architecture
ros2The system uses a feedback loop to improve odometry accuracy:
- FusionCore (UKF): Fuses wheel odometry (
/odom) and IMU (/imu) to provide a stableodomframe and continuous state at 100 Hz. It publishes/fusion/odomand theodom → base_footprintTF. - icp_odometry: Uses
/scanand FusionCore'sodomas an initial guess (guess_frame_id: odom) to provide scan-level pose corrections. It publishes to/rtabmap/icp_odometrybut does not publish its own TF (publish_tf: false). - Feedback Loop: The output of
icp_odometryis fed back into FusionCore asencoder2, providing tighter velocity corrections. - rtabmap SLAM: Consumes
icp_odometryoutput to build a global map and perform loop closures, providing themap → odomTF.