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

ROS over Ad-Hoc

asked 2014-04-14 19:38:06 -0500

lvntbkdmr gravatar image


I'm trying to run ros on my local network. (2 machines communicating each other) However, sometimes tf lookuptransform gives me timeout errors. I've read that it is caused of time asynchronization between machines. I tried to synchronize them by using NTP but no luck.. I thought maybe if i don't use my router and connect those machines directly over ad-hoc, i can get better results? Is ad-hoc can be used with ROS? is there any different instructions do i have to follow besides

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2014-04-14 20:40:17 -0500

Changing the approach for connecting the two machines will not improve time synchronization automatically. NTP already estimates the latency between computers when performing synchronization (see Wikipedia). It´s likely that either time synchronization does not work for some reason (then it will likely not work better using ad-hoc networking), or it works and you get tf lookup errors because you transmit too much data over your wireless link, meaning that some tf data gets dropped.

You can check your time sync as decribed here. If it´s good (a few milliseconds max) then your problem likely is not time synchronization and you should look at decreasing the amount of data you transmit between computers. If it´s bad, it´s recommended to install chrony to perform time sync.

edit flag offensive delete link more


ok than i will try again by using chrony. I have one more question. In my network i have my laptop and a pandaboard connected over wifi and doing SLAM. Pandaboard supplies base_footprint -> base_stabilized, base_stabilized -> base_link and base_link -> laser frames.

lvntbkdmr gravatar image lvntbkdmr  ( 2014-04-14 21:30:42 -0500 )edit

My laptop does SLAM and generates map -> base_footprint frame. However, when i type rosrun tf tf_echo /map /base_link on my pandaboard. It cannot find map frame, but when i run tf_echo on my laptop, it shows tf data. Why my pandaboard doesn't get map frame ?

lvntbkdmr gravatar image lvntbkdmr  ( 2014-04-14 21:30:49 -0500 )edit

do you think is it related to time sync. or how can i debug the problem? thanks

lvntbkdmr gravatar image lvntbkdmr  ( 2014-04-14 21:30:53 -0500 )edit

Could also be related to a network setup issue. You should try if communication works in both direction by running the talker/listener example you posted in your original question.

Stefan Kohlbrecher gravatar image Stefan Kohlbrecher  ( 2014-04-14 22:56:15 -0500 )edit

After setting up a network, is there any chance that it works in one direction ?? one of the machines runs roscore, the other one can connect to that roscore and see its rostopic list. Is there any chance that master(the one running roscore) cannot see its clients ?

lvntbkdmr gravatar image lvntbkdmr  ( 2014-04-14 23:19:07 -0500 )edit

Yes, IIRC there are (bad) configurations where you can see topics, but not receive data from them. For that reason, you should try out communication in both directions.

Stefan Kohlbrecher gravatar image Stefan Kohlbrecher  ( 2014-04-14 23:22:10 -0500 )edit

Question Tools

1 follower


Asked: 2014-04-14 19:38:06 -0500

Seen: 970 times

Last updated: Apr 14 '14