[ros-users] Future-dating tf transforms by more than 10 minu…

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: Patrick Bouffard
Date:  
To: ros-users
Subject: [ros-users] Future-dating tf transforms by more than 10 minutes?
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