ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

tf from one month ago

asked 2012-06-11 05:20:39 -0500

Hansg91 gravatar image


I'm trying to use tf between my Pandaboard, which controls the robot, and my laptop, which does some additional calculations. The stamp my Pandaboard gives to the transforms seems to be way off however, so the laptop claims it can't extrapolate the transforms. If I run 'rosrun tf tf_monitor' on my Pandaboard, I get the following :

All Broadcasters:
Node: /HeadMotorHandler 50.2458 Hz, Average Delay: 0.00213946 Max Delay: 0.00610352
Node: /base_to_head 10.1741 Hz, Average Delay: -0.0980132 Max Delay: 0
Node: /head_to_arm 10.1743 Hz, Average Delay: -0.0976757 Max Delay: 0
Node: /kinect_normal_axis_to_kinect 10.1766 Hz, Average Delay: -0.097822 Max Delay: 0

(notice the average delay and max delay)

If I run the same thing on my laptop, it gives me :

All Broadcasters:
Node: /HeadMotorHandler 50.2697 Hz, Average Delay: 1.83153e+06 Max Delay: 1.83153e+06
Node: /base_to_head 10.1984 Hz, Average Delay: 1.83153e+06 Max Delay: 1.83153e+06
Node: /head_to_arm 10.1998 Hz, Average Delay: 1.83153e+06 Max Delay: 1.83153e+06
Node: /kinect_normal_axis_to_kinect 10.1955 Hz, Average Delay: 1.83153e+06 Max Delay: 1.83153e+06

(notice again the delays)

Running 'date' on the Pandaboard gives : Mon May 21 12:26:38 CEST 2012

And on the laptop: Mon Jun 11 17:12:06 CEST 2012

So I assume this is the issue? I don't want to update the time on my Pandaboard, I don't think that will help much as when the power is removed from the Pandaboard, the time will start to mismatch again.

Is there a way for my laptop to tell it to use the ros::Time::now() from the roscore ? Which is ran on the Pandaboard.

Thanks in advance!

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2012-06-11 06:00:42 -0500

Lorenz gravatar image

Using TF requires synchronized clocks between all computers. You should set the clock on your pandaboard correctly and probably run something like chrony to keep the clocks synchronized.

edit flag offensive delete link more


It is possible to publish time as if you were in a simulator, but on running systems it is not recommended. It will either be very low resolution or eat up a lot of bandwidth. And the performance will never match syncronized clocks.

tfoote gravatar image tfoote  ( 2012-06-11 07:34:29 -0500 )edit

Thank you, this does appear to be what I'm looking for, but I'm having some problems getting it to work. I installed chrony (using sudo apt-get) on both systems and followed this 'guide' , however my time does not appear to be synced...

Hansg91 gravatar image Hansg91  ( 2012-06-13 02:34:09 -0500 )edit

Also when I run chronyc and try settime, sources, clients and probably more, I get the message "506 Cannot talk to daemon", a google search did not help me.. Any ideas? Both my chronyc and chronyd have the same version number. Should I make this a new question ?

Hansg91 gravatar image Hansg91  ( 2012-06-13 02:35:20 -0500 )edit

answered 2012-06-11 22:57:11 -0500

dornhege gravatar image

Another solution might be to organize your system layout. If the laptop only does computations, i.e. does not do any direct interfacing, the laptop should not generate its own timestamps at all. For publishing, the timestamp should be that of the originating message. For transforming data, timestamps from the incoming messages should be used.

edit flag offensive delete link more


I thought about that, but that won't work. The laptop is also generating timestamps on the images it receives from the kinect, as it is too heavy for the Pandaboard. If I want to transform positions retrieved from the kinect to base_link, then that would still cause issues.

Hansg91 gravatar image Hansg91  ( 2012-06-11 23:00:05 -0500 )edit

In that case you'll have to use synchronous time as mentioned by @Lorenz.

dornhege gravatar image dornhege  ( 2012-06-13 02:37:14 -0500 )edit

Question Tools


Asked: 2012-06-11 05:20:39 -0500

Seen: 530 times

Last updated: Jun 11 '12