Thanks for your feedback Blaise! We have never considered using a single master. The idea is to have each robot running its own roscore, so that robots can join or leave (or crash!) at will thus providing a more robust group of robots. We will take a look at the tools you suggested. The foreign_relay package looks interesting, however we do not know python :) Still we are probably going to explore this solution first. At a first glance we could't understand exactly how ROSUDP could be used to solve the communication problem, could you please elaborate? I will also gladly listen to what other people have to say on this subject. I was hoping that more people would share their experiences and ideas on this matter. Finally we would like to contribute towards a better solution if possible, multi-master would definitely suit our purposes. Gonçalo Cabrita ISR - University of Coimbra Portugal On Tue, Jun 29, 2010 at 5:52 AM, Blaise Gassend wrote: > Hi Goncalo, > > I have done a bit of multi-robot stuff with the PR2. Here are a few > things I learned from the experience: > > - Using a single master for all the robots is really bad. If the > wireless has trouble, even functions that are internal to the robot will > suffer because service calls touch the master. > > - Avoid sharing high bandwidth many-to-many topics like /tf. If you do > want to share them, make use of relay nodes so that the data only gets > transmitted between robots once. > > - While waiting for better multi-master support, you can try out the > foreign_relay package. > > https://code.ros.org/svn/wg-ros-pkg/branches/trunk_boxturtle/sandbox/foreign_relay/ > The C++ version only works in one direction (I forget which) but should > allow you to rename the topic. The python version works in both > directions. Ask me if you need help. > > - Using ROSUDP as a transport is probably a good idea. The relay node in > topic_tools in trunk has an unreliable option that should force UDP to > be used. > https://code.ros.org/svn/ros/stacks/ros/trunk/tools/topic_tools > > - Combining foreign_relay and unreliable relay, you should be able to > get any topics you want going back and forth between robots. > > - Listen to what other people have to say. I know that a few people have > played with multi-robot stuff. Since multi-master isn't here yet, there > are a bunch of more or less half-baked solutions out there. Find out > what they are, and pick the one you like best until something better > comes along. > > Cheers, > Blaise > > On Tue, 2010-06-29 at 00:02 +0100, Gonçalo Cabrita wrote: > > Hi everyone! > > > > Here at the university we use groups of simple robots instead of a > single, more complex robot, like the PR2. We have currently been taking the > first steps into ROS. It became clear that we will need a ROS communication > node so that our robots can speak to each other. So here is my question, > does anyone have any experience with multiple-robot communication in ROS? > > > > We are considering a communication node based on UDP sockets capable of > exchanging ROS msgs. > > > > Does anyone have any thoughts on this matter? > > > > Gonçalo Cabrita > > ISR - University of Coimbra > > Portugal > > > > > > _______________________________________________ > > 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 >