# Open Collaborative Platform for Multi-Drones to Support Search and Rescue Operations
## 3 Open Collaborative Platform
### Krypto Module  
To make this paper self-contained, we first briefly describe the Krypto module's each sub-component and extended functions for the Open Collaborative Platform. Krypto has two main components: **victim localization** and **searching path planning**. To locate possible victims in a disaster area, Krypto needs to (1) detect signal strength (i.e., RSSIs) from the victim's mobile phone and (2) estimate its location according to the RSSIs. To do so, a _Virtual AP_ is created by Krypto to receive any connection request from mobile phones. As our previous work [4] pointed out, several techniques are available for hacking a fake Wi-Fi connection and most mobile broadband providers also provide Wi-Fi hotspots for offloading for their users and services.  
Once a mobile phone establishes a connection to Krypto, a _Sensing Program_ on Krypto records the mobile phone's information, such as RSSI, timestamp, IP address, and MAC address. IP and MAC addresses are used to differentiate multiple signal sources from different mobile phones. Note that people can turn off their mobile phones' Wi-Fi. However, most people leave their Wi-Fi on all the time for advantages such as data offload and faster location estimation. We surveyed 100+ random people in our university to see if they keep their phones next to them (within their reach) all the time and turn off their Wi-Fi on their mobile phones. The results are that 99% of the people keep their phones within reach (i.e., less than 2 m) and 97% of the people never turn off their devices' Wi-Fi. In addition, other types of wireless infrastructure can be applied such as GSM/3G/4G by carrying a microcell wireless cell tower on Drone. Figure 3 shows the process of detecting process for RSSIs from mobile phones. To keep within the scope of this work, Wi-Fi signals from a mobile phone are used for locating possible victims.  
To estimate the location of a victim with his mobile phone, Krypto collects \(n\) number of sampling with received RSSIs for each signal source. There are 13 channels in 2.4 GHz. We can simultaneously detect good RSSIs for 6 to 8 channels per second in our experiments which can be improved if a 5 GHz network is used. Next, a _median filter_[37] is applied to the \(n\) samples to filter out noise. In our experiment, \(n\) is set to 15. This is also able to filter out other noise generated by the drone. Notice that there are several signal filtering techniques, e.g., _Kalman filters_ or _Moving Average Low Pass filters_, that can be used. Next, the filtered RSSI is applied to (1) to estimate the distance between the drone and mobile phone. Once multiple estimated distance values are calculated, the location of the mobile phone can be estimated using common triangulation techniques in _Model-based_ approaches as  
Figure 3: Signal sensing component of the Krypto module.  
discussed in Section 2. To SAR operations, the main contribution of Krypto is not focusing on pinpointing the location of victims. It is only assisting the SAR team to identify possible victim locations in an estimated area. The SAR team needs to rely on a SAR dog or life detector to pinpoint the victim's exact location.  
For the searching path planning, Krypto's searching path component is modified to allow multiple drones to collaborate using the proposed open platform. Instead of deciding on a searching path at an individual Krypto module, the Open Collaborative Platform assigns an initial searching path and updated the searching path if necessary (i.e., when other drones joined SAR operations). When the Krypto module sensed a signal source, it can dynamically adjust its path. We will discuss more on the Dynamic Searching Path in a later section. Krypto's main component is only on Raspberry Pi. The architecture of Krypto is shown in Figure 4.