# Virtual Pheromone Based Network Flow Control For Modular Robotic Systems
## 4 Experiments and Results
### Virtual pheromone-Based Routing Algorithm  
To validate the virtual pheromone-based routing algorithm on root-to-any directional communication path, we set up a scenario as shown in Figure 7. A network of building blocks was formed by three paths representing three words: _s-t-r-o-n-g, s-t-u-d-y,_ and _s-t-a-r_. Using the gradient generation mechanism, three _any-to-root_ communication paths were established and the module \(t\) acted as the intersection module. This module played the key role in transmitting data packets from the _root_ to any module using the virtual pheromone concentration mechanism. In the _spelling_ mode, characters on the modules must be correctly lighted up in order, corresponding to spelling sound. For instance, once the word _study_ was selected by the user, the lighting commands should reach the character \(s,t,u,d\) and \(y\) synchronously to sound it on the speaker module. Because the blocks \(s\) and \(t\) were on the unique path from the _root_, they received spelling commands without concerning the other directions. The intersection block \(t\) had to select the correct direction to relay the lighting commands from the _root_ to the blocks \(u,d\) and \(y\), consequently. However, the same gradient were assigned to the blocks \(u,r,a\), so broadcasting spelling commands for the word _study_ could cause unexpected blocks \(r\) and \(a\) to light up with the probability of random directional channel selection:  
\[P_{i}=\frac{1}{N-1}=\frac{1}{3} \tag{18}\]  
To solve this issue, we applied the virtual pheromone based path selection for the intersection block. Initially, the virtual pheromone concentration on all the communication channels were equal, thus we took the probability of channel selection \(P=1/3\) as the baseline for the probabilistic switching of the intersection block. In this case, the module \(t\) equally sent data packets to all the directions at the initial stage. When a user interacted with a building block i.e., \(y,g\), or \(r\) of a word i.e., _study_, _strong_ or _star_ while playing the spelling game, data packets transmitted from the building block to the _root_ through a physical communication channel on the module \(t\). The virtual pheromone concentration on such a channel was increased with an amount of pheromone deposition while the virtual pheromone concentration on the other channels were decreased accordingly so that the total amount of the virtual pheromone on module \(t\) was unchanged (100%). The more the user interacted with a building  
Figure 7: A snapshot of _Phonic Game_ with a robotic configuration of three branches forming three different words, i.e., _study_, _strong_ and _star_. block, the more data packets transmitted to the _root_ on the channel due to its pheromone probability. As a result, when the _root_ sent spelling commands through the communication path of the selected word, e.g. \(study\), the building block \(t\) chose the directional physical channel towards the building block \(u\) based on the probability of the virtual pheromone concentration accumulated on this channel. Note that the virtual pheromone concentration on such a channel was automatically decreased toward the baseline by the evaporation parameter over time if the user stopped interacting with the building block. The virtual pheromone parameters are shown in Table 3.  
Note that parameters of the virtual pheromone concentration can be changed according to system requirements. High deposition rate could quickly raise the virtual pheromone concentration up to the saturation level leading to fast establishment of _root-to-any_ communication path. High deposition rate could also increase switchability of communication paths according to users' behaviour but might create fluctuation due to the short time reaction. In contrast, low deposition rate requires more time to form root-to-any communication paths. However, a communication path established with the low deposition rate should be expected if we wish to receive a large number of data packets from the chosen direction.