A Review of Quadrotor Unmanned Aerial Vehicles: Applications, Architectural Design and Control Algorithms

Over the past decade, unmanned aerial vehicles (UAVs) have received a significant attention due to their diverse capabilities for non-combatant and military applications. The primary aim of this study is to unveil a clear categorization overview for more than a decade worth of substantial progress in UAVs. The paper will begin with a general overview of the advancements, followed by an up-to-date explanation of the different mechanical structures and technical elements that have been included. The paper will then explore and examine various vertical take-off and landing (VTOL) configurations, followed by expressing the dynamics, applicable simulation tools and control strategies for a Quadrotor. In conclusion to this review, the dynamic system presented will always face limitations such as internal and/or external disturbances. Hence, this can be minimised by the choice of introducing appropriate control techniques or mechanical enhancements.


Introduction
The twenty-first century has seen a rapid spread of Unmanned Aerial Vehicles (UAVs) that are telemetry monitored and controlled by pilots on the ground, who can either be nearby or far away (depending on the application). Initially, developments were limited to large military drones, however, advances in motors technology, drive electronics, microcontrollers and access to GPS navigation, encouraged manufacturers to develop smaller and cheaper drones [1].
UAVs may be classified as either being fixed or rotary winged aircrafts. Fixed-winged (FW) aircrafts generally have simpler structures than rotary wing (RW) crafts, hence they require less complicated maintenance and repair processes, allowing for a cheap, longer operational time and high-speed flight durations. They also have natural gliding capabilities with no power requirement, and are capable of carrying larger payloads over longer distances while consuming less power. However, FW crafts requires a runway or a launcher for takeoff and landing, unlike RW crafts which are capable of vertically taking-off/landing (VTOL); therefore, short take off/ landing (STOL) solutions are very popular to help eradicate this issue.
Moreover, fixed-wing crafts require continuous airflow over their wings to generate lift, thus, they must maintain forward motion (i.e. can't stay stationary), which makes them unsuitable for stationary (hovering) applications such as inspection. It is because of these advantages, rotary-winged crafts have globally received the interest of researchers and developers in the commercial, industrial, military and rescue services sectors; and therefore they are found in applications within the media industry, fire services, power production, agricultural industry, express delivery services, search and rescue tasks, inspection, surveillance, aerial photography and many more [2].
With regard to VTOL and Horizontal take-off/landing (HTOL) UAVs, research has been greatly undertaken to improve the flight performance by modifying the mechanical structure of these systems, some of which are extremely small UAVs that could perhaps be the size of 'small particles' weighing around 0.1Kg while others could be as large as a conventional piloted aircraft weighing over 150Kg [1,3]. The vast majority of these changes and modifications has resulted in the implementation of these drones on wider applications worldwide. While the mechanical architecture is rapidly enhancing, control techniques is considered as a major topic for researchers to carry out and achieve successful drone operations. Doing so meant that the dynamic model for the UAV must be taken into great consideration without neglecting any parameters as that will characterize the performance of the control law. As for the control algorithms studied in this field, the literature review is rich with various techniques some of which are PID [4][5][6][7], LQR [8][9][10][11], Sliding Mode [7,[12][13][14][15] Backstepping [16][17][18][19] and more.
Since drones are now becoming the centre of attention in robotics and autonomous engineering, the aim of this research is to provide the reader with an insight of various UAV mechanical architectures such that a comparative study will be undertaken to illustrate the advantages and drawbacks of each design. In particular, Quadrotors have been specifically selected due to their efficient performance and ease of manoeuvrability, which will be studied in relation to explaining the dynamic behaviour and system parameters based on a realistic model [20]. Additionally, various control techniques will be explored essentially discussing other authors' output performance of each method and their drawbacks. Common control laws such as PID and SM will be investigated further in terms of elaborating on the control algorithms and depicting the output solutions from the literature reviewed.
The paper is structured as follows. Section 2. will begin by outlining the technological features of UAVs generally exploring some of the common features that these systems hold. Section 3. expresses various UAV mechanical architectures describing the performance of each method based on the benefits and drawbacks attained from other researchers. In Section 4, a comparative study between the performances of various VTOL drones is carried out with a discussion of the common Quadrotor configurations. Section 5 elaborates on the aerodynamic effects of the Quadrotor and how they perform without the inclusion of a controller, while section 6 shows the widely implemented simulation tools for physical and mathematical modelling. Section 7 provides a thorough review of the common control laws with a discussion of the most appropriate method according to the mission criteria. Lastly, section 8 concludes the reviewed studies.

Enabling Technologies and Applications
The functionality of UAVs has always been dependant on the technological features that are included within the electronic system of the aircraft. The development of these features that can be directly added to the system architecture is becoming more advanced due to the increased demand for certain drone characteristics. Although these features are all advantageous in their own ways, the implementation process is only considered viable when the drone is expected to function within a certain application. For instance, [21] and his team have focused on UAVs and ground unmanned vehicles to collaboratively work for search and rescue missions. The significant use of motion planning equipment provides a real-time feedback data to the wilderness rescue team, allowing them to accurately focus and pinpoint the target on the ground.
Another technological feature that has emerged for UAVs has been increasingly implemented and researched. [22] took the opportunity to review and provide a summary of some of the current commercial, open source and research autopilot systems. The authors mentioned that these systems can purely guide the UAV into following a referenced trajectory without any assistance from the human operator. With the implementation of the selected controller and careful parameter tuning, the operator is able to achieve an improved performance depending on the set application.
Other enabling technologies have greatly extended the use of UAVs making them suitable for more applications due to innovative research taking place globally. Hence, a mindmap shown in Fig. 1 has been created to provide a general insight on some of the major topics that have been studied and considered by researchers. It can be seen that the main features appear closer to the centre of the figure where "UAV Technology" branches out to describe various applications within the presented features. For example, navigating a UAV through a set route can be described by using some of the technologies such as auto return [23] or laser systems [24], which are commonly used under security/military applications.
The purpose of splitting these groups into different categories presents an insight into the common technological features that are implemented within UAVs depending on the mission criteria. With the case of VTOL UAV's, the corresponding tools selected are commonly dependent on the environment and the set application. For example, assuming that a Quadrotor is used for military surveillance, technology features such as anti-jamming, autonomous navigation, camera sensors, auto-return etc. are all essential provided that an ideal control system is considered.
The authors in [25], presented a methodology in which a Quadrotor with a single monocular camera was used for local generation of collision-free waypoints. Small images are acquired while the quadrotor consistently hovered from which computation was done for a dense depth map. By relying on the map, there was 2D scan rendering carried out along with generating an adequate waypoint for specific navigation. The experiment conducted and results obtained have proved a pose variation during hovering which was adequate for obtaining suitable depth map [25]. The demonstration was done for validating the proposed method in a challenging environment where navigating a Quadrotor was successfully done from narrow passages including people, boxes, and doors [25].
Additional UAV technologies specifically equipped with vision and intelligence methods include object detection, path planning and object tracking [26]. With regard to these intelligent features, a methodology is followed to allow the UAV to locally generate waypoints that are collision-free which proved clear visibility and tracking [27]. In [28], a technique is proposed for collision avoidance systems depending on visual detection. The system hardware consisted of a hummingbird Quadrotor which was equipped with a higher red marker along with two built-in-fish-eye cameras. The measurements fusion were done from two cameras utilizing a Gaussian-mixture probability hypothesis density filter, which proved successful tracking [28]. The proposed collision avoidance algorithm relied on navigation functions. These are designed specifically for coping with cameras particularly characterized by limiting the field of view. There is recording conducted of the trajectory data with an external motion capture system which led towards demonstration of decent robustness against internal noise [28,29].
Although the features presented in Fig. 1 can easily overlap with other categories depending on the set application, clarifying this further is presented in Table 1 which highlights some of the applications that are suitable for the various features mentioned in Fig. 1. It is evident that the applications selected for each feature somehow overlaps with other features. Hence, a combination of these features can become greatly effective when combined for certain flight missions.

UAV Mechanical Architectures
Despite the fact that UAVs are now mechanically designed in many different ways, selecting an ideal UAV to operate in certain applications can be complex. A sensible approach would be reviewing some of the common types elaborating on features that may meet the reader specific requirements. Therefore, exploring the performance of readily available architectural design is convenient during which the advantages and disadvantages of each design can support the reader in making a decision. The main aspect that distinguishes different types of UAVs is dependent on the operation purposes and the mission capabilities. As indicated on Fig. 2, UAVs can be commonly considered as: FW Crafts, which are also known as Horizontal Take-off and Landing (HTOL); RW crafts, which are also known as VTOL; Hybrid Models such as Tilt-Wing, Tilt-Rotor etc. and Exclusive models that consist of unique designs such as the Bird UAV [3].
A general comparison between the categorised UAV modes illustrates that HTOL UAVs are capable of having remarkable payloads compared to VTOL, the typical structure of wings on HTOL vehicles provides the drone with the ability to fly longer distances. As for VTOL, despite the fact that they may be limited for longer-range missions, their design is usually more efficient in the sense of vertically taking off and landing as well as having the ability to manoeuvre freely. Since both approaches cater for some drawbacks, researchers have introduced an innovative method that combines the capability of VTOL and HTOL into a single design such that the advantages from both models are achieved. Figure 3 shows several extended UAV architectural designs based on the four categories presented in Fig. 2 such as tilted propellers [50,[57][58][59], ducted fan UAV's [51,[60][61][62], tilt-wing [34,60,63], foldable/self-deploying Quadrotor [53,64], flapping wing UAV [54], controlled insect flying [55], Solar powered Fixed wind UAV [56], aqua Micro aerial vehicle [35] and Mono-copter [52].
Based on the common UAV designs presented in Fig. 3, each one of these architectures are dedicated to function in a unique manner for a specific application. However, it is fair to mention that the designs come with limitations that will negatively impact the vehicles performance in some manner.
Hence, Table 2 expresses the advantages and disadvantages of each architectural design.

Multi-Rotor Aircraft (VTOL) Structures
Upon observing the pros and cons of various UAV structures mentioned above in Table 2, it can be concluded that great research has been undertaken to investigate and study UAVs, such that the performance can be improved by innovatively modifying the vehicle structures. However, VTOL systems have seen an increase rise in research due to their ability to orientate and hover at any altitude, giving them more advantages compared to conventional HTOL systems [68]. The authors in [69] have studied a novel VTOL UAV where they mention that these vehicles are constantly researched. Their unique design consists of numerous advantages which can benefit many existing applications. The research group in [70] have reviewed a number of VTOL propulsion types where they mention that the most widespread use of commercial UAVs are the VTOL configurations due to their quick orientation and hovering capabilities. Therefore, narrowing this review paper to analyse a common type of UAV can be set to investigate a certain VTOL vehicle. Figure 4 illustrates the most common types of VTOLs to be discussed in which VTOL UAVs are commonly developed and designed to consist of actuators that vary between 1, 3, 4, 6 and 8 rotors. Fig. 3 Various UAV architectures that have been successfully implemented, (a) Tilting propeller [50], (b) Ducted-Fan UAV [51], (c) AquaMAV [35], (d) Tilt-wing [34], (e) Mono-Copter [52], (f) Foldable & Self deploying drone [53], (g) Flapping wing UAV [54], (h) Controlled Insect [55], (i) Solar Powered UAV [56]  -Capable of achieving superior speeds (even to fixed wing UAVs), with VTOL capability.
-Require complex flight control algorithms, due to the non-linear actuators aerodynamic.
AquaMAV [35] -Operates in various mediums (fly in air, dive into the water, effectively move in water and retake off into the air).
-Structure has to be modified, as the wings must be folded before diving into the water. ---This slows the craft speed and thus, an underwater propulsion system is required.
-Long flight duration at high speeds.
-VTOL advantages with hovering and quick orientation capabilities.
-Increased complexity in the mechanical and control systems.
-Increased energy consumption during tilting transitions.
-Small structure, with the advantage of flying within confined spaces such as corridors.
-Restricted to indoor flying.
-Dynamic stability needs improvement.
Foldable & Self deploying [53] -Ideal for emergency applications that require immediate deployment when necessary. -Typically deployed in less than 0.3 s.
-Limited applications due to small structure (<13 cm diameter).
-Material cannot be strained in the folding procedure.
-Resilience against collisions need to be improved. Controlled Insect [55] -Utilises a variety of sensors that are connected to the body to collect data from the muscles that control the airflow, which can be applied to the flight controller in insects that weigh nearly 3 g.
-The data collected is only limited to small insects and cannot be applied to larger flyers. -Mechanical development is highly complicated.

Solar Powered
Fixed Wing [56] -Longer endurance flights, lasting up to 8 h on a clear sunny day. -It is only compatible to fly under clear skies.
Selecting a particular configuration is greatly dependant on the mission criteria and the performance requirement. For instance, assuming that the multirotor is expected to fly within indoor confined areas, Octocopters (8 rotors) are not ideally suitable for this particular application, as they are more suitable for outdoor environments or carrying larger payloads. As the number of actuators are increased, the lift and stability is also improved. However, the overall power consumption is also negatively affected [75]. Traditional RW crafts are commonly developed with fixed pitch blades, where the orientation is controlled by varying the speed of the corresponding rotor. The considered VTOL systems which are shown on Fig. 4 will be explored further in the following section.

Common VTOL UAVs
Monocopters shown in Fig. 4a consists of a single actuator and a single wing to achieve lift. Originally, this configuration has been brought from the concept of maple seeds as they fall down slowly in a rotational manner before reaching the ground. Essentially, the heavy side of the maple seed is replaced with the role of the actuators, while the terminative section is replaced by a wing. This configuration produces relative lift to the vehicle as the actuator speed is increased. Although the proposed methodology was successfully developed through practical implementations and simulations. The vehicles operation carries numerous drawbacks such as, ease of collision (actuator failure), weak stability and inability to carry payloads [71]. Tricopters shown in Fig. 4b consists of three actuators that are equally spaced by 120°from each other. They are the least expensive configuration after the Monocopters, and are suitable for videography due to the wide positioning angle of the actuators. Other advantages include longer battery life due to their lightweight and small structure. However, they are least stable compared to the other multi-rotors, and a probability of an accident could easily occur in the event of an actuator failure. Moreover, these vehicles can easily be effected by external disturbances such as wind or gusts due to their lightweight structure and limited actuators [72,76,77].
Quadrotors shown in Fig. 4c consists of four actuators, which are generally equally spaced by 90°from each other. In comparison to Monocopters, and Tricopters, Quadrotors enjoy hovering with considerable stability, with greater thrustweight ratio. They are safe for indoor and outdoor flying, mechanically simpler to understand and develop, and have been successfully developed in many different sizes. Therefore, they are more widely applied than any other type, which explains why they are vastly being researched. However, they are also under-actuated with less stability than Hexacopters and increased power consumption compared to Tricopters [68,78].
Hexacopters shown in Fig. 4d consists of six actuators, which are equally spaced by 60°from each other. They enjoy an improved stability (even following a single actuator failure) in comparison to the Quadrotors, Tricopters and Monocopters. They also have higher lifting abilities and are capable of carrying heavier payloads. However, they are under actuated, costlier to develop, requires higher current output from the batteries, and are considerably large in comparison to Quadrotors [73,79].
Octocopters shown in Fig. 4e consist of eight actuators, which are equally spaced by 45°from each other. They enjoy the best stability and are capable of carrying larger payloads compared to hexacopters. Hence, they can be found more suitable for applications that cannot be performed by the other VTOL systems such as delivering large packages. However, the power consumption and costs greatly influenced many researchers to focus more on other VTOL vehicles such as the Quadrotor or Hexacopter [74,80].
Clearly, Quadrotors consists of the most benefits in terms of stability, affordability, various structural sizes, ease of development and modelling. It is with these advantages, they are vastly researched and are globally used in many applications, which explains the main motivation of this paper in deriving  [71], (b) Tricopter [72], (c) Quadrotor [68], (d) Hexacopter [73], (e) Octocopter [74] their dynamic models, exploring popular control techniques, highlight common simulation tools, and discussing the achievements attained from previous researchers.

Quadrotor Configurations
Quadrotors consists of four actuators that are individually controlled to produce a relative thrust. In order to achieve lift, two of its motors have to rotate in opposite directions, otherwise, the net moment about the centre of mass will become non zero resulting in unwanted motions. In helicopters, the tail rotor or tail aerofoil is required to cancel out the net moment created about the centre, and in Quadrotors, the net moment needs to be cancelled out by making any two pairs arranged to rotate clockwise (CW) while the adjacent pairs rotate counter clockwise (CCW). Hence, it has become customary for the opposite motors in a crossed configured Quadrotor to rotate in opposite directions.
Two configurations generally exist within Quadrotors which are categorised as the '+' or 'X' sets, a comparison between the two suggests that the overall control authority from both configurations shows that the performance is identical [81]. Fig. 5 shows the basic motor '+' configuration, where the functionality is described as; motors 1 and 3 in Set 1, 3 rotating in the clockwise direction (ω m(1=3)_CW ) and motors 2 and 4 in Set 2, 4 rotate in the counter-clockwise direction (ω m(2=4)_CCW ). The figure also illustrates the various basic flight direction a UAV can describe, depending on the individual motor speeds and their spinning directions commands. For example, by rotating the motors at equal and opposite speeds in both sets (i.e. ω m(1=3)_CW = ω m(2=4)_CCW ), the UAV will hover. When the speeds of all motors are simultaneously increased, the UAV will hover at higher altitudes and when the speeds are simultaneously reduced, the UAV will hover at lower altitudes, as illustrated in Fig. 5a.
Increasing the speed of a propeller in one of these sets will cause either roll or pitch motion, depending on the selected set. To achieve CW-pitch motion; 1) the propellers in Set 1, 3 will maintain equal speeds (i.e. ω m1 = ω m3 ); and 2) The speed of motor 2 is made greater than that of motor 4 in the Set 2, 4 (i.e. ω m4 < ω m2 ), as shown in Fig. 5b. CCW-Pitch is achieved when the motors speeds in Set 1, 3 are maintained constant while ω m2 is made smaller than ω m4 (in Set 2, 4 ). Similarly, CW-roll motion is achieved by maintaining equal speed (ω m2 = ω m4 ) in Set 2, 4 , and making ω m1 < ω m3 in Set 1, 3 , as shown in Fig. 5c. CCW-Roll is achieved if the motor speeds in Set 2, 4 are maintained constant while ω m1 is made greater than ω m3 (in Set 1, 3 ). Finally, CCW-yaw motion is achieved by maintaining equal speeds in both sets, so that ω m2 = ω m4 in Set 2, 4 , and ω m1 = ω m3 in Set 1, 3 . Increasing the angular speed of motors ω m1 & ω m3 > ω m2 & ω m4 will initiate the CCW-yaw motion as shown in Fig. 5d. Figure 6 illustrates the operation of an 'X' configured Quadrotor. Technically speaking, the directional rotation of the propellers for motors 1 and 3 in Set 1, 3 and Motors 2 and 4 in Set 2, 4 operates in the same way as the plus-configured Quadrotor. However, achieving rotational and translational movements is different as two actuators are required to increase or decrease the speed so that the desired angle can be achieved. In essence, completing a roll, pitch or yaw motion can be attained by increasing the speed of two consistent motors. That is, for applying a CW-pitch motion: The motors in Set 1, 3 are set at different speeds (i.e. ω m1 > ω m3 ) while the motors in Set 2, 4 are also set at different speeds (i.e. ω m2 >  Fig. 6b. Similarly, to achieve a CCW-pitch motion: The actuators in Set 1, 3 are set at the opposite speeds (i.e. ω m1 < ω m3 ) while the speed of the motors in Set 2, 4 are also set at opposite speeds to the CW-pitch rotation (i.e. ω m2 < ω m4 ). When applying a CW-roll motion: Set 1, 3 are set to be one higher than the other (i.e. ω m1 < ω m3 ) while Set 2, 4 has similar configurations (i.e. ω m2 > ω m4 ) as shown in Fig. 6c. A CCW-Roll angle is achieved by setting ω m1 > ω m3 in Set 1, 3 while setting the speeds of Set 2, 4 to ω m2 < ω m4 . Finally, a CW-Yaw rotation around the z-axis is accomplished by upholding an equivalent speed of Set 1, 3 while reducing speed in Set 2, 4 . Likewise, a CCW-Yaw motion is attained by maintaining the speed of Set 2, 4 and reducing the speed in Set 1, 3 as shown in Fig. 6d.
By presenting the functionality of both Quadrotor configurations, the thrust mixing algorithm for the '+' and 'X' UAV is described in Table 3 which explains that changing the speed of a propeller in one of these sets will cause either a rolling or pitching motion, depending on the selected set.

Quadrotor Dynamics
In this section, the mathematical model will be developed and verified against those studied by different authors in [82][83][84][85][86]. It is assumed that the drone is rigid and has a symmetric structure; thrust is produced by propellers of equal size while the rotors are facing upward in the z-direction; and that all rotors have the same distances to the centre of mass. Regardless of the Quadrotor configuration, the centre of mass is assumed to be at the centre of the body inertial frame. Mathematically, the motions are presented by the twelve states in x T as shown in Eq. (1). {x, y, z} and {ẋ;ẏ;ż } denote the position and respective speeds with reference to the inertial fixed frame. Similarly, {ϕ, θ, ψ} and {φ:θ;ψ } correspond to the angular displacements (roll, pitch and yaw) and their rate of change as denoted in [1,84,87].
Where s and c denote sin and cos respectively. The positions coordinates and the moments of inertia for the Quadrotor body frame can be expressed as r bf in eq. (3) and J bf in eq. (4) [83].
J bf Contains scalar moments of inertia and the product of inertia. An example is depicted below: Therefore,

Aerodynamics Effects of the Propeller
Quadrotors are made up of propellers that consist of two or more blades and a central hub that fits directly into the motor rod. As a result of the way they are constructed, a thrust is produced by increasing the speed of the motor enforcing the vehicle to lift in the relative direction. Fig. 7 shows the air passing through the propeller which is defined as the free flow of air within the stream tube; the highlighted region of the air outside the area of the stream tube is undisturbed. As the rotational velocity of air is increased, the thrust generated is also increased as a result.
Since propellers are the sole generators of aerodynamic loads. Choosing the size, weight and material of these components is necessary in order to achieve an efficient flight. For instance, applying a large propeller to an actuator will increase the stream tube size resulting in an increased flight speed but will also consume more power [88]. Thus, the primary task in finding a suitable propeller in Quadrotor aerodynamic design is to firstly find the thrust and drag coefficient of the blades which are generally presented by the manufacturer.
As the user increases the motor voltage, a thrust is generated due to the aerodynamic loads from the propeller. Therefore, the theoretical expression for this mechanical motion is described as [14,88,89]: Where T i is the thrust moment for the corresponding brushless DC (BLDC) motor i, Ω 2 i is the angular speed of the BLDC motor i and K is a constant that represents either the thrust factor b or the drag factor d. The K constant is chosen according to the desired orientation of the Quadrotor. In the form of Bernoulli's eq. [90][91][92][93], one can come to conclude that the thrust and drag factor can be calculated as: Where C T is the thrust coefficient, ρ is the air density and D is the diameter of the area swept by the propeller as shown on Fig. 7. The thrust coefficient can be derived depending on the propeller geometry and the aerodynamic characteristics using the blade element theory [3]. Therefore, transposing eq. (8) into (7) becomes: Assuming that a Quadrotor is rotating about the z-axis in hovering mode, the propeller will generate a drag momentum acting in the opposite direction of which it is turning [6]. Hence, the drag factor that determines the power required to spin the propeller is expressed as: Where C P is the power coefficient of the propeller. Transposing eq. (10) into eq. (7) will provide the following expression: By assuming that a plus configured Quadrotor is to be studied, achieving the desired control action can be determined through the systems input signals which are described by the addition and subtraction of the four independent actuators, as shown in the following equations: The control action is dependent on the angular velocities of four independent rotors noted as Ω 1 , Ω 2 , Ω 3 and Ω 4 . Ω r is the overall residual propeller angular speed which is considered in the gyroscopic torque as the Quadrotor rolls or pitches.
The matrix form for the theoretical control action presented in eq. (12) is described as: Where the parameters mentioned for the thrust and drag factor can be collected from the manufacturers or propellers datasheet. For example, a propeller that researchers may consider investigating is a carbon fibre T-Style 10 × 5.5. This was particularly chosen due to its lightweight material and rigid structure that will give better performance at higher speeds. The aerodynamics characteristics are obtained from [88] and are depicted in Table 4: Using the parameter values from Table 4, the thrust and drag factor are calculated as: The full dynamic model for the Quadrotor in translational and rotational motions can be described through the transformation between coordinate frames as shown in Fig. 8.
The complete mathematical model for the Quadrotor is presented through Euler's equation of motion as: :: :: :: :: :: :: Where, U 1 is the total thrust generated by the four rotors; U 2 , U 3 and U 4 are the respective roll, pitch and yaw thrusts; m denotes the mass of the Quadrotor; g denote the acceleration due to gravity; l represent the length from the motor to the centre of mass; J r signifies the moment of inertia; and I x , I y and I z are the moment of inertia in the x, y and z axes for the whole body.

Dynamic Simulation
Since Quadrotors are under-actuated systems, they are strictly limited to achieving roll, pitch, yaw and vertical movements. For instance, achieving a translational motion along a horizontal axis is essentially achieved by creating an angular motion on the Quadrotor. So far, the dynamic behaviour of these vehicles has been theoretically explained whereby applying such theory in a real environment without a control law will demonstrate a performance that is impractical. In [94,95], our previous work was set on applying the dynamics into Simulink and analysing the performance without using any control techniques. The results obtained were used to verify the correctness of a Quadrotor helicopter model. Figure 9 depicts the designed dynamic system on Simulink which has been separated into five regions for ease of understanding. The region highlighted in orange considers the actuators as well as the propellers selected for the study, where the output of the thrust generated is followed through to the mixing algorithm. This is linked to the control input of the equations of motion within the region highlighted in red. The Quadrotor parameters such as mass, body inertia, gravitational acceleration etc. are all stored within the system variable block highlighted in green, where the selection of these parametric values correspond to the equations of motion. Once the control inputs are defined by the user, the integration process where the actual states of the vehicle can be viewed with respect to eq. (1) as a set of response curves. The simulation process of the block diagram shown in Fig. 9 was purely focused on demonstrating and justifying the performance using simple Kinematics approach. This was calculated through the thrust generated by each actuator disk which is set as the input to the equations of motion. Figure 10 depicts the response curves attained from the system in Fig. 9 while comparing it against the kinematics approach. Figure 10a illustrates the vertical displacement of the vehicle as a 10 N thrust is applied for 1 s. Figure 10b show the lift and descent displacements of the Quadrotor as a 19.8 N force is applied for 2 s. Figure 10c illustrates the change in velocity based on the motion attained in Fig. 10b where it begins to descend after 2 s. Finally, Fig. 10d presents a different study where the behaviour of the UAV changes as the forces are also varied at different intervals. Two set of results are presented where one considers the kinematics calculation while the other considers the Simulink results [94].
It is worth mentioning that the signals presented in Fig. 10 is considering the analysis of the UAV without using any controllers. However, once a control law is implemented into the system, one can achieve desired positions and angles autonomously. The performance of the Quadrotor moving vertically upwards using the model parameters can vary depending on the values selected (mass, inertia, thrust factor, drag factor etc.). Many authors have studied various Quadrotors by changing these values as it can be found in [33,[96][97][98][99]. To conclude, in depth research and careful contemplation and consideration needs to be established to help determine the performance levels of certain controllers and what impact they could have on these flying vehicles.

Simulation Tools
In order to examine the performance of various UAVs, researchers have monumentally relied on simulation software to assess the vehicle in several ways. In essence, VTOL UAVs essentially require accurate data transmission and orientations control, therefore, designing and testing the physical system under an ideal simulation software would provide realistic results where any alternations can be carried out before the final product is practically developed. However, the simulation side of things poses some serious challenges especially with real time control. Real world disturbances such as wind or sudden gusts can affect the system inversely as compared to simulating the system which has less of an impact. For example, a sudden fault in the system can affect the dynamic of the drone differently over time whereas simulating this requires a command from the user. In this section, a number of software that researchers have used for simulation purposes are introduced [41,[100][101][102][103][104]. Thus, the following reports several related software that are found feasible in analysing the dynamic of the proposed vehicle.
Matlab/Simulink is a programming platform that is commonly used by scientist and engineers to mainly analyse data, develop algorithms and create models. Due to its popularity and high demand in industry, the built-in mathematical functions allows users to input their own algorithm and evaluate the output data. Although researchers have unanimously described the behaviour of a UAV as a set of equations using Simulink, the continuous development of these vehicles in terms of the mechanical modifications requires further mathematical expressions to describe the enhanced structure. According to M. Raju, the dynamic equations of a Quadrotor are represented based on a single rigid body which comprises of all its components, however the effects of multi-body interactions that occur in real time is not considered. This is due to the fact that as the number of bodies increase within the system, the detailed dynamic interaction between these components becomes more complex to express mathematically [105].
Martínez also mentions that researchers are referring back to the helicopter theory to seek for clues on how to produce better models that represent the UAV dynamics. Additionally, the application of helicopter theory compared to Quadrotor theory is not straight forward [106]. Therefore, physical modelling software are introduced which can be utilised to predict the vehicle performance in a more detailed manner.
GazeBo is a multi-body interaction software developed in 2002 with a concept of simulating robots in outdoor environments. The popularity of the software immensely grew over the years due to its ease of implementation and the ability to consider external disturbances. Since the software became known worldwide for its great features, users began to use it on multi robots and indoor environments testing various mathematical models, designing robots to meet user requirements, and more importantly, being able to test Artificial intelligence (AI) systems within realistic situations. Moreover, the open source software also allows users to program their robots and view the reaction through graphical user interfaces (GUI) platform [41,101,107].
ARGos is another type of software that is commonly used to simulate a flock of robots working simultaneously. Each of these robots are characterized with a number of components such as actuators, sensors, control module etc. that can be studied. So far, there has been numerous simulators developed to test and evaluate single robots only. However, ARGos has the ability to test multiple machines working simultaneously while providing results, but, a drawback of increased computational power and degraded performance is encountered as the number of robots are increased [41,102].
Msc ADAMS is an abbreviation for Automatic Dynamic Analysis Mechanical Systems, which is a powerful software that can build and model almost any multi-body interactive system [108]. Initially, users are required to construct geometries or import CAD designs into the software where the performance can be viewed in a 3D environment. Accurate motions can be viewed once the constraints, forces and moments are applied to the relative components without the need of considering any mathematical expressions to the vehicle dynamics [109].
To differentiate the level of capabilities between each software, the advantages and disadvantages are conveyed in Table 5 respectively.

Control Strategies
Although the particular UAV (Quadrotor) presented previously may have several advantages over other UAVs with regard to movement, motion control and price [96]. They do however require a more vigorous adaptive control algorithm in order to effectively stabilise these systems. According to previous studies, many control techniques are being implemented on robotics systems today. With regard to Quadrotors, each control algorithm has a unique method of implementation where some are linear while others are non-linear. Non-linear controllers are known to be theoretically complicated and must require extensive study to understand the functionality but in terms of implementation, linear controllers are far easier. Nonlinear controllers operate in a much wider operating region in which the full dynamic system can be considered and account for non-linear aerodynamic effects whereas linear controllers have a restricted operation [97].
Common control laws which have received a large interest from researchers are the Backstepping [16][17][18], Gain- scheduling [110][111][112], adaptive control [92,[113][114][115], H ∞ Control [116,117], Fuzzy Logic [118][119][120], Linear Quadratic Regulators (LQR) [8][9][10][11], Proportional Integral Derivative (PID) [5][6][7]98] and Sliding mode controllers (SMC) [7,12,13]. Since these are found to be the popular control techniques for attitude stabilisation and position control, this review will focus on providing the reader with an overview of the controller functionality as well as other researchers' comments on the performance. On the other hand, two of these controllers will be reviewed and studied further in terms of exploring the functionality and understanding the performance capability of each technique. The selection of the first controller must meet the criteria of simple implementation and suitable control while ignoring the aspect of robustness against external disturbances. As for the second controller, robustness is a priority where the Quadrotor must have great stability regardless of various disturbances.

Backstepping
The basic functionality of a Backstepping technique consists of breaking down the systems control architecture into subsections. The name "Backstepping" refers to the recursive nature of the design procedure, where initially, the physical control input is considered within a small subsystem by which a virtual control law is created. Following that, the design is further constructed into a number of sub steps until a full controllability of the system is achieved. The development process is also based on the Lyapunov theorem that involves the stability of solutions through ordinary differential eqs. [121,122].
The author in [123] has presented a Backstepping control strategy to control the load position of two mass systems with unknown backlash. Controlling the two mass system will consist of either controlling the speed or position, in which one mass represents the motor while the other one represents a load (e.g. propeller aerodynamic load) that are connected together via a shaft. Assuming that all the feedback signals from the motor, shaft and load are available. Designing the control algorithm consists of a pre-control block as shown on Fig. 11, where the input to this particular block considers the actual feedback states of the system which drives the required signals for executing the nonlinear Backstepping control law. The authors have mentioned that the availability of all the system states have provided asymptotic stability and that future improvements will focus on the consideration of designing more steps for the controller.
The authors in [18] have also studied Backstepping combined with PID for controlling the attitude of a Quadrotor UAV. The results obtained are compared with the conventional PID controller, where motor dynamics are also considered in the system. Figure 12 depicts the performance outcome of a Backstepping based PID (BS-PID) compared with a typical PID controller. It is evident that the BS-PID showed higher robustness and an improved transient response. While changing the attitude, the BS-PID controller has also showed a better performance in overshooting and settling time.

Gain Scheduling
The use of gain scheduling encompasses the ability to extend the region of stability to a Quadrotor. This is achieved by autonomously selecting appropriate gains of the controller as the UAV advances in flight. To express this further, the linearization about a certain point of a nonlinear system is only valid around that point where only local asymptotic stability is guaranteed. Therefore, the use of gain scheduling can improve the linearization capability of further extension to a range of operating points, which is achieved by enforcing the controller parameters to vary as the system dynamically changes [110]. The authors in [111] have mentioned that if the change of dynamics in a system can be determined, then the parameters can be viewed and changed by monitoring operating conditions.
In papers [110,124], the authors followed a common design procedure for gain scheduling to control a Quadrotor. A linear parameter varying model of the UAV was constructed using Jacobian linearization method in which multiple equilibrium points were set, typically known for this controller as scheduling variables (variables whose values are monitored to determine when and how will the controller switch). Typical linearization control techniques are used to develop controllers for the linear parameter varying model of the plant. Finally, determining how the controller switches around these equilibrium points will be dependent on how the scheduling variable changes. Figure 13 depicts the parameter varying Fig. 11 Block diagram of fourstep Backstepping control algorithm [123] model which changes from one point to the other as the scheduling variable is changed. Where α k (k = 0, 1, 2, 3 etc.) is the constant reference signals, R α k denotes the region of attraction where the controller is scheduled.
In the process of designing such a controller, the gains were set at a fixed point to kick start the basis for the development of a full gain scheduled controller. Using linearization techniques to represent the nonlinear dynamics of a Quadrotor by finding the equilibrium points, controllability and observability techniques were used in combination with the gain scheduler to stabilize the UAV. In Fig. 14, the block diagram has been modified to include a scheduling feature which is fed back into the controller. This feature reads the systems output states feeding them back to the controller in which the adjustments are implemented when necessary.
Where, K represents the controller, f(x, u) represents the dynamics of the Quadrotor and u ss defines the equilibrium points control input. The fixed gain controller shown on Fig. 14 was studied by the authors in Matlab to track a reference trajectory. Figure 15 depicts the resultant motion of the vehicle as it attempts to track a circular trajectory while changing the yaw angle. However, the UAV begins to deviate from the desired trajectory as the reference angle is increased by 35%.
Correcting this issue implies that an improved controller that can switch between parameters as the UAV deviates further away from the equilibrium point is required. Developing the gain scheduling controller entails that all the states within the system are available online. Switching these parameters can be decided with a tolerance feature that changes as the system deviates from the reference signal. To demonstrate how the modifications made in Fig. 14 are superior to the fixed gain controller, the authors repeated the circular trajectory simulation, where the resultant output data from the Quadrotor states seemed to remain tangential to the reference signal at all times. Figure 16 shows the simulation results of a Quadrotor operating under a gain scheduled controller as the reference is followed by adjusting the yaw angle, each colour represents the switching of the controller along the trajectory. As the tolerance is decreased, it can be seen that the accuracy is improved and that the switching occurs more frequently.

Adaptive Control
The adaptive control method is an advanced control technique that provides a systematic approach in automatically adjusting the parameters of the controller in real time. While the UAV is flying, maintaining a desired control performance is essential, however, external disturbances may occur causing the parameters of the system to become unknown or change in time. Thus, the adaptive control method can be applied such that these uncertainties are identified [115]. The authors in [113] have investigated a model reference adaptive control (MRAC) which is a strategy that adjusts the controller's parameters such that the plant dynamics can track the reference path successfully. While the system states are fed back to the Fig. 13 Trajectory tracking under gain scheduled control, each colour represents a separate equilibrium point design [110] Fig. 12 BS-PID compared with conventional optimized PID while changing the attitude of the UAV [18] reference, an adjustment mechanism is used to ensure that the feedback values are ideal so that the tracking error is minimized. Thus, this technique has become popular due to its great stability and that no information is required from the plant model since there is a desired behaviour already in place. Figure 17 illustrates a block diagram of an MRAC implemented on a Quadrotor.
Considering the fact that the authors have only focused on controlling the angular position, angular velocity and acceleration. The test began by assuming that the controller parameters are unknown whereby using an online adaptive mechanism to determine the values will permit the convergence of the plants response to the model reference. Therefore, the adaptive controller attempts to keep the tracking error minimized, this is done by adjusting the controller parameters causing the real parameters of the plant to follow the reference signal. Fig. , illustrates the response of a state within the plant and the reference model, where it can be observed that the state of the plant converges asymptotically to the reference model. Fig. 18 (b) represents the tracking of a roll angle, while changing the desired signal, the reference model can be seen responsive in forcing the actual plant to follow the trajectory which explains why researchers say that no information of the plant model is required. Fig. 14 Block Diagrams of the conventional controller and the gain scheduled control system [110] Fig. 15 Response curve representation of the Quadrotor as it attempts to track the reference signal under fixed gain control [110]

Neural Network
An artificial neural network (NN) control system is a modern engineering control system that became very popular due to its abilities to deal with intractable and cumbersome systems. It is a type of an intelligent controller that adjusts itself online as it learns from the output of a traditional controller [125]. The aim of designing such a control law is to enforce the system states towards an equilibrium point by making the feedback error move towards zero.
In [126], a neural network adaptive sliding mode system is designed to control a quadrotor for positional and attitude tracking. The design approach consists of developing a traditional SMC for each state to be controlled, while their coefficients are adaptively tuned by the NN method. This technique ensures that the system has a powerful capability of tackling non-linearity, fault tolerance, adaptation and continuous online learning. The research group in [127] proposed an NN robust algorithm to enforce quadrotor tracking for positional and attitude trajectory. The NN based method is adopted to estimate and overcome unknown internal and external uncertainties while the vehicle is carrying out the required mission. In terms of the design approach for the NN adaptive controller, fig. 19 illustrates a flowchart where the NN is completely based on the tracking error of the vehicle. Then, an estimation phase is considered to generate appropriate control input to the quadrotor model while compensating disturbances. The authors conclude that by using such an Fig. 16 Tracking trajectory using the gain scheduled controller [110] Fig. 17 Model reference adaptive control (MRAC) applied on to the Quadrotor model [113] approach, the state-dependant bounds of internal and external uncertainties has been successfully approximated and estimated to build a successful control scheme.

H ∞ Control
H ∞ has a unique method of viewing the control as a mathematical optimization problem. Finding the correct gain values to stabilize the system is a vital objective for this type of controller [116,117]. A general control configuration is introduced by Doyle [128] where the block diagram shown in Fig. 20 provides a broad insight of how the H ∞ controller functions. The block P is expressed as the generalized plant and block K is the controller, in this case, the generalized plant P contains the Quadrotor dynamic system, plus all weighing functions. The input signal ω carries all of the inputs including external signals such as sensor noises, uncertain disturbances (e.g. wind) and the usual commands; the output Z carries the system states while V carries the measured variable and U is the control input that improves the performance of the plant P. The main aim of this configuration is to minimize the error of the output signal Z by using the measured variable V in K to manipulate the control input variable U. Implementing such a controller successfully has proved that external disturbances were rejected and that the controller was able to successfully deal with parametric uncertainties.
The authors in [129] have investigated the performance of a H ∞ controller while the Quadrotor follows a reference trajectory. While basing the H ∞ with a model predictive controller (MPC), the vehicle was tested under external disturbances comparing the output results against a Backstepping controller. Additionally, a positional control within the Cartesian coordinate system is applied at different time intervals illustrates a promising performance from both controllers as shown on Fig. 21. Other analysis and comparisons were also carried out by the authors where they have concluded that the MPC-Nonlinear H ∞ control generated a better input control than the Backstepping technique.

Fuzzy Logic
Fuzzy logic controllers have a powerful problem-solving method which can now be found in many applications [118][119][120]. Unlike other controllers, fuzzy logic designs are easier to implement considering the fact that ideal Fig. 18 (a) state response of the actual plant and the reference model (b) comparing the actual plant and the reference model as a reference value plant is followed [118] Fig. 19 NN based control strategy flowchart [127] Fig . 20 Generalised functionality of the H ∞ controller [128] performance can be achieved even if the full dynamic behaviour of the plant is not realised. This makes it suitable for systems that are highly complex and non-linear in nature, where the description of the exact mathematical model is difficult to attain. The general functionality of a fuzzy logic controller consists of three main parts: Fuzzifier, Rule base and Defuzzifier. Assuming that the 'plant' block in Fig. 22 represents the dynamic behaviour of the Quadrotor, the main aim of the fuzzy logic region is to minimize the error as the dynamics change.
The 'fuzzifier' processes the plants numerical values and converts them into a class of set members so that a decision is made depending on the condition of each member. The 'Rule base' consists of a control system that makes a decision constituted in the form of if-then rules that determines the relationship between the input and output variables based on the operator commands. Control rules are defined with Linguistic terms such as NB (Negative Big), NS (Negative Small), Z (Zero), PS (Positive Small), PB (Positive Big) which are formulated to describe the set of member. The 'Defuzzifier' transforms the fuzzified output into a crisp output which is fed back into the plant [130,131].
In paper [132], the authors have analysed the performance of the fuzzy logic controller by making the Quadrotor follow a circular path. Doing so meant that the UAV is dependent on two factors: the curvature of the path and the velocity of the Quadrotor. Fuzzy logic techniques where used to set the velocity and the curvature of the path to ideal values preventing deviations from occurring. Modifying these values to the correct parameters will improve the performance of the pathfollowing algorithm. Two variables are then used, where v Q represents the velocity and Ω is the maximum yaw rate of the Quadrotor. A dimensionless variable k is proposed to obtain the parameters of the algorithm, where it is simply selected between high, medium or low functions where each member consists of ideal values that the operator applies manually. Figure 23 shows how the author measured the operation of each configuration where in Fig. 23 a & b, the yaw rate and velocity are set to fixed values, setting the k variable to low has showed minimum error at the start while k = high holds more errors. Therefore, choosing k = medium is the most appropriate configuration in which the error was ideally balanced compared to the other two. Fig. 23 c & d shows that the maximum yaw rate has increased while keeping the same velocity. Note that k = low has illustrated a better performance up to approximately 1.8 m/s, but since the yaw rate increased, it seemed that k = high is now more appropriate in stabilizing the Quadrotor.

Linear Quadratic Regulator (LQR)
Many control engineers are still using LQRs due to their ability in handling complex dynamic systems such as Quadrotors. Despite the fact that the LQR is restricted to linear control laws, linearizing the dynamics of a non-linear system shows that a great performance can be achieved [14]. The LQR controller holds a set of mathematical algorithms that creates an effective controller which is able to cater for external disturbances [14,133]. Achieving an optimal performance from the controller is essentially described as the changes in the control input depending on the system states, doing this can be done through analysing the changes in the feedback signal that will affect the overall function J as shown on eq. (23): Where x ∈ ℝ n and u ∈ ℝ m represent the changes in the state and input vector, Q ∈ ℝ n * n is the system state matrix and R ∈ ℝ m * m is the control input matrix. Attaining stability by minimizing the cost function J can be achieved through the interaction of the states and control input, where Q is a weighting positive definite matrix (Q > 0) and R is a weighting positive semi-definite matrix (R ≥ 0). Figure 24 illustrates the difference between the system state x and the control input u. The dynamic response of the   [130] Quadrotor can reach the desired state by considerably increasing the control input until the state is reached. Therefore, choosing the parameters for this controller must be carefully considered in order to prevent the control input from causing the system to overshoot the reference signal.
The authors in paper [10] have expressed an optimal LQR theory for the altitude motion with a consideration of external disturbances. By adding the Kalman filtering techniques, the effectiveness of the LQR against the Gaussian white noise generated in MATLAB has slightly effected the vehicles performance. However, the robustness of the filtering techniques working with the LQR controller clearly improved the vehicles performance as shown on Fig. 25.

PID Control
Proportional integral derivative (PID) is a type of controller that is most commonly used and applied in mechanical systems. Describing the functionality of this type of controller will consist of three parameter gains K p , K i and K d as presented through mathematical equations by the authors in [134][135][136]. The proportional term K p ,is in most cases the main driving force where the output changes depending on the feedback signal. As the error gets larger over time, the proportional control action is increased. The integral term K i , will attempt to drive the controller far enough until the error is eliminated. For a given error, the speed of the integral action is set by the Fig. 23 Two examples of the UAV following a circular trajectory [132] Fig. 24 The system state response curve vs the control input [10] time setting K i , when the system states overshoots and settles with a steady state error to the reference value. The Integral action can eliminate this error overtime, enforcing the system to follow the desired trajectory accurately. As for the derivative term K d , it is highly used in motion control where a sensitive system that has a large overshoot can be eliminated by increasing the derivative action, however, choosing a large derivative will cause the system to slowly reach the reference point which may not be suitable for systems that require quick responsivity. Fig. 26 illustrates a block diagram of a quadrotor that is modelled with the inclusion of a PID controller for positional tracking.
The authors in [5][6][7]98] deployed classical control (PD and PID) actions to analyse the behaviour of the Quadrotor. For instance, the authors in [5] controlled the attitude of a Quadrotor by using three independent inner loops; rolling, pitching and yawing. Positioning the UAV along the x, y and z-axis requires a separate controller which has been divided into two subsections; altitude control loop and lateral position control loop. With all the inner control loops working together, the Quadrotor was able to identify the position coordinates in MATLAB when a change in the pitch, roll and altitude is enforced. The writers concluded that although numerous control methods are proposed by other researchers, the PID controller can effectively deal with the problem of attitude stabilization and position control. However, the performance can be further improved by optimizing the PID parameters in which stability can be reached faster but the overshoot generated may become larger.
The literature is also rich with PID control technique being applied to Quadrotors within indoor environments (i.e. without disturbances). However, they have a very limited robustness against external perturbations such as wind or unmodelled dynamics. Many research groups have compared the PID against other control laws particularly focusing on the trajectory tracking and robustness against external disturbances. For instance, the authors in [137] have respectively analysed SMC and PID controllers on the Quadrotor model using Simulink. After tuning the parameter gains for both methods, the chattering effects for the sliding mode and the steady state error for the PID controller were reduced. The simulation results revealed that the SMC law was able to track the desired values with faster response than the PID controller. However, a common problem for SMC revealed a consistency of chattering which may affect the vehicle dynamics if the oscillation increases, which can be avoided by introducing a boundary layer as mentioned in [83]. Figure 27 illustrates the difference in performance and implementation of the PID and SMC. In Fig. 27 (left), a PID controller was designed on Simulink followed by tuning the parameters during numerous iterations. Figure 27 (right) illustrates a block diagram that was also designed on Simulink for a SMC, however, the chattering effects were reduced by adding the sigmoid function. As for the performance comparison, it can be seen that both controllers have achieved ideal response, though, PID controllers have consumed more time to reach the reference signal (approx. 4 s) while sliding mode reached it quicker (approx. 2.5 s). Therefore, the authors concluded that sliding mode was able to track the desired values with faster response than the PID controller.
In [135], PD, PID and LQ controls were implemented on a Quadrotor with a target of stabilising the orientation angles. Applying only PD control techniques to the dynamic model has demonstrated that the performance was satisfactory.
Adding the integral term has demonstrated that the stabilisation is faster and the response of the system is much smoother. However, the author mentions that this type of controller will not be able to stabilize the UAV under the presence of strong perturbations. The LQ controller demonstrated faster response in reaching the reference signal considering the fact that the initial angles were also larger.

Sliding Mode Control
Sliding mode is a non-linear control algorithm that is widely used by engineers to successfully control different mechanical systems due to its insensitivity against external perturbations. Drones are known to accommodate noise and external disturbances in flight, their advanced dynamics requires a very agile and robust control system. The SMC can tackle this by keeping the drone stable in flight using a unique method of not modelling the disturbances but rather, developing and designing a control law that is able to guarantee a great performance for the system [15].
To describe the functionality of a SMC, Fig. 28 illustrates the principles of the controller, where x = (x 1 , x 2 ) T , Let x 1 and x 2 be the system states, when a control algorithm is designed and tested, the initial state begins outside the manifold s where the main task of the control input is designed in such a way to Fig. 25 The change in altitude compares how the controller reacts with external disturbances against the Kalman filter [10] guide the states towards the manifold. Once this is successfully reached, the state will be forced to move along the manifold in which the occurrence of switching will continue to appear while trying to reach the final state, which is generally referred to as a chattering phenomenon. Being exposed to external disturbances will result in the signal deviating from the manifold. Therefore, keeping the chattering effects at minimum will improve the flight stability [138].
The literature reviewed regarding the topic of SMC on Quadrotors has been vastly researched by many. Defining the functionality of classical control theory and their performance on Quadrotors is mentioned in [7,12,13]. For example, Mehmet in [12] has applied a SMC to the Quadrotor dynamics enforcing the behaviour of the system states towards the desired trajectories. The authors mentioned that SMC are very well known for their robustness to uncertainties, where the goal of the controller is to enforce the error vector towards the sliding surface during the reaching phase. Once the sliding surface is reached, the error vector obeys the behaviour of staying within that region until the origin is reached. During this process, the control system showed high robustness and insensitivity to disturbances unless the limits for maintaining the sliding motion is exceeded.
Simulating the theoretical work shown on Fig. 29 is assessed by applying the desired angles for each sub controller. For simplicity, the complete system was firstly analysed by assessing the movements of the Quadrotor in one direction while limiting the actions of the remaining axes. Next, Fig. 30 illustrates the final simulation of how the vehicle was able to clearly reach the altitude of 100 m, then starts navigating at this altitude following a circular path, before landing at the initial point. The author concludes that the trajectory was followed successfully and that the performance of the controller was very promising in this scenario.
Due to the fact that SMC are not the only controllers that are able to overcome disturbances, many researchers within the control systems field have compared and combined robust controllers simultaneously in order to achieve an improved performance. For example, the authors in [140] have implemented three controllers comparing the; Backstepping based sliding mode (BSM) against a typical PID and, an Adaptive Backstepping sliding mode controller (ABSM). The system was designed to function as having the adaptive law estimate the unknown parameter variations and the upper bound of uncertainties, which is then passed on to the BSM controller to achieve attitude stabilisation. Implementation of the BSM controller was adopted using the Lyapunov stability theorem. By selecting appropriate gains for the controllers, a tracking comparison of the three controllers was observed as shown on Fig. 31. Although it can be observed that all three controllers have tracked the reference path successfully, PID techniques has presented a performance that is weaker than the other control types. As for the BSM and ABSM, both have showed excellent tracking performance where the author concluded that the proposed ABSM method was able to achieve faster response, smaller tracking error and stronger robustness.

Comparative Study
Although the controllers mentioned above were able to successfully enforce the vehicle dynamics towards the reference Fig. 26 Block diagram of the control implementation for a traditional Quadrotor [5] state. Each of these techniques are implemented in various ways such that the control output reacts differently from one another. In fact, the continuous research of these techniques is becoming widely implemented for practical experiments where the variations in the controller response can be viewed. As a result, the dynamics react uniquely in terms of responsivity and robustness based on the selected controller. Nevertheless, the implementation approach is somewhat similar to the flowchart shown on Fig. 32, which is aimed at researchers who are modelling dynamics and designing a control system for their selected UAV.
With regard to the controllers mentioned in this review, we noticed that there is a great research focused on modifying the design to achieve an improved performance from the dynamic model. In particular, Quadrotors have been greatly researched for applications that are carried out in outdoor environments. However, to reach that stage of complex behaviour analysis, the authors are following numerous steps in order to achieve the desired requirements from the system. For instance, considering the fact that this research is aimed at Quadrotor UAVs, the performance of such system is prodigiously dependant on the control system and the mechanical architecture. The capability of the vehicle is assessed based on the following steps: Fig. 27 Altitude response attained through PID (Left) and Sliding mode techniques (Right) after designing the system on Simulink [137] Fig. 28 Switching process in reaching the final state [138] & Application set for indoor environments. & Precise control is essential (minimum steady state). & Able to reach the desired positions (x, y and z) with quick responsivity. & Strongly resistible against external perturbations (outdoor areas).
With regard to the control techniques mentioned in this paper, many authors have attempted to compare two control laws while other authors have combined these techniques in order to achieve an improved performance. For this particular review, the main focus will be considered towards selecting a controller that is able to successfully achieve all the steps mentioned above, especially the aspect of overcoming external disturbances such as wind. On the other hand, a second controller will also be selected with a main criteria of successive responsivity and ease of implementation. However, the robustness and insensitivities will be considered least important.
Based on the literature reviewed, the most popular controllers that are generally implemented for analysis are either simple techniques such as the PID, or more advanced robust controllers that are able to overcome uncertainties such as the SMC. These two methods are found to be implemented on Quadrotors using various approaches where it is dependent on meeting the operators' requirement and the set application. For instance, the authors in [141] have implemented a PD, PID and SMC controllers to a Quadrotor with a main focus of achieving successful position control, it was concluded that the SMC is rapidly responsive in taking the Quadrotor to a specified angle in less time than the PD and the PID controllers.
In [142], the authors have implemented model reference adaptive control to stabilize the Quadrotor as it lifts and descends while attempting to pick object of unknown dimension and mass. By comparing LQR and the adaptive control, both techniques where viable in terms of ensuring stability especially the adaptive controller. However, if the dynamic system is set to not deviate away from the equilibrium point, then the LQR would be very effective in tracking the desired trajectory.
A PD, PID and LQR controls were implemented on a Quadrotor where the target was to stabilize the orientation angles. Applying only PD control techniques to the dynamic model has demonstrated that the performance was satisfactory  Fig. 30 Behaviour of the UAV in the Cartesian space by following a certain trajectory using sliding mode control [13] provided that it's a simple controller. Adding the integral term has demonstrated that the dynamic system was able to present a smoother response with less steady state error. However, the author mentions that this type of controller will not be able to stabilize the UAV under the presence of strong perturbations, and that the LQR controller demonstrated faster response in reaching the reference signal considering the fact that the initial angles were also larger [135].
The research group in [143] have proposed three non-linear control strategies to control a Quadrotor; SMC, PID and Backstepping. The proposed control laws have the criteria in achieving pitching, rolling and altitude motion respectively with an aim of achieving quick responsivity. Upon implementing the systems on MATLAB/Simulink, the overall results obtained were satisfactory. However, the PID consumes more time in stabilising the system as compared to the others. On the other hand, SMC and Backstepping techniques were able to present a better control of the orientation angles were the nominal case was positively reached.
Other authors have compared the performance of the Quadrotor using two controllers; Backstepping and SMC. The main aim of the research was to track the desired position in the Cartesian coordinate system while varying the parameters that act as disturbances. The authors concluded that both controllers where robust against parameter variations by up to 10%. However, the SMC was able to converge at a faster and smoother pace than the Backstepping control [144].
A comparison of SMC, Backstepping and Adaptive controllers where carried out by [145], which was dedicated to robust tracking of a UAV in the presence of external disturbances and partial actuator failure. SMC and Backstepping controllers where able to possess robustness in dealing with uncertainties and propeller failure. Although the SMC consists of a common drawback known as chattering, experimental studies have indicated that this controller was able to achieve better stability, faster tracking performance and greater robustness as compared to the Backstepping controller.
Two linear techniques were proposed by the author in [146] to control the UAV with an emphasis of external disturbances using H ∞ and LQR controllers. Adding wind velocity in a particular direction was respectively analysed for each controller. The author mentions that the LQR was able to handle the disturbances successfully while following the desired trajectory. As for the H ∞ , satisfactory results where attained when negligible disturbances are considered. However, it was very sensitive once the external wind velocities are applied, causing the dynamic system to deviate away from the reference trajectory.
A methodological approach is carried out into selecting the most ideal controller based on the comparisons gathered from the literature reviewed. Although the controllers mentioned in this literature were successfully implemented on the Quadrotor dynamic model, we synthesise these methods into considering a single approach that is most prominent for the steps mentioned above. Ultimately, the main criteria is to determine a controller that has been widely selected in the literature due to its capability of overcoming uncertainties. Figure 33 illustrates an elimination table that demonstrates the stronger controller based on the evidences achieved from this paper.
While the LQR was able to show a better performance against the H ∞ , Adaptive and PID controllers, the SMC was able to show faster convergence to the nominal case, faster settling time and better robustness against external disturbances, in which we conclude that researchers selected SMC due to the advanced capabilities that the system is able to deliver. As for determining a second controller that is easy to implement, PID controllers are generally known to be highly implemented within the field of UAVs in comparison to other control techniques [147]. The authors in [148] mentions that PID controllers are the most applied controllers on Quadrotors due to their reliability, ease of tuning and design.
The literature reviewed has also indicated that there is great research taking place in combining two control techniques to improve the vehicles responsivity and robustness. However, the implementation of such laws consumes more energy and is generally more complex than that of a normal controller. For instance, Fuzzy Logic and Gain Scheduling are techniques that are implemented on standard controllers to improve the performance. Applying external disturbances or parameter variations might prevent the controller from performing at its best capability due to the fixed parameter gains applied. Hence, adding the gain scheduling method to the standard controller (e.g. PID) will present an improved performance due to the fact that the parameter gains are scheduled as the UAV is undertaking flight.
Another example is presented by the authors in [30], where they have investigated different control methods including sliding mode, Backstepping, PID, adaptive and fuzzy logic explaining the functionality, advantages and disadvantages of each law. The paper expresses that a combination of two controllers such as Fuzzy logic based PID will provide the system with an improved performance in terms of less overshooting, oscillations and settling time. Hence, some researchers exploring various controllers have focused on increasing the responsivity by combining two types in which the response gained became more successful.

Closing Remarks
With regard to the control laws discussed above, some of these techniques have shown a similar performance while all authors in the literature reviewed mentioned that the controllers achieved ideal performance. However, selecting the most suitable controller for the desired plant may be more convenient for the reader if the benefits and drawbacks of each technique are presented. Table 6 expresses the advantages and disadvantages of each controller based on other authors comments. The comparative study of various controllers mentioned in the above table indicates that each controller consists of its own unique advantages. However, each control technique applied to a system will present some limitations. For this, the literature reviewed particularly mentions that SMC holds all of the characteristics required to effectively achieve great performance from the Quadrotor. As for the second controller, many researchers have greatly focused on implementing PID controllers due to their simplicity of design and effective performance.

Conclusion
The literature reviewed shows that there is a large number of technological features readily available for UAVs. These features include sensory equipment and many other components that can be physically added to the flight system. As for the mechanical architecture, many authors have focused on innovatively developing novel drones to function in a manner which has an increased advantage over other designs. This may be appropriate for a specific application but may not be applicable for others, therefore, modifying the selected control techniques became very popular in which the performance of these mechanical systems greatly improved. The novel development and designs from traditional Quadrotors to Tiltrotors or Tilt-wings is becoming the new trend where many authors and research groups are focused towards practically implementing these systems within many outdoor applications. In fact, it is believed that any mechanical development of traditional Quadrotors is becoming a focus in the literature, especially those that are mechanically modified to structurally change during flight. LQR [8-11, 14, 133] -Robust stability with minimized energy consumption.
-Effectiveness is improved when adding the Kalman filter to the system.
-Requires full access to the states of the system which is not always possible. -No guarantee on the speed of response.
-Unsuitable for systems that require consistent minimum steady state error.
-Capable of providing high implementation efforts.
-Doesn't require simplification of the dynamics in terms of linearization.
-Chattering effects can be reduced using filtering techniques.
-Designing such controller is complex.
-Deals with all the states in the system and can deal with non-linear systems.
-Sensitive to parameter variation.
-Difficult to implement.

Gain
Scheduling [110][111][112]124] -Enables the controller to rapidly respond to changing operating conditions. -The design approach is naturally compatible with the overall problem even with difficult nonlinear problems.
-Gain scheduling relies on extensive simulations.
-There are no performance guaranteed.
-Quickly responsive against varying parameters.
-Appropriate model of the system is required.
-Implementing the design can be time consuming.
-Requires enormous design before final implementations.
-Complex control problems are solved under two subsections; stability and performance. -Provides robust performance.
-Difficult to implement.
-Requires a reasonably good model of the system to be controlled.
-The controller can be manually prepared.
-Stability is not guaranteed.
-Requires continuous tuning for a critical system.

Neural
Network [125-127, 156, 157] -Capable of resisting unknown disturbances -Provides adaptive parameters for uncertain models -Selected control system can be trained -Consumes more computational power -Offline learning may fail under the influence of uncertainties In this paper, an overview of the recent researches and studies related to the UAV architectures and available control laws has been presented. The classifications of these drones were chosen based on the vast literature that is explored by others, whereby expressing the benefits and drawbacks of the common UAV architectures has narrowed this research into focusing on Quadrotor drones due to their orientation abilities and other great advantages. Understanding the functionality of these systems were essentially described through mathematical expressions that represents the motion for the full six degrees of freedom. The literature reviewed shows that verifying this concept was implemented through simulation platforms such as Simulink/Matlab.
Control strategies that are commonly implemented on Quadrotors have been explored where the advantages and disadvantages of each method are presented. Although each technique caters for some limitation, describing the performance of each method based on other work indicates that prominent controllers such as SMC and PID have been monumentally explored. Investigating the performance of the two controllers were mainly discussed in this review, where the authors mentioned that both techniques were able to successfully present trajectory tracking and attitude stabilisation, however, despite the fact that SMC consist of chattering effects that can negatively sway the performance of the overall system, many authors were able to minimise this using filtering techniques such as the Kalman filter.
Nevertheless, exposing SMC to Quadrotors shows that ideal performance with minimum steady state error can be achieved, faster settling time and more importantly, maintaining a better control between the states of the system even under the consequences of external disturbances. The future success of drone's lies in ultimate stability during windy conditions, the lack of great steadiness requires further considerations as to how this emerging technology may be improved. Therefore, it is concluded that designing an impeccable physical system is absurd and that there will always be a difference in limitation. However, these can be minimised to a certain extent depending on the selected controller and the mechanical characteristics.
Code Availability Not Applicable.
Authors Contribution Dr. Moad Idrissi has contributed to this review paper by carrying out a thorough study of the literature review regarding the mentioned topics. He has also contributed in the sense of writing the review paper and presenting a comparison between the various techniques and approaches of UAVs. The first draft of the manuscript was written by Dr. Moad Idrissi and all authors commented on previous versions of the manuscript. All authors read and approved the final manuscript.
Dr. Fawaz Annaz has also contributed to this research by supervising Moad in his studies to ensure that the literature review presented is up to date, with sufficient information to authors who are new within this field. Moreover, Dr. Fawaz's excellence in understanding various control techniques has made a great contribution in this factor with regard to providing an appropriate explanation that is easily understandable.
Dr. Mohammad Salami was also involved on the aspect of discussing various mechanical architectures for UAVs. His expertise in mechanical engineering has contributed towards finding suitable UAV structures that are highly researched today.
Funding Not Applicable.
Data Availability Not Applicable.

Declarations
Ethics Approval This is purely a review paper. The Research team involved within this research confirm that no ethical approval is required.
Consent to Participate Not Applicable. Consent for Publication Not Applicable.

Conflict of Interest Not Applicable.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.