Question about frame_id

I am a little bit confused about the frame_ids in the tutorials and GitHub sources.
E.g. in Tutorial 3 the “pose” topic is published with frame_id “base_link”, in GitHub-ROSbot_examples the same topic has the frame_id “odom”.
Similar in the drive_controller.cpp in Tutorial 6 where the transformation is between “world” and “base_link” and in GitHub-tutorial_pkg the transformation is between “odom” and “base_link”.
Additional in the ROSbot_driver is an addtional frame_id “odom” published with “joint_states”.
Can someone please explain me the differences? Or is it just because of different versions of tutorials and software (if yes what is the correct version)?


Hello Michael,

The difference is because of the different versions. Both could be correct as long as they are consistent across given project.
According to the ROS guidelines the names should be:
base_link for the frame tied to robot base
odom for the global fixed frame

The frame_id in pose topic points to parent frame for published data, in this case it should be odom.
Consequently, for joint_states the frame_id should be base_link.

I will update the repositories to be compatible with each other.