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

Forside
Vedhæftede filer:
Indlæg som e-mail
+ (text/plain)
+ (text/html)
Slet denne besked
Besvar denne besked
Skribent: Patrick Bouffard
Dato:  
Til: ros-users
Emne: [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