# static_transform_publisher negative average delay

When I use static_transform_publisher to provide a static transform, the average delay is negative. My questions are: 1) Is this a problem? 2) If so, is there a reason it's doing this, and how do I fix it?

For example, when I run:

rosrun tf static_transform_publisher 0 0 0 0 0 0 /frame1 /frame2 100


tf_monitor shows:

RESULTS: for /frame1 to /frame2
Chain is: /frame1 -> /frame2
Net delay     avg = -0.0473741: max = 0.000169573

Frames:

Node: /static_transform_publisher_1301872460950178911 10.3418 Hz, Average Delay: -0.0997857 Max Delay: 0

edit retag close merge delete

Sort by » oldest newest most voted

Negative average delay comes from the transform being timestamped in the future when sent or by network delays when running in simulation.

In simulation time is sent over the /clock topic and may arrive after transforms sent from a different node with the same time.

A few nodes stamp data in the future, most noteably AMCL. This is valid for AMCL and other similar nodes publishing a small correction transform which is expected to remain approximately static and never have inherent velocity. The value is that AMCL can update at a slow rate but does not prevent transforms through it's correction to be used at a high rate.

more