0
$\begingroup$

Rosanswers logo

Hi,

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


Originally posted by Shiqi on ROS Answers with karma: 11 on 2011-09-02

Post score: 1


Original comments

Comment by Shiqi on 2011-09-03:
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.

Comment by Shiqi on 2011-09-03:
Eric, I did set the notifier to DEBUG, and that where the two MessageFilters come from.

Comment by Lorenz on 2011-09-02:
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?

Comment by Eric Perko on 2011-09-02:
Did you actually set ros.gmapping.message_notifier to DEBUG? You can do this using http://www.ros.org/wiki/rxconsole#Logger_Levels in rxconsole.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

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.


Originally posted by kwc with karma: 12244 on 2011-09-02

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by Shiqi on 2011-09-03:
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.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.