SciELO - Scientific Electronic Library Online

vol.14 número6Imposition of Dirichlet Boundary Conditions in Element Free Galerkin Method through an Object-Oriented ImplementationExperimental and Numerical Study on the Dispersion Patterns and Penetration Properties of MEFP with Seven Arc-Cone Liners índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados




Links relacionados


Latin American Journal of Solids and Structures

versão impressa ISSN 1679-7817versão On-line ISSN 1679-7825

Lat. Am. j. solids struct. vol.14 no.6 Rio de Janeiro jun. 2017 


Robust Optimal Adaptive Trajectory Tracking Control of Quadrotor Helicopter

M. Navabia  * 

H. Mirzaeib 

aAssociate Professor, Faculty of New Technologies Engineering, Shahid Beheshti University, GC, 1983969411,

bFaculty of New Technologies Engineering, Shahid Beheshti University, Tehran, 1983969411.


This paper focuses on robust optimal adaptive control strategy to deal with tracking problem of a quadrotor unmanned aerial vehicle (UAV) in presence of parametric uncertainties, actuator amplitude constraints, and unknown time-varying external disturbances. First, Lyapunov-based indirect adaptive controller optimized by particle swarm optimization (PSO) is developed for multi-input multi-output (MIMO) nonlinear quadrotor to prevent input constraints violation, and then disturbance observer-based control (DOBC) technique is aggregated with the control system to attenuate the effects of disturbance generated by an exogenous system. The performance of synthesis control method is evaluated by a new performance index function in time-domain, and the stability analysis is carried out using Lyapunov theory. Finally, illustrative numerical simulations are conducted to demonstrate the effectiveness of the presented approach in altitude and attitude tracking under several conditions, including large time-varying uncertainty, exogenous disturbance, and control input constraints.

Keywords: Quadrotor; Adaptive Control; Nonlinear Disturbance Observer; PSO Algorithm


In recent years, quadrotor helicopters with vertical takeoff and landing capabilities have a significant role in civilian usages such as rescue mission, video surveillance, military operations in hazardous locations, and so forth. Quadrotors are a four-rotor flying vehicle benefiting from all features of a helicopter via a much simpler mechanism. This simplicity has brought us increased reliability and decreased costs of production, operation, and maintenance. Another advantage of this flying robot is that each rotor with smaller diameter, compared to conventional helicopters, stores less kinetic energy during flight, which provides safer maneuver with lower risk of damaging the environment; nevertheless, quadrotors have a nonlinear, coupled, and underactuated dynamics, which poses serious challenges in control system design.

Myriad advanced methods, considered quadrotor attitude and altitude control design, have been proposed in literature such as backstepping ((Kobilarov, 2013), (Huo et al., 2014), (Jasim and Gu, 2015)), feedback linearization (Voos, 2009), (Choi and Ahn, 2015)), optimal control ((Navabi and Mirzaei, 2016)), (Suicmez and Kutay, 2014)), and robust control ((Xiong and Zheng, 2014)). This list is, of course, far from being exhaustive. Also attitude control design is need for some other applications such as spacecraft control (Navabi et al., 2012), (Navabi and Radaei, 2013), (Navabi and Rangraz, 2013), (Navabi and Meshkinfam, 2013), (Navabi and Barati, 2017) All these control methods have been successfully controlled systems with certain and fully known dynamics; however, in the presence of uncertainties, the closed-loop control system may be unstable and lose performance. Owing to specific flight mission, quadrotors may be equipped with diverse devices such as camera and measurement instruments and carry an unknown payload, so these reconfigurations lead to change in center of gravity (CoG), mass, and inertia properties of quadrotor’s system. In order to enhance robustness against uncertainty, neural network control ((Dierks and Jagannathan, 2010)) and sliding mode control ((Mokhtari and Cherki, 2015), (Zhu and Huo, 2013)) are utilized for quadrotor flight, but the performance of these control methods severely depends on prior information related to upper bound of uncertainty ((Slotine, 1991)). In this case, to overcome this obstacle, adaptive control can be designated as eminent candidate in dealing with quadrotor's uncertain system. Adaptive controller is an invaluable and efficient approach to handle a wide variety of systems with uncertainties and nonlinearities in a broad range of operating conditions. The aforementioned method affords desired level of control system performance without requiring a priori knowledge of quadrotor's parameters ((Zhu and Wen, 2008)).

In (Morel and Leonessa, 2006), to handle uncertainties in the model, direct adaptive control based on backstepping method is applied for trajectory tracking problem. In (Dydek et al., 2010), model reference adaptive controller is presented to tackle parametric uncertainties which arise from actuator failure. The effect of displacement of CoG in quadrotor is investigated in (Palunko and Fierro, 2011), and in order to cope with this uncertainty, an adaptive feedback linearization controller is employed. In (Sun and Zuo, 2014), unified noncertainty equivalent adaptive control method is suggested to handle the parametric uncertainties in mass properties of quadrotor. By using passivity theory in (Ha et al., 2014), adaptive backstepping control framework for quadrotor helicopter is proposed. Backstepping method is utilized to cope with quadrotor's under-actuation dynamic, and compensation of parameter uncertainties is handled through online parameter estimation. Unfortunately, in all of the existing research results, the uncertain external disturbances are not taken into account. This flying robot, due to its small size and light weight, is extremely sensitive to external disturbances such as a wind gust. Numerous researches have been addressed both adaptive control and disturbance rejection simultaneously ((Bialy et al., 2013), (Selfridge and Tao, 2014), (Zhao et al., 2015), (Basri et al., 2015), (Yang and Yan, 2016), (Chen et al., 2016)); nonetheless, the effect of input saturation has not been considered with these approaches.

In spite of comprehensive investigations on robust adaptive controller design for quadrotor, there is poor literature on control input constraints and actuators restrictions. It is worth mentioning that in an actuated dynamic system, uncertainties and disturbances are not the only sources of performance degradation and instability. Sometimes, the best tracking and regulation performance are achievable by means of large control input magnitude which may exceed the actuators' bounds. Disregard of actuator limits probably brings about system's collapse; in addition, undesired transient response and even damaging the actuators can be the other effects ((Izadbakhsh et al., 2011)). In (Kendoul et al., 2007), global asymptotic stability of quadrotor and boundedness of control inputs are guaranteed via nested-saturation based nonlinear controller. Constrained finite time optimal control of quadcopter in the presence of mechanical constraints, such as maximum thrust in the rotors, is proposed in (Alexis et al., 2010). Optimal control theory and optimization is applied to various missions of satellite, airplane and rotorcraft ((Khamseh, H.B., Navabi, M., 2010), (Khamseh, H.B., Navabi, M., 2011)). In (Guerrero-Castellanose et al., 2011), by using nested saturation functions, a quaternion-based bounded control method is presented. In (Cutler and How, 2012) and (Bry et al., 2015), to incorporate physical constraints on actuators of variable-pitch quadrotor, minimum-time path between any two waypoints in space is generated. This technique provides smooth reference inputs, capability of aerobatic maneuvers, and aggressive flight. In (Zuo et al., 2015), cascaded control scheme based on modified Rodrigues parameters representation is used to design control design an autopilot system which satisfies the input constraints. Unfortunately, in all mentioned methods, sensitivity of control systems to parameter variation is not completely investigated, or distinct mechanism for disturbance rejection is not introduced. In (Izadi et al., 2011), Model Predictive Control (MPC) is applied to calculate a stabilizing control signal and satisfy saturation constraint during abrupt changes in the quadrotor dynamics; however, gyroscopic effects resulting from the rigid body rotation are neglected, and simplified dynamics of quadrotor is utilized. To the best of authors' knowledge, the problem of disturbance rejection and input saturation for full nonlinear uncertain model of quadrotor is not investigated simultaneously.

In this paper, adaptive control law is used to tackle attitude and altitude tracking control problem when mass and inertia matrix of quadrotor are unknown. The PSO algorithm tries to regulate controller parameters offline so that the input constraints will be satisfied. In order to enhance robustness of system, a nonlinear disturbance observer is combined with the presented control method. Compared with other studies in literature, the main contribution of this paper contains: (i) an adaptive control, which is qualified to stabilize fully nonlinear and uncertain dynamic of the quadrotor, is combined with the optimization algorithm, PSO, so as to modify controller's attribute, which results in optimal adaptive controller. (ii) a new performance index, precisely compatible with control objective, in time domain is introduced to consider constraints of control inputs and optimal problem. (iii) a nonlinear disturbance observer is added to optimal adaptive controller to elevate robustness of system when the quadrotor confronts unknown external disturbances. As far as we know, there is almost no optimal adaptive control paper studies the attitude and altitude tracking problem of MIMO nonlinear model of quadrotor in presence of parametric uncertainties, exogenous disturbance, and input constraints. To validate the efficiency of the contributions, simulations on a quadrotor in the presence of parametric uncertainties and exogenous disturbance are performed. The structure of the paper is arranged as follows. The quadrotor dynamics are presented in section 2. The adaptive control system, the details of the PSO algorithm, and DOBC are outlined in section 3. In section 4, a simulation examples are presented to illustrate the overall validity and effectiveness of the proposed approach. Finally, the conclusions are discussed in section 5.


In this section, the six-degree-of-freedom mathematical model of a quadcopter is presented. Model derivation is based on the following assumptions ((Bouabdallah and Siegwart, 2007)):

  • Quadcopter has a symmetrical structure.

  • Quadcopter is a rigid body.

  • The center of gravity and the body’s frame origin are coincided.

  • Variation of thrust and drag are proportional to the square of propeller’s speed.

As depicted in Figure 1, the quadrotor includes four fixed-pitch-angle blades. Each rotor produces both thrust and antitorque. Two pairs of rotors, i.e. rotors (1,3) rotate clockwise and rotors (2,4) rotate counterclockwise. Accordingly, the produced antitorque can be neutralized by each other. Diverse maneuvers in space will be accomplished based on relative angular velocity of four rotors. The equations of motion are derived by using of two coordinate frames shown in ‎ Figure1. Let Γ I= ( OI e 1 I e 2 I e 3 I ) denotes the inertial frame and Γ B= ( OB e 1 B e 2 B e 3 B )

stands for the body-fixed frame. Attitude of quadrotor helicopter with respect to inertia frame is introduced by η = [∅ θ ψ] T The ∅, θ and ψ are roll, pitch, and yaw angles respectively. ∅∈ (-π/2, π/2), ∅∈ (-π/2, π/2) and ψ ∈ (- π, π). r = [x y z] T is the position of the center of gravity of the quadrotor in inertial frame. R is the transformation matrix for vector from body frame to inertia frame as follows.


Where cx means cos(x) and sx means sin(x) Based on the Newton-Euler equation, translational dynamics of rigid body is described by the following equation


Where m is the total mass of quadrotor, and g denotes acceleration due to gravity. u 1 represents total trust, and d 1 is external disturbance. The external disturbance only possess z component because, in this paper, altitude and attitude control of quadrotor are only considered. The rotational equations in the inertia frame can be expressed as


Where I = diag([ Im, Iyy, Izz ]) denotes inertia matrix ( Ixx, Iyy, and Iyy are the inertias of the quadrotor), and Jr stands for the inertia of propeller. In addition, Ω r = ω 1 + ω 2+ ω 3 + ω 4

is the total angular speed of propellers ( ωi, i = 1, 2, 3, 4 stand for angular speed of the ith rotor). In this problem, Ω r is assumed to be the measurable disturbance. ū = [u 2 u 3 u 4] T is the control torque input, and d = [d 2 d 3 d 4] T denotes an external disturbance with unknown bound generated by an exogenous system. u 1 and ū are defined as


Where Fi = 2 i , i = 1, 2, 3, 4 denote the thrust produced by rotors, and Qi =dω 2 i , i = 1, 2, 3, 4 indicate drag moment of the ith rotor. b and d are thrust and drag factors respectively, and L stands for horizontal distance between propeller’s center to center of mass of the quadrotor. In order to simplify the calculation of angular velocity of rotors, equation (4) can be written as


Figure 1 Coordinate frame of the quadrotor. 

The dynamical equations of quadrotor helicopter derived from equation (2) and (3) can be written in following forms:


It is worthwhile to note that control inputs appear in altitude (z), attitude (∅, θ and ψ), and their time derivatives; therefore, equation (6) can be divided into two subsystems. The first, Π1 (underactuated sub-system), comprises linear translations in x and y directions, and the second one, Π2 (fully actuated sub-system), contains the dynamics of altitude and attitude. The subsystems Π1 and Π2 are listed as follows



Since the outputs of the subsystem Π1 depend on the angles, it suffices to extract appropriate outputs from subsystem Π2; accordingly, design of controller for subsystem Π2 is the focal point of this paper. See Table 1 for all the values of these model parameters.

Table 1 Parameters of quadrotor ((Bouabdallah and Siegwart, 2006)). 

Parameter Description Value Unit
g Gravity 9.8º m.s-2
m Mass 0.650 kg
Ixx Inertia on x axis 7.5e-3 kg.m2
Iyy Inertia on y axis 7.5e-3 kg.m2
Izz Inertia on z axis 1.3e-2 kg.m2
Jr Rotor Inertia 6e-5 kg.m2
L Arm length 0.23 m
b Thrust coefficient 3.13e-5 N.s2
d Drag coefficient 7.5e-7 N.m.s2


The control objective is forcing the states of subsystem Π2 to track desired altitude and attitude xd = [zdd θ d ψ d] T despite the presence of parametric uncertainties, input constraints and external disturbance. Because the control design is separated from disturbance observer design, in the first step, optimal adaptive control is introduced without external disturbance, and in the next subsection, nonlinear disturbance observer is presented. By integrating the disturbance observer with optimal adaptive control method, the disturbance produced by exogenous system can be estimated and compensated in finite time. Finally, tracking performance is guaranteed by means of the Lyapunov theory.

3.1 Adaptive Trajectory Tracking Control Design

The dynamic model associated with fully actuated subsystem Π2 of quadrotor can be written as following form:


Where x = [zθ ψ] T denotes state vector of system, U = [u 1 u 2 u 3 u 4] T is the control input vector, and D represents measurable disturbance originated from Ω r with unknown bound. H(x) is the system inertia matrix, C(x, ) contains centrifugal and Coriolis torques, and g(x) indicates the vector of gravitational torques. H(x), C(x, ), and g(x) are presented as follows.




Where α1 = Iyy - Izz, α2 = Izz - Ixx, and α3 = Ixx - Iyy. Desired trajectory x d is achievable by calculating qualified control laws; however, it gets too complicated due to unknown mass properties of system. Consider following Lyapunov function candidate:


Where a, â, D, and are unknown and estimated parameters, and disturbances respectively. ã and are estimation errors. Γ1 and Γ2 represent symmetric positive definite matrices, and s denotes velocity error


Where = x -x d is tracking error, to obtain control law and adaption law, we can define new variable , and Λ is a symmetric positive definite matrix. The time derivative of V is given by


Substituting by into Eq. (15) yields


Using Eq. (9), the following expression is calculated:


Substituting with s + in Eq. (17) gives:


Since the quadratic function associated with a skew-symmetric matrix is zero, Eq. (18) can be written as:


If H(x) , C(x, ), and g(x) linearly depend on unknown parameters of system, left side of Eq. (9) can be expressed as:


The controller is designed as:


Here KD is a constant symmetric positive definite matrix. Using Eq. (19), Eq. (20), and Eq. (21) yields


Adaption law and disturbance estimation can be selected as follows.



Then, the derivative of the Lyapunov function becomes:


Convergence of tracking errors to zero is proved using Lyapunov theory and Barbalat's lemma ((Slotine, 1991)). Simulation results show that an amplitude of control law and performance characteristics of control system depend on Γ1, Λ, and KD ; moreover, it is possible to ignore the effects of Γ2.

In this paper, the controller design, i.e. the determining of Λ, Γ1, and KD , is achieved by minimizing a novel performance index. In the literature, for tuning PID controller parameters, some performance indices in frequency domain such as Integrated Absolute Error (IAE), Integral of Squared-Error (ISE), and the Integrated of Time-Weighted-Squared-Error (ITSE) are introduced ((Westcott, 1954), (Krohling, 2001)). The proposed integral performance indices have their own advantages and disadvantages ((Gaing, 2004)). Here, new performance index in time domain is presented for evaluating the adaptive controller. This performance index is constituted by three terms. The first term deals with control input constraints, and the second term considers time response of closed-loop system; in addition, the third one exhibits total energy consumption. To satisfy control input constraints, Summation of Integral of Violated Control Law (SIVCL) should be minimized for each control input.




Where i = 1 ....,n is the number of actuators and T is simulation time span. ui denotes control law which is sent to the ith actuator, also uimax and uimin are upper and lower bounds of the ith actuator. ai is weighting factor which depends on unit and order of magnitude of different terms involved in SIVCL. There are many control laws ( ui ) that make SIVCL equal to zero; however, the fastest and optimal response is desired. In order to reach this goal, Summation of Settling Time (SST) of all outputs is considered as second term in performance index according to Eq. (29).


bi denotes weighting factor, and Sti stands for the settling time of the ith outputs. Summation of Lower Riemann Sum (SLRS) of control laws is selected as third part of performance index function.


ci denotes weighting factor. To have an optimal tradeoff between actuators limits, fast and optimal transient responses, J is defined as:


Minimization of this performance index, J(Λ, Γ1, KD ) by the PSO algorithm satisfies the control system objectives.

Remark 1: For Λ, Γ1 and KD> 0, Lyapunov theory and Barbalat's lemma guarantee stability and convergence of tracking error to zero respectively. Since PSO algorithm searches adaptive controller parameters in positive real domain, closed-loop system will remain stable, and outputs track references signals.

Remark 2: Since objective function of this problem is highly nonlinear and probably non-convex, the PSO algorithm may be trapped in local optima. To tackle this problem, feasible region should be divided to subregions in which the PSO algorithm independently searches the best answer, and then among a set of detected controller parameters, control designer selects the answer, which results in minimum cost function, as global optima. It is not problematic issue in offline application although this approach increases the complexities of solution.

Importance of each term and magnitude of weighting coefficients in performance index are determined by designer requirements.

3.2 Adaptive Control Parameters Optimization

In order to reach the control objectives, adaptive control parameters should be determined by the Particle Swarm Optimization (PSO) algorithm. PSO is a computational technique which was introduced by (Kenndy and Eberhart, 1995) based on social interaction activities. The PSO algorithm begins with selection of random candidate solution known as particle. Particles shift toward the best solution by randomized velocity iteratively. Each particle's movement depends on its local best and global best known positions in the search space, which are updated as better positions found by other particles. This is believed as the explanations how the swarm move toward the best solutions.

In this problem, the final aim is determination of the best settling time under constraints on control law. In fact, constrained problem is changed with optimization problem which will be solved by the PSO algorithm. Basic elements of PSO in solving constrained optimization problems can be presented as follows.

  • Particle,X(t): It is a solution represented by m-dimensional vector where m denotes t numbers of optimized parameters. The Jth particle at the tth iteration can be expressed as:


Where xjk (t) is the position of the Jth particle respect to the value of the kth optimized parameter at the tth iteration.

Population, pop(t): At each iteration, it is a set of n particles.


  • Velocity, V(t): The velocity of the Jth particle at the tth iteration is determined by an m-dimensional vector as:


  • where vj (t) is the velocity of the kth optimized parameter for the Jth particle. Hence the vector of velocity is according the following expression:


  • Inertia weight,w(t): It is a parameter that controls the impact of previous velocities in current velocities.

  • Individual best, Xbest (t): The value of performance index changes due to particles' movement through the search space. The best position which is related with the best value faced so far is known as individual best. Therefore if J(X,(t)) < ( Xj (τ)), (τ = 0, 1....,t), then, Xjbest (t)= Xj (t). The vector of individual best can be expressed as:


  • Global best, Xgbest : There is an individual best with minimum performance index value, i.e. if J( Xj (t))< J( Xjbest (t)), j = 1,...,npop , then Xgbest = Xjbest (t) . The vector of global best is expressed as:


  • Stopping criteria: There are different methods to stop the search process in the PSO algorithm. In this investigation, it's terminated after specified iterations. The computational flow of algorithm can be described in the following steps

Step 1: Set the iteration counter equal to zero, and generate Xj (0) randomly. The Velocity of each particle at t = 0 must be equal to zero. Evaluate all particles with defined performance index, and set each particle as its individual best, and determine global best.

Step 2: Update the iteration counter.

Step 3: Update the inertia weight: w(t) = αw(t - 1) Where α is inertia weight damping ratio.

Step 4: Update the velocity of the Jth particle according the following equation:


Where ξ1 and ξ2 are personal and global learning coefficients respectively. r 1 and r 2 are uniformly distributed random numbers in [0 1].

Step 5: Change each particle's position with updated velocities from previous step as follows.


Step 6: Evaluate updated positions.

Step 7: Determine individual best of each particle, global best position.

Step 8: If the iteration counter is less than max(t), go to step 2; otherwise, stop.

3.3 Nonlinear Disturbance Observer Design

This subsection discusses the derivation of nonlinear disturbance observer (NDO) ((Chen and Chen, 2010), (Li et al., 2014), (Chen and Mei, 2011)) which constitutes one of the most important subjects of this paper. For this, the mathematical model of a quadrotor (fully actuated subsystem Π2) is represented in the following matrix form:


x, u and d denote respectively state, input, and external disturbance vector as follows


Using equations (8) and (41), one can obtain the nonlinear function f(x), g 1(x), g 2(x) as


It is supposed that the disturbance d is generated by a linear exogenous system


Where Χ = [Χ 1 Χ 2 Χ 3 Χ 4 Χ 5 Χ 6 Χ 7 Χ 8 ] T is the state vector of the exogenous system. A ∈ ℝ8x8 and C ∈ ℝ4x8 are given known matrices. For this problem, four different disturbance sources are assumed.


The matrix A and C are as follows.

First, the nonlinear observer is designed as following


ed = d - , and L(x) stands for the nonlinear gain function of observer which should be designed. By using Eq. (40) and Eq. (45) becomes


Generically, quadrotors’ platform encompasses diverse sensors such as accelerometers, gyroscopes, magnetometers, global position system (GPS) module, and so forth; nevertheless, none of these sensors is capable to feedback the derivative of states () to observer; hence, the disturbance observer is not feasible for practical usages. In order to tackle this problem, an auxiliary variable is defined as


ζ (x) is the observer function needed to be designed. The observer gain is then determined by L(x) = ∂ ζ(x) / x. Using Eq. (46) and Eq. (47) the derivative of κ can be written as


Let e = χ - . Using the equations (43), (47), and (48), we can obtain observation error dynamics as follows.


If (A-L(x)g 2(x)C) is considered as Hurwits matrix, the can globally exponentially track the χ. For this, the observer function ζ(x) must be designated so that L(x) satisfied aforementioned condition. The observer gain vector is designed as ζ(x) =[L 12 x 2 0 L 34 x 4 0 L 56 x 6 0 L 78 x 8 0] T .

3.4 Stability Analysis

Stability analysis of the composite closed-loop system is performed via the use of Lyapunov theory. For compensating any exogenous disturbance, the composite controller ( Uc ) can be selected as


Substituting Eq. (50) into Eq. (40) yields


For disturbance rejection, the following condition should be satisfied


So, the close loop dynamic of quadrotor could be expressed as


Therefore, both global stability of the system and convergence of the tracking are guaranteed by the introduced control law in Eq. (21); however, the exogenous disturbance is unknown and d in Eq. (50) should be replaced by its estimated value in Eq. (48). The composite controller can be written as


Substituting Eq. (54) into Eq. (40), the closed loop system becomes


Eq. (55) along with observer dynamic Eq. (49) are utilized for stability analysis of closed-loop control systems. The augmented closed loop system is given by


For the composite system described by Eq. (56), Lyapunov function can be considered as


Vcontroller is formulated by Eq. (13), and the first derivative of above equation along the system's trajectories (Eq. (53)) is as.


Where δ 1 is a small positive scalar. Vobserver for observer error dynamic Eq. (49) is defined as


P is positive definite matrix. Taking the time derivative of Eq. (57) along augmented system Eq. (56), and using Eq. (59), it follows that


From Eq. (58), we know that ∂Vcontroller /x (f + g 1(x)U)< δ 1 ||x||; furthermore, based on the proof presented in (Li et al., 2014), 2 PeT (A-L(x)g 2(x) C)e<- δeTe where δ is small positive scalar. Consequently, the time derivative of Lyapunov candidate yields


According to Eq. (61) and a method described in (Isidori, 1995), all state and observer error converge to origin as t → ∞.


In this section, to verify effectiveness of the investigated method in presence of parametric uncertainties, external disturbance, and control input constraints, three simulations are presented. In the first simulation, the effects of time-varying parameters on tracking performance is detected. In the second, the robustness issue of nonlinear observer against external disturbance is studied. Last simulation focuses on hovering maneuver; also, in this subsection, the effects of parametric uncertainties and disturbance are simultaneously studied in presence of input constraints.

4.1 Simulation 1

In order to demonstrate robustness of presented control methods, time-varying parameters are utilized in this simulation test. The mass and moments of inertia are increased every 10 seconds. The initial altitude and attitude of quadrotor for this simulation are 0 meter and [10 10 10] T degrees respectively. 100% uncertainty in the mass and inertia matrix is considered. Since Jr for this quadrotor has small value, the term Jr Ω r is negligible compared with body gyroscopic effects. Simulation of altitude and attitude tracking is performed with sinusoidal reference signals ( rd = 10sin(0.5t)). The responses of system are illustrated in Figure 2. It can be seen that there is no problem with controller to make the outputs track the desired reference trajectories fast and precisely. Figure 3 displays estimation of the quadrotor parameters. As can be seen from the results, estimator precisely estimates unknown parameters and fixes them bounded.

Figure 2 Altitude and attitude control with a sinusoidal desired output in presence of uncertainty but without external disturbance. 

Figure 3 Estimation of time-varying unknown parameters of quadrotor. 

4.2 Simulation 2

In this case, the capability of nonlinear disturbance observer is verified through a numerical simulation of the quadcopter in hovering flight when external disturbance imposed on system for 7.5 seconds. Χ 0 = [2 sin1 4 cos1 0.25 sin1 0.75 cos1 0.05sin1 0.1sin1 00.05] T is initialized value for exogenous system. Simulation results are presented in Figures 4, 5, and 6. Figure 4 illustrates that the observer effectively estimates unknown disturbance. It is worthwhile to note that the convergence rate severely depends on magnitude of observer gains. The large gains lead to faster convergence and no excessive control effort is required for quick estimation of disturbance. The height and attitude responses for stabilizing the flying robot before and after of disturbance effects are shown in Figure 5. It is axiomatic that the external disturbances considerably decline the stabilizing performance, which results in oscillatory response in altitude and attitude. Implying NDO, however, in conjunction with adaptive control diminishes the effects of external disturbance and parametric uncertainties; in addition, it guarantees stable flight without large deviation from starting conditions. The effects of external disturbance on quadrotor position are depicted in Figure 6. It is obvious that the applied composite controller prevents quadrotor from large position deviation from origin. Small deviation from set point, shown with blue line in XY graph in figure 6, is because of large disturbance possess attitude. Since dynamic of x and y components of position are intertwined with the dynamic of attitude dynamic, one can expect such small deviation in position.

Figure 4 Disturbance estimated by nonlinear disturbance observers. 

Figure 5 Altitude and attitude stabilization with NDO 

Figure 6 Position of quadrotor in hovering, while the system is subject to external disturbances. 

4.3 Simulation 3

This simulation test includes the main contribution of this paper. The quadrotor should reach desired set point in presence of control input constraints; moreover, the uncertain model of the quadrotor is subjected to external disturbance. For this purpose, the PSO algorithm is utilized to tune the controller by minimizing the presented cost function. The initial condition of the vehicle is x0 = [0 0 10° 0 10° 0 10° 0] T , and the final angles and final altitude are 0 degrees and 1 meter above the ground respectively. The lower and upper bounds of the actuators, addressed in (Bouabdallah and Siegwart, 2006), are ωmin = 0 and ωmax= 279 rad/s.20% uncertainty in the mass and inertia matrix is considered. In order to achieve an accurate result as well as fast convergence of the PSO algorithm, the following parameters are considered ((Clerc and Kennedy, 2002), (Innocente and Sienz, 2011)):

  • The number of particles: npop = 8

  • Maximum number of iterations: max(t) = 100

  • Inertia Weight: ω(0) = 1

  • Inertia weight damping ratio: α = 0.99

  • Personal learning coefficient: ξ1 = 2

  • Global learning coefficient: ξ2 = 2

As mentioned in Remark. 2, the feasible region, [0 500] × [0 500] × [0 500], is divided into 125 equal subregions. The global best solution is found in [0 100] × [0 100] × [0 100]. Variation of the best cost (minimum J at the tth iteration) versus Number of Function Evaluation (NFE) in the PSO algorithm is depicted in Figure 7.a. The best solutions founded by the PSO algorithm for different weighting factors are listed in Table 2.

Figure 7 PSO algorithm's Outputs for a1 = a2 = 1, b1 = b2 = 1, c1 = c2 =1 

Table 2 Best solution obtained using the PSO algorithm with different weighting factor values. 

Weighting Factor Λ Γ 1 Kd Best cost LRC 1 LRC 2 LRC 3 LRC 4 S u1 S u2 S u3 S u4 S t1 S t2 S t3 S t4
a1 = a2 = 1 b1 = b2 = 1 c1 = c2 = 1 0.8193o 0.3193 0.5686o 1.1394e+03 7.6490e+05 7.6461e+05 7.6483e+05 7.6456e+05 0 0 0 0 6 3.5 3.5 3.5
a1 = a2 = 2 b1 = b2 = 1 c1 = c2 = 1 0.0092 86.5552 49.9927 1.1137e+07 7.8468e+05 7.8415e+05 7.8457e+05 7.8403e+05 0 0 0 0 10.35 10.5 10.5 9.45
a1 = a2 = 1 b1 = b2 = 2 c1 = c2 = 1 0.7736 0.5856 0.7287 3.0857e+06 7.6491e+05 7.6461e+05 7.6484e+05 7.6455e+05 8.2282e+03 6.3795e+03 5.6198e+03 6.5092e+03 5.85 3.70 3.70 3.71
a1 = a2 = 1 b1 = b2 = 1 c1 = c2 = 2 49.5278 58.5297 35.1219 5.8771e+08 3.5155e+06 2.7896e+06 3.0906e+06 3.2080e+06 1.8067e+08 1.0058e+08 1.3848e+08 1.4277e+08 0.16 0.06 0.06 0.06

= ai | ui (t) - uilim | , LRCi , i = 1, 2, 3, 4 is Lower Riemann of Control Input for rotors.

It is clear that the solution obtained for a 1 = a 2 = 1,b 1 = b 2 = 1, and c 1 = c 2 =1 is adequate for our requirements. The convergence of particles to the best answers is represented in Figure 7 (b, c, and d). It can be seen that despite starting from initial random particles far from the best final values, the PSO algorithm is able to make particles reach to the best global solutions. These results show that the PSO algorithm can search optimal adaptive controller parameter quickly and efficiently. Figures 8 and 9 show that the outputs properly reach desired setpoints, and the control inputs are continuous and limited as desired, and reasonable for the purpose of practical implementation. The real-time implementation of the proposed controller will be investigated in the future works.

Figure 8 Simulation results of the setpoint tracking. 

Figure 9 Angular speed of rotors which are confined in aforementioned bounds. 


In this work, the altitude and attitude stabilization and tracking problem of quadrotor helicopter are addressed. The adaptive control method is utilized to overcome the lack of exact knowledge about the robot parameters. Using the PSO algorithm, optimal adaptive controller parameters are achieved. The optimal adaptive controller is augmented with nonlinear disturbance observer to attenuate external exogenous disturbance effects. Based on numerical results, robust optimal adaptive controller has a prominent ability to stabilize nonlinear dynamic system of quadrotor, force the states to follow desired reference signals, and find optimal solution for the tracking problem without control input saturation. Dynamic convergence behavior of all particles in population demonstrates that the aforementioned method can perform an efficient search for the optimal adaptive controller parameters; in addition, compatibility of the proposed performance index with the problem results in fast global convergence to optimal solution.


Alexis, K., Nikolakopoulos, G., Tzes, A. (2010). Design and experimental verification of a constrained finite time optimal control scheme for the attitude control of a quadrotor helicopter subject to wind gusts. In: Robotics and Automation (ICRA), IEEE International Conference on. IEEE, p. 1636-41. [ Links ]

Basri, MAM., Husain, AR., Danapalasingam, KA. (2015) A hybrid optimal backstepping and adaptive fuzzy control for autonomous quadrotor helicopter with time-varying disturbance. Proceedings of the Institution of Mechanical Engineers, Part G: Journal of Aerospace Engineering. [ Links ]

Bialy, B., Klotz, J., Brink, K., Dixon, W. (2013). Lyapunov-based robust adaptive control of a quadrotor UAV in the presence of modeling uncertainties. In: American Control Conference (ACC), IEEE, p. 13-8. [ Links ]

Bouabdallah, S., Siegwart, R. (2006). Towards intelligent miniature flying robots. In: Field and Service Robotics. Springer, p. 429-40. [ Links ]

Bouabdallah, S., Siegwart, R. (2007). Full control of a quadrotor. In: Intelligent robots and systems, IROS. IEEE/RSJ international conference on. IEEE, p. 153-8. [ Links ]

Bry, A., Richter, C., Bachrach, A., Roy, N. (2015). Aggressive flight of fixed-wing and quadrotor aircraft in dense indoor environments. The International Journal of Robotics Research, 34(7):969-1002. [ Links ]

Chen, M, Chen, WH. (2010). Sliding mode control for a class of uncertain nonlinear system based on disturbance observer. International Journal of Adaptive Control and Signal Processing, 24(1):51-64. [ Links ]

Chen, M., Mei, R. (2011). Robust tracking control of uncertain nonlinear systems using disturbance observer. In: System Science and Engineering (ICSSE), International Conference on. IEEE, pp. 431-6. [ Links ]

Chen, W., Bifeng, S., Nahon, M. (2016). Adaptive robust backstepping (ARB) control for quadrotor robot in presence of payload variation and unknown disturbances. International Journal of Control and Automation, 9(3):417-34. [ Links ]

Choi, YC., Ahn, HS. (2015). Nonlinear control of quadrotor for point tracking: Actual implementation and experimental tests. IEEE/ASME transactions on mechatronics. 20(3):1179-92. [ Links ]

Clerc, M., Kennedy, J. (2002). The particle swarm-explosion, stability, and convergence in a multidimensional complex space. IEEE Transactions on Evolutionary Computation, 6(1):58-73. [ Links ]

Cutler, M., How, JP. (2012). Actuator constrained trajectory generation and control for variable-pitch quadrotors. In: AIAA Guidance, Navigation, and Control Conference (GNC). [ Links ]

Dierks, T., Jagannathan, S. (2010). Output feedback control of a quadrotor UAV using neural networks. IEEE Transactions on Neural Networks, 21(1):50-66. [ Links ]

Dydek, ZT., Annaswamy, AM., Lavretsky, E. (2010). Adaptive control of quadrotor UAVs in the presence of actuator uncertainties. AIAA Infotech@ Aerospace, pp 20-22. [ Links ]

Gaing, ZL. (2004). A particle swarm optimization approach for optimum design of PID controller in AVR system. IEEE Transactions on Energy Conversion, 19(2):384-91. [ Links ]

Guerrero-Castellanos, J., Marchand, N., Hably, A, Lesecq, S., Delamare, J. (2011). Bounded attitude control of rigid bodies: Real-time experimentation to a quadrotor mini-helicopter. Control Engineering Practice, 19(8):790-7. [ Links ]

Ha, C., Zuo, Z., Choi, FB., Lee, D. (2014). Passivity-based adaptive backstepping control of quadrotor-type UAVs. Robotics and Autonomous Systems, 62(9):1305-15. [ Links ]

Huo, X., Huo, M., Karimi, HR. (2014). Attitude stabilization control of a quadrotor uav by using backstepping approach. Mathe-matical Problems in Engineering. [ Links ]

Innocente, MS., Sienz, J. (2011). Particle swarm optimization with inertia weight and constriction factor. In: Proceedings of the International conference on swarm intelligence (ICSI11). [ Links ]

Isidori, A. (1995). Nonlinear control systems; vol. 1. Springer Science & Business Media. [ Links ]

Izadbakhsh, A., Kalat, AA., Fateh, MM., Rafei, MR. (2011). A robust anti-windup control design for electrically driven robots theory and experiment. International Journal of Control, Automation and Systems, 9(5):1005-12. [ Links ]

Izadi, HA., Zhang, Y., Gordon, BW. (2011). Fault tolerant model predictive control of quad-rotor helicopters with actuator fault estimation. In: Proceedings of the 18th IFAC World Congress, vol. 18., p. 6343-8. [ Links ]

Jasim, W., Gu, D. (2015). Integral backstepping controller for quadrotor path tracking. In: Advanced Robotics (ICAR), International Conference on. IEEE, p. 593-8. [ Links ]

Kendoul, F., Lara, D., Fantoni, I., Lozano, R. (2007). Real-time nonlinear embedded control for an autonomous quadrotor helicopter. Journal of guidance, control, and dynamics, ;30(4):1049-61. [ Links ]

Kennedy, J, Eberhart, R. Particle swarm optimization. In: Proceedings of IEEE International Conference on Neural Networks, vol. 4, p. 1942-8. [ Links ]

Khamseh, H.B., Navabi, M. (2010).Development of access-based metrics for site location of ground segment in LEO missions. Journal of Aerospace Technology and Management, 2(3): 279-86. doi:10.5028/jatm.2010.02038210 [ Links ]

Khamseh, H.B., Navabi, M. (2011). On reduction of longest accessibility gap in leo sun-synchronous satellite missions. Journal of Aerospace Technology and Management, 3(1): 53-8. doi: 10.5028/jatm.2011.03010211 [ Links ]

Kobilarov, M. (2013). Trajectory control of a class of articulated aerial robots. In: Proceedings of the international conference on unmanned aircraft systems, p. 958-65. [ Links ]

Krohling, RA., Rey, JP. (2001). Design of optimal disturbance rejection PID controllers using genetic algorithms. IEEE Transactions on Evolutionary Computation, 5(1):78-82. [ Links ]

Li, S., Yang, J., Chen, Wh., Chen, X. (2014). Disturbance observer-based control: methods and applications. CRC Press. [ Links ]

Mokhtari, MR., Cherki, B. (2015). A new robust control for mini rotorcraft unmanned aerial vehicles. ISA Transactions. 86-101. [ Links ]

Morel, Y., Leonessa, A. (2006). Direct adaptive tracking control of quadrotor aerial vehicles. In: ASME, International Mechanical Engineering Congress and Exposition. American Society of Mechanical Engineers, p. 155-61. [ Links ]

Navabi, M., Barati, M. (2017). Mathematical modeling and simulation of the earth's magnetic field: A comparative study of the models on the spacecraft attitude control application. Applied Mathematical Modelling. 46: 368-81. doi:10.1016/j.apm.2017.01.040 [ Links ]

Navabi, M., Meshkinfam, E. (2013). Space low-thrust trajectory optimization utilizing numerical techniques, a comparative study. In: 6th International Conference on Recent Advances in Space Technologies (RAST 2013), IEEE, p. 303-7. doi: 10.1109/RAST.2013.6581222. [ Links ]

Navabi, M., Mirzaei, H. (2016). θ-D based nonlinear tracking control of quadcopter, In: 4th International Conference on Robotics and Mechatronics (ICROM). IEEE. p. 331-6. doi: 10.1109/ICRoM.2016.7886760 [ Links ]

Navabi, M., Nasiri, N., Dehghan, M. (2012). Modeling and numerical simulation of linear and nonlinear spacecraft attitude dynamics and gravity gradient moments: A comparative study. Communications in Nonlinear Science and Numerical Simulation. 17 (2):1065-84. doi:10.1016/j.cnsns.2011.06.035 [ Links ]

Navabi, M., Radaei, M. (2013). Attitude adaptive control of space systems. In: 6th International Conference on Recent Advances in Space Technologies (RAST 2013), IEEE, p. 973-7. doi: 10.1109/RAST.2013.6581356 [ Links ]

Navabi, M., Rangraz, H. (2013). Comparing optimum operation of Pulse Width-Pulse Frequency and Pseudo-Rate modulators in spacecraft attitude control subsystem employing thruster. In: 6th International Conference on Recent Advances in Space Technologies (RAST 2013), IEEE, p. 625-30. doi: 10.1109/RAST.2013.6581286 [ Links ]

Palunko, I., Fierro, R. (2011). Adaptive control of a quadrotor with dynamic changes in the center of gravity. In: Proceedings 18th IFAC World Congress. [ Links ]

Selfridge, JM., Tao, G. (2014). A multivariable adaptive controller for a quadrotor with guaranteed matching conditions. Systems Science & Control Engineering, 2(1):24-33. [ Links ]

Slotine, JJ., Li, W. (1991). Applied Nonlinear Control, Prentice Hall. [ Links ]

Suicmez, EC., Kutay, AT. (2014). Optimal path tracking control of a quadrotor UAV. In: Unmanned Aircraft Systems (ICUAS), International Conference on. IEEE, p. 115-25. doi:10.1109/ICUAS.2014.6842246 [ Links ]

Sun, L., Zuo, Z. (2014). Nonlinear adaptive trajectory tracking control for a quad-rotor with parametric uncertainty. Proceedings of the Institution of Mechanical Engineers, Part G: Journal of Aerospace Engineering. [ Links ]

Voos, H. (2009). Nonlinear control of a quadrotor micro-UAV using feedback-linearization. In: Mechatronics, ICM 2009. IEEE International Conference on. p. 1-6. [ Links ]

Westcott, J. (1954). The minimum-moment-of-error-squared criterion: a new performance criterion for servo mechanisms. Proceedings of the IEE-Part II: Power Engineering, 101(83):471-80. [ Links ]

Xiong, JJ., Zheng, EH. (2014). Position and attitude tracking control for a quadrotor UAV. ISA transactions. 53(3):725-31. [ Links ]

Yang, Y., Yan, Y. (2016). Attitude regulation for unmanned quadrotors using adaptive fuzzy gain-scheduling sliding mode control. Aerospacescience and Technology, 54:208-17. [ Links ]

Zhao, B., Xian, B., Zhang, Y., Zhang, X. (2015). Nonlinear robust adaptive tracking control of a quadrotor UAV via immersion and invariance methodology. IEEE Transactions on Industrial Electronics, 62(5):2891-902. [ Links ]

Zhu, B., Huo, W. (2013). Robust nonlinear control for a model-scaled helicopter with parameter uncertainties. Nonlinear Dynamics. 73(1-2):1139-54. [ Links ]

Zhu, J., Wen, C. (2008). Adaptive Backstepping Control of Uncertain Systems: Nonsmooth Nonlinearities, Interactions or Time-Variations. Verlag Berlin Heidelberg: Springer. [ Links ]

Zuo, Z., Ding, X., Liu, H. (2015). Almost global trajectory tracking control of quadrotors with constrained control inputs. Proceedings of the Institution of Mechanical Engineers, Part G: Journal of Aerospace Engineering. [ Links ]

Received: December 09, 2016; Accepted: April 19, 2017

*Corresponding Author

Creative Commons License This is an open-access article distributed under the terms of the Creative Commons Attribution License