# VAGADRONE: Intelligent and Fully Automatic Drone Based on Raspberry Pi and Android
## 4 Experiments and Results  
In this section, we detail the results of various experiments to evaluate the performance of real-time applications using VAGADRONE (Figure 9). Figure 8: Example of the circular buffer algorithm. For the experiments, we used our VAGADRONE, which was a quadcopter composed of:  
* A Raspberry Pi 3B+ board based on an ARM Cortex-A53 64 bit, quad-core 1.2 GHz processor. We chose this board for several reasons: 1. The size of the Raspberry Pi 3B+ is small, and so, the card is perfectly suited to be used in a drone. 2. The Raspberry Pi 3B+ is very powerful. It includes a 4 core processor, a 1 GB processor, and 1 GB of RAM, so one can install a real operating system like Android and run Android and applications that can be used during the realization of the project. * The NAVIO2 flight controller described in the previous section. * A camera attached to the Raspberry Pi 3 Model B, by means of a Pin 15 ribbon cable, via the dedicated 15 pin serial interface (CSI) camera. It supports 1080 p \(\times\) 720 p with 60 frames per second thanks to the 5 MP sensor. This module was intended to be used in the context of a broadcast. It should allow monitoring its environment in real time and saving a history of images if necessary. * Ultrasonic sensors (E18-D80 NK infrared sensor). * Brushless motors Readytosky 920 KV defined by several characteristics: 1. KV refers to the number of turns per minute per Volt. A motor with a very high KV will fall into the category of very high speed, but low torque motors, while a motor with a low KV will fall into the opposite category. The chosen motor was a Readytosky Motor with a KV of 920 powered by a battery that provides about 11.1 V; our motor would run at 11.1 \(\times\) 920 = 10.212 rpm. 2. The voltage that the motor can withstand is generally a range expressed as a number S, 1 S being equivalent to 3.7 V. In the case of the motor we chose, its operation must be with batteries of type 3 S.
3. Another element to take into account is the number of amperes that the motor will consume at full load, because this value will be used to choose the electronic speed control (ESC). * The ESC driver. This controller allows managing the motor rotation speed. * A LiPo battery. The assembly of our drone followed the NAVIO2 manual published by Emlid. Figure 10 shows the wiring diagram (a) and the image of the components with the chassis (b). Figure 9: VAGADRONE. We started by testing the computation of the optimal path to reach the zone of the mission. For this purpose, we applied the weighted A* algorithm. Thus, we modified the weight \(\epsilon\) and computed the number of iterations to find the best trajectory. The results for different \(\epsilon\) are given in the following Table 2.  
Thus, in our case, the use of the A* algorithm allowed reducing the number of visited cells by two compared to the Dijkstra algorithm to obtain an optimal path. If there was no constraint in terms of the distance to travel, but an obligation to find a solution as quickly as possible, the weighting on the heuristic could be increased (epsilon = 1.5 and 5). Setting \(\epsilon\) to 1.5 means tolerating a sub-optimality of 50% on the distance traveled to reach the goal. In this example, we can see that the UAV would take half the time to obtain a path that would be, in our example, only 5.92% longer. Next, we tested the automatic control of the UAV. Before assembling our system, we had to perform unit tests and complete measurements for all our sensors in order to properly parameterize the UAV. For each module, we developed test binaries from which we made measurements to understand the real behavior of each sensor. To test the IMU module, the MPU9250 driver was used, and the NAVIO/MPU9250.h file contained the methods for communicating with this circuit. We tested it, and it gave us results in real time as follows (Figure 11). We also tested the Barometer MS5611, a pressure sensor that also integrates a temperature sensor for calibration purposes. This sensor has a resolution of 10 cm.