While reviewing the gps_waypoint_follower_demo, I noticed that the robot SDF used in the demo includes a diff_drive plugin that publishes odometry:
https://github.com/ros-navigation/nav2_minimal_turtlebot_simulation/blob/8b63166dd76829aaa558bf8e801ac9c834a3a56c/nav2_minimal_tb3_sim/urdf/gz_waffle_gps.sdf.xacro#L545
At the same time, the demo uses robot_localization with the ekf_filter_node_odom, which (when world_frame == odom_frame) broadcasts its own odom → base_link transform.
According to the robot_localization documentation:
https://docs.ros.org/en/melodic/api/robot_localization/html/preparing_sensor_data.html#odometry
“Some robot drivers also broadcast this transform along with their odometry message. If users want robot_localization to be responsible for this transform, then they need to disable the broadcast of that transform by their robot’s driver.”
Given this, would it be appropriate to disable the diff_drive plugin’s odometry TF broadcast in the demo to ensure there are no conflicting TF publishers?
Thanks in advance!