ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Why is tf_broadcast_publisher creating future tfs

asked 2021-03-18 07:32:54 -0500

Webadone gravatar image


I've a question about publishing tfs that are valid in the future.

I found this also in robot_state_publisher with use_static_tf false.

I configured move_base to control not directly on base link but on a point a bit shifted to the center which shows a good result in 'smoothing' the movements a bit.

Before trying with tf_broadcast_publisher I published the tf from base_link to control_link myself but thought it might make sense to remove that and just use the tf_broadcast_publisher I'm running it with

  <node pkg="tf" type="static_transform_publisher" name="control_link_broadcaster" args="-0.3 0 0 0 0 0 base_link control_link 100"/>

The tf looks then like that (its from the simulation with gazebo not live on the robot)


With a tf from base_link to control_link in the future. When running the navigation now trying to transform the path it throws errors with the "Lookup would require extrapolation into the future" message.

I mean I'm fine publishing that tf myself without that + sleeper thing but I'm interested in the rational behind that.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2021-03-18 12:13:17 -0500

tfoote gravatar image

The use of future dating for static and approximately static transforms is a tool used to avoid latency prior to the addition of truely static transforms in tf2.

There's more info in the tf/FAQ

I'd recommend moving to a tf2 static transform instead which will be more robust and lower overhead.

edit flag offensive delete link more


Understood, thanks a lot for your quick reply!

Webadone gravatar image Webadone  ( 2021-03-19 07:01:47 -0500 )edit

Question Tools



Asked: 2021-03-18 07:32:54 -0500

Seen: 236 times

Last updated: Mar 18 '21