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

Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame odom_comb at time 23.567000 according to authority unknown_publisher #1260

Open
wants to merge 1 commit into
base: noetic-devel
Choose a base branch
from

Conversation

Daviesss
Copy link

This pull request addresses issue #1125

I solved this problem by making a small tweak to the amcl_node.cpp file. In order to decrease the frequency of TF_REPEATED_DATA warnings, I lowered the publishing rate of the laser scan because amcl relies on the rate of incoming laser messages. I made this adjustment directly in the .cpp node, and it worked perfectly for me. As a result, the redundant messages no longer appear, which is fantastic.

Copy link
Contributor

@mikeferguson mikeferguson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems wrong - laser_check_interval_ is set to 15 seconds - so with your change, if the last laser scan has arrived within 15 seconds this message prints (every 15 seconds, when the timer event hits).

If your laser scans are really showing up only once every 15 seconds (or more than 15 seconds in the past) - you've got bigger problems a few ROS_WARN messages.

@Daviesss
Copy link
Author

Daviesss commented Feb 27, 2024

I get you . But in my case ,the trigger warning message when the laser scan has been received within the specified interval, then the opposite condition would be when the time duration d since the last laser scan received is less than the laser_check_interval_. I think the condition should be :

if (d < laser_check_interval_) {
ROS_WARN("Laser scan received within the specified interval of %f seconds.",
d.toSec());
}

else {
ROS_WARN("No Laser scan received within the specified interval of %f seconds.",
d.toSec());
}

With this condition, the warning message will be triggered when the time duration since the last laser scan received is less than the laser_check_interval_, indicating that a laser scan has been received within the expected interval.

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

Successfully merging this pull request may close these issues.

None yet

2 participants