What's the mechanism of the header timestamp of ROS message?
I'm curious about the mechanism of the header timestamp of ROS message. I ran a rosbag that publish the Image topic. Then a node subscribes this topic:
ros::Subscriber sub_image = n.subscribe(IMAGE_TOPIC, 2000, image_callback);
The callback is something like this:
queue<sensor_msgs::ImageConstPtr> image_buf;
void image_callback(const sensor_msgs::ImageConstPtr &image_msg)
{
ROS_INFO("image_callback!");
image_buf.push(image_msg);
printf(" image time %f \n", image_msg->header.stamp.toSec());
}
Then I took the image message from image_buf after a while and wrote image_msg->header.stamp.toSec()
into a time.txt file. I found the header timestamp value increases compared to its value in rosbag. Why???