# OADC: An Obstacle-Avoidance Data Collection Scheme Using Multiple Unmanned Aerial Vehicles
## 4 Algorithms
### A Genetic-Algorithm-Based Path Planning with VRAOA (GA w/VRAOA)
#### 4.2.3 Selection, Crossover, and Mutation Operators
6:while\(\mathfrak{g}_{max}\geq\mathfrak{g}\)do
7: Select best fitted chromosomes with a probability \(P_{s}\). 8: Generate new chromosomes using the crossover and mutation operators with the probability of \(P_{cr}\) and \(P_{mn}\). 9: If any constraint is violated, repeat line number \(8\) for a given number of times. 10: Evaluate the new fitness values for the new chromosomes. 11: Replace the worst chromosomes with the best new generated chromosomes in the population. 12:\(\mathfrak{g}\leftarrow\mathfrak{g}+1\)
13:endwhile
14: return the best chromosome (tour) with minimum traveling distance. 15:endfor
```

**Algorithm 2** A genetic-algorithm-based path planning with VRAOA (GA w/VRAOA)

## 5 Performance Evaluation

The performance of the GA w/VRAOA is evaluated by conducting simulations with different parameters and comparing them with multiple algorithms. In this section, we first present the experimental settings and performance metrics. Then, descriptions of the compared algorithms and the UAV trajectories obtained by the proposed algorithm are presented. Finally, the performance results under different scenarios are explained in detail. ### Experimental Settings

The simulations are performed over a \(10\times 10\,\mathrm{km}^{2}\) square area, where sensors and obstacles are placed randomly, and the position of the base station (BS) is at (0,0). Obstacles are selected randomly from a pool of obstacles and deployed in the system, so they do not override each other. The sizes of obstacles is considered from a range of 1 to 2 \(\mathrm{km}^{2}\). A UAV spends two seconds and consumes 10 watts [37] of power on receiving data, whereas the moving power consumption of the UAV is 3500 watts [37]. The total energy consumption of UAVs in the OADC scheme is the sum of the energy consumed for receiving the data and traveling to the sensors. For simplicity, it is assumed that each UAV finishes the data collection tour within 25 min with a velocity of 105 \(\mathrm{km}\)\(\mathrm{h}^{-1}\). The experimental parameters are shown in Table 2. \begin{table}
\begin{tabular}{c c} \hline \hline
**Parameter** & **Value** \\ \hline Area size (\(\mathrm{km}^{2}\)) & \(10\times 10\) \\ Number of sensors \(n\) & \(20,40,60,80,100\) \\ Number of UAVs \(c\) & \(2,4,6,8,10\) \\ Number of obstacles \(s\) & \(2,4,6,8,10\) \\ Velocity of the UAVs \(v_{m}\) (\(\mathrm{km}/\mathrm{h}\)) & 105 \\ UAV’s flight time in minutes \(f_{m}\) (m) & 25 \\ Power consumed by the UAV while traveling \(P_{t}\) (watts) & 3500 \\ Power consumed by the UAV while receiving data \(P_{r}\) (watts) & 10 \\ Data reception time of UAV in seconds \(R_{t}\) (s) & 2 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Experimental parameters (underlined values are default values). The simulations have been conducted on a Python platform equipped with an Intel(r) Core(tm) i9-10900 CPU at 2.80 GHz with 64.0 GB of RAM. Simulations with five different seed values are conducted and averaged to provide fair results. Three performance metrics are considered for evaluating the results:

* Total energy consumption of UAVs (\(KJ\)): the total energy consumption of each \(UAV_{m}\) is the sum of the UAV's traveling energy consumption \(E_{t}^{m}\) and data reception energy consumption \(E_{r}^{m}\). \[E=\sum_{m=1}^{M}\left(E_{t}^{m}+E_{r}^{m}\right)\] (15) where \[E_{t}^{m}=P_{t}\times T_{t}^{m}\] (16) and \[E_{t}^{r}=P_{r}\times R_{t}\] (17) \(P_{t}\) is the power consumed by a UAV for traveling, and \(T_{t}^{m}=\frac{\mathfrak{D}}{v_{m}}\). \(\mathfrak{D}\) is the total traveling distance of the UAV data collection tour, and \(v_{m}\) is the UAV velocity. \(P_{r}\) is the power consumed by the UAV while receiving the data, and \(R_{t}\) is the data reception time of the UAV. * Average data delivery latency \(\left(s\right)\): The average value over the total time needed by all UAVs to collect data from all the sensors and deliver the collected data to the base station (BS) is the average data delivery latency (\(L_{avg}\)) in the proposed OADC scheme.