[ros-users] Multi-robot communication

Gonçalo Cabrita goncabrita at gmail.com
Tue Jun 29 11:04:53 UTC 2010


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 <blaise at willowgarage.com>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 at code.ros.org
> > https://code.ros.org/mailman/listinfo/ros-users
>
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20100629/c47007d3/attachment-0003.html>


More information about the ros-users mailing list