ros / geometry2

A set of ROS packages for keeping track of coordinate transforms.
189 stars 273 forks source link

Wrong warning TF_REPEATED_DATA if 2 different transforms (with different frames) but same timestamp #537

Open gsc2001 opened 2 years ago

gsc2001 commented 2 years ago

Let's say I publish 2 transformations between a and b and a and c, with the same timestamp. The following warning comes up

Warning: TF_REPEATED_DATA ignoring data with a redundant timestamp for frame world at time 1654798525.529720 according to authority /icp_solver

But as the frames are different, this warning should not be there even though they have the same transformation. A possible error is not checking frames here

tfoote commented 1 year ago

Each frame has one instance of the TimeCache and in that storage the history of that frame is cached in time including both the values of the transform as well as the parent. This cache is continuously aggregating and you cannot overwrite it with either a changed transform value, nor a changed parent id. If you were to publish those with the same timestamp, there would be no way to know if at that time it should resolve the parent to b or to c.