[ros-users] Future-dating tf transforms by more than 10 minutes?

Patrick Bouffard bouffard at eecs.berkeley.edu
Tue May 25 05:33:28 UTC 2010


Is there a limitation on how far in the future the timestamp of a transform
broadcast by a tf::TransformBroadcaster can be? If there was I would have
expected it to be perhaps the default tf cache time of 10.0 seconds, but my
experimentation (this is with boxturtle) seems to indicate it is 600
seconds. In particular, I'm looking at the frame in rviz, and if I set the
timestamp to ros::Time::now() + ros::Duration(600.1), then I get the
following warning in rviz, and the frame does not have the right data:

No transform from [/grey/camera] to frame [/enu]

... however if I simply change the 600.1 to 600, there is no warning..

It looks like the constructor in rviz's frame_manager.cpp is where this
happens:

FrameManager::FrameManager()
{
  tf_ = new tf::TransformListener(ros::NodeHandle(), ros::Duration(10 * 60),
false);
}

It looks like this is unchanged in trunk as well. Is there is some reason
why ten minutes was chosen? Are there drawbacks to making this longer? Or
configurable? Ten minutes is fine for my present application but it seems to
be somewhat arbitrary.

Thanks,
Pat
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20100524/75b25a50/attachment-0002.html>


More information about the ros-users mailing list