# Virtual Pheromone Based Network Flow Control For Modular Robotic Systems
## 2 Problem Formulation  
Selecting a proper communication path is critical for application development of modular robotic systems. A typical example of multiple communication paths joining at an intersection in a modular robotic system can be seen in Figure 1, where the intersection plays the key role in the network flow control for inter-communication between modules. A complex communication protocol with a memorized routing table or a master-slave mode cannot be applied for modular robotics because physical connections of robotic modules are rapidly reconfigured. A distributed and simplified communication protocol could be an ideal approach to solve this challenge. In our previous work [17], we designed a distributed communication protocol for modular robotic systems. The protocol was developed in the four-layer hierarchical architecture: _physical layer_, \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**System Name** & **Controller** & **Communication** & \
\begin{tabular}{c} **Routing** \\ **Protocol** \\ \end{tabular} & **Structure** &
\begin{tabular}{c} **Transmission** \\ **Medium** \\ \end{tabular} & **Year** \\ \hline LEGO Mindstorm [21] & Centralized & Global & N/A & 3D & Physical & 1998 \\ \hline Triangle [22] & Centralized & Local & Gradient & 2D & Physical & 1998 \\ \hline Electronic block [23] & Distributed & Local & N/A & 2D & Physical & 2001 \\ \hline Modular Artefact [24] & Distributed & Local & N/A & 2D & Physical & 2004 \\ \hline Active Cube [25] & Centralized & Global & Serial RS485 & 3D & Physical & 2004 \\ \hline Topobo [26] & Centralized & Global & N/A & 3D & Physical & 2004 \\ \hline Glume [27] & Distributed & Local & N/A & 3D & Capacitive & 2006 \\ \hline YaMoR [28] & Centralized & Global & N/A & 2D & Wireless & 2006 \\ \hline roBlocks [29] & Distributed & Global & N/A & 3D & Physical & 2006 \\ \hline Spelling bee [30] & Centralized & Global & N/A & 2D & Physical & 2007 \\ \hline Senspectra [31] & Centralized & Global & Gradient & 3D & Physical & 2007 \\ \hline IBlocks [32] & Distributed & Local & N/A & 3D & Infrared & 2008 \\ \hline Audiocubes [33] & Centralized & Local & N/A & 3D & Infrared & 2008 \\ \hline Posey [34] & Centralized & Local & N/A & 2D & Infrared & 2008 \\ \hline Molecules [35] & Hybrid & Hybrid & Serial RS232 & 3D & Physical & 2008 \\ \hline Playware [36] & Distributed & Hybrid & N/A & 2D & Infrared & 2009 \\ \hline iCube [37] & Centralized & Global & N/A & 3D & Capacitive & 2012 \\ \hline Fable [38] & Centralized & Hybrid & N/A & 3D & Wireless & 2013 \\ \hline moreBot [17] & Distributed & Local & Gradient & 3D & Infrared & 2016 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: A comparison of communication aspects of modular robotics. link access and management layer, transport layer, and application layer_ (refer to Figure 2 and detailed explanation in [17]). The physical layer deals with neighbourhood communication between modules. This layer was developed on the hardware characteristics of communication mechanism including data transferring medium, transmission rate, and signal frame. The link access and management layer is responsible for discovering, establishing, and maintaining bidirectional communication links between physically connected neighbours. The transport layer is capable of managing data flow through a network of inter-connected directional communication links. The application layer provides a platform for application development. The four-layer protocol governs communication functionalities dealing with user-demanded reconfiguration of modular robotics. However, this protocol does not include a routing protocol capable of handling inter-communication of reconfigurable robotic systems for several potential applications. We implemented a gradient-based routing algorithm as a simple but effective communication path construction method for data delivery between modules [39]. We employed \"integer\" gradient as temporary identifications (ID) for robotic modules.