# An Aquatic Mobile Sensing USV Swarm with a Link Quality-Based Delay Tolerant Network
## 3 Proposed Architecture
### Network Elements  
Each mobile node and gateways are composed by a Raspberry Pi board as the central processing unit with the specifications described in Table 2.  
USVs have a 64-bit Ubuntu Mate + ROS operating System, while the rest of the nodes carry a 64-bit Raspbian GNU OS [16]. LoRa communication is acquired with the SX12772 LoRa module and Multiprotocol Radio Shield manufactured by Libelium [32]. The hardware chosen provides a low-cost hardware base and a modular structure, easy to repair. The Aquatic Swarm is comprised of heterogeneous USVs (with different sensors, and communications technologies) to lower the cost and the energy consumption on each USV. Each element is fundamental to the monitoring task, since each has a different set of sensors, but they are also fundamental to the data forwarding process in the delay-tolerant network, where intermediate nodes act as relays, storing and forwarding the packets in a situation of lack of end-to-end connectivity. \begin{table}
\begin{tabular}{l l} \hline \hline
**Processor** & 1.2 GHz 64-bit quad-core ARMv8 CPU \\
**Memory RAM** & 1 GB \\
**Wi-Fi Networking** & 2.4 GHz 802.11n Wireless LAN \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Raspberry Pi 3 Model B specifications. Figure 2: City-wide platform overview [16]. The multi-technology capabilities allow the swarm to maintain communications with at least one mobile gateway with long range communication, and therefore provide the connection to the server for a longer period of time. LoRa plays an important role in the platform, since it is the only communication interface that can reach the server in the infrastructure, maintaining the real time monitoring task. LoRa has a 1% imposed regulatory duty-cycle (i.e., 36 s per hour), so, to maximize the time that the swarm can send information over LoRa, only one USV, the mobile gateway, can be transmitting data at each time, creating a bigger time window to transmit. When this communication is also not possible or a mobile node is isolated, aerial drones can be sent to gather the data. USVs are composed of a heterogeneous set of sensors with the purpose of collecting aquatic environmental information. In total, the various sets can collect the following environmental variables:  
* potential of Hydrogen (pH);
* Water Temperature;
* Salinity;
* Depth;
* Turbidity; and
* Electrical Conductivity. An Inertial Measurement Unit (IMU), a Global Positioning System (GPS), and a camera are also added to provide information for the USV navigation system. A prototype of a USV model is presented in Figure 3 and its corresponding block diagram in Figure 4.  
The model consists in a Li-Ion Battery, connected to a _Dual Motor Controller-L298N_ for controlling the speed and rotation direction of two _DC 395 Boatman_ Motors. This battery is also connected to a Battery Monitor in order for the user to know how much energy the robot has left for the motors. The motors are controlled by a Pulse Width Modulation (PWM) sent by the _Raspberry Pi_ to the _Dual Motor Controller_. The _Raspberry Pi_ and all the sensors are powered by the _Power Bank Battery_. We chose two batteries to keep the _Raspberry Pi_ functional for a rescuing mission, which may be necessary if the motors can no longer run. Figure 3: Prototype of a USV model. Some models employ an _Intel Camera D415_ for mapping the area while navigating. The _Raspberry Pi_ is connected to a _USB Adapter TL-WN722N_ to have a higher range of Wi-Fi compared to the on-Board Wi-Fi card. The _Multiprotocol Radio Shield_ is connected to the _SX1272 LoRa_ module and all the sensors listed in Figure 4, and also provides a set of analog pins. Digital sensors and 1-wire sensors, e.g., _Liquid Level-SEN0205_ and _DS18B20_, respectively, are directly connected to the _Raspberry Pi_. The modules with a star in Figure 4 are the ones shared with the setup in [PERSON] et al. [16]. A detailed list of sensors used in the aquatic platform is presented in Table 3, however other low-cost sensors could also be used [33; 34].