1 INTRODUCTION
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.
2 QUADROTOR MODEL
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 } = bω ^{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
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.
Parameter | Description | Value | Unit |
---|---|---|---|
g | Gravity | 9.8º | m.s^{-2} |
m | Mass | 0.650 | kg |
I_{xx} | Inertia on x axis | 7.5e-3 | kg.m^{2} |
I_{yy} | Inertia on y axis | 7.5e-3 | kg.m^{2} |
I_{zz} | Inertia on z axis | 1.3e-2 | kg.m^{2} |
J_{r} | Rotor Inertia | 6e-5 | kg.m^{2} |
L | Arm length | 0.23 | m |
b | Thrust coefficient | 3.13e-5 | N.s^{2} |
d | Drag coefficient | 7.5e-7 | N.m.s^{2} |
3 CONTROL DESIGN
The control objective is forcing the states of subsystem Π_{2} to track desired altitude and attitude x_{d} = [z_{d} ∅_{d} θ _{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 → ∞.
4 SIMULATION RESULTS
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.
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.
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 x_{0} = [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.
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 } |
---|---|---|---|---|---|---|---|
a_{1} = a_{2} = 1 b_{1} = b_{2} = 1 c_{1} = c_{2} = 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 |
a_{1} = a_{2} = 2 b_{1} = b_{2} = 1 c_{1} = c_{2} = 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 |
a_{1} = a_{2} = 1 b_{1} = b_{2} = 2 c_{1} = c_{2} = 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 |
a_{1} = a_{2} = 1 b_{1} = b_{2} = 1 c_{1} = c_{2} = 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.
5 CONCLUSION
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.