Treffer: Automation and flight safety improvements in fixed-wing drones = Automatización y mejoras en la seguridad del vuelo en drones de ala fija

Title:
Automation and flight safety improvements in fixed-wing drones = Automatización y mejoras en la seguridad del vuelo en drones de ala fija
Contributors:
Campoy Cervera, Pascual
Source:
Archivo Digital UPM
Universidad Politécnica de Madrid
Publisher Information:
E.T.S.I. Industriales (UPM), 2022.
Publication Year:
2022
Document Type:
Dissertation Master thesis
File Description:
application/pdf
Rights:
CC BY NC ND
Accession Number:
edsair.dedup.wf.002..c610d9504059484cd8b8f2e99a9da067
Database:
OpenAIRE

Weitere Informationen

This project is oriented as a part of a greater project, in which an Unmanned Aerial Vehicle with a mixed structure between a multirotor drone and a fixed-wing plane is being developed. It is equipped with three main rotors, and two of them can change its orientation to forward to upward and vice-versa. This system allows the plane to vertically take-off and land (VTOL). This aircraft is intended to be used in two main situations. The first one is the hostile environment of a volcano eruption. Here, the ability of taking off vertically is useful to get nearer to the volcano, and to land in rough places with not enough surface to land as a classic airplane. Then, in the air it can switch the rotors to fly as a fixed-wing drone, being able to glide long distances and saving energy in the process. This mode is also used in the most dangerous part of the flight when the drone enters the plume of the volcano to catch the ashes directly and bring them back to the ground to analyse them after. The second purpose of this hybrid aircraft is the conservation of endangered species. Equipped with a camera to get a stream from the ground and take pictures from the air, the drone will be deployed in national parks to search this species with very few individuals. Examples of mentioned applications are the former journeys to Volcán de Fuego, in Guatemala, that the people in the Bristol Flight Lab have made, as well as the project in Benoué Park in Cameroon. The goal of this project is to include a new computer onboard. This need arises when the drone is sent long distances away from the ground station, and the telemetry radio link starts to decrease its quality and data transmission rate. Having a companion computer within the drone allows to automate tasks such as the pre-flight security checklist that must be passed before arming the drone and start a flight. Another possibility is to delegate tasks like gathering data and visually monitor the variables of the aircraft during the flight. The computer is connected to the current flight controller (the autopilot) using a serial communication port. Since the autopilot present in the drone is a Pixhawk Cube running the software package ArduPilot, the protocol used to communicate with the plane is MAVLink, as well as between the different onboard systems. But to perform these automatic tasks, it is needed an interface over this protocol that communicates both systems. Here, there are two options available nowadays. The first one is Pymavlink, a Python library that implements methods to use the messages, topics, and end-to-end commands that MAVLink provides. It is a low-level library, and it is difficult to learn it quickly and start using it. The second one is Dronekit, a high-level wrapper application programming interface over Pymavlink. Although it is easier to learn than Pymavlink, some of its basic methods are slow and do not always work properly. The proposal of this project takes the idea of adding a companion computer plus the need of a useful interface to communicate with the drone and brings them together. The chosen system as a companion computer is a Raspberry Pi 4, because it is a very flexible platform when the correct operating system is chosen. Also, the computational capacity that the scripts demand is not very high, and this board can afford them without problems. In a first stage, the setup necessary to include a Raspberry Pi is explained in detail. Moreover, the pre-flight checklist is observed, determining which steps in it can be automated with this computer. Next, the solution given to the interface need to communicate with the autopilot has been to create a new API in Python that uses Pymavlink in a simpler way. It is called Bristol_API. After programming this tool, a complete example of use is provided to illustrate how simple MAVLink can be manipulated with it. In the context of the volcano environment, the script designed uses a state machine to monitor the status of the aircraft while flying, changing the state depending on the current position of the plane and its battery remaining. When approaching to the waypoints in the plume of the volcano loaded before in the autopilot, the aircraft is in NORMAL state. Reading the GPS signal allows to know when an important spot is reached, and then the aircraft will switch to CATCH_ASHES state, deploying the system to take the ashes for its further analysis. If at any moment the energy remaining in the battery is not enough to complete the mission for any reason, the drone will go to LOW_BATTERY state, an emergency mode that makes it go back to the ground station and land safely. This example is only a glimpse of the potential of the new API. Its modular design makes it easily expandable and opening the door to the huge number of scripts that can be created with its classes and methods to perform new actions with drones. Finally, after landing the drone, the information gathered during the mission is stored in custom log files in the companion computer. Here, having this new system onboard makes possible to create a web server in the same Raspberry Pi, hosting a web page. This way, using HTTP requests, the flight information previously saved is shown in the web page in several plots. The website plays another role in the automation of all mentioned processes. The automatic pre-flight checks are triggered with a button in this page, as well as the arming and disarming of the plane. The new scripts developed with the API are uploaded the same way with a button that opens the file explorer in the user’s computer. Finally, plotting the data is also possible simply clicking on the webpage.