Comprehensive Review of Various Control Strategies for Quadrotor Unmanned Aerial Vehicles

The Quadrotor Unmanned Aerial Vehicles (UAVs) have gained significant attention in recent years due to their versatile applications in civilian and military sectors. It is a highly nonlinear and underactuated system and an outdoor flight; it is always subjected to external disturbances due to wind gusts and other environmental factors. Implementing the control strategies could be improved in terms of high computational time, uncertainty, approximation error, and a large amount of training data. One of the major challenges in the development of quadrotors is the design of an efficient and reliable control system. This paper presents a comprehensive review of various control strategies for quadrotors and evaluates their performance. The review includes classical control techniques such as PID (Proportional-Integral-Derivative) and LQR (Linear Quadratic Regulator) and modern control strategies such as adaptive and fuzzy control. Comparative analysis of various control strategies has been presented with key challenges and future directions. This study provides a useful guide for researchers and engineers in the design of control systems for quadrotors.


INTRODUCTION
In the modern era, the quadrotor fascinated researchers because of its less complex design and structure, which makes it more efficient than the conventional helicopter. It finds applications in various domains such as civilian, military, surveillance, spying, transport and delivery, sports, agriculture, aerial mapping, photography, and search and rescue. The quadrotor consists of four motors coupled with propellers fixed to a cross-legged rigid airframe. Two opposite-facing motors rotate in a clockwise direction while the other two rotate in a counterclockwise direction to cancel the effect of gyroscopic and aerodynamic torque for stationary flight. The total thrust controls the altitude of the quadcopter, while the longitudinal and lateral motion is carried out by adjusting the different speeds of the rotors. The various design of the quadcopter consists of fixed-pitch rotors, in which the rotor blades are fixed; other designs include variable-pitch rotor [1], in which the blade angles are not fixed but can be moved to some extent. The coaxial rotor design has also been reported in the literature [2], in which all the rotors rotate along a single axis. The various advantages of a quadrotor over other unmanned vehicles are its VTOL (Vertical Take-Off and Landing) capability and flying capability because of autonomous or semiautonomous conditions, which is almost like the conventional aircraft system. It contains an onboard autopilot controller that needs bidirectional communication to the ground station via wireless media. A typical example is the X4 quadcopter [3] which inherently has good maneuverability and hovering due to high thrust and its VTOL property. The dynamic behavior of the rotating airplane has been analyzed in [4] for a whole range of angles of attack. The asymmetric flight condition is occurred due to the asymmetric geometric, inertia, and load properties. The asymmetric loading of the aircraft has been reported in [5] to determine safe flight boundaries.
Various linear control schemes were implemented for quadrotors which are PID (Proportional-Integral-Derivative) [6][7][8], FOPID (Fractional Order PID) [9][10][11]. The optimal control strategies for position and attitude control for quadrotor, i.e., LQR(Linear Quadratic Regulator) [12][13][14], LQG (Linear Quadratic Gaussian) [15][16][17], which is based on quadratic objective function optimization are applied. Fractional order controller such as FOPID [9,10,18] provides an extra degree of freedom to the controller, which results in good robustness and lower computational burden. Various nonlinear control schemes are also reported in the literature, some of which are feedback linearization controllers [19][20][21], sensitive to sensor noise, backstepping control [1,22], 23] in the presence of input saturation. The SMC (Sliding Mode Control)was proposed in [24][25][26][27] for the Quadrotor control in the presence of unknown disturbances by the application of discontinuous control signal. Some drawbacks of the conventional sliding mode, known as chattering, were mitigated by using the integral backstepping SMC. Still, due to higher computational costs, its real-time implementation is challenging. The model predictive control applied to the quadrotor for trajectory tracking and attitude stabilization was reported [28][29][30]. The modeling errors and uncertainties are easily mitigated by using adaptive control for quadrotor [31][32][33] with no prior information about the bound of uncertainty. The robust control schemes have been applied to deal with uncertainty presented [34,35] in the various parameters of the quadrotor. Intelligent control schemes for the stabilization and control of quadrotors have been reported, such as neural networks [36][37][38] and fuzzy logic controllers [39][40][41], without knowing the mathematical model of the Quadrotor dynamics. Better control for the quadrotor has been achieved by hybridizing two controllers [42][43][44][45], also reported by the researchers. By hybridization of two controllers, the demerit of one controller can be replaced by the merit of another controller. Apart from the control design problem, the seasons for state estimation and data acquisition system are the emerging area of research for the Simultaneous Localization and Mapping (SLAM) for the Quadrotor UAV, which has been reported in [46,47].
The quadrotor is a good testbed for testing various linear and nonlinear control techniques due to its underactuated property and nonlinearity associated with the rotational and translational dynamics. The autonomous flight control design for the Quadrotor UAV is very challenging due to the multivariable nonlinear dynamical system, the underactuated property associated with a quadcopter that means a smaller number of control variables than the degree of freedom. The linear controllers are easy to design and implement for the quadrotor, but those controllers work around the hovering operating condition. The scope of the research is to design a nonlinear controller which provides a wide operating range and more robustness against noise and disturbances. The hardware implementation for these controllers still needs to catch up due to high computational costs and modeling errors. The optimal trajectory planning in various physical constraints and environmental constraints is open still a problem as there needs to be more work available in the literature. The primary contribution of this paper is to provide a comprehensive literature review of recent research on Quadrotor trajectory tracking control and attitude stabilization, offering a thorough examination of the subject matter over the past decade. A detailed review of every technique has been mentioned in further sections of the paper. The review summary is presented by comparing the advantages and disadvantages of various control techniques. This helps researchers to gather information about the recent work in Quadrotor control collectively in one paper. Based on the comparison, the potential challenges in implementing controllers for the quadrotor have been discussed. Based on all the above facts, the performance evaluation of the controllers has been provided based on the criteria of nominal stability, robustness, and complexity in the control system design. The organization of this paper is as follows: in section 2, the mathematical modeling of the Quadrotor dynamical system has been derived based on first principles. The various control schemes applied to quadrotor has been discussed in detail in section 3. In section 4, the comparison of the control schemes has been provided with a detailed discussion of potential challenges and performance evaluation. In the last section, the conclusions and future directions for the research have been given.

MATHEMATICAL MODELING OF QUADROTOR UAV
This section presents the detailed mathematical model for the most common Quadrotor configuration, where the airframe is of 'X' configuration and the body frame axis configuration is as shown in Figure 1. There are other possibilities for the quadrotor's airframe structure and body frame orientation. The mathematical expressions have been derived using the rigid body dynamics and rotor dynamics for fixed pitch as well as variable pitch quadrotor. The rigid body dynamics are common in both cases, but there is a difference between the rotor dynamics, presented in the corresponding subsection. First, the rigid body dynamics have been obtained, and the rotor dynamics have been discussed.

Rigid Body Dynamics
The quadrotor is the most common configuration of the UAV. It has four rotors placed equally from the center of gravity at the end of a cross-airframe structure, as shown in Figure 1.
Inertial frame Body frame CoM Rotor axis

Figure 1. Configuration of Quadrotor UAV
The quadrotor is an underactuated mechanical aerial vehicle with six degrees of freedom. All the system dynamics are associated with two reference frames: inertial (or earth) frame and body frame (quadcopter orientation). [48] The Quadcopter linear position is represented as ξ, and the angular position is represented as η.
where is known as the roll angle, θ is the pitch angle, and ψ is the yaw angle in the inertial reference frame. The roll angle is associated with the rotation around the x-axis pitch angle, which is associated with the rotation around the y-axis, and the yaw angle is related to the rotation around the z-axis. The translational motion of the quadcopter is expressed by Newton's second law with reference to an inertial frame where the thrust vector in the body coordinate frame is T B and R is the rotation matrix from the body frame to the inertial frame.
The rotation matrix R is given below.
where, c θ represents cos(θ) and s θ represents sin(θ). Now the linear and angular velocities of the quadcopter are represented as V B and ν B.
The angular velocities can be expressed by using the transformation matrix R r and attitude η as follows.
The transformation matrix R can be given as The angular velocities in the inertial frame can be determined by The quadcopter's rotational dynamics are developed using Euler's equation for rigid body motion.
where Γ is the external torques vector, and J is the inertia matrix.
Finally, we got equation (19) The states variable for the quadrotor system is defined as The state-space equation of the quadrotor is obtained as equation (21)- (24).
The above nonlinear state-space equation is a general equation for Quadrotor UAVs. The model's physical parameters depend upon the quadrotor system.

Rotor Dynamics
The rotor dynamics vary according to the type of propeller used for generating thrust and torque. There are two kinds of propellers one is fixed pitch, and another is variable pitch. The rotors are connected to the brushless dc motors. The speed of each rotor is ω i, and the thrust of each rotor is T i in the upward direction. The torque generated by the rotor's thrust for each rotor is .
The thrust and torque produced by the rotors are given by where,i = 1 to 4, k is thrust coefficientwith dimension N-s 2 and b is torque coefficient with dimenlsion N-m-s 2 .
The total thrust of the quadrotor is obtained by adding all the rotor's thrust.
Rotors 1 and 3 are connected to the motor, which operates in a counterclockwise (CCW) direction, and rotors 2 and 4 are connected to the motors, which operate in a clockwise (CW) direction such that each rotor rotates in the opposite direction to its adjacent rotor.
The different motion of the quadcopter results from the rotors' thrust differences. The external torque vector Γ has been given as where is the distance between the rotor axis and the canter of mass of the quadrotor, τ is the torque about the quadrotor's x-axis, τ θ is the torque about the y-axis, and τ ψ is the torque about the z-axis.

Variable-PitchRotor
The thrust generated by the variable-pitch quadrotor is varied by varying the collective pitch of the rotor blades. The momentum theory and Blade Element Theory (BET) are used to obtain the thrust and torque each rotor produces in terms of thrust coefficients [1]. The thrust coefficient (C T ) and pitch angle, θ 0 , for an untwisted blade with uniform inflow has been obtained as where I C  is the airfoil lift curve slope, is the solidity ratio and calculated as where N b is the number of blades in the rotor, c is the chord length of the rotor, and R is the rotor radius. The inflow ratio, λ can be obtained for hover condition using the momentum theory as So, the collective pitch input to the rotor is computed as The total thrust obtained by all the rotors is computed in terms of thrust coefficient as where ρ is the air density, V tip = ωR, ω is the angular speed of the rotor. The total thrust cannot change indefinitely, so constraints on the total thrust are applied to make it work like an actual quadrotor. In general, the thrust provided by the rotors is twice the weight of the quadrotor. The roll, pitch, and yaw moments are obtained by adjusting the rotor speeds accordingly. The three moments are defined in terms of the thrust coefficients of the rotors as given in equation (31) The relationship between the yaw moment and the thrust coefficient is not linear. Therefore, a dynamic control allocation loop is designed to overcome the difficulty in control design and associated stability analysis.

CONTROL STRATEGIES FOR QUADCOPTER
The quadrotor is an underactuated and unstable system, so it requires a stable closed-loop controller for desired performance. Various control methodologies/algorithms have been developed so far in quadcopter control. These controllers are broadly classified into the following categories, as shown in Figure 2

Figure 2.Classifications of the Various Control Strategies for Quadrotors
where x is the state vector, u is the control input vector, A is the system matrix, B is the input matrix C, and D is the input-output coupling matrix.

PID Controller
The PID controller is the widely used controller in industrial applications and one of the basic control techniques. The transfer function of a PID controller contains three terms-proportional, integral, and derivative, and their respective gains as proportional gain (K p ), integral gain (K i ), and derivative gain (K d ).
where e is the error between the reference and actual output, there are various methods available for tuning the gains of PID controller such as hit and trial, Zeigler-Nichols, etc. A quadrotor with a payload has been stabilized by implementing a discrete-time PID controller [49]. The control and trajectory tracking has been implemented PID controller for the quadrotor system in [8,[50][51][52][53]. The optimization techniques have also been used for the automatic tuning of the PID controller gain that is reported in [6,7,[54][55][56][57][58].

Linear Quadratic Regulator (LQR)
State feedback control uses a state vector to compute the control action needed for a specific system dynamic by minimizing a quadratic cost function as equation (36) for properly selected Q and R weight matrices.
The LQR is an optimal control strategy in which the optimal value of state-feedback gain is obtained by solving the Algebraic Ricatti Equation (38). The control law is obtained as given in equation (37) where K = R -1 B T P and P = P T > 0 satisfies the Riccati equation (37) In [13], the height and yaw angle control is implemented for a quadrotor with unknown mass and inertia of constant load. The control strategy is based on multiple model control architecture, as shown in Figure 3.

Figure3. Multiple Model Estimation-Based Height and Yaw LQR Controller[ 13]
The LQR control has been designed for quadrotors in [12,14,59] trajectory, and attitude control based on the unit quaternion approach. The optimal control strategy is used to minimize the time and energy in the flight of the quadrotor system [60,61], as there is a limited onboard energy source. The stabilization of the quadcopter control has been obtained by designing discrete optimal control considering infinite horizon in [62], which gives better performance compared to continuous cases.

Linear Quadratic Gaussian (LQG)
The LQG controller is an optimal control problem designed for linear systems driven by additive white Gaussian noise to determine output state feedback law to minimize quadratic cost function or properly selected F≥ 0, Q≥ 0, and R> 0 weight matrices.
The optimal controller is obtained by solving the Riccati equation: The LQG controller is specified by the following equation.
were L(t) is called Kalman gain of the associated Kalman filter. The controller is a combination of a Kalman filter with LQR; the schematic diagram is shown in Figure 4. The LQG controller has been implemented by [17], [63] considering the stochastic measurement noise and disturbance signals. The weighing matrices are tuned by PSO. A centralized multivariable LQG control has been implemented for A. R. Drone 2.0 by [16] with transport time delay. LQG-based tuning was implemented for a DJI 450 quadcopter for a PID controller by [64]. The effect of an external disturbance rejection controller based on LQG theory was reported by [15] in the presence of wind disturbances.

Linear Matrix Inequality (LMI)
An LMI controller is a control design technique that involves solving a set of linear matrix inequalities to design a controller that guarantees the stability and perormance of a given control system. The mathematics of LMI controllers is based on convex optimization theory and linear algebra.
The LMI controller design problem involves finding a matrix variable that satisfies a set of LMIs that guarantee the stability and performance of the closedloop control system. The LMIs can be formulated using the Lyapunov stability theory, which ensures that the closed-loop system is stable if a positive definite matrix satisfies a set of matrix inequalities. The LMI base synthesizes the controller gains of the pole placement controller for the Takagi-Sugeno model of the quadrotor [65]. The formulation of the controller was based on the Lyapunov stability method. An LMI-based gain syntesis of the PID controller has been developed in [66].

Cascade Control
In cascade control, two controllers are required where the outputs of one controller provide setpoints for the second controller. The cascade controllers are used where the number of available measurements is less than the control inputs. The schematic block diagram is shown in Figure 5. The cascade version of the PID controller is impleented by [67][68][69][70] for the Quadrotor system for attitude stabilization and position control based on two loops each for position and attitude. A cascade P-PID contoller was reported by [71] to control the system and reach stability in both indoor and outdoor environments.

Fractional-Order Controller
The PID controller is mostly used in industrial appliations because various tuning methods have been deveoped so far. The FOPID controller is the generalization of the integer-order PID controller that uses fractional order of integrator and derivative terms, providing more flexibility in controller design.
where C(s) is the transfer function of the controller, s is the Laplace transform variable, K p is the proportional gain, K i and K d are the integral and derivative gains, respectively, and λ and μ are fractional order parameters that determine the order of the integrator and differentiator. Various optimization techniques have been used for tuning the FOPID parameters. The effect of wind disturbance, measurement noise, and model mismatch have been incorporated in quadcopter dynamics to reduce in [10], and the effects are reduced by using an ANN-based approximator for controller. The ANN is used to obtain the coefficient of the finite impulse response of the system. A FOPID controller for attitude tracking of quadcopter UAVs has been designed in [9,11,18,72], where the effect of turbulent effect and wind gusts has been taken into consideration. The exponential convergence of the quaternion-based error has been obtained for attitude tracking.

Nonlinear Controllers
The linear controllers are designed for the linearized model of the system. Since the linear model is an approximate model of the actual system around a certain operating region if the operating point is changed, then some physical constraints have changed, and the controller's performance is badly affected. The nonlinear controllers are preferred to overcome the limitation of the linear controllers. Consider a nonlinear system described by the state and output equation: where x(t) is the system state, and u(t) is the control input.

Feedback Linearization
Feedback linearization is a technique used in control systems to transform a nonlinear system into a linear one. This is achieved by adding a feedback loop to the system that cancels the nonlinearities. The goal of feedback linearization is to find a change of variables z = h(x) that transforms the original system into a new system: where A is a constant matrix and is a constant input vector.
The transformation is chosen such that the input is applied to the transformed system in such a way that it cancels out the nonlinearities in the original system. This is achieved by choosing the feedback law: Where k(z) is a function of the transformed state vector z.
The feedback law is chosen such that the closedloop system is stable, and the output of the system tracks a desired trajectory. The feedback linearization controller for trajectory tracking control was developed in [20] using the feedback linearization approach for the quadrotor. The designed controller also has based fault tolerant property due to the failure of one rotor.
The feedback linearization control has been designed for quadrotor systems to cope with the nonlinear dynamics of the system with double loop control architecture in [21,73]. The controller observer structure has been implemented in [19,74] by application of feedback linearization control with higher order sliding mode observer for the quadrotor system, which minimizes the requirement of sensors.

Backstepping Control
Backstepping control involves using Lyapunov functions and control laws to design a control law for a nonlinear system recursively. After that, a Lyapunov function candidate V(x) is was chosen for the system. This function should be positive definite and have a negative derivative along the system trajectories: where α(x) is a positive definite function. Design a control law for the last subsystem in the cascade based on the Lyapunov function: where x m is the state of the last subsystem, r is the desired output, and h m (x m ,r) is the control law stabilizing the last subsystem. Use the control law for the last subsystem to design a control law for the next subsystem in the cascade: where x m-1 is the state of the next subsystem, and h m- is the control law stabilizing the next subsystem. Repeat step 3 for each subsystem in the cascade until the entire system is controlled.
The final control law is obtained by substituting the control laws obtained in step 3 into the original state equation: where u 0 is the initial control input. The backstepping controller proves the ability to control the orientation angles in the presence of large disturbances [22,23,75]. A novel control based on variable-pitch control of a quadrotor with a flip maneuver has been developed using a robust backstepping approach [1]. The control allocation loop dynamically calculated the pitch angle of the blade, and the controller gains were chosen accordingly. The full-state backstepping controller has been reported in [76] for quadrotor UAVs to track three cartesian positions and yaw angles to the desired trajectory. The quadrotor system is considered as three interconnected subsystems: the underactuated subsystem (horizontal positions, pitch, and roll angles), the fully actuated subsystem (vertical position, yaw angle), and the rotor propeller subsystem.

Sliding Mode Control (SMC)
Sliding mode control is a control strategy that uses a switching surface or "sliding mode" to drive the system state to a desired state. The sliding mode function, denoted by s(t), is a system state function defining the sliding mode surface. The sliding mode function is designed to have a sliding mode when s(t) = 0. The sliding mode function can be defined as: where x(t) is the system state, h(x(t)) is a function that maps the system state to the sliding mode surface, and h × (x(t)) is the desired sliding mode surface. The control law is the mathematical expression that defines the control action to be applied to the system. The control law for sliding mode control is defined as: where u(t) is the control input, sign() is the sign function that returns -1, 0, or 1 depending on the sign of its argument, and U is a positive constant that determines the magnitude of the control action. The sliding mode dynamics describe the system's behavior when it is in sliding mode. When the sliding mode is reached (i.e., s(t) = 0), the sliding mode dynamics are given by: where x  denotes the derivative of the system state with respect to time, f(x(t)) is the system dynamics, and g(x(t)) is a matrix that describes the control action. The SMC has been implemented for quadrotor systems with improved chattering phenomenon in [25,26,[77][78][79][80][81][82][83].
An adaptive super-twisting non-singular terminal sliding mode controller has been implemented in [27,84] for a three-degree-of-freedom quadrotor with uncertain bounded disturbances. A disturbance observer (DO) based SMC is proposed in [24,85].

Integral Backstepping SMC
The robustness of the quadcopter system against uncertain external disturbances is increased by combining integral backstepping control with sliding mode control, as reported in [86][87][88] while considering the underactuated property and strongly coupled dynamics. Both control strategies have been applied in a hierarchical scheme sub-divided into rotational and translational, as shown in Figure 6. The combined control scheme also avoids the chattering phenomenon as in conventional SMC.

Dynamic Surface Control (DSC)
The basic idea of DSC is to transform a high-order nonlinear system into a set of lower-order linear subsystems. This transformation is achieved by introducing a virtual control input, which is used to cancel out the nonlinear terms in the system dynamics. To design a DSC controller, a virtual control input, denoted by v(t), is introduced, which is defined as: where k is a positive constant and s(t) is a sliding surface, defined as: where h(x(t)) is a nonlinear function that maps the state vector to the sliding surface, and yd(t) is the desired output.
The total control input is then defined as: where w(t) is a stabilizing control input that ensures the stability of the closed-loop system. A nonlinear decoupling scheme, dynamic surface control with second order sliding mode disturbance observer, has been implemented for the stabilization of quadcopter with the assumption of battery voltage variation has been designed in [59,89,90].
The trajectory tracking and attitude stabilization of the quadcopter in case only position measurement is possible with designing higher-order ESO along with dynamic surface control has been proposed in [91,92]. The ESO can online estimate the uncertainties due to parametric deviations, disturbances as well as full states of the quadrotor.
The problem of the strong coupling of translational and rotational dynamics and the underactuated property has been overcome by incorporating adaptive fuzzy quantized control with DSC control in [3] for precise control of position and attitude tracking of the quadrotor.

Model Predictive Control (MPC)
MPC is a control strategy used in various applications to optimize the control of dynamic systems over a finite time horizon. It involves repeatedly solving an optimization problem to determine the optimal control actions based on a mathematical model of the system and its predicted behavior. Let x(k) be the system state at time k, u(k) be the control input applied at time k, and y(k) be the output of the system at time k. The system dynamics can be represented as: where f and g are nonlinear or linear functions that describe the system dynamics.
The MPC optimization problem can be formulated as follows: subject to: where J is the cost function to be minimized, L is the stage cost function that penalizes deviations from desired system behavior at each time step, M is the terminal cost function that penalizes deviations at the final time step, N is the prediction horizon, U is the set of feasible control inputs, and x(t) is the current state of the system at time t.
The MPC is used to design the controller to stabilize and track different reference trajectories of the quadrotor system in [30,[93][94][95][96]. The dynamic model used is high fidelity and nonlinear with six degrees of freedom, and the model uncertainties and disturbances are also considered to ensure the robustness of the closed-loop system.
In [28], an efficient MPC algorithm has been developed that requires less prediction points and results in faster computational speed of the predicted output for the quadcopter airborne applications. To achieve the objective of reducing the burden of calculations, the model reduction techniques associated with the dynamics of the quadrotor UAV were applied. The decoupled model of the quadrotor was obtained with some simplifying assumptions regarding the attitude anglesroll, pitch, and yaw angles.
A switching MPC based on piecewise affine modeling of the quadrotor has been implemented in [29] to achieve precise trajectory control in the presence of forcible wind gusts. The switching model predictive control implementation is subjected to system state and actuation constraints. The linear parameter varying based MPC has been applied in [97].

Adaptive Control
The tracking and stability of quadrotors with modeling error and disturbance uncertainty related to aerodynamic and gyroscopic effect, payload mass, and uncertain flying environment has been designed in [31,98,99] with a PD controller combined with the adaptive term. The adaptation law compensates for the uncertainty and disturbances presented in the dynamical system. Lyapunov stability analysis has proved the tracking convergence of the closed-loop system.
An adaptive multivariable finite-time attitude tracking control algorithm for the quadcopter has been reported in [33] without overestimating control gains in the presence of unknown bounded external disturbance.

Model Reference Adaptive Control (MRAC)
In an MRAC scheme, the adaptive controller adjusts its parameters based on the error between the actual output of the system and a desired output, which a reference model determines. The reference model describes the desired behavior of the system, and the adaptive controller updates its parameters to minimize the difference between the actual output and the reference output.
The mathematical formulation of an MRAC scheme can be expressed as follows: where u(i) is the control input to the system, x(t) is the state of the system, r(t) is the reference output, and L is the adaptive controller gain matrix. The gain matrix L is updated online based on the error between the actual output and the reference output using the following update law: where gamma is a positive constant that determines the rate of adaptation, is a positive-definite matrix that determines the stability of the system, e(t) is the error between the actual output and the reference output, and sign(P) is a matrix with the signs of the elements of P.
An adaptive control algorithm based on the model reference approach has been given in [32] for trajectory tracking problems for quadrotors. The dynamic surface control technique was applied to simplify the expression for the control without loss in terms of performance. Lyapunov stability criteria have proved the convergence of tracking errors.

Gain Scheduling Controllers
The gain scheduling controller adjusts the gain matrix based on the system's operating point to ensure that the controller is optimized for each operating condition. Its purpose is to maintain stable and accurate performance despite changes in the system. Let x be the input space, be the output space, and be the control input space. The system being controlled has multiple operating points, denoted as x 1 , x 2 , …, x n . At each operating point, the system dynamics can be approximated by a linear time-invariant model of the form: where y(t) is the output at time t, u(t) is the control input at time t, and G(x i ) is the system gain matrix that depends on the operating point x i . The gain matrix G(x i ) is determined based on the current operating point by the gain scheduling algorithm. The feedback controller applies the control input u(t) to the system based on the current output y(t) and the desired output reference sig-nal r(t). The schematic block diagram is shown in Figu-re 7. A gain-scheduling PID controller has been designed in [100][101][102] for a quadrotor system for trajectory tracking and fault tolerant process with increased performance and reliability for various equilibrium points.

Robust Control
A robust controller is a type of control system designed to be insensitive to model uncertainties and external disturbances. The robust controller consists of two main components: a nominal controller is designed based on a nominal system model, assuming perfect knowledge of the system dynamics. The robustness compensator is designed to add robustness to the nominal controller by making it insensitive to model uncertainties and external disturbances. The robust controller combines the nominal controller and the robustness compensator to achieve improved performance and stability in the presence of model uncertainties and external disturbances.
An event-triggered output feedback robust control has been designed in [35] for a quadrotor system with prescribed time performance constraints. The real-time estimation of states, including linear and angular velocities, was done using a switching threshold eventtriggered-based extended state observer [34]. The robust control schemes have been applied in [87,103]. The robust error-based active disturbance rejection control has been implemented for the quadrotor [104][105][106][107].

H∞ Control
The H-infinity control problem involves designing a controller that minimizes the H-infinity norm of the closed-loop transfer function while satisfying certain performance and robustness specifications. The Hinfinity norm of a transfer function G(s) is defined as: where ||G(jω)|| 2 is the 2-norm of the transfer function evaluated at a frequency omega. The H-infinity norm represents the maximum gain that can be achieved from input to output while still maintaining stability. The H-infinity control problem can be formulated as follows: Minimize ||T|| ∞ subject to: where T is the controller's transfer function, P 11 is the plant's transfer function from the input to the output, P 21 is the plant's transfer function from the disturbance to the output, and γ is a user-specified performance specification. A distributed output-feedback nonlinear H ∞ control algorithm is proposed in [108][109][110] for flying control problems for quadrotors in the presence of environmental disturbances and noisy measurements. The controller could regulate the parameter uncertainty effect as well as the problems mentioned above. A Takagi-Sugeno model-based H ∞ has been implemented in [111] in case of imperfect premise matching conditions.

Observer-Based Control
The higher-order sliding mode control combined with a continuous super-twisting algorithm has been proposed and implemented in [112] for altitude control of the quadrotor system. The control block diagram is shown in Figure 8. The Extended State Observer (ESO) based Proportional-Derivative (PD) controller has been reported in [113][114][115]for the trajectory tracking of quadrotor systems in the presence of wind disturbances.
The gains of the controller-observer were parameterized in terms of a single parameter based on the control Lyapunov function. The convergence of the tracking error has been ensured by the Lyapunov method. The stability using the proposed controller has been ensured by using the circle criterion.

SDDRE Control
SDRE control involves defining a nonlinear control law that is a function of the system state. The control law can be expressed as: where u is the control input, x is the system state, and K(x) is the gain matrix that is a function of the system state.
The SDRE controller design involves solving a differential equation known as the SDRE that is derived from the Hamilton-Jacobi-Bellman equation. The SDRE can be expressed as: where P(x) is a symmetric positive definite matrix that depends on the system state, ΔP(x) is the derivative of P(x) with respect to time, A(x) is the system dynamics matrix, B(x) is the control input matrix, Q(x) is the state weighting matrix, and R(x) is the control weighting matrix. The control gain matrix K(x) can be obtained from the SDRE solution as: Once the control gain matrix K(x) is obtained, the control law can be implemented to stabilize the nonlinear system. State-dependent differential Riccati equation controller (SDDRE) is applied to a quadcopter system carrying the load in [116] to stabilize translational and rotational dynamics and attenuate the load's oscillation along the trajectory. The Lyapunov method and La Salle's invariance principle have guaranteed the quadrotor and load asymptotic stability.

Intelligent Controllers
In designing intelligent controllers, the system's complete dynamic is not required. The black box modeling is carried out by training the system with data obtained from flight experiments of Quadrotor UAVs. The following artificial intelligence-based techniques have been found in the literature.

Artificial Neural Network (ANN)
Artificial Neural Networks (ANNs) are mathematical models inspired by biological neural networks' structure and function. ANNs are composed of interconnected processing units (neurons) that can be trained to learn patterns and relationships in input data. The ANN involves several key components, including the neuron model, the activation function, the network architecture, the training algorithm, and the learning rule. The neuron model can be expressed mathematically as follows: where y is the neuron output, f is the activation function, Σ(wx) is the weighted sum of the inputs x with weights w, and b is the bias. The activation function determines the output of the neuron based on the weighted sum of the inputs. The architecture of an ANN determines how the neurons are connected and organized into layers. The training algorithm is used to adjust the weights and biases of the neurons to minimize the error between the network's output and the desired output. The learning rule specifies how the weights and biases of the neurons are updated during training. The most common learning rule is the delta rule, which adjusts the weights and biases based on the difference between actual and desired output. The complete dynamics of the quadrotor are difficult to define as the dynamics somehow differ in indoor and outdoor applications. A two-layer neural network with output feedback is prepared to learn the complete dynamics of the system [37,117] along with uncertain nonlinear terms such as aerodynamic friction and blade flapping. Aerodynamic friction is the effect of the viscosity of the atmospheric fluid, which causes friction when a solid body goes through it with a certain velocity [36,38]. Blade flapping is another aerodynamic phenomenon that causes the dependency of the thrust on the angle of attack and flight speed. In the case of model-based control design, these aerodynamic effects are difficult to model, but for ANN, it is easier than NN to learn from real-time data. A designing NN observer estimates the translational and angular velocities and an output feedback control law is developed in which only the position and the attitude of the UAV are considered measurable [118,119].

Fuzzy Logic Control (FLC)
Fuzzy logic control is a type of control system that uses fuzzy logic to make decisions and control outputs based on input signals. The fuzzy logic control involves a series of steps that convert crisp input signals into fuzzy sets (fuzzification), apply a set of rules to determine the fuzzy output sets (inference), and then convert the fuzzy output sets back into crisp values using a defuzzification method (defuzzification).
The controller is based on a decentralized tracking control problem under variable sampling rates. The dynamics of the quadrotor has been expressed as a decentralized T-S fuzzy model that divides the dynamics into position and altitude subsystem. A T-S fuzzy controller is designed in [41] by utilizing parallel distributed compensation with measurable states considered and the condition for stability given in terms of LMI. The variation of fuzzy with robustness has been applied in [120].
Adaptive fuzzy control for the quadcopter with payload in the presence of sinusoidal wind disturbance has been applied [39]. In this work, the problem of exact identification of nonlinearities presented in the system and chattering has been considered to mitigate by using fuzzy control incorporating robustness to reject external disturbances.
The hovering control for the quadcopter based on a fuzzy model has been designed in [40,121,122] for tracking desired three-dimensional positions and yaw angle and stabilization of roll and pitch angle. Solving the linear matrix inequality has proved the exponential stability in the sense of Lyapunov criteria.

Machine Learning
Machine learning control is a subfield of control theory that combines machine learning techniques with control theory to design control systems that can learn from data and adapt to changes in the system dynamics. Let X be the input space, be the output space, and U be the control input space. Given a set of training data {(x 1 ,y 1 ,u 1 ), (x 2 ,y 2 ,u 2 ),…, (x n ,y n ,u n )}, where i x X  , i y Y  , and i u U  , the goal of machine learning control is to learn a control policy π: X × Y → U that maps input and output to control input . The perturbations are always presented in the realtime application of any control system that causes uncertainty in the dynamics of the nonlinear system. It is convenient to deal with uncertainty by incorporating machine learning with the control theory of the problem. A Gaussian process regression (GPR) based control has been proposed in [123] with a quaternionbased command-filtered backstepping approach. The machine learning approach has also been used for quadcopter control in literature [124,125].

Neuro-Fuzzy Controller
The neuro-fuzzy controller combines fuzzy logic and artificial neural networks to achieve improved control performance. The controller consists of three main components: fuzzification, inference, and defuzzification. Artificial neural networks can be used to learn the membership functions and fuzzy rules from data, and the controller can be optimized using an appropriate cost function and optimization algorithm. The differential neural network (DNN), along with Takagi-Sugeno (T-S) fuzzy inference, has been implemented in [126][127][128] for an uncertain quadrotor system with external disturbance. The individual implementation of both techniques suffers from problems such as the black-box nature of NN and suitable membership function in fuzzy control [42]. The stability of the tracking error has been verified using Lyapunov stability criteria.

Hybrid Controllers
Some control strategies with mixed characteristics of two or more controllers have been reported in the literature. Some of the hybrid controllers have been listed below.

Neural Network and Backstepping
The dynamics of a quadrotor system consist of many basic problems, such as underactuated property, strong coupling, MIMO systems, and unknown nonlinearities. The estimation of the above unknown parameters of the system can increase the robustness of the system. A neural network is used to estimate unmodeled dynamics along with a backstepping approach in [129], [130] to stabilize and control the quadrotor system.

Neural Network and SMC
In case of parametric uncertainties and external disturbances, the neural network-based adaptive SMC has been implemented in [131,132]. The dynamics were divided into fully actuated and underactuated systems; then, neural networks tuned the SMC designed for each subsystem with sliding manifold coefficients.

Fuzzy with SMC
An adaptive fuzzy terminal sliding mode controller has been implemented in [43,133,134] along with a PD controller for pre-defined path tracking problems as well as stabilization of a quadrotor UAV in the presence of modeling error and external disturbance. The online identification of disturbances was made using an adaptive Mamdani fuzzy system.

Adaptive Neural Control
A finite-time tracking controller based on a neural network with TVABLF (time-varying asymmetric barrier Lyapunov function) based adaptation law has been implemented in [135] for quadrotor systems with asymmetric time-varying full-states constraints and input quantization. The states do not violate the asymmetric time-varying constraints by incorporating TVABLF.
An adaptive neural network finite time backsteppingbased anti-saturation control has been implemented in [44,136] for the quadcopter's attitude and position tracking problem in the presence of input saturation nonlinearity and the hyperbolic tangent function-based approximator for nonsymmetric saturation nonlinearity.

Adaptive Fuzzy Backstepping
The quadrotor is an underactuated system due to six outputs and only four control inputs. All the states cannot be controlled at a time. Environmental disturbances such as wind gusts and parametric uncertainty are also there to overcome. An adaptive fuzzy backstepping control with a state observer has been proposed in [137,138] in which the introduction of virtual control inputs has overcome the problem of underactuated and disturbance rejection.

Nonlinear Programming (NLP) with GA
The time-optimal motion for hovering of quadrotor has been obtained using a nonlinear dynamic programming approach in which a two-point boundary value problem is incorporated for numerical computation [45], [139]. The initial feasible solution was formulated using optimization using sampling time as a variable by using a genetic algorithm (GA).

Fractional Order and SMC
The fractional order sliding mode-based state-constrained control system has been implemented for quadrotors in [140][141][142]. The system's stability is analyzed to be asymptotically stable with a feasible and effective control scheme.

DISCUSSIONS AND ANALYSIS
In this section, the comparison of the different controllers has been given with performance evaluation and potential challenges in the control system design for the Quadrotor UAV control.

Comparison of Various Control Schemes
The control objective for the quadrotor has been classified as attitude stabilization problem, trajectory tracking for pre-defined flying path, dealing the disturbances and noisy measurements, etc. The various control schemes applied to the quadrotor available in the literature are summarized in Table 1 for a quick analysis.

Review of Performance Evaluation
The performance evaluation of the various controllers can be done based on the following criteria: Nominal stability, Robustness, and Complexity in Control Systems design. The linear and nonlinear controllers only ensure the system stability at the nominal state and nominal performance. The intelligent control techniques do not provide nominal stability but high maneuvering performance.
The linear feedback controllers do not provide robust stability, but certain nonlinear controllers, such as adaptive and MPC, provide robust stability to the system as well as robust maneuvering performance. The intelligent controllers also do not offer robustness in the system stability and performance. The linear controllers are easy to implement, so it is more likely to be used by researchers as well as in industry. The nonlinear and intelligent controllers contain complexity in the controller design and implementation in the real world, but they provide more satisfactory performance than linear controllers. Every control scheme implemented for quadcopter stabilization and trajectory tracking has some pros and cons. The hybrid of two or more control schemes may be the better solution as the disadvantages of one control scheme can be overcome by another control scheme. By using the hybrid controllers, nominal stability and robustness both can be ensured.
Due to ease of design and implementation, the linear controller is the first choice for most researchers, but these controllers need more efficient performance and robustness. The nonlinear controllers give an efficient performance, robustness, and improved trajectory tracking. The adaptive controller and MPC ensure efficient performance compared to other nonlinear controllers.

Potential Challenges
The nonlinear control schemes provide good robustness and trajectory tracking, but in most of the literature, the controller implementation is only simulation-based, and experimental results are not different from the result obtained from linear controllers. The basic reason for the difference is modeling error, tuning of controller gains, and unmodeled dynamics. The other challenges in the implementation of the controller are mentioned below.

Modeling error:
The modeling error is a big challenge in designing the control system for the quadcopter outdoor application. Modeling error arises from the fact of unmodeled dynamics due to the payload attached to the Quadrotor system, payload mass variation, and other dynamical changes during automatic take-off and landing operation [144].

Parameter uncertainty:
The parameter uncertainty presented in quadcopter dynamics due to mass, rotational inertia, and viscosity, which change during the flight.

Noisy measurement:
The motors in the quadcopter rotate at high speed, producing vibration in the system. The inertial measurement unit (IMU) experiences this vibration and produces noise in the measurement [43]. 4. External disturbances: External disturbances due to wind gusts and aerodynamic friction are always present during the flight in an outdoor environment, which causes instability in operation. The external disturbances need to be estimated for efficient control of the quadcopter. 5. Payload oscillations: When the quadrotor carries a payload, then a mass is attached to the quadcopter with a string which causes payload oscillation. So, this payload oscillation creates difficulty in control design [116]. 6. Asymmetric flight: The asymmetric flight conditions occur due to the extremely rare existence of airplanes with asymmetric geometric, inertial, and load properties [145]. It may also occur due to the failure of a propulsive unit in the quadrotor. In the case of asymmetric flight, the power used to energize the propulsion unit must be optimized in order to improve performance [146].

CONCLUSIONS AND FUTURE DIRECTIONS
This article presents a comprehensive review of various control schemes applied to Quadrotor UAVs, including their pros and cons. The design and implementation of control algorithms for stabilization and tracking control of Quadrotor UAVs are discussed, along with the review of performance evaluation of various control algorithms based on nominal stability, robustness, and complexity in controller implementation. The linear control scheme provides nominal stability but is not robust against noise and external disturbances. On the other hand, the nonlinear controller is robust and efficient but complex to implement. Hybrid controllers can provide efficient and robust performance by combining the advantages of different control schemes, but their design and implementation are challenging due to their complexity. The learning-based intelligent control scheme is popular due to its model-free approach and learning capability. Intelligent controllers can adapt to changing conditions in real time, improving system performance and efficiency. They can also learn from past experiences and use that knowledge to improve their performance over time.
In the future, adaptive mechanisms merged with robust techniques in the control system can provide enhanced performance in the presence of various uncertainties. Adaptation laws can be used for parametric uncertainties, while robust schemes can deal with non-parametric uncertainties such as external disturbances. Combining these two schemes may provide better control performance against uncertainties presented in the system. However, this is an open problem that requires further research. Different flight modes require different control structures for tracking pre-defined paths and stabilizing during hovering flight mode. However, most control schemes are task-oriented and designed for specific system behavior, which can result in crashes and catastrophic failures when implemented on real systems subjected to different flight modes and conditions. Therefore, there is a need for controllers that can switch between different behaviors automatically to avoid such problems.