ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Sequential number does NOT increase in rosbag

asked 2011-09-02 14:55:03 -0600

Shiqi gravatar image

updated 2011-09-03 15:21:31 -0600

kwc gravatar image


I am using an Erratic robot equipped with a Hokuyo laser sensor. The first thing I want to do is to get a map by gmapping. I did it in this way:

** Open a few terminals, set the simulated time and then start roscore

** roslaunch erratic_player erratic_base.launch

** rosrun hokuyo_node hokuyo_node

** rosrun erratic_teleop erratic_keyboard_teleop

** rosbag record -O mylaserdata /scan /tf

After the recording finished, I close all of the above except roscore, start the gmapping, and then play the bag by:

** rosbag play --clock mylaserdata.bag

I got nothing but a warning:

warning: [1315017585.310852253, 1315016815.179267613]: MessageFilter [target=/odom ]: Dropped 100.00% of messages so far. Please turn the [ros.gmapping.message_notifier] rosconsole logger to DEBUG for more information.

I checked by the rxconsole, and found something like the following repeatedly.

MessageFilter [target=/odom ]: Added message in frame /base_laser at time 1315016811.038, count now 5

MessageFilter [target=/odom ]: Removed oldest message because buffer is full, count now 5 (frame_id=/base_laser, stamp=1315016810.938059)

I believe there are some reason making the new-coming range information not instantly accepted. So I checked the messages from topics of /tf and /scan. I compared them with the messages from the downloaded bag, and found the "seq" number from /tf does not increase at all: always 0. I guess the reason that the laser readings are over buffered is just this number not increasing.

I am new to the ROS community. Could anyone kindly tell me how to force the "seq" number growing?

Thanks in advance.

Shiqi Zhang

edit retag flag offensive close merge delete


Did you actually set ros.gmapping.message_notifier to DEBUG? You can do this using in rxconsole.
Eric Perko gravatar image Eric Perko  ( 2011-09-02 15:12:24 -0600 )edit
Not sure if `rosbag play --clock` set's it already, but did you make sure that the parameter /use_sim_time is set to true?
Lorenz gravatar image Lorenz  ( 2011-09-02 20:59:20 -0600 )edit
Eric, I did set the notifier to DEBUG, and that where the two MessageFilters come from.
Shiqi gravatar image Shiqi  ( 2011-09-03 04:36:40 -0600 )edit
Lorenz, each time I used 'rosbag play' I always put the '--clock' after the 'play' as you suggested. The '/use_sim_time' was also set to be true. Actually, I used the same method to run the bag downloaded from the tutorial, and it just worked perfect well.
Shiqi gravatar image Shiqi  ( 2011-09-03 04:42:08 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2011-09-02 17:07:47 -0600

kwc gravatar image

In this case I believe the 'seq' number is a red herring. It should not be relevant to the problem that you are trying to debug. It is a vestigial field from an older version of ROS that we have left in for data storage compatibility.

edit flag offensive delete link more


Thanks Ken, so.. I really don't know what the possible reasons could be. I will try to use static /tf instead of the /erratic_player today and see if it works.
Shiqi gravatar image Shiqi  ( 2011-09-03 04:49:57 -0600 )edit

Question Tools


Asked: 2011-09-02 14:55:03 -0600

Seen: 422 times

Last updated: Sep 02 '11