## 5 Experimental Results
### Collision Avoidance Performance  
The drone successfully detected obstacles within the effective sensing range of the ToF sensors (up to 360 cm in 4 \(\times\) 4 mode) and responded appropriately by adjusting its motion commands. The repulsive force-based control adjustment allowed the drone to avoid collisions without sudden or unstable movement. Figures 20-23 show obstacle detection and repulsive force generation from experiments involving obstacles located in the front, left, back, and right directions, respectively. Each figure includes the actual experimental scenario showing the drone and obstacle arrangement, a 2D RViz visualization [35] illustrating obstacle representation (blue points), and the corresponding virtual repulsive force (red arrow) generated in each case. These visualizations demonstrate how the drone's behavior dynamically adjusts in response to obstacle proximity and direction. Figure 19: **(a)** Environment detection; (b) 3D representation; (c) 2D horizontal representation. Figure 21: Experiment repulsive force response to left direction obstacle detection: (**a**) drone moving towards the object on its left side; (**b**) 2D horizontal detection results; (**c**) repulsive force model towards the right direction. Figure 20: Experiment repulsive force response to front direction obstacle detection: (**a**) Front obstacle detection; (**b**) 3D representation; (**c**) backward repulsive force calculated from the object detection. Figure 23: Right side object detection: (**a**) obstacle in the right direction of the drone; (**b**) its 2D representation; (**c**) repulsive force model towards the left direction. Figure 22: Rear side object detection: (**a**) obstacle in the rear direction of the drone; (**b**) its 2D representation; (**c**) repulsive force model towards the front direction. * Front direction case: As the drone approaches an obstacle in the front direction, as shown in Figure 20a, the obstacle is represented by the 2D representative point cloud, as shown in Figure 20b, then an opposite force towards the rear of the drone is virtually generated by modifying the control command. A model of this force is shown in Figure 20c. * Left direction case: As the drone approaches an obstacle in the left direction, as shown in Figure 21a, the obstacle is represented by the 2D representative point cloud, as shown in Figure 21b, then an opposite force towards the right of the drone is virtually generated by modifying the control command. A model of this force is shown in Figure 21c. * Rear direction case: When an obstacle (the white board was placed on the rear side of the drone) is detected in the rear direction of the drone, the repulsive force moves towards the front direction, as illustrated in Figure 22.
* Right direction case: Similar to the other directions, when an obstacle is detected in the right direction of the drone, the repulsive force moves towards the left of it, as illustrated in Figure 23.  
When an obstacle is detected in a diagonal direction outside of the four main directions discussed earlier, the resulting repulsive force is generated in the opposite direction of the detected obstacle. The angle of this force is calculated by reversing the angle of the representative obstacle direction by 180 degrees, while its magnitude is continuously determined based on the measured distance. A representative experimental scenario for a rear-left obstacle detection case, along with its corresponding 2D RViz visualization, is shown in Figure 24. This scenario serves as a reference for understanding how the system responds to diagonal obstacles. The corresponding repulsive force outputs for other diagonal directions, front-left, front-right, and rear-right, are presented in Figure 25a-d. While the actual experimental setups for these cases are similar to that in Figure 24 (only the direction of the obstacles changed as explained in each case), only the repulsive force vector visualizations are shown in Figure 25 to illustrate the drone's directional response behavior.