How is Rviz able to get the /odom and /base_link transform from playing rosbag data?
I have a rosbag file named husky_navigation.bag
. The output of rosbag info husky_navigation.bag
produces the following information-
path: husky_navigation.bag
version: 2.0
duration: 60.0s
start: Feb 08 2018 22:04:11.00 (1518107651.00)
end: Feb 08 2018 22:05:10.00 (1518107711.00)
size: 294.7 MB
messages: 3563
compression: none [301/301 chunks]
types: nav_msgs/Odometry [cd5e73d190d741a2f92e81eda573aca7]
sensor_msgs/Imu [6a62c6daae103f4ff57a132d6f95cec2]
sensor_msgs/JointState [3066dcd76a6cfaef579bd0f34173e9fd]
sensor_msgs/PointCloud2 [1158d486dd51d683ce2f1be655c3c181]
topics: /husky_velocity_controller/odom 600 msgs : nav_msgs/Odometry
/imu/data 1190 msgs : sensor_msgs/Imu
/joint_states 1172 msgs : sensor_msgs/JointState
/velodyne/assembled_cloud_filtered 601 msgs : sensor_msgs/PointCloud2
I am also running an ekf_localization_node
provided in the robot_localization
package.
When I add 'TF' in Rviz, I see two frames - 'odom' and 'base_link'.
How is Rviz able to get these these two frames even when I haven't yet launched the robot_state_publisher
node? I read the definition of the 'robot_state_publisher' and it says this - 'This package allows you to publish the state of a robot to tf.'