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

How to use TCPROS for multi-robot communication

asked 2012-09-18 10:29:28 -0500

Ammar gravatar image

updated 2014-01-28 17:13:41 -0500

ngrennan gravatar image

Hi Community, I was wondering if it is possible to use TCPROS to send directed messages to another robot. You could assume that both robots are configurable however desired and are have separate ROS masters. Could someone please tell me how this could be done? Thanks Ammar

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2012-09-18 22:47:32 -0500

Daniel Stonier gravatar image

updated 2012-09-19 13:42:39 -0500

There are currently three tools - foreign relay, master_sync and fkie. Some of us on the multimaster sig are working on putting together a new gateway model (about 40% complete).

Best advice is to check the multimaster sig for more information and to track development.

master_sync does directed flipping. It can flip specific local topics/services to a remote master and is configurable from yaml or from code. It doesn't work on fuerte though. rocon_master_sync is a patched version of master_sync for fuerte. rocon_linux_app_platform makes use of it and turtle concert is a working demo.

Master sync though is only two-master. To scale up, we're in the middle of creating a gateway model for flipping/requesting topics between peers in a multimaster environment. It's very crudely flipping publishers and services right now and we're targetting for it to be reasonably polished within a month.

edit flag offensive delete link more


I looked into all the three techniques. Foreign relay is command line only so cannot be called through a node. multimaster_fkie exposes the entire master to other. We will have multiple different masters on the network so it will result in enormous data transfer. We're looking for directed msgs..

Ammar gravatar image Ammar  ( 2012-09-19 05:46:42 -0500 )edit

Added comments in an edit above (too long for these boxes).

Daniel Stonier gravatar image Daniel Stonier  ( 2012-09-19 13:37:19 -0500 )edit

answered 2012-09-18 12:32:08 -0500

Eric Perko gravatar image

You may be interested in foreign_relay

edit flag offensive delete link more


I checked out foreign_relay previously. However it does not host a service that I could call to send directed messages to a foreign master. The only applications I saw with foreign_relay were using the terminal. Do you know how to send messages through a running node?

Ammar gravatar image Ammar  ( 2012-09-19 05:41:17 -0500 )edit

So are you looking for something closer to being able to call a service another robot with a remote rosmaster?

Eric Perko gravatar image Eric Perko  ( 2012-09-19 06:16:55 -0500 )edit

Yes essentially be able to send a msg on another robot's topic through a running node. So be able to publish externally..

Ammar gravatar image Ammar  ( 2012-09-19 06:43:58 -0500 )edit

Can the master_sync (multi master package) be used for a robot master in groovy as well?

hiccup gravatar image hiccup  ( 2013-04-25 09:32:38 -0500 )edit

Question Tools



Asked: 2012-09-18 10:29:28 -0500

Seen: 1,920 times

Last updated: Sep 19 '12