hi Gonçalo, I think that in this case, you really want the masters on the robots to share topic and service registration information. We've talked about several ways of doing this, including a kind of NFS-like "mount," but haven't seriously implemented anything yet. I know that the folks at Penn have hacked roscore so that multiple masters find each other via DNS-SD (aka Bonjour) and then exchange information about certain publishers and subscribers. When the masters communicate, you don't need any relays; nodes associated with one master connect directly to nodes associated with another master. brian. 2010/7/12 Gonçalo Cabrita : > Hi Brian, > Thanks for your feedback. > I see what you mean... So is there any other way of doing this? Right now > this is what we've come up with... > We use olsr (http://www.olsr.org/) to get to know which robots are in our > network. This information is published as a msg over ROS. So each robot now > knows who is online. We then use foreign_relay to send ROS msgs from one > robot to the other. > I'm taking care of this part and I though it would be nice if I could write > up a ROS srv that has as inputs the ip (or ips) of the robot to send a msg > to and then an opaque msg where you can send anything. The srv would then > encapsulate the desired msg along with the ip of the sender and publish it > over foreign_relay. The receiving robot would then get the message and know > who it came from. I was aiming for a flexible node, easy to use. > However if we are to use defined types how can we accomplish this? Should we > open a foreign_relay for each topic we want to use between each 2 robots? > Thanks for the help, > Gonçalo Cabrita > ISR - University of COoimbra > Portugal > On Mon, Jul 12, 2010 at 5:57 PM, Brian Gerkey > wrote: >> >> 2010/7/12 Gonçalo Cabrita : >> > We've been working on our comm node and we have encountered a problem. >> > We are thinking about creating a ROS msg to send over foreign_relay that >> > looks like this: >> > int robot_id >> > ShapeShifter msg >> > We would like to know if ShapeShifter can be used to hold any message we >> > might want to send and if we need an extra field like msg_type or not. >> >> No, ShapeShifter is not a ROS message.  It's a a C++ class that is >> used by certain tools to handle messages without knowing their types >> (and it's a pretty hacky way of doing that).  All ROS messages are >> explicitly typed when sent over the wire.  If you really want to send >> an opaque blob of data (not recommended, as you'd be circumventing the >> ROS marshaling support, and would lose the ability to introspect >> messages), then you can do something like: >> >> uint8[] msg >> >>        brian. >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users > > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > >