2019 - EVP, Software Tool to Estimate Drone Position in Space using a Smartphone and Computer Vsiion
EVP was developed considering two software applications, an Android app capable of acquire images and send them to a second app implemented on a computer capable of estimate the phone position based on the images obtained by the last one. The Android app was programmed in such way that all its management can be done from the computer app through a wireless connection, permitting to the system to be used in unmanned aerial vehicles flight for images acquiring, scene reconstructions and vehicle position estimation.The server client structure lets the computer app, as a client, to connect and to disconnect in any moment from the Android phone app (server) manually. In addition, it could start and stop the estimation and the images acquiring with the same autonomy.
In the same way, the computer app lets the user to save the system execution collected position data for a subsequent usage.The system was implemented following a software development methodology. As a result of this, the design, building and tests are totally documented. The system requirements are pointed to offer east skillfulness by the usage of graphical user interfaces in both app.
Actually, EVP is a registered software legally recognized by the Interior Ministry of Colombia. This document can be downloaded here.
Conceptually speaking, the concept diagram shown in the Figure at right shows how EVP station base software tool works.
From this image, it can be observed the following properties:
1. Users can manage the flight mission,
2. Users can configure flight mission parameters,
3. Users can monitor the flight mission and
4. Users can operate the flight mission using the EVP GUI.
The EVP GUI is also in charge of
1. Establishing the communicating with the drone to send the configuration parameters, and
2. Performing the image data reception acquired by the smartphone remotely.
As a counterpart, the Figure at left shows the conceptual diagram of the EVP app mobile station. It has the following properties:
1. It runs into the smartphone
2. It is in charge of the flight control.
3. The EVP app is executed explicitly by users, and
4. Users also must enable or disable the communication module.
5. Then, if users enable the communication module the data acquisition begins sending images to the base station to estimate the drone position in space.
The Android device is a LG Nexus 5X, with Android version 7.1.1. The quadcopter used has carbon fiber frame with reference LJI 500-X4; moreover, the quadcopter has a radii of 0.3m and weight of 450g, and it is able to lift a payload of 250g
The experimentation platform is presented in the Figure at right. The hardware and software of this platform was designed and implemented in the context of the work titled "Optimal and robust controllers design for a smartphone-based quadrotor".
The smartphone is facing downwards, and the pose estimation performed by the ORB-SLAM algorithm needs the camera calibration parameters.
These parameters are listed as follows: the camera focus fx = 494,08 ± 1,41, fy = 494,16 ± 1,57; the principal point is located at cx = 319,85 ± 2,28 and cy = 173,56 ± 1,74; and, the distortion parameters are k1 = 0,04 ± 0,01, k2 = -0,09 ± 0,02, k3 = 0,00 ± 0,00, p1 = -0,014 ± 0,001, and p2 = 0,00 ± 0,00. These parameters where obtained using the Bouguet Matlab toolbox.
Figure at left shows the EVP base station GUI. The GUI shown in this Figure is divided in three main parts as follows:
1. The first panel (green rectangle) shows the insti-tutional logos;
2. The second panel (red rectangle) allows users to configure
a. The wireless link to the quadcopter,
b. The folder where all data collected will be stored, and
c. The basic ORB-SLAM parameters. These parameters include:
i. The number of image features to detect,
ii. The number of decomposition levels for each image feature,
iii. The scale factor at each decomposition level for each image feature,
iv. The minimum initial number of features detected, and
v. The minimum number of features detected in subsequent pair of frames.
3. At bottom of this Figure, a status panel (blue rectangle) where the wireless link, communication and running status are shown.
At the same time the drone is flying, in the EVP base station users have the following functionalities, which can be observed in Figure at right:
1. Users can start or stop the pose estimation system, which agree with remote enabling/disabling functionality in the EVP mobile station.
2. Also, users can visualize the current pose of the quadcopter, which means that the images sent by the quadcopter have been processed, and
3. The resulting pose can be plotted in the EVP base station and sent to the quadcopter.
4. Moreover, users can observe a text log all communication events while the flight mission lasts. 5. Finally, status information is shown in the bottom in the same way as depicted in the Figure above.
This software was developed for industrial service and academic use. If you like to perform a field test, please contact me:
Prof. Bladimir Bacca Cortes Ph.D.
Address: Cra. 100, Street 13, Universidad del Valle, Melendez, Building 354, Office 2006.
Tel: +5723212100 Ext. 7656