0
$\begingroup$

Rosanswers logo

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!


Originally posted by longzhixi123 on ROS Answers with karma: 78 on 2013-07-03

Post score: 1

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

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


Originally posted by Procópio with karma: 4402 on 2013-07-03

This answer was ACCEPTED on the original site

Post score: 7

$\endgroup$
0
$\begingroup$

Rosanswers logo

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.


Originally posted by Felix Endres with karma: 6468 on 2013-07-11

This answer was NOT ACCEPTED on the original site

Post score: 2


Original comments

Comment by silgon on 2014-01-05:
how do I set that parameter?

Comment by Felix Endres on 2014-01-23:
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".

Comment by Wilk on 2014-02-10:
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?

$\endgroup$

Your Answer

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