Hello,

Consider a simulation of multiple robots in gazebo, using a single ROS Master. To get this robot team to accomplish specific tasks in a decentralized way, I need to get them to implement specific distributed algorithms - for example, leader election and consensus.

I am considering developing a ROS Package that implements some of these algorithms using multithreading. Each robot in the robot has a thread, so that the system as a whole is multithreaded. This is in lieu of the multiple processes that are used in the distributed computing literature.

I intend this to be a simpler alternative to ROS Multimaster for simulating a robot team. And perhaps, the same kind of algorithms could be used for Multiple masters to coordinate among themselves.

I wonder if any one has any general comments on this? How useful would such an exercise be?

Thanks!
Ganesh P Kumar
Arizona State University