Warning: TF_OLD_DATA ignoring data from the past

1,142 views
Skip to first unread message

ghanim mukhtar

unread,
Aug 17, 2017, 10:55:55 AM8/17/17
to PR2_Users
Hi all,

I am connecting to c1 of the PR2 via WAN port, I can see every topic (including the point clouds from kinect 2) using, for example:

 rostopic echo /kinect2/qhd/points

But, whenever, I try to visualize them or run moveit from my laptop, where I have exported the ROS_MASTER_URI I always have a problem with TF, with this message on the side of the laptop, playing periodically:

[ WARN] [1502980373.785571342]: TF_OLD_DATA ignoring data from the past for frame base_footprint at time 1.50298e+09 according to authority unknown_publisher
Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained

And the following one, in the c1 side:

Warning: TF_OLD_DATA ignoring data from the past for frame base_footprint at time 1.50298e+09 according to authority unknown_publisher
Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
         at line
277 in /tmp/binarydeb/ros-indigo-tf2-0.5.16/src/buffer_core.cpp

Even with those messages I can still plan and execute motions for the arms and head and other parts of the robot. The pointclouds though aren't dispalyable on rviz (complaining about absence of transform between, for example, head_mount_kinect2_rgb_optical_frame and base_link, but again if I do:

rosrun tf tf_echo /head_mount_kinect2_rgb_optical_frame /base_link

I receive the response without any issues. The problem with this is that I have other programs that uses TF to plan some motions but it wouldn't work this way.

When I run moveit from c1 side it run without any issues and my programs that need TF works without problems also, The issue here is that I can't visualize RVIZ over a ssh session (some problems with the X server) and I need to see if the octomap is there and how is everything looks like, it is crucial to my application.

So any ideas as of why this is happening?

PS: When I run rqt_pr2_dashboard I see that there are problems with the clock, could this be the genesis of the thing??

Cheers!
Ghanim 




Michael Görner

unread,
Aug 17, 2017, 11:19:30 AM8/17/17
to ghanim mukhtar, PR2_Users
Hey there,

> PS: When I run rqt_pr2_dashboard I see that there are problems with
> the clock, could this be the genesis of the thing??

Yes. Most likely the clocks of your laptop, c1 and pr2-head are not
synced. As a result your rviz can't transform the point cloud because
it misses the transform for the correct time. We experienced similar
problems before.


v4hn / Michael
> Cheers!
> Ghanim
>
>
>
>



--
Michael Görner, M.Sc. Cognitive Science, PhD Student
Universität Hamburg
Faculty of Mathematics, Informatics and Natural Sciences
Department of Informatics
Group Technical Aspects of Multimodal Systems

Vogt-Kölln-Straße 30
D-22527 Hamburg

Room: F-315
Phone: +49 40 42883-2432
Website: https://tams.informatik.uni-hamburg.de/people/goerner/

ghanim mukhtar

unread,
Aug 18, 2017, 8:55:19 AM8/18/17
to PR2_Users, ghanim...@gmail.com
Hey Michael,

Thanks for your reply, so what did you do to solve this issue?

Cheers!
Ghanim

Michael Görner

unread,
Aug 18, 2017, 1:15:38 PM8/18/17
to ghanim mukhtar, PR2_Users
To check whether you actually have timing problems you can use
`ntpdate -q <server>` on the different machines.

Below you can find a description of our configuration.

On all three pr2-internal machines the clocks are monitored by
chronyd, so you have to recheck the respective configuration on each
of them.

Your laptop should synchronize its clock with a local ntp server
(or any other ntp on the internet with a low-enough delay).
Let's call it `ntp.yourdomain.com`.

Next, c1:/etc/chrony/chrony.conf should specify the same server(s).
These are the relevant lines from our configuration:

```
server ntp.yourdomain.com minpoll 3 maxpoll 15
makestep 200 10
```

The second line specifies that the clock is allowed to jump abruptly in
case the current time is off by more than 200 seconds (up to 10 times).
We added this because we regularly found a delay higher than 300
seconds after boot. Waiting for the clocks to sync smoothly would take
more than 5 minutes..

Because we route our network connection through c1 anyway, c2
(c1:/unionfs/overlay/etc/chrony/chrony.conf) and
pr2-head:/etc/chrony/chrony.conf) just use c1 as their time-server:

```
server c1 minpoll 0 maxpoll 5
initstepslew 0 c1
makestep 0.5 -1
```

Both machines should stay close to c1 at all times, so they poll rather
often(between 1 and 32 seconds), are allowed to jump abruptly once after
startup, and whenever the clock difference exceeds 0.5 seconds.


Hope that helps. Greetings from Hamburg,


v4hn / Michael

On Fri, 18 Aug 2017 05:55:18 -0700 (PDT)

ghanim mukhtar

unread,
Sep 28, 2017, 10:17:49 AM9/28/17
to PR2_Users
Hi Michael,

Sorry for the late reply, your advice is spot on, thanks very much, it worked for me. Now it synchronize instantly and I can run moveit from outside pr2 c1.

Cheers!
Ghanim
Reply all
Reply to author
Forward
0 new messages