Checking the Flight Stability of a Rotary UAV in Navigation Modes for Different Firmware Serhii Lienkov 1, Alexander Myasischev 2, Olexander Sieliukov 3, Oleksandr Pashkov 4, Genadiy Zhyrov 5, Andrii Zinchyk 6, 1 Military Institute of Taras Shevchenko National University of Kyiv, Lomonosova street, 81, Kyiv, 03189, Ukraine 2 Khmelnytskyi National University, Instytuts’ka str. 11, Khmelnytskyi, 29016, Ukraine 3 State enterprise "Scientific center of accurate machine building", Boryspylska street, 9, Kyiv, 02099, Ukraine, 4 Ministry of Defense of Ukraine, Povitroflostky Ave, 6, Kyiv, 03168, Ukraine 5 Department of the Radio Engineering and Radioelectronic Systems of Taras Shevchenko National University of Kyiv, Volodymyrska str., 64/13, Kyiv, 01601, Ukraine 6 Military Institute of Taras Shevchenko National University of Kyiv, Lomonosova street, 81, Kyiv, 03189, Ukraine Abstract In this work, the stability of a rotor-type UAV based on the STM32F405 microcontroller was studied for flying in a fully automatic mode along a given trajectory during a gusty wind with an average speed of 6-7 m/s. The INAV software with firmware ver.2.6 and the Ardupilot software with arducopter firmware ver.4.0.5 were used. The possibility of correct formation of the flight trajectory in the semi-automatic mode for taking photographs, studying the radiation situation in the area, spraying fields, etc. has been established for Arducopter firmware. The development of flight mission for INAV is more primitive, it is performed only in manual mode, using preliminary calculations. The obtained results show that the INAV firmware with the UAV allows only telemetry data to be transmitted to the ground station. It is impossible to change the UAV flight trajectory from the ground station via telemetry. For the Ardupilot software, the possibility of changing the route is shown by dragging the flight point to which the UAV is approaching with the mouse pointing device. For the INAV firmware, it was experimentally not possible to connect flying over a given waypoint with the execution of an action, for example, turning on and off the sprayer nozzle, and dropping the load at a given point. Keywords 1 OMNIBUSF4V3, INAV 2.6, GPS receiver, STM32F405, UAV, OSD, ESC regulator, FlySky FS-i6, Failsafe, Arducopter, Ardupilot, Pixhawk 1. Introduction both rotary type (quadcopters, hexacopters, orthocopters) [1] and with a fixed wing (aircraft, flying wings) [3] can be used. Currently, topical issues are the study of the To solve the problems under consideration, the radiation situation in the area, performing UAV should be able to operate in a fully topographic and geodetic surveys for drawing up automatic mode when flying around an area along a plan of the area, spraying agricultural fields, a given route and perform actions set before the carrying out rescue operations [1-4]. To solve flight, for example, turn on and off the nozzles these issues, unmanned aerial vehicles (UAVs) of when flying over the specified waypoints. The ISIT 2021: II International Scientific and Practical Conference «Intellectual Systems and Information Technologies», September 13–19, 2021, Odesa, Ukraine EMAIL: lenkov_s@ukr.net (A.1); alex56ma@gmail.com (A.2); selukov@3g.ua (A.3); torwer007@gmail.com (A.4); genna- g@ukr.net (A.5); andrik71@meta.ua (A.6). ORCID: 0000-0001-7689-239Х (A.1); 0000-0003-1269-425X (A.2); 0000-0001-7979-3434 (A.3); - (A.4); 0000-0001-7648- 7992 (A.5); 0000-0003-4029-2282 (A.6) ©️ 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings (CEUR-WS.org) software of the ground station should be able to Arducopter ver.4.0.5 firmware practically automatically generate flight trajectories and functions on the OMNIBUSF4V3 controller [11] actions performed during the flight over specified and how stable flight will be in navigation mode sites [5]. It is important that during its flight the for such flight controllers based on STM32F4. vehicle should be sufficiently resistant to external The OMNIBUSF4V3 controller is also used for influences, for example, to gusts of wind. It is the INAV ver.2.6 firmware. Therefore, the testing necessary that the UAV flight is displayed on the conditions are the same. The use of free firmware screen of the ground station, superimposed on the and common cheap flight controllers makes it geographical map of the area [6], as well as there possible to design low-cost UAVs. For example, will be a possibility of changing the route by a copter assembled for experimental purposes is at dragging the flight point with the mouse pointing a cost 2-3 times lower than commercial ones, device, to which the UAV is approaching. It is which have similar flight modes. Pixhawk flight advisable to use the FPV flight capability [7] with controller is about 5 times more expensive than displaying telemetry data on the helmet screen for OMNIBUSF4V3. maximum control over the UAV flight. In [6, 8], other ways of using UAVs are presented, for 3. Research Design which their stability in flight and positioning at a given point are also important. For Arducopter versions, up to ver. 3.2.1, which was used by the autopilot based on 2. Problem Statement atmega2560 microcontroller – for example, APM 2.6 and 2.8 – the Discrete Cosine Matrix (DCM) To solve the problems described above, it is mathematical apparatus was used to estimate the very important that the UAV is maximally position/orientation of the aircraft [12]. The DCM resistant to changing external impacts. For was also called the first generation attitude and example, with a constant wind of 5-6 m/s, position estimation system. simplified mathematical models are used to The current stable version of ArduPilot (4.0.5) ensure flight stability. An example would be the uses EKF2 as the main source of orientation in use of complementary filters for the joint space, with the DCM running in the background. operation of a gyroscope and an accelerometer If the autopilot has two (or more) available IMUs and simplified models of PID regulators. (the Inertial Measurement Unit contains a However, with a dynamically changing wind of gyroscope and accelerometer), two EKF “cores” up to 15-20 m/s, it is required to use a more will work in parallel, each of which will use its complex mathematical apparatus and develop own IMU. At any given time, only the output software on its basis for the flight controller. In signal of one EKF core is used, and it is this core this regard, the work considers the construction of that reports the best state, which is determined by a quadcopter according to a well-known model the consistency of the data of its sensors. (X-copter) and its adjustment for modern Figure 1 shows the evolution of the Attitude firmware INAV and Arducopter [8, 9]. The and Heading Reference System (AHRS) [13] adjustment is carried out experimentally with enumeration of a large number of parameters (including adjustment of the PID regulators), on which the flight stability of the copter with the given geometric parameters as well as the parameters of the propeller group depends. In this study, the most common firmware, INAV and Arducopter. These firmwares are free to use, open source and user-configurable. INAV supports a large number of flight controllers based Figure 1: Evolution of AHRS for different versions on 32-bit microcontrollers of the STM32F4 and of ArduPilot STM32F7 sets, positioning sensors (gyroscopes, accelerometers, magnetometers, etc.), and OSD. INAV firmware for OMNIBUSF4V3 flight The Arducopter firmware was developed for controller uses Alpha-Beta filter (complementary flight controllers APM 2.6 and Pixhawk [10]. In filter) for position estimation. It allows using the this work, we have studied how the ported accelerometer and gyroscope to obtain fairly accurate pitch and roll values. However, with FlySky FS-i6 firmware upgraded from 6 to 10 large vibrations of the motors, its accuracy channels with a communication range of up to 1.0 becomes insufficient and this filter is not suitable km; flight controller OMNIBUSF4V3 based on for using another sensor, a magnetometer. That is STM32F405 LQFP64 microcontroller (168Mhz, why aircraft behave unstable when switching to 1M Flash, 192kB SRAM) with built-in fully automatic control with INAV firmware. gyroscope, MPU6000 accelerometer and Therefore, in this work, along with INAV BMP280 barometer; battery 1500 mAh/hour, 11.1 firmware, the behaviour of the craft in automatic V; video camera and video transmitter TS832 mode, using the Kalman filter, is investigated. with a power of 0.6 W. The flight weight of the Another alternative is the Madgwick filter quadcopter was about 550 g. [14], which gives a better result than the Kalman filter in the results of position accuracy and calculation performance. The Advanced Kalman Filter (EKF2) algorithm used in ArduPilot provides a way to combine or consolidate data from an IMU, GPS, compass, airspeed sensor, barometer, and other sensors to calculate a more accurate and reliable estimate of the UAV position, speed and angular orientation. This algorithm evaluates a total of 22 states from different sensors. The issues of constructing mathematical models to ensure the stability of the UAV were also discussed in [15-17]. Figure 2: Photo of the tested quadcopter 4. Basic Material and Working Results The interconnecting network of the copter electronic components is given in Figure 3. The For testing the UAV, a quadcopter with a 250- video camera is connected to a separate power mm frame was chosen (Figure 2). On the source. The copter sends telemetry data, which are quadcopter, the following equipment was superimposed on the image of the terrain obtained installed: motor 2204/2300 KV with ESC from the video camera, through the video regulator 30A; propeller 5×4.5 inches; GPS transmitter. receiver: u-blox NEO-6M; control equipment: Figure 3: The interconnecting network of the copter electronic components To configure the flight controller of the copter, microcontroller on OMNIBUSF4V3 has 1 Mb the firmware file for the microcontrollers and the flash memory, so its capabilities are limited. For ground station software are used. The ground example, some sensors and telemetry formats may station uses Mission Planners, which is located at not work; some devices cannot be controlled, etc. https://firmware.ardupilot.org/Tools/MissionPlan Lua scripting is not possible due to insufficient ner/. The firmware for OMNIBUSF4V3 is copied flash memory. These scripts provide a safe from sandbox environment for adding new behaviour https://firmware.ardupilot.org/Copter/stable- to the autopilot without changing the main flight 4.0.5/omnibusf4/ under the name code. arducopter_with_bl.hex. Despite this, the flight performance with When sold OMNIBUSF4V3 controller is OMNIBUSF4V3 is higher than with APM 2.6 usually pre-flashed with Betaflight firmware. based on ATmega2560 processor due to a more After Betaflight, INAV firmware is installed quite advanced mathematical model of flight control easy [9]. Setting up this firmware using the INAV when using the same type of sensors. navigator was considered in [18-20]. After its The quadcopter firmware is configured using installation, test flights were performed with MissionPlanner ver. 1.3.74 application. INAV ver.2.6. After completing the testing, A computer is connected to the flight arducopter firmware was installed. However, it is controller using a USB cable. Then the Mission not possible to directly install arducopter Planner application is launched, which connects firmware from Mission Planners, the ArduPilot to the firmware of OMNIBUSF4V3 controller by ground station. To use ArduPilot, you need an clicking on CONNECT (1) in the upper right ArduPilot compatible bootloader on the corner. The frame type is selected step by step microcontroller. Therefore, _bl.hex file is used, (Figure 5). which contains the firmware and bootloader compatible with ArduPilot. _bl.hex file can be flashed using the INAV configurator, which uses a convenient graphical interface for this purpose. Before flashing, the controller should be switched to DFU mode (Figure 4). Figure 5: Selection of a frame type The calibration of the accelerometer, compass, control equipment and ESC regulators is Figure 4: Switching OMNIBUSF4V3 controller to performed. Calibrations are performed according to the step-by-step instructions on the DFU mode corresponding tab. Figure 6 shows a combination of setting tabs. To calibrate the accelerometer, the If OMNIBUSF4V3 controller is not copter is sequentially installed to a fixed position recognized as a com port under Windows, zadig along 6 axes, followed by fixing each of the program is downloaded from http://zadig.akeo.ie/ positions. It is best to calibrate the magnetometer and installed. in the launch field by rotating the quadcopter in It should be noted that the peculiarities of the six axes until the Mission Planner reports the end firmware for OMNIBUSF4V3 controller of the calibration. The location of the compared to the typical firmware developed for magnetometer relative to the flight controller is Pixhawk 2.4.6 flight controller based on determined automatically. STM32F427 Cortex M4 processor with FPU 168 ESC controllers are configured as described in MHz/256 Kb RAM and 2 Mb flash memory. The the ESC Calibration tab. Before setting flight modes (Flight Modes) it points and Aux channels tabs, in which the is necessary to configure FlySky FS-i6 control parameters shown in Figure 7 are set for the 5th equipment. In order to do this, it is first upgraded channel. The Reverse tab sets the reverse for the to a 10-channel operating mode [18,19]. Then, on 2nd channel. the FlySky FS-i6 operation panel, go to the End Figure 6: The combination of tabs for parameter settings shows the flight mode and Failsafe settings tabs. To implement Failsafe, the control hardware and receiver are preconfigured as presented here [18, 19]. FailSafe mode is set to minimum throttle. That is throttle value is equal to 1003 pulses when Figure 7: Setting parameters on the FlySky FS-i6 control equipment is on. If communication with operation panel for the formation of flight modes the operation panel is broken, this value will be equal to 900 pulses. Fig. 8 shows that it is set to Such an installation will allow using the three- 950, below which FailSafe will be triggered. This position SwC and two-position SwD switches to will turn on the Enabled Continue mode with work with 6 different flight modes. Figure 8 Mission and Auto modes, so the flight mission is continued in automatic mode. Figure 8: Setting flight modes and FailSafe To control the battery charge, in order to notify takeoff point when the battery is low, the battery about its charge via telemetry, to give an audible should be calibrated. It is performed in the tab signal informing about a low battery charge, and shown in Figure 9. For OMNIBUSF4V3, the execute a command to return the copter to the values are set inked with green rectangles. Figure 9: Battery calibration The Extended Turning tab is used to configure controllers. Therefore, for the convenience of the parameters of the PID controller and some adjusting the parameters during the flight, the navigation flight modes (inked in a red sixth channel of the control equipment – the rectangular). "spinner" – is used to set specific PID parameters For copters, the PID controllers are adjusted by and designate the range of these parameters. In manual selection based on visual control over the Figure 10, the above said is inked in green stability of the aircraft behaviour. At present there rectangles are no reliable mathematical models for the automatic determination of the parameters of PID Figure 10: Setting up the PID regulators The OMNIBUSF4V3 flight controllers are travelled, number of received satellites, battery equipped with an OSD chip, with the help of charge, etc.) on the video image of the FPV which it is possible to overlay telemetry camera. The Onboard OSD tab is used to parameters (flight altitude, speed, distance configure the OSD (Figure 11). Figure 11: Setting up the OSD The FPV camera screen field with the selected More fine adjustment of aircraft flight modes parameters is ensquared in green, and the settable is performed in the Full Parameter List tab (Figure parameters are selected at the bottom, ensquared 12). in orange. Figure 12: The Full Parameter List tab for fine adjustment of flight parameters When configuring the firmware of the EK2_IMU_MASK = 1. One-byte IMU bitmap ArduPilot copter, one should pay attention to for use in EKF2. A separate item of EKF2 will be setting the following parameters: launched for each selected IMU. Value = 1 only AHRS_EKF_TYPE = 2 This parameter uses the first IMU (default), if value = 2 then only determines which version of the Kalman filter is the second IMU is used, value 3 allows the first used to estimate orientation and position; and second IMU to be used. Up to 6 additional EK2_ENABLE = 1 This enables EKF2. IMUs can be used if memory resources and Turning on EKF2 only triggers mathematical processing speed permit. There may be calculations, but that does not mean that it will be insufficient memory and processing resources to used for flight control. To use it, you should set run multiple items. If this happens, EKF2 will not AHRS_EKF_TYPE = 2. After changing the value start; of EK2_ENABLE, you must perform a restart EK2_ALT_SOURCE = 0 defines which procedure for the parameters to take effect; sensor is used as the main one for determining the altitude: 0: barometer is used (default); 1: LOIT_BRK_JERK Braking jerk at Loiter in Rangefinder is in use. cm/sec/sec/sec. Higher values will eliminate 2: GPS is being used. Useful when GPS quality braking more if the pilot moves the sticks during is very good and barometer drift can be a problem. a braking manoeuvre. The default setting is used. For example, if the copter will perform long- Ardupilot software allows performing distance missions with elevation differences> automatic formation of the flight path, for 100m; example, for taking photographs, studying the EK2_GPS_TYPE = 0: controls the use of GPS. radiation situation in the area, spraying fields, etc. 0: use 3D speed and 2D position from GPS; 1: Figure 13 shows an example of the formation of a use 2D speed and 2D position (GPS speed does flight mission for fertilizing a field. The not affect the altitude estimate); 2: use 2D processing contour is preselected (highlighted in position; 3: no GPS (it will use the optical flow red) and the flight path is automatically formed to from the sensor only if available); cover the area that can be treated by the spraying EK2_CHECK_SCALE scales thresholds that system (the path is represented by yellow lines) are used to check GPS accuracy before the EKF is [21]. Usually, the flight altitude above the ground used. The default is 100. Values greater than 100 is set equal to 1.5-3 m, which should be provided increase, and values less than 100 decrease the by the ultrasonic sensor. Its use is especially maximum GPS error that the EKF accepts. A important if the field surface is not flat, i.e. there value of 200 will double the acceptable GPS error. are depressions and hills. For EK2_CHECK_SCALE of the tested aircraft the value of 130 is set. In this case, it establishes communication with satellites faster, but also flies stably; AHRS_GPS_GAIN = 0 parameter controls how much intensive GPS should be used to correct the position. The parameter for the airplane should not be equal to 0, as this will lead to loss of control of the airplane when turning. For an airplane, the value is 1.0. For a copter is 0. The consequence of this parameter turned on is the twitching of the horizon line when the craft is stationary if the GPS does not perfectly capture Figure 13: Formation of a flight mission in semi- the position and drifts. With strong jumps in GPS automatic mode position, the roll can reach critical values, which will lead to instability of the copter. Therefore, in In this work, an experimental test of the flight copters this parameter is set to 0. stability of the quadcopter presented in Fig. 2 with GPS_AUTO_SWITCH = 0. Setting up INAV firmware, ver. 2.6 and Arducopter automatic switching between multiple GPS. For firmware, ver. 4.0.5, was carried out. The test was one GPS, the parameter is set to 0. carried out during winds of different intensity The following is how braking is performed in (table 1) in navigation modes. In fig. 14 (right) LOITER flight mode (holding position and shows the flight path for two firmwares, which are altitude): programmatically set in the Mission Planner LOIT_ACC_MAX = 500 Maximum ground station for Arducopter and similarly in acceleration of position correction in Loiter mode INAV - Configurator for INAV ver.2.6 firmware. in cm/s/s. Higher values cause the aircraft to Figure 14 on the left shows the real flight path for correct position errors more aggressively (for Arducopter ver.4.0.5, which was built using the example, in gusts of wind); Google Earth software package based on log files LOIT_BRK_ACCEL = 100 Acceleration of from the flight controller. A similar trajectory was braking when the copter jams on the brakes, in obtained for INAV. As can be seen from Table1, cm/s/s. Higher values stop the copter faster when the flight of the copter in navigation mode on the the left-to-left and front-to-back stick of the firmware INAV ver.2.6 was completely controlling equipment is moved to the centre. unsuccessful in a wind of 6-7m / s with gusts. Loss Large values of this parameter lead to sharp of stability of the quadcopter was recorded with braking, which can lead to a rollover of the copter, its fall at the moment of passing an arbitrary especially in gusty winds; waypoint, when the stability of the copter was Significant flight instability was found in the auto minimal due to a sharp change in the direction of return and point-to-point flight modes. Loss of flight and a sharp gust of wind. Tests for high stability of the quadcopter with its fall was wind speeds were not carried out due to the recorded. obvious advantage of the Arducopter ver.4.0.5 4. The expediency of using the mathematical firmware. model of the extended Kalman filter to ensure the stability of the flight of a rotor-type UAV, which Table 1 is used in the arducopter 4.0.5 firmware, has been Experimental parameters and results experimentally established. It provides better № Wind Number The number of flight results in navigation modes than the speed, of tra- crashes of the complimentary filter based firmware (INAV 2.6 firmware). When flying in acro (gyroscope) and m/s jectory copter for stabilize (gyroscope + accelerometer) modes, the flights firmware behavior of the copter for these two firmwares did Ardupilot INAV not differ noticeably. 1 1-2 5 0 0 5. It is deemed that the mathematical model of 2 3-4 5 0 0 the extended Kalman filter is expedient to use on 3 4-5 5 0 1 high-performance microcontrollers such as 4 6-7 5 0 5 STM32F4 and STM32F7 for flight in navigation modes, where many sensors are simultaneously Thus, the expediency of using the used to provide information about the position of mathematical model of the extended Kalman filter the UAV. was experimentally established to ensure the 6. The possibility of correct formation of the stability of the flight of a rotor-type UAV. flight trajectory in the semi-automatic mode for taking photographs, studying the radiation situation of the area, spraying fields, etc. has been experimentally established for Arducopter firmware. Formation of a flight mission for INAV is more primitive, it is performed only in manual mode, using preliminary calculations. 7. It has been established that INAV firmware with the UAV only allows transmitting telemetry data to the ground station. From the ground station, changing the UAV flight trajectory Figure 14: Copter flight trajectories according to through telemetry is impossible, for example, the program (right) and obtained experimentally when "dragging" the flight point with the mouse (left) manipulator [22-24]. Arducopter firmware supports the two-way MAVLink protocol for receiving and transmitting telemetry data between 5. Conclusions the flight controller and the ground station. 8. For INAV firmware, it was experimentally 1. Experience has shown that the operation of impossible to connect the flight over a given Arducopter firmware for OMNIBUSF4V3 flight waypoint with the execution of an action, for controller, which was developed for the Pixhawk example, turning on and off the sprayer nozzle, family flight controllers is correct. dropping the load, turning on/off the video 2. A test of the stability of the flight of the camera. Arducopter firmware allows doing these. quadcopter on a frame of 250 mm during a gusty wind of 6-7 m/s in navigation modes Arducopter 6. References firmware was carried out. The stability of the flight in the mode of automatic flight by points and in the mode of automatic return to the starting [1] A. Boyko, AV applications, 2017. point was noted. URL:http://robotrends.ru/robopedia/oblasti- 3. Likewise for INAV firmware, ver. 2.6, flight primeneniya-bespilotnikov. stability of the same quadcopter was tested during [2] The modernized Spectator drone from OJSC a gusty wind of 6-7 m/s in navigation modes. "Meridian" named after SP Korolyova, 2019. URL:https://www.youtube.com/watch?time pp. 1939-1946. doi: _continue=6&v=HvLErmgBRX4&feature= 10.11591/ijece.v8i4.pp1939-1946. emb_logo. [17] Almido H Ginting, Oyas Wahyunggoro, [3] Spectator (UAV), 2020. Adha Imam Cahyadi, "Attitude Control of URL:https://ru.wikipedia.org/wiki/Spectator Quadrotor Using PD Plus Feedforward _(БПЛА). Controller on SO(3)," International Journal [4] A. Boyko, Spraying plants from drones, of Electrical and Computer Engineering, vol. 2019. 8, no. 1, 2018, pp. 566-575. doi: URL:http://robotrends.ru/robopedia/opryski 10.11591/ijece.v8i1. vanie-rasteniy-s-bespilotnikov. [18] S.Lienkov, A.Myasischev, O.Banzak, [5] iNavFlight Missions, 2020. URL: L.Komarova, N.Lytvynenko, https://github.com/iNavFlight/inav/wiki/iNa O.Miroshnichenko, Construction of an vFlight-Missions. Aircraft-Type UAV for Flight Along a Given [6] Copter Mission Command List, 2020. URL: Trajectory in the Automatic Mode, https://ardupilot.org/copter/docs/mission- International Journal of Emerging Trends in command-list.html. Engineering Research, vol. 8, no.9, 2020, pp. [7] FPV piloting theory, 2021, 6145-6150. URL:https://github.com/mlutskiy/pioneer- doi:10.30534/ijeter/2020/200892020. doc/blob/master/database/pilot- [19] S. Lienkov, A. Myasischev, L. Komarova, N. module/pilot-3part.rst. Lytvynenko, V. Shvab, O. Lytvynenko, [8] ArduPilot Firmware builds, 2020, Creation of a Rotor-Type UAV with Flight URL:https://firmware.ardupilot.org. Controllers, Based On a ATmega 2560 and [9] INAV 2.6.0, 2020, STM32f405 Microprocessors, International URL:https://github.com/iNavFlight/inav/rel Journal of Emerging Trends in Engineering eases/tag/2.6.0. Research, vol. 8, no. 8, 2020, pp. 4703-4710. [10] Pixhawk Overview, 2020, doi:10.30534/ijeter/2020/104882020. URL:https://ardupilot.org/copter/docs/com [20] S. Lienkov, A. Myasischev, O. Banzak, Y. mon-pixhawk-overview.html. Husak, I. Starynski, Use of rescue mode for [11] Omnibus F4 Pro (on-board current sensor) UAV on the basis of STM32 and Omnibus F4 AIO (no sensor onboard), microcontrollers, International Journal of 2020, URL: Advanced Trends in Computer Science and https://ardupilot.org/copter/docs/common- Engineering, vol. 9, no. 3, 2020, pp. 3506- omnibusf4pro.html?highlight=inav. 3513. doi:10.30534/ijatcse/2020/156932020. [12] Starlino, DCM Tutorial-An Introduction to [21] Mission Planning, 2021. URL: Orientation Kinematics, 2011, URL: https://ardupilot.org/copter/docs/common- http://www.starlino.com/dcm_tutorial.html. mission-planning.html. [13] Extended Kalman Filter (EKF), 2020, URL: [22] Flight by plane using INAV telemetry, 2021. https://ardupilot.org/copter/docs/common- URL:https://sites.google.com/site/webstm32 apm-navigation-extended-kalman-filter- /inav_25_wp_sam/telemetriy-inav. overview.html. [23] Chi-Bao Le, Dinh-Thuan Do, Employing [14] Filtr Madzhvika, 2015, URL: non-orthogonal multiple access scheme in https://habr.com/ru/post/255661. UAV-based wireless networks, Bulletin of [15] Ibrahim K. Mohammed, Abdulla I. Abdulla, Electrical Engineering and Informatics, vol. Elevation, pitch and travel axis stabilization 10, no. 1, 2021, pp. 241-248. doi: of 3DOF helicopter with hybrid control 10.11591/eei.v10i1.2102. system by GA-LQR based PID controller, [24] Deha Agus Umarhadi, Projo Danoedoro, International Journal of Electrical and Comparing canopy density measurement Computer Engineering, vol. 10, no. 2, pp. from UAV and hemispherical photography: 2020, 1868-1884. doi: an evaluation for medium resolution of 10.11591/ijece.v10i2.pp1868-1884. remote sensing-based mapping," [16] Agung Prayitno, Veronica Indrawati, Ivan International Journal of Electrical and Immanuel Trusulaw, Fuzzy Gain Scheduling Computer Engineering, vol. 11, no.1, 2021, PID Control for Position ofthe AR.Drone, pp. 356-364. doi: International Journal of Electrical and 10.11591/ijece.v11i1.pp356-364. Computer Engineering, vol. 8, no. 4, 2018,