Ask Your Question

tf::waitForTransform() does not wait for transform ... [closed]

asked 2011-12-15 05:10:54 -0500

updated 2014-01-28 17:11:00 -0500

ngrennan gravatar image

Hi all,

First I recorded a rosbag with "-a" , so that clock and tf's are included.

Then, I playback the rosbag with the "--clock" option. I asses that tf is ok and all links exist with tf_monitor.

In parallel (in the same launch file) I launch a node X that uses a TransformListener. In that node X, before any transformation, I would like to wait for transforms, just in case rosbag recording added some delay on weaking up tf. So, I put that :

tfListener.waitForTransform("base_link", myFrameName, ros::Time(0), ros::Duration(10.0),ros::Duration(0.1));

And the execution breaks after 3 seconds aprox, so it does not wait for 10 seconds.

However, If I put (please note I change polling rate but timeout remains the same)

tfListener.waitForTransform("base_link", myFrameName, ros::Time(0), ros::Duration(10.0),ros::Duration(1.0));

then the execution waits correctly up to tf is available.

Can anyone comment or answer this issue ?

Thank you very much !

best regards,


edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by Andreu
close date 2015-07-01 08:56:08.704773

1 Answer

Sort by ยป oldest newest most voted

answered 2012-01-24 04:04:52 -0500

tfoote gravatar image

Please file a ticket for this, and attach a bag file and sample code to reproduce.

edit flag offensive delete link more

Question Tools


Asked: 2011-12-15 05:10:54 -0500

Seen: 2,079 times

Last updated: Jan 24 '12