Control Algorithms for UAVs: A Comprehensive Survey

The development of unmanned aerial vehicles (UAVs) has become a revolution in the ﬁelds of data collection, surveying, monitoring, and tracking objects in the ﬁeld. Many control and navigation algorithms are experimented and deployed for UAVs, especially quadrotors. Recent numerous approaches are geared towards reducing the inﬂuence of external disturbances to enhance the performance of UAVs. Nevertheless, designing cutting-edge controllers following the requirements of the applications is still a huge challenge. Based on the operating characteristics and movement principle of a quadrotor, this work reviews potential control algorithms of the current researches in the ﬁeld of the quadrotor ﬂight controller. Besides, a comparison has been made to provide an overview of the advantages and disadvantages of the mentioned methods. At last, the challenges and future directions of the quadrotor ﬂight controller are suggested.


Introduction
During the First World War, the first model of the pilotless winged aircraft was built with the purpose of serving a military war. The concept of unmanned aerial vehicles (UAVs) or drones started to be used in 1935 when UAVs started to be deployed for the target practice and training [1]. Until 1986, government agencies use non-military UAVs to disaster relief, fighting crime, border surveillance, wildfires, medical assistance, passengers, and the delivery of goods [2,3]. For agricultural purposes, farms began to develop to irrigate and spray pesticides on crop monitoring and management [4]. In general, UAVs are renowned for their ability to fly indoors and outdoors at various speeds, to stabilize their position, to hover and search target, to detect obstacles. Obviously, they can replace humans to engage in dangerous activities in dangerous, remote, and toxic areas. Breakthroughs in advanced technology, are increasingly asserting their important role not only in the military but also in agriculture, industry, commerce, etc.
For the goal of the successful application of UAVs in the actual, it is of great significance to research on the controlling UAVs. In recent years, the UAV control problem has attracted the great attention of many researchers because it presents exciting control challenges and excellent opportunities for developing and testing novel control design methodologies. However, there are many problems in control designing for UAVs. The dynamics models of UAVs possess characteristics of underactuated, nonlinearity, static instability, and strong coupling between the dynamic 1

EAI Endorsed Transactions on Industrial Networks and Intelligent Systems
Research Article EAI Endorsed Transactions on Industrial Networks and Intelligent Systems 01 2020 -05 2020 | Volume 7 | Issue 23 | e5 states. Because of small size and weight, the UAV is very sensitive to external disturbances. Besides, the measurement of the parameter values such as the aerodynamic coefficients, inertial moments is difficult. Therefore, it is necessary to summarize the potential control algorithms to take the opportunities and challenges of controlling UAVs. The main contribution of this article is to present an overview of control algorithms of the current researches in the field of the UAV -quadrotor flight controller, mainly concentrating on linear and non-linear controllers.
The rest of the paper is organized as follows: in Section 2, the fundamental movement principles in aerial space of UAVs are described. This section also provides a classification based on the type of wing. The algorithms to control rotary-wing quadrotors are reviewed in Section 3. Open issues and challenges of control algorithms are discussed to take advantage of all mentioned methods in Section 4. Finally, conclusions and future directions in this study are provided in Section 5.

General Principle
This section discusses the characteristic of UAVs based on the taxonomy wing of UAVs and provides the basic working principle for a quadrotor.

Classification
There are many standards to classify the UAVs based on function, size in weight, fight distance, etc [5,6], and even applications, altitude [7]. In this paper, we follow the type of wing as fixed, rotor, and hybrid combining the previous two types. The images of UAV types are clearly displayed in Tab. 1 [8]. Based on the function of each wing, UAVs can achieve the level of speed, altitude, etc.
The special feature of fixed-wing UAVs similar to a wing like a normal airplane to provide the lift from the motor energy makes an easy move forward with the high speed [9]. For this reason, they can cover long distances as well as extend flight time thanks to the use of gas engines. Therefore, they are suitable for applications such as piping, aerial mapping, and power line testing. Nevertheless, it also means that they can not keep themselves in the air, nor can vertical takeoff and landing (VTOL). The fixed-wing hybrid VTOL is created to merge the benefits of both fixed and rotor wing. In fact, they proved too complex and difficult to design as well as hard to control [10]. Rotary has two main types such as single (rotor helicopter) and multirotor. The thrust of them is generated by the rotating mechanism of the rotors. Rotor helicopter needs more a tail rotor to control its heading. One of the downsides of a fixed, hybrid, and single rotor wing is obviously their higher cost. In contrast, multi-rotor is the easiest controller and cheapest option. They are considered as "eye in the sky" in application with the camera because of great control over their position as well as the maneuverability in the task process.
A typical example is quadrotors. They are programmed to perform the different control modes depending on the needs of the automatic operation. They are basically very inefficient and need a lot of energy just to resist gravity and keep them in the air. The next subsection focuses on the fundamental principle of the quadrotor.

Quadrotor Mechanics
A quadrotor, also called a quadcopter, is a small type of UAV using four propellers with two pairs of identical fixed pitch propellers to generate lift it and the attached devices. quadrotors have many advantages such as reliability, affordable cost, small size, and especially very flexibility to fly in any direction.
The terms used to describe the main motion of quadrotor are roll, pitch, yaw [11]. They denote the ability to move to left or right with respect to the front, forward or backward and rotation in the center, respectively. This mobility is followed by the speed of each rotor. By changing the speed of each rotor or each a pair rotor, it is possible to produce a desired total thrust synthesis. This helps determine the center of thrust on both laterally and longitudinally, and to create a total torque or desired rotation force. Figure 1, 2 depicts the movement statuses of quadrotor. Four ellipses are symbolized the motion of four-wing ways. The color of the arrow and ellipse is faded, showing that the speed of rotation of the propeller is also slower.
Two adjacent motors spin in the opposite direction while two opposite motors spin the speed in the same direction. They have two ways of rotating clockwise and counterclockwise. The longitudinal movement principle of quadrotor shows as in Fig. 1. If all rotors spin at the same high speed, the quadrotor will move upward (red ellipse). This is when the motor creates a greater thrust than the force of gravity which makes it take off. With respect to the below status (orange ellipse), when the speed of two rotors spinning in the same direction equals to the speed of the others, the quadrotor will hover. The thrust equals the weight of this system results in two forces canceling each other out, which makes them possible to hover in the air. Similar to take off, all rotors spin at the same speed but are much lower (grey ellipse) to land. The weight force should be greater than the thrust of the motor. One thing to note is that the speed to keep hover of the four wings cannot be equal to the speed when taking off the branches and will be higher than the speed when landing. The yaw status is set up when two opposite motors with the same direction spin the higher speed than others. In order to yaw clockwise, the thrust on the anti-clockwise moving motors is increased while the thrust on clockwise rotating motors will be reduced and vice versa. Two above status in Fig. 2 describes the lateral motion. By changing the speed of the right motors relative to the left motors or the speed of the motors rotating clockwise relative to the motors rotating counter-clockwise, quadrotor can roll right or left. The movement either forward and backward gained generally by pushing the throttle stick forward or backward.
In practice, the quad controller still has to depend on a lot of factors. Typically, motors need control parameters for motorized controllers. In the next section, some common methods will be reviewed for optimal quadrotor control. The combination of the control system design with the quadrotor dynamic model will gain good task performance.

Linear flight controllers
UAVs controls using linear methods are conventional flight control algorithms such as Proportional Integral Derivative (PID), H ∞ controller, gain scheduling, and Linear Quadratic Regulator (LQR) PID control. PID controller has emerged as the widest utilization in system control with a simple algorithm. This method determines errors between the set value and real value by Eq. 1. The controller includes three factors as proportional (K P ), intergral (K I ), and derivative (K D ). The strategy reduces the errors to zero by PID equation indicated in Eq. 2 [12] where "Error" is diferent value between setpoint and feedback "Setpoint" and "Feedback" are the desired value and actual value. 3 EAI Endorsed Transactions on Industrial Networks and Intelligent Systems 01 2020 -05 2020 | Volume 7 | Issue 23 | e5 where u(t) is the control factor of the UAVs, K P , K I , and K D are respectively proportional, integral, and derivative gain coefficients, and e(t) is deviation between setpoint and feedback.
The classical PID control is a simple method that is able to use to control unmanned aerial vehicle (UAVs). Main controlling tasks are stabilizing and hovering motion, robustness, and good performance for the UAVs. About the stabilizing and hovering motion, Milhim et al. [13] utilize the self-schedule of the pre-PID controller to manipulate the speed and orientation of quadrotor's propellers. Alagoz et al. [14] accomplish this mission by mounting a real closed-loop flight control system to the PID controller in order to automotive regulate tunings. The UAVs can have a smoother and precise flight with unstable conditions in both real control application and practice. Yang et al. [15] have simulation about self-tuning PID controller based on adaptive pole placement, and the PID's tuning parameters are changed by an online system. The result shows high adaptability and robustness with the method. Khatoon et al. [16] research and control z position of the quadrotor with ideally undisturbed x and y positions. The authors chose z position because it is the most sensitive parameter. With assumed conditions, the PID controller is good to keep stability for quadrotor's flight processing. Noshahri and Kharrati [17] improve the classic PID controller by employing a genetic algorithm. The controller system finds suboptimal coefficients so that they optimize flight performance.
The novel PID controllers are optimized by adding intelligent algorithms such as fuzzy logic, particle swarm optimization (PSO), and neural networks to improve dynamic performance. The intelligent algorithms automatically control the tunings of the PID controller. The fuzzy controller characters are fast and small overshoot respond, high robustness, and high tracking. It is utilized to maintain robustness and performance [18], minimize power consumption [19], and improve dynamic characteristic and steady precision of UAV [20] in ambiguous conditions. PSO methods help decrease the error between the desired value and real value to achieve stable convergence [21], only 18.9 % overshoot and 4.42s settling time for hovering flight [22]. LQR controller. " LQR algorithm is the optimal linear controller to operate a dynamic system at minimum cost shown in Eq. 3. The LQR usually utilizes noise conditions and missing information to perform the UAV's flight. The control input minimizes the following cost function [23]: where J LQR is a quadratic cost function, u i and y i are the control input and control output, Q and R are weight matrices of dimensions.
Cowling et al. [24] simulate a simple LQR to optimize trajectory planner. The simulation shows that the quadrotor can track fairly well the reference trajectory in despite harsh disturbances. Minh and Ha [25] design control system by using Lagrange's equation shown in Eq. 4 and LQR algorithm to regulate sensitivity part and reaction speed of quadrotor. The flight mission can perform well to surveil a certain object fixed in space. In the vibration system, Zhang and Cong [26] built a novel model of the UAV's motor and propeller, and then simulate in Matlab/Simulink with LQR controller. The reaction speed and real-time of this model are able to perform better than that of the nonlinear model. The stability and robustness for UAVs have experimented in these papers [27,28].
Lagrangian Function is expressed in the below equation: where L is Lagrangian, T and V are kinetic and potential energies.
H ∞ algorithm is an effective method to deal with issues of uncertain parameters and external disturbances encountering the flight process of the UAVs. Raffo et al. [29] employ H ∞ controller with two loops based on the six degrees of freedom dynamic model to operate the helicopter. The trajectory is controlled by the outer loop, and the attitude and altitude are controlled by the inner-loop. The flight performance of the helicopter can achieve robustness. Ferreira et al. [30] utilize H ∞ controller to eliminate input disturbances such as a finite pulse and noise for a UAV. Under disturbance conditions, the UAVs are successfully kept in stable processing. Rich et al. [31] design and implement H ∞ linear control system for quadrotor helicopter. In order to improve the robustness character for the quadrotor, the authors focus on minimizing the multiple-input and multiple-output processing loop.

Nonlinear flight controllers
To overcome some of the shortcomings of the linear controller, a variety of nonlinear controllers have been developed and applied to UAVs. These nonlinear flight controllers are derived from the original dynamic model of the UAVs. Therefore, the processes of designing nonlinear controllers are more complicated than that of linear controllers but better control performance. In recent years, many papers about nonlinear flight controllers for quadrotor -UAVs have been published. Among these, feedback linearization, backstepping, sliding mode control, adaptive control, and model predictive control have received much of the attention.
Feedback Linearization. Feedback linearization is a powerful control algorithm for the design of nonlinear systems. The main idea of this approach is to algebraically transform the nonlinear system dynamics into a partially or fully linearized system so that the feedback control techniques could be applied [32]. Dynamic model inversion is a separate case of feedback linearization that has been effectively investigated for application to manned and unmanned aerial vehicles.
In [33], Holger Voos et al. proposed a combined control strategy including feedback linearization to deal with the nonlinear dynamic behavior of quadrotor Micro-UAV. Mian and Wang [34] presented exact feedback linearization using Lie derivative and Lie brackets for a quadrotor. Fritsch et al. [35] suggested Quasi-static feedback linearization for translational dynamics of quadrotor -UAVs and the experimental results weres successfully tested in experimental indoor flights. However, dynamic model inversion can be vulnerable to modeling errors and uncertainties. Therefore this approach requires precise modeling. Besides, it can not handle external disturbances. To tackle these shortcomings, many literatures combined feedback linearization with other control algorithms. In [36], Fang et al. presented a continuous sliding mode approach based on feedback linearization controller to stabilize the whole system and can control the quadrotor to the desired trajectory. In [37], A.Mokhtari et al. designed a flight controller that combines the feedback linearization method and GH ∞ algorithm. The results of the proposed controller showed the convergence in finite time and a satisfying tracking error of desired trajectories.
Backstepping. Backstepping control is a well-known recursive algorithm of general nonlinear control systems. The main idea of this method is to put the controller decomposition into several steps to complete. Its advantage is convergence rate fast and it can handle external disturbance well while the limitation is poor robustness.
Madani and Benallegue [38] suggested a backstepping controller for a quadrotor helicopter to stabilize the entire system. Various simulation results of this approach indicate the control law stabilizes a quadrotor with good tracking. A backstepping approach on the Lagrange quadrotor dynamics is proposed by Das et al in [39]. In this research, the authors use neural networks (NNs) to estimate unknown nonlinear terms and aerodynamic forces and moments.
To upgrade the performance in for mini-quadrotor attitude control, the hybrid backstepping approaches have been introduced by Colorado et al. [40]. A hybrid backstepping method is also suggested by Ha et al. [41] which gives better results at high-speed 5 EAI Endorsed Transactions on Industrial Networks and Intelligent Systems 01 2020 -05 2020 | Volume 7 | Issue 23 | e5 maneuvering as compared to PID controller. In [42], Chen et al. presented a robust nonlinear controller that combines the sliding mode control technique and the backstepping controller for position and yaw angle control of quadrotor UAV.

Sliding Mode Control (SMC).
Sliding mode control is an easily applicable nonlinear control algorithm that implements a discontinuous control signal to the system to command it to slide along a prescribed trajectory. Its main benefits are low sensitivity to external disturbances, good tracking ability, and rapid response. Figure 4 shows the general block diagram of a SMC controller for the quadrotor -UAVs.
Runcharoon and Srichatrapimuk [43] proposed a design method for attitude control of quadrotor based on Sliding Mode Control. The results showed that the suggested method has the ability to stabilize the quadrotor and drive it any desired position. To improve robustness to external disturbances and model uncertainties, a sliding mode control driven by the sliding mode disturbance observer approach suggested by Besnard et al. in [44]. In literature [45], Mofid and co-researchers developed an adaptive sliding mode control technique for finite-time convergence of the quadrotor system. Simulation results proved the efficiency of the proposed method in the condition of parametric uncertainties. To emphasize the external disturbance rejection ability of SMC, Lee et al. implemented detailed comparisons between the feedback linearization controller and adaptive sliding mode controller in [46]. The simulation results of both controllers showed a more efficient performance of the sliding mode controller under the presence of noisy environments. In other literature [47], Bouadi et al.designed a sliding mode control based on a backstepping design algorithm, which combines the advantages of sliding mode algorithm and backstepping algorithm to control UAVs better.
Adaptive Control. Adaptive control is effective and robust control technique for systems having unmodeled dynamics and parametric uncertainties. This control algorithm automatically compensates for parameter changes in system dynamics by adjusting the controller characteristics so that the overall system performance remains the same, or rather maintained at an optimum   [48]. Figure 5 shows the general block diagram of an adaptive controller for the quadrotor -UAVs.
In [49], Dydek and Annaswamy designed a combined/composite adaptive controller based on Lyapunov stability to apply for a quadrotor UAV. This mentioned controller was proved using flight tests of a quadrotor UAV in the presence of actuator uncertainties and time delay. In other work by Diao et al [50], a continuous time-varying adaptive controller is implemented in the condition of unknown system parameters. The simulation results of the proposed approach have good performance for the quadrotor flight controller. In literature [51], Huang et al. presented an adaptive controller via backstepping for tracking control of underactuated quadrotor -UAV that was able to handle the vehicle's mass uncertainty. Zhao and co-researchers developed a nonlinear robust adaptive tracking control via immersion and invariance methodology for quadrotor within the conditions of the parametric uncertainties and unknown external disturbances [52].

Model Predictive Control (MPC).
Model Predictive Control (MPC) is another nonlinear technique that has also been used for controlling UAVs. The MPC uses a dynamic model of the system to predict the future states of the system whilst the error is minimized, by solving optimal control problems online.
Alexis and co-researchers [53] designed a switching model predictive to control position and attitude for a prototype unmanned quadrotor under the presence of forcible wind gusts. Various experiments are implemented on a quadrotor prototype in indoor position tracking, hovering, and attitude maneuvers. In other work by Abdolhosseini et al., an efficient model predictive control strategy has been developed and applied on an unmanned quadrotor helicopter testbed (Qball -X4) [54]. The proposed controller addresses the main disadvantage of standard MPC with high computational requirements. Kamesh Subbarao et al. [55] and Kamel et al. [56] presented linear and nonlinear model predictive controllers (LMPC and NMPC) for trajectory tracking of UAVs and compared between them. In [55], both controllers are applied to track various reference trajectories of a quadrotor. The 6 EAI Endorsed Transactions on Industrial Networks and Intelligent Systems 01 2020 -05 2020 | Volume 7 | Issue 23 | e5 simulation results showed that the nonlinear controller clearly superior the linear controller with transient performance in both nominal conditions and in the presence of high-frequency disturbance, while Kamel et al. presented the results of various experiments to estimate the performance of LMPC and NMPC for Micro Aerial Vehicles (MAVs -smaller than traditional UAVs). In this research, the nonlinear model predictive controller showed a better disturbance rejection ability, tracking performance, step response and computational effort [56].

Complex Control Algorithms.
It is visible that a single nonlinear controller has some limitations in the process of controlling UAVs. To overcome this problem, several researchers have combined advantages from two or more algorithms together to improve controller performance. Some researches have been successfully applied to real systems.
A feedback linearization-based controller combines with a high order sliding mode observer running parallel is implemented by Benallegue and coresearchers [57]. Madani and Benallegue proposed a nonlinear adaptive controller using a backstepping technique mixed with neural networks [58]. The proposed backstepping algorithm is used to achieve good tracking in positions control and yaw angle while maintaining the stability of pitch and roll angles and neural networks are used to compensate for unmodeled dynamics of quadrotor -UAVs.

Discussion
In Tab 2, we show and compare some different techniques of the linear control methods and nonlinear control methods about advantages and disadvantages. References of the articles are also given in this table. Each of the techniques has complementary parts to enhance good features or mitigate hindrances. A lot of authors and research laboratories have various simulations and experiments with the UAVs operated by utilizing different control methods. The linear control methods are simple and low cost, but the flight performance and robustness are less effective than the nonlinear control methods. Each technique has diverse advantages and disadvantages. Depending on the applications, a technique with suitable characteristics is chosen to control the model for accomplishing specific tasks. For example, the quadrotor controllers in surveillance applications need high tracking ability and robustness. Rescue missions require a controller that possesses strong flexibility, good robustness, and external disturbance rejection. Therefore, this table provides an overview of the mentioned methods in order to select a suitable option quickly for quadrotor flight controller.
The quadrotor flight controller is still challenging. The flight performance will certainly be affected by external disturbances such as noise, wind, and rain, so the robustness for the UAVs is only going to gradually improve. The UAVs are the mobile devices utilizing for several hovering missions, but they are hardly integral some missions into one. The real parameter variations of the control system are also hard problems because to solve this shortcoming control system needs to add complement techniques such as PSO, fuzzy algorithms, and etc.
Besides the control problems, there are various challenges associated with UAVs. The first is the battery's capacity restriction drags on reducing the fight time of the UAV. Increasing the battery capacity is increasing the volume that interfered with their operation [59]. The outstanding solution to this process is to use energy harvesting from the environment to convert the electrical power for the battery [60,61]. Obviously, the real-time applications need to manage the consumption energy to optimize the power-efficient of them [62]. By combination with the wireless power transfer, the performance of UAVs in aerial space will certainly be significantly improved [4,59,63]. Ensuring flight safety for UAVs as well as their safe operating zone policies is also a major issue in many countries with regulatory challenges [64]. It belongs to the equipment breakdown and ground operator error. When the number of UAVs is increasing every day, the second challenge is that they need to better improve the attached equipment, the control methods, and the communication networks for multiple UAVs. Besides, environmental factors such as sunshine, wind, rain, dust, fog, etc. can also negatively impact the operation of UAVs, even inactive [65].
Currently, UAVs have become a lot more popular. They are supplemented with sensors and computer modules that run on different machine learning models to build a security and safety network and airspace for operating UAVs. Additionally, the world is witnessing the devastation of the COVID-19 pandemic to all aspects of human life. Limiting direct human-tohuman contact is a top priority to limit the spread of an epidemic. The effective solution proposed here is quadrotors of UAVs. They will be delivering packages to consumers in the same way that Amazon is exploiting them. The future use of drones in healthcare also is very thought helpful. With the rapid provision of vaccines, drugs can immediately quell the outbreak of life-threatening infectious diseases. In order to satisfy these missions, the control system of the UAVs plays an important role to ensure their working performance. Moreover, the energy issues are also being promoted in research to prolong the fight time as well as increase control performance. It will address the up-time limitations for not only UAV but 7 EAI Endorsed Transactions on Industrial Networks and Intelligent Systems 01 2020 -05 2020 | Volume 7 | Issue 23 | e5 also the associated field of wireless sensor networks (WSNs) [66]. Therefore, the potential of UAV in security and safety communication is more widely deployed [7].

Conclusions
This paper presents research about control techniques for the UAVs. We focus mainly on the quadrotor UAVs among three types as a fixed-wing, rotarywing, and hybrid wings. Our classification divided into linear control and nonlinear techniques. The performance of all the mentioned techniques has been surveyed and discussed performance evaluation and experimental results. Each technique has advantages and disadvantages shown in Tab. 2. The nonlinear techniques have better performance than the linear techniques in deploying to the real UAVs. In the future, the quadrotor flight controller with the combination of computer science to process the motor parameters will promise to enhance autonomous UAV positioning, or automatic algorithms to reduce aerial collisions.