Ask Your Question
0

Tf (only) not passing through distributed system

asked 2017-12-02 03:06:01 -0500

StevenCoral gravatar image

updated 2017-12-03 03:24:54 -0500

Hi all,

I have a Raspberry Pi running ROS and controlling a robot (my own code). It can run by itself using keyboard teleop or RC signals.

But, it can also run as part of a distributed system - a PC is running the master roscore, and the robot transmits everything to it through wifi. The PC does all the navigation stuff (amcl, move_base) and sends back the cmd_vel to the robot.

When I run the system, the master PC receives all the topics from the Pi but not the Tfs. When I use rqt_tf_tree or view_frames on the PC, I get a "no Tf data received" message, but when doing so on the Pi (which runs the broadcasting node) then I do see the odom -> base_footprint Tf that it sends.

Needless to say that it breaks the map->odom->base_foorprint->rest_of_robot tree that the system needs in order to function properly. Does anyone have any idea why something like this would happen?

Both computers are fully resolvable, having correct name and IP in the /etc/hosts file.

Many thanks, Steve

edit retag flag offensive close merge delete

Comments

Hi, are you using a time synchronisation service between the two computers? I suggest you have a loook at chrony

Femer gravatar image Femer  ( 2017-12-03 11:03:59 -0500 )edit

havent thought of that (i remember having timing troubles in the past). usually you get an rosError about that... ill check today.

StevenCoral gravatar image StevenCoral  ( 2017-12-04 10:00:24 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
2

answered 2017-12-08 02:36:36 -0500

StevenCoral gravatar image

updated 2017-12-08 02:37:45 -0500

Sorry for jumping this again but I must update that I've found the answer.

Apparently my /etc/hosts was NOT configured correctly, and the hostname of the remote pc (Raspberry) was incorrect, but the master hostname was correct.

In case anyone wonders, such a state makes all the topics appear on list, but only the slave (with correct master hostname in /hosts file) could get data from the master, while the master (with wrong slave hostname on /hosts file) did not get anything back (it was my mistake also to think that only the tfs did not pass through).

I do not know what sparked the change, for I did not edit this file for a long time. I thank everyone on this forum for helping out again and again, even if sometimes things fall through. Keep doing an awesome job. Steve

edit flag offensive delete link more

Comments

1

Sorry for jumping this again

no need to apologise. Getting back and reporting on what you found is very much appreciated.

gvdhoorn gravatar image gvdhoorn  ( 2017-12-08 03:08:31 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2017-12-02 03:06:01 -0500

Seen: 129 times

Last updated: Dec 08 '17