# Open Collaborative Platform for Multi-Drones to Support Search and Rescue Operations
## 3 Open Collaborative Platform
### Collaborative Searching Path Planning
#### 3.3.1 Searching Path Planning  
Several papers [40; 41; 42] have discussed the problem of area decomposition and optimizing sweep direction. Generally, a polygon decomposition is suggested and a sweeping pattern is used to cover decomposed area, see Figure 7b. Since the number of turns in the path can increase power consumption and reduce speed, the sweeping curve is also used for our initial searching path to fill the search area in this paper. The space between each row of the curve is the sensing range (\(r\)) of the Wi-Fi card on the Krypto, see Figure 7a. To simplify our discussion, our assumptions are (1) the searching area is square; (2) the sensing range (i.e., Wi-Fi card) of the Krypto module is similar; and (3) each drone with a fully charged battery has a similar ability to fly similar distance. For drones, there are two requirements--(a) the assigned search path is less than the _maximum flight distance_ due to its battery; and (b) remaining power is enough for the _return home_ (i.e., initial starting point) _distance_ to recharging/exchanging battery. Therefore, it is important to minimize the searching time while maximizing the searching area. For multiple drones, their sweeping paths are staggered between each other, see Figure 8. Figure 8b shows two drones that initially joined the SAR operation. For each drone, the initial path is a sweeping curve where the distance between two consecutive rows is \(2r\), where \(r\) is the sensing range. Similarly, if three drones initially join the SAR operation, the distance between each consecutive row for a drone is \(3r\), as in Figure 8c. Since this approach needs the Open Collaborative Platform to assign a search path, we call this approach the _Centralized_ approach. In this approach, when a new drone joins the SAR operation, new searching paths will be re-assigned to all drones. If the Krypto module is unable to connect to the open platform all the time, a _Distributed_ approach is proposed. In this approach, the entire searching area is divided into \(m\) by \(m\) sub-regions. Initially, a drone randomly selects a sub-region and searches this region using a sweeping curve path. When the drone is finished searching the region, it randomly selects another sub-region. Figure 9 shows the entire searching area is divided into 49 sub-regions (e.g., 7 by 7). Two drones randomly select different sets of sub-regions (i.e., red and blue sub-regions) in the _Distributed_ approach. Each drone will continue to select the next sub-region for searching if its battery power is allowed. We will discuss the return-to-home decision process in Session 3.3.3. A drawback of the _Distributed_ approach is overlapping search area by two drones selected in the same sub-region. To reduce the number of drones to select the same region, different techniques can be applied, e.g., hashing, geometric hashing, etc. Since the Krypto module has communication capability, an opportunistic type of routing algorithm (e.g., [43; 44]) is applied to exchange information when two drones across each other. In this case, drones can exchange information such as which sub-regions have been visited by themselves or other drones. Therefore, when a drone selects the next sub-region to search, it will avoid those visited regions. If two drones are in the same sub-region, one of the drones will select another sub-region after the drones exchange the information. We let the drone with lower battery power stay in the current sub-region. The drone with higher battery power will select a new sub-region using geometric hashing. We call this approach the _Hybrid_ approach. In both _Distributed_ and _Hybrid_ approaches, information such as visited  
Figure 8: Searching path with multiple drones. (**a**) Signal drone. (**b**) Two drones. (**c**) Three drones. sub-regions by drones is uploaded to the platform when a drone returns home or flies to a location where it can communicate with the platform.