Why the Master is there ? Can't there be communication without Master ?
Hi,
I have gone through almost all of ROS-1 wiki pages. And so, I am aware that in ROS-1 (I am yet to look into ROS-2), before 2 nodes start to communicate via pub-sub feature, both needs to register themselves with the Master. After which, both can then negotiate and establish one-to-one communication using, say TCPROS.
But a question that has been doing rounds in my mind is that "Why is there a Master? What is the need of Master? Why the things couldn't have been done without a Master?
Let's say I am going to work with 4 robots. So, I am aware about each others' IP addresses. Therefore, I can design things such that the 4 robots (NODES) can establish one-to-one communication with each other whenever they want. So, why should a Master come in between ? Why is it that, to establish a connection among the 4 robots via topics, these robots need to first register themselves with the master, and then go for one-to-one negotiating and establishing TCPROS connection ? Is the concept of Master really helpful in such cases where say, we have only 4 robots to deal with, and we know the IP addresses of all of them ?
You're question is somewhat a duplicate of #q218783.
I feel this question is a bit different than the tagged question #q218783 in the sense that I am aware that Master provides a nameservice (a lookup feature about the nodes in the ROS graph), but my question is about its necessity and why can't we have a ROS application without a Master.