Ask Your Question

Revision history [back]

Help with foreign_relay subscription


I'm having difficulties using foreign_relay. I find that I can use it in advertise mode, to push a topic from my local master to the remote master, ie:

rosrun foreign_relay foreign_relay adv http://other-machine:11311/ /from_other/test /test

However, I can't seem to get it working in subscribe mode, ie:

rosrun foreign_relay foreign_relay sub http://other-machine:11311/ /test /from_other/test

By adding some debug shouts, I can see that the foreign_subscribe() function completes successfully, but in_cb() never gets called and the /from_other/test topic is never created on my local master.

In all cases, I am able to set my ROS_MASTER_URI to the other machine and publish/subscribe with the foreign master using rostopic. So I believe that indicates that my network and environment setup is correct. I can even successfully get a remote subscription by doing this:

export ROS_MASTER_URI=http://other-machine:11311
rosrun foreign_relay foreign_relay adv http://my-machine.local:11311 /other/test /test

This seems like a really awkward hack, though.

Has anyone else had luck getting bidirectional foreign relay working?

I'm using ROS Electric, with the current apt version of multimaster_experimental on a Lucid box, and the current source (r16648) on an Oneiric box. The apt packaged version does not work on my Oneiric machine due to a shared library mismatch issue.