Drone operations have grown rapidly in the recent years thanks to the versatility these devices offer – performing diverse range of missions from aerial photography to long distances deliveries. In order to maintain autonomous flight the drone trajectory has to adapt to real time variables like wind, obstacles, vehicle failures, No fly zones, etc. In a worst scenario these conditions can lead to the loss of the vehicle which would mean economic losses and a huge safety risk when flying over populated areas.
Autonomous drone missions normally comprise a series of preprogrammed waypoints which the flight controller tries to follow- until the mission is complete, else the pilot manually cancels the mission. Thus the likelihood of a mission being unsuccessful due to external disturbances increases.
Researchers Javier Losada Pita1, and Félix Orjales Saavedra collaborated with Navantia-UDC Joint Research Unit and the Integrated Group for Engineering Research, University of A Coruña and have developed a trajectory management system capable of adapting to changing flight conditions by gathering data from the surroundings via sensors connected to the companion computer (cameras, Lidars, radars, etc.).
In their paper the team explain the structure and development of a trajectory management system on board an unmanned aerial vehicle (UAV) capable to achieve complex and versatile trajectories that adapt to disturbances during flight. This system is a built-in Python and runs in a companion computer on board the UAV while maintains communication with a ground station over a radio link.
Using a companion computer on board the UAV allows receiving and sending data to the flight controller. The vehicle flight controller uses Ardupilot as firmware, which can communicate with a computer using Mavlink protocol. For this task Mavlink messages are sent and received with Dronekit API for Python, over a serial port (USB-TTY) connected to the flight controller.
This allows access to all telemetry data and can command the vehicle by modifying attitude attributes as target position or velocity. The team created an UDP port to send the telemetry data to a mission control software (Mission Planner, QGroundControl, etc.) and a SSH port to have a remote terminal with the companion computer. These ports communicate with the ground station through a radio gateway connected with computers, UAV and ground, over Ethernet.
During testing, the team programmed an example trajectory in a constant altitude, performed in a simulation by modifying vehicle’s velocity in real time. The companion computer got control of the vehicle when flying and performs the maneuver until RTL mode was activated (Return To Launch position).
The system is designed such that it allows receiving data from either external sensors or the built-in sensors of the flight controller (IMU, barometer, etc,) and then modifies behavior in real time so the vehicle can adapt to possible surrounding disruptions. In this way this trajectory management system opens multiple possibilities to design an UAV capable of adapting to the surrounding conditions in real time and be able to add as many sensors as required for the application it will perform.
Citattion: UAV Trajectory Management: Ardupilot Based Trajectory Management System, Javier Losada Pita, and Félix Orjales Saavedra, University of A Coruña, Spain, Presented at the 2nd XoveTIC Conference, A Coruña, Spain, 5–6 September 2019. Proceedings 2019, 21(1), 8; https://www.mdpi.com/2504-3900/21/1/8