[ros-users] Multi-Robot Coordination framework

Ammar Husain ammarh at andrew.cmu.edu
Thu Aug 16 21:58:42 UTC 2012

 Hello Community,

 We have been working at a multi robot coordination project here at
Carnegie Mellon. The framework is completely ROS based right from the robot
controller to communication, front end and task allocation. While starting
this project I was unable to find ROS packages catering to coordination
among multiple robots. An important note here is that each robot runs its
own master since we assume a failure prone network. Anyways we thought we
would release some of the software we wrote that could help someone else
wanting to run multi-robot systems as well. Since we are in the process of
packaging and cleaning (its a university project so we really need to clean
it!) our code I would like to get some suggestions on what you would desire
in a Multi-Robot package. Anything from vague ideas to specific
implementations is welcome.

Just a brief and high level description: There are 4 packages:

1) Communication package - currently using UDP however we may switch to
ZeroMQ. Any input on protocol is appreciated. This package will handle
transmitting topics of interest to other robots on a strictly
request-respond basis. This scheme worked well for us in the work we did.
This is similar to MultiMaster pkg except the request-respond bit.
Currently the comms can transmit Map, Pose, tf, Task (which is a goto
Pose), Laser Scans, Camera Image. These topics were relevant to our work so
we would appreciate inputs on other topics that might be useful
communicating to other robots. One can either query another robot for any
of these or request to transmit its own information. Additionally it can
serve as a proxy for another robot.

2) Robot Specific Pkg - This provides high level implementation of basic
Robot capabilities. Planning, Occupancy Mapping, Task Execution (move base
Action client), & Costing.

3) Front End: Visualizes the map, pose etc from multiple robots.
Additionally it can manually control, assign tasks to individual robots or
to the swarm.

4) Task Allocation: We used a proprietary market based allocation system to
handle task management. Unfortunately we cannot publish that. However if
you have suggestions on task management systems we might be able to port
some of it in this package.

Sorry for the long post. We would really appreciate suggestions, concerns
and comments in this multi-robot framework.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20120816/f57bb54b/attachment-0003.html>

More information about the ros-users mailing list