0
$\begingroup$

Rosanswers logo

I'm curious how flexible ROS is for distributed implementations. For example, how well would ROS support a scheme without a Master node to perform name lookups, if at all? The ROS Turorial states:

ROS is designed with distributed computing in mind. A well-written node makes no assumptions about where in the network it runs, allowing computation to be relocated at run-time to match the available resources (there are exceptions; for example, a driver node that communicate with a piece of hardware must run on the machine to which the hardware is physically connected). Deploying a ROS system across multiple machines is easy. Keep the following things in mind: You only need one master. Select one machine to run it on. All nodes must be configured to use the same master, via ROS_MASTER_URI

Is it possible to have a "virtual" master and/or parameter server that would mitigate what could be considered a single point of failure?


Originally posted by Antimatter85 on ROS Answers with karma: 21 on 2011-06-27

Post score: 2

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

In short: You currently need exactly one master.

Actually the masters main responsibility is name lookup (all other node communictions are direct). So, if you loose the master, no new subscriptions or publications can be made. Existing connections will continue to operate.

I think there is some work going on for a multimaster setting, but that is aimed more at multi-robot settings.


Originally posted by dornhege with karma: 31395 on 2011-06-28

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by tfoote on 2011-06-28:
There's a thread on ros-users for being robust to master failures at http://code.ros.org/lurker/thread/20110628.160050.d9ba8b1b.en.html

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.