[ros-users] Multi-robot communication

Gonçalo Cabrita goncabrita at gmail.com
Mon Jul 12 10:57:18 UTC 2010


Hi!

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.

Thanks for the help,

Gonçalo cabrita

2010/7/12 Gonçalo Cabrita <goncabrita at gmail.com>

> Hi!
>
> We've been working on our comm node and we have encountered a problem.
>
> We are thinking about creating a ROS msg that looks like this:
>
> int robot_id
> ShapeShifter msg
>
> 2010/7/9 Gonçalo Cabrita <goncabrita at gmail.com>
>
> Hum... I'm not sure that will do the trick :)
>>
>> What Pedro is aiming for is a ROS node where robots can dynamically
>> connect to each other. He is using multi-cast so that newcomers can tell
>> other robots that they are there and ready to communicate, so the new IP
>> address is added to the table of addresses of each robot. From there each
>> robot should be able to open a foreign_relay to any robot on the list.
>>
>> The idea is that we don't need a list of robots or IPs in advance. Robots
>> can join and leave the network as necessary, in a p2p fashion.
>>
>> I believe Pedro's problems are related to multi-threading and how to
>> exactly tweak the foreign_relay node in order to accomplish this goal,
>> however he is more qualified to elaborate on the exact problems he has
>> encountered :)
>>
>> Another option (I think!) would be to have the multi-cast thingie on a
>> node which would open and close the foreign_relay nodes from within the code
>> as needed, as opposite to running the foreign_relay code from within the
>> same node in multiple threads.
>>
>> Is there a way to accomplish this last idea?
>>
>> Gonçalo Cabrita
>> ISR - University of Coimbra
>> Portugal
>>
>> On Jul 8, 2010, at 11:06 PM, Blaise Gassend wrote:
>>
>> > You can launch any number of foreign relays from a launch file. Here is
>> > a line from one launch file I was working with:
>> >
>> > <node name="trigger_foreign_relay" pkg="foreign_relay"
>> type="foreign_relay.py" args="sub /trigger $(env FOREIGN_MASTER)"
>> respawn="true"/>
>> >
>> > If I recall, I had to tweak foreign_relay to make this work. The foreign
>> relay here should do the trick:
>> >
>> https://code.ros.org/svn/wg-ros-pkg/trunk/stacks/dance_demo/foreign_relay
>> >
>> > On Thu, 2010-07-08 at 15:56 +0100, Pedro Sousa wrote:
>> >> Hello everyone
>> >>
>> >>
>> >> I am working with Gonçalo with ROS and our mobile platform (Roombas
>> >> and Eeepc on top) and I am following this conversation about
>> >> multi-robot communication. Like Blaise said the foreign_relay_node was
>> >> a great way of sharing information between robots. However, this
>> >> approach is good when the initialisation of the node is made directly
>> >> on the console or giving the parameters inside the code.
>> >>
>> >>
>> >> I was trying to go a bit further and make it for multi robot. However,
>> >> it wasn't easy for me and with some "bad hacks" I was able to
>> >> advertise a certain node of one robot on others (two) robots.
>> >>
>> >>
>> >> Anyone have already made something similar? If not, how is the correct
>> >> way of doing so?
>> >>
>> >>
>> >>
>> >>
>> >> Regards,
>> >>
>> >>
>> >> Pedro Sousa
>> >> 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/20100712/dd9c75b1/attachment-0003.html>


More information about the ros-users mailing list