Ask Your Question
1

TF_OLD_DATA error when i play bag file for RGBDSLAM

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

longzhixi123 gravatar image

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

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
6

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

Procópio gravatar image

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

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
2

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

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

Comments

how do I set that parameter?

silgon gravatar imagesilgon ( 2014-01-04 23:25:42 -0600 )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 imageFelix Endres ( 2014-01-23 22:35:54 -0600 )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 imageWilk ( 2014-02-10 05:18:57 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

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

Seen: 4,190 times

Last updated: Jul 11 '13