# Networking of Multi-Robot Systems: Architectures and Requirements
## 4 Communication Issues and Requirements for MRS Systems
### MRS Networking Protocol Issues and Requirements  
Choosing the proper routing protocol is an important decision, which affects the performance of the network. It is critical to choose one that is appropriate for the type of MRS system and the corresponding application that is being supported. The following issues and requirements are essential to be considered resulting in efficient network operation. * Number of robots: Some networking protocols operate efficiently only when the number of nodes in the network is small. Such protocols might not be practical for large networks. This can be the result of a high number of control message exchanges that are not localized to the event area for example. * GPS capability: Depending on the routing protocol, some routing strategies might assume that each node knows its location as well as the location of its neighbors. This leads to an increase in node cost and can be detrimental for MRS systems where a large number or inexpensive robots is desirable. * On-board processing: Some routing protocols require a large amount of processing, which might not be available in some or all the nodes in an MRS networks. For such networks, it is essential to choose a simple routing protocol that can make its routing decisions without complicated logic that takes too many parameters into consideration. * On-board memory: The amount of memory required to store routing table information as well as other routing-related parameters varies widely between different routing protocols. For example, link-state protocols require the topology of the entire network to be stored by each node, which significantly increases the amount of memory needed for larger networks. This is not the case for distance-vector protocols. Consequently, for large MRS networks with small inexpensive robots, it is important to choose protocols, which do not require a lot of memory. This requirement is not so important for smaller networks with more capable larger robots with considerably larger memory resources. * Energy: Robots come in various sizes and shapes. They range from tiny robots that are smaller than the human hand, or even microscopic to ones, to ones that are as big as a large-size UAV. However, in most cases, they draw their energy from a battery, which has a limited capacity. Consequently, the networking protocols must have the reduction in energy consumption as a major goal. This can be done using numerous strategies. Such strategies heavily depend on the application that is involved, the level of responsiveness and readiness of the robots, as well as the nature of the tasks that they performed. * Network throughput: Different applications and the related services and tasks performed by the robots and the MRS network require varied amounts of communication bandwidth. Depending on the network conditions and the amount of traffic that is being exchanged, there might be droppedmessages due to congestion, collisions, interference, and delay. As a result, the throughput of the network might vary considerably leading to problems with applications that require higher data rates and can tolerate only a limited amount of delay. Consequently, the network protocol needs to ensure that the specific throughput that is needed by the applications is satisfied by the underlying network. * Co-located networking protocols: In addition to the routing protocol that is used to route messages between robots (R2R link) in an MRS system at the network layer, it is highly likely to have other wireless protocols that are used by R2I links or other wireless networks that are in the same area. Consequently, it is important to take that into consideration when choosing the right protocol to reduce the possibility of interference when the protocols operate in the same frequency range. This is especially important in MRS systems that perform critical missions where errors can cause life-threatening or catastrophic results.