## 5 Simulation and Experiment
### Experiment  
In order to verify the simulation results, we conducted real-world experiments, which were the same as the experimental scenes in Section 4. The battery capacity of UAV is limited, it can support flight time of 2000 s. As shown in Figure 17, the UAV with the LoRa 2.4 GHz dual-channel module and 6 cluster heads was deployed in a 5 \(\times\) 5 km area, the UAV speed was set to 12 m/s, and the UAV planned path for data collection task was obtained using the TGA algorithm.  
Figure 16: Completion time by number of sensor nodes.  
Figure 17: Real-world experiment site.  
Regarding the task completion time, we first compared our TGA-MOVING-DCMDR with TGA-HOVER-DR6 and TGA-MOVE-DR6 methods for the large data amount stored in cluster heads. As can be seen in Table 5, for each data amount stored in cluster heads, the task completion time using the TGA-MOVING-DCMDR was less than those using the other two methods, which was basically consistent with the simulation status.  
Figure 18 shows the average packet loss ratio in the above experiments. The packet loss ratios of cluster heads were less than 3%, except for the fourth cluster head. It may be because the cluster head 4 was located in the bushes and surrounded by vegetation. In terms of packet loss ratio, the TGA-MOVING-DCMDR was similar to the other two methods, while the task completion time of our method is the lowest.  
In practical systems, the cluster head sometimes stores a small amount of data. Therefore, we tested the task completion time of the UAV for the data amount within 1 Mbit stored in cluster heads. The results are shown in Table 6. TGA-HOVER-DR3 had the longest flight time for each amount of cluster head data, because DR3 is 14.27 kbit/s and the UAV can only collect data when hovering over the cluster head.  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline \multirow{2}{*}{**Methods**} & \multicolumn{5}{c}{**Cluster Head Data (Mbits)**} \\ \cline{2-5}  & **0.25** & **0.5** & **0.75** & **1.0** \\ \hline TGA-HOVER-DR3 & 1359 & 1491 & 1617 & 1743 \\ TGA-HOVER-DR6 & 1240 & 1242 & 1245 & 1249 \\ TGA-MOVE-DR3 & 1079 & 1105 & 1205 & 1301 \\ TGA-MOVE-DR6 & 1165 & 1166 & 1168 & 1170 \\ TGA-MOVING-DCMDR & 1063 & 1082 & 1107 & 1136 \\ \hline \hline \end{tabular}
\end{table}
Table 6: UAV flight time comparison for lower data amount stored.  
Figure 18: The packet loss ratios of cluster heads.  
\begin{table}
\begin{tabular}{c c c c c c} \hline \hline \multirow{2}{*}{**Methods**} & \multicolumn{5}{c}{**Cluster Head Data (Mbits)**} \\ \cline{2-5}  & **32** & **48** & **64** & **80** & **96** & **112** \\ \hline TGA-HOVER-DR6 & 1469 & 1584 & 1700 & 1815 & 1930 & 2045 \\ TGA-MOVE-DR6 & 1257 & 1285 & 1404 & 1512 & 1631 & 1743 \\ TGA-MOVING-DCMDR & 1239 & 1251 & 1347 & 1472 & 1577 & 1692 \\ \hline \hline \end{tabular}
\end{table}
Table 5: UAV flight time comparison for higher data amount stored.  
With the increase in the amount of data, the completion time of TGA-HOVER-DR6 and TGA-MOVE-DR6 method barely changed, because DR6 is 1040 kbit/s, and the data transmitting time is much lower than the flight time. When the amount of data is less than 0.5 Mbits, the completion time of TGA-MOVE-DR3 is lower than that of TGA-MOVE-DR6. It is because the coverage area of DR6 is smaller than that of DR3, and the UAV can only receive signals at a short distance from the cluster head with DR6, while the TGA-MOVE-DR3 can start collecting data from a long distance. The task completion time of the TGA-MOVING-DCMDR was always the smallest with the same amount of data. Because it can adjust the data rate adaptively, when the amount of data is small, the data can be collected farther away from the cluster head.