Why does AMCL post-date tf (~transform_tolerance)?
A comment in the code says
// We want to send a transform that is good up until a // tolerance time so that odom can be used
And the wiki page says
~transform_tolerance (double, default: 0.1 seconds) Time with which to post-date the transform that is published, to indicate that this transform is valid into the future.
I still don't understand why AMCL needs to pretend to be able to see the future.