INVESTIGATION OF UNMANNED AIRCRAFT AUTOPILOTING METHODS WITH REAL TIME ROUTE CORRECTION

2025;
: 49-58
1
Lviv Polytechnic National University
2
Lviv Polytechnic National University

The article explores the prospects for the automatic control of unmanned aerial vehicles (UAVs) implementation, analyzes the results of modern research and existing implementations in this area. Special attention is paid to popular software packages for their ability to provide automatic piloting functions without any need to equip the UAV with additional modules, and also considers the features of such implementation when using third-party equipment and software. A test algorithm for extended automatic piloting of the UAV has been developed for the ArduPilot + Companion Computer assembly, which involves piloting the UAV along a given route, performing additional operations on the UAV at certain points on the route, and correcting the route in real time if necessary. The peculiarities of connecting the Companion Computer to the flight controller, using the MAVLink protocol for ArduPilot, and using the appropriate libraries for programming languages, in particular Pymavlink (mavgen) for Python, are analyzed. The corresponding stages of the test algorithm are implemented using the Python language and the Pymavlink library, in particular the stage of establishing a connection via the MAVLink protocol, receiving the coordinates of the current position from the flight controller, calculating the distance to the next route point, dynamically changing the route by setting the coordinates of the next route point, performing additional operations at certain points of the route, as well as collecting and processing UAV telemetry information. The ArduPilot + Companion Computer assembly allows you to significantly expand the functionality of the UAV and dynamically change them, however, the use of such assemblies is advisable only in cases that cannot be covered by the computational capabilities of the flight controller and standard UAV software. Compared to other software packages, ArduPilot provides the best functionality for implementing automatic piloting, both using the ArduPilot Mission Planer and in the ArduPilot + Companion Computer assembly and third-party software.

[1]     Stephen Lazzaro (2015), “Flying multiple drones from 1 remote controller”, available at: https://minds.wisconsin.edu/bitstream/handle/1793/72188/TR1818.pdf (Accessed 15 July 2025).

[2]     Yaroslav Sheyko, Nataliia Kryvko, Oleksandr Shefer (2025), “Enhancement Arduplane Radio Failsafe Algorithm by Extending with a New Delegation Action”, Electronics and Control Systems 2025. N 1(83): 42-49 doi: 10.18372/1990-5548.83.19873

[3]     Dmytro Sazonov (2025), “How to build the Eyes of an Autopilot for FPV Combat Drone”, available at: https://medium.com/illuminations-mirror/how-to-build-the-eyes-of-an-autopilot-for-fpv-combat-drone-bbf13d605a9f (Accessed 15 July 2025).

[4]     Dmytro Sazonov (2025), “How to build an Autopilot with Computer Vision and Target Following for FPV Combat Drone”, available at: https://ai.gopubby.com/how-to-build-an-autopilot-with-computer-vision-and-target-following-for-fpv-combat-drone-3544f482baae (Accessed 15 July 2025).

[5]     Dmytro Sazonov (2025), “FPV autonomous operation with Betaflight and Raspberry Pi”, available at: https://medium.com/illumination/fpv-autonomous-operation-with-betaflight-and-raspberry-pi-0caeb4b3ca69 (Accessed 15 July 2025).

[6]      “Betaflight - Pushing the Limits of UAV Performance”, available at: https://betaflight.com/ (Accessed 15 July 2025).

[7]      “INAV Remote Management, Control and Telemetry”, available at: https://github.com/iNavFlight/inav/wiki/INAV-Remote-Management%2C-Control-and-Telemetry (Accessed 15 July 2025).

[8]      “Flight Controller Firmware for FPV Drone: Choosing Between Betaflight, iNav, Ardupilot”, available at: https://oscarliang.com/fc-firmware/ (Accessed 15 July 2025).

[9]     Dmytro Sazonov (2024), “FPV Autonomous Flight with MAVLink and Raspberry Pi. Part I”, available at: https://blog.cubed.run/fpv-autonomous-flight-with-mavlink-and-raspberry-pi-part-i-f7dfa913f505 (Accessed 15 July 2025).

[10]  Dmytro Sazonov (2024), “FPV autonomous flight with MAVLink and Raspberry Pi. Part II”, available at: https://medium.com/illumination/fpv-autonomous-flight-with-mavlink-and-raspberry-pi-part-ii-2d55dcd8d659 (Accessed 15 July 2025).

[11]   “Companion Computers - dev documentation”, available at: https://ardupilot.org/dev/docs/companion-computers.html (Accessed 15 July 2025).

[12]   “Communicating with Raspberry Pi via MAVLink - dev documentation”, available at: https://ardupilot.org/dev/docs/raspberry-pi-via-mavlink.html (Accessed 15 July 2025).

[13]   “MAVLINK common message set, MAV_CMD_NAV_WAYPOINT – dev documentation”, available at: https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_WAYPOINT (Accessed 15 July 2025).

[14]   “Using MAVLink Libraries – dev documentation”, available at: https://mavlink.io/en/getting_started/use_libraries.html (Accessed 15 July 2025).

[15]   “Using Pymavlink Libraries (mavgen) – dev documentation”, available at: https://mavlink.io/en/mavgen_python/#using-pymavlink-libraries-mavgen (Accessed 15 July 2025).