Machine Learning Algorithms

Abstract

Using machine learning and deep learning techniques to identify drone movement through classification is a powerful and efficient way to monitor and track drones in various applications. This can include tracking drones in areas where they are not allowed, such as near airports or other sensitive locations, as well as identifying patterns of movement for use in logistics and other industries.

In our case,  we use supervised learning techniques to classify drone movement , where we train a model on labeled data to predict the class of new, unseen data. More specifically, we achieved this by implimenting various algorithms, such as Decision Tree, Random Forest, Light Gradient Boosting, Stochastic Gradient Descent, Logistic Regression, K nearest neighbor, Gaussian Naive Bayes and LSTM. For the above algorithms we used the python library sckit learn except for LSTM for which we used the keras library. By executing these algorithms and comparing them, we took the best results from LSTM.

Specifically we created two diferrent datasets. In the first dataset, the drone has the ability to perform a single movevment at each timestep, and in the second dataset the drone can perform more than one movements at each timestep. It is worth mentioning that the data that we used to train our model, we gathered them making flights with our drone Matrice 300 which was equipped with a variety of sensors, cameras and weather station. Τhe data that is included in the datasets is the timestamp, wind speed, wind angle, battery voltage, battery current, position x, position y, position z, altitude, oritentation x, orientation y, orientation z, orientation w, velocity x, velocity y, velocity z, angular x, angular y, angular z, linear acceleration x, linear acceleration y, linear acceleretion z and payload, yaw and flight mode.

Our target was to identify the current state of the drone. For this reason, we trained our model on the datasets that we mentioned above,  containing  five different types of drone movement : hovering (IDLE-HOVER), ascending (ASCEND), turn(TURN), flying in a straight line (HMSL) and descending (DESCEND). We implemented a multi-class classification to identify the single movement of the drone and multilabel classification to identify the multi-movement of the drone. In the training process we used the features mentioned above except the altitude and yaw. The target variable was the flight mode. To evaluating our model, we used accuracy, precision, recall and f1-score. The best results we collected, after many tests, for multiclass classification and multilabel classification were 96% and 96.5% respectively.

Overall, we use machine learning and deep learning techniques in our research for classifying drone movement and predict the trajectory of the drone. Result of this, is the provision of a fast and accurate way to track and monitor drones in various applications customized to the specific needs of the user.