Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TF_REPEATED_DATA ignoring data with redundant timestamp #142

Open
mrayh001 opened this issue Aug 16, 2023 · 4 comments
Open

TF_REPEATED_DATA ignoring data with redundant timestamp #142

mrayh001 opened this issue Aug 16, 2023 · 4 comments

Comments

@mrayh001
Copy link

Hi,

I am running the driver on Ubuntu 20.04 and ROS noetic.

spot_ros: 58ba355
spot_wrapper: d96bdbf41445215500fb6bc8e7ae278bb1957746

I see the spam on my terminal [ WARN] [1692223451.391583276]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame dock_521 at time 1692223451.000484 according to authority unknown_publisher

and Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame dock_521 at time 1692223520.812809 according to authority /spot/spot_ros

Is there any solution to this? Thanks

@heuristicus
Copy link
Owner

The solution requires code changes, likely maintaining a list of the published tfs and then ignoring those which have already been published, but I've not had a chance to do this yet.

@trangml-mit
Copy link

Is there any update on the fix to this? I'm not too sure where a list of published tfs could be kept to avoid this problem.

The constant print spam makes it pretty difficult to debug other messages.

@heuristicus
Copy link
Owner

I attempted a fix at

tf_msg = GetTFFromState(state, self.spot_wrapper, self.mode_parent_odom_tf)
to_remove = []
if len(tf_msg.transforms) > 0:
for transform in tf_msg.transforms:
for last_tf in self.last_tf_msg.transforms:
if transform == last_tf:
to_remove.append(transform)
if to_remove:
# Do it this way to preserve the original tf message received. If we store the message we have
# destroyed then if there are two duplicates in a row we will not remove the second set.
deduplicated_tf = copy.deepcopy(tf_msg)
for repeat_tf in to_remove:
deduplicated_tf.transforms.remove(repeat_tf)
publish_tf = deduplicated_tf
else:
publish_tf = tf_msg
a while back, I suppose it's still missing some of the duplicates.

@trangml-mit
Copy link

Yeah, I realize now that it's actually having a problem due to any detected fiducials, so those may need special error handling. For now, my fix is just covering the fiducial.


Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame fiducial_520 (parent vision) a
t time 1703005423.525936 according to authority /spot/spot_ros                                           
         at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.7/src/buffer_core.cpp                          
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame filtered_fiducial_520 (parent 
vision) at time 1703005423.525936 according to authority /spot/spot_ros                                  
         at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.7/src/buffer_core.cpp                          
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame dock_520 (parent vision) at ti
me 1703005423.525936 according to authority /spot/spot_ros                                               
         at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.7/src/buffer_core.cpp                          
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame dock_520 (parent vision) at ti
me 1703005423.525936 according to authority /spot/spot_ros                                               
         at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.7/src/buffer_core.cpp

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants