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

TF_OLD_DATA error when i play bag file for RGBDSLAM

asked 2013-07-03 22:04:00 -0500

longzhixi123 gravatar image

updated 2014-01-28 17:17:08 -0500

ngrennan gravatar image

hello, hi, I'm trying to execute rgbdslam offline by bag files. and i downloaded the bag file on web, and

1: roscore

2: rosbag play *.bag

3: rosrun rgbdslam rgbdslam

and the GUI of rgbdslam have no images: waiting for monocrome image and waiting for depth image. and i got the [waring:]TF_OLD_DATA ignoring data from the past_for frame /openni_rgb_optical_frame at time 1.20503e+09 according to authority /play_1372905451654291573

Any suggestion would be greatly appreciated!

edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted

answered 2013-07-03 22:37:18 -0500

Procópio gravatar image

updated 2013-07-03 22:38:49 -0500

When you play a bag file, it has a time associated with the messages. When you launch your local modules, they will normally use the current time of your computer. The problem here is that the time of the bag file and the current time are likely to be far apart, so you need to force the bag file time to be used by all your local programs. To do this you must:

  1. set the use_sim_time parameter to true:

    rosparam set use_sim_time true

  2. play your bag file with the argument --clock:

    rosbag play xxxx.bag --clock

I hope this solve your issue. For further info you can check this page

edit flag offensive delete link more

answered 2013-07-11 01:29:03 -0500

Procopios answer is correct. I'd like to add the alternative of having rgbdslam directly process your bagfile by setting the parameter config/bagfile_name in your launchfile. The advantage is that every frame will be processed (depending on the data_skip_step parameter) and therefore the results are independent of your machine's speed. Playing a bagfile, frames will be dropped unless your machine is fast enough for realtime processing.

edit flag offensive delete link more


how do I set that parameter?

silgon gravatar image silgon  ( 2014-01-04 23:25:42 -0500 )edit

have a look at one of the launchfiles in rgbdslam/launch on how the other parameters are set. Then just assign the absolute path of the bagfile to "config/bagfile_name".

Felix Endres gravatar image Felix Endres  ( 2014-01-23 22:35:54 -0500 )edit

I have same problem- I tried this: set the use_sim_time parameter to true but it doesn't works. but set the use_sim_time parameter to 1 works. After executing: rosbag play xxxx.bag --clock I can listen to clock info, but after launching rgbdslam I receave this warning: WARNING: no messages received and simulated time is active. Is /clock being published? So I assume that octomap_server launched in seperate terminal doesn't receave a clock information too. What can be done with this?

Wilk gravatar image Wilk  ( 2014-02-10 05:18:57 -0500 )edit

Question Tools



Asked: 2013-07-03 22:04:00 -0500

Seen: 6,710 times

Last updated: Jul 11 '13