Structured Flight Plan Interpreter for Drones in AirSim
Tutor / director / evaluatorBarrado Muxí, Cristina
Document typeMaster thesis
Rights accessOpen Access
Nowadays, several Flight Plans for drones are planned and managed taking advantages of Extensible Markup Language (XML). In the mean time, to test drones performances as well as their behavior, simulators usefulness has been increasingly growing. Hence, what it takes to make a simulator capable of receiving commands from an XML file is a dynamic interface. The main objectives of this master thesis are basically three. First of all, the handwriting of an XML flight plan (FP) compatible with the simulator environment chosen. Then, the creation of a dynamic interface that can read whatever XML FP and that will transmit commands to the drone. Finally, using the simulator, it will be possible to test both interface and flight plan. Moreover, a dynamic interface aimed at managing two or more drones in parallel has been built and implemented as extra objective of this master thesis. In addition, assuming that two drones will be used to test this interface, it is required the handwriting of two more FPs. In order to achieve all the goals of this project, it has been chosen AirSim as dronesimulator and Python as programming-language for the development of the dynamic interfaces. Python and AirSim can “talk” to each other thanks to the really good list of APIs (Application Programming Interface) provided by the AirSim library for Python. On the other hand, to write the XML FPs, I took advantages of the RAISE+ documentation (simulator for fixed and rotary wing aircrafts) for building a flight plan (see ). I implemented a total of six FPs: two FPs to test the interface for the single drone and four FPs to test the multiple-drones interface (two FPs for each drone). Each pair of FPs has the same path; one uses Geographical coordinates (latitude, longitude, altitude), the other one uses AirSim’s NED coordinates (north, east, down). Since take off and landing are obtained through two Python APIs for AirSim, the flight plan will concern only the mission waypoints. In the end, I obtained two dynamic interfaces with a high degree of independence from any XML flight plan and AirSim environment chosen. The only requirement is that the FP waypoints have to be compatible with the simulator environment. Moreover, the FP has been created involving four out of all the possible legs that describe drone maneuvers and it has been planned for the Neighborhood AirSim environment. All the limitations will be further discussed in the “Recommendations” section (6.3). All the topics will be deeply analyzed and successively explained along the master thesis, highlighting the most important features and the problem-solving methodology carried on during the whole project.