Adaptive Sliding Mode Control Using Slack ... - Semantic Scholar

Report 8 Downloads 133 Views
51st IEEE Conference on Decision and Control December 10-13, 2012. Maui, Hawaii, USA

Adaptive Sliding Mode Control using Slack Variables for Affine Underactuated Systems Mingu Kim, Youdan Kim, and Jaiung Jun Abstract— This paper presents an adaptive sliding mode control scheme using slack variables for affine and underactuated nonlinear systems. Slack variables are introduced to overcome the underactuated properties. A proper slack variable generating method is proposed to guarantee the stability of the proposed controller. Lyapunov stability theorem and LaSalle’s invariance theorem are used to analyze the stability of the proposed nonlinear control scheme. Numerical simulations are performed for a quadrotor Unmanned Aerial Vehicle, one of the affine underactuated systems, to verify the proposed control scheme.

I. INTRODUCTION A lot of research on control of nonlinear systems has been performed, since real systems have various nonlinear characteristics. On the other hand, interest in control of underactuated systems which have fewer control inputs than the degree of freedom has been increased, because underactuated systems have important applications such as aerospace vehicles, underwater robots, and mobile robots, etc. However, control of underactuated systems is much more complex than control of fully-actuated systems, due to the underactuated, non-square properties. Therefore, various nonlinear control methods for the underactuated systems have been developed to overcome the problem. Linearization approach of the nonlinear systems is widely used for nonlinear control schemes. Fang and Kelkar used two-step procedure of feedback linearization for underactuated spacecraft system [1]. Pathak et al. used partial feedback linearization method for a wheeled inverted pendulum [2]. Benallegue et al. designed the feedback linearization controller with high-order sliding mode observer for a quadrotor UAV(Unmanned Aerial Vehicle) [3]. Freddi et al. presented the feedback linearization controller using double loop architectures for a quadrotor UAV considering actuator failure [4]. However, the feedback linearization method only guarantees the local stability of a nonlinear system without the external disturbance or modeling error. Sliding mode control scheme has been developed to deal with disturbances or modeling errors. Xu and Ozguner suggested sliding mode control method for underactuated systems [5], [6]. A quadrotor UAV system was divided into a fully-actuated subsystem and an underactuated subsystem, and the sliding mode controller was designed to make the quadrotor track the desired position and yaw angle while M. Kim and Y. Kim are with School of Mechanical and Aerospace Engineering, Seoul National University, Seoul 151-742, Korea

[email protected] and [email protected] J. Jun is with Department of Mathematics, Johns Hopkins University, Baltimore, MD 21218, U.S. [email protected]

978-1-4673-2064-1/12/$31.00 ©2012 IEEE

keeping zero roll and pitch angles [5]. In [6], a sliding mode control scheme was generalized to stabilize a class of cascaded underactuated systems. Bauadi et al. suggested a sliding mode control using backstepping approach of a quadrotor UAV system and analyzed the locally asymptotic stability [7]. Sliding mode control scheme was also extended to design controllers for Markovian jump singular stochastic hybrid systems [8], continuous time Markovian jump singular systems [9], and differential linear repetitive processes with unknown input disturbance [10]. Although sliding mode control has some advantages, it has some demerits such as large control inputs and chattering. To overcome these drawbacks, adaptive sliding mode control has been studied. Slack variable vector was also used to design an adaptive sliding mode controller for underactuated systems [11], [12]. Ahn et al. proposed adaptive sliding mode control scheme using the slack variables for general nonaffine and underactuated nonlinear systems [11]. To overcome nonsquare properties, slack variables were introduced to make the system input matrix square. Lee et al. compared the performance of feedback linearization and adaptive sliding mode control using input augmentation for a quadrotor UAV system [12]. In [11] and [12], however, the systematic approach for generating proper slack variables was not presented. In this study, the adaptive sliding mode control scheme using slack variables is presented for affine and underactuated nonlinear systems. Affine systems are first considered to analyze the proposed nonlinear control scheme, because the analysis on the affine systems is easier than that of nonaffine systems. Adaptive nonlinear control scheme using slack variables has an advantage to understand easily how to make suitable control inputs from original nonlinear systems without separating subsystems. Using RREF(Reduced Row Echelon Form), the method generating adequate slack variables to make a nonsingular control input system matrix is proposed. Therefore, it is expected systematic approach to generate proper slack variables is made. The stability of the closed-loop system is analyzed using Lyapunov stability theorem and LaSalle’s invariance theorem. This paper is organized as follows. In Section II, the stability of the proposed nonlinear controller for affine underactuated nonlinear systems is analyzed based on Lyapunov stability theorem and LaSalle’s invariance theorem. Furthermore, the slack variable generation method is proposed based on RREF. In Section III, the mathematical model of a quadrotor UAV system, one of affine underactuated nonlinear systems, is presented and the proposed controller is applied

6090

to the quadrotor UAV system. Also, numerical simulation is performed to verify the performance of the proposed nonlinear control scheme. Finally, conclusions are made in Section IV.

A. Adaptive Sliding Mode Control Consider a control affine underactuated nonlinear system,

ℜn

(1)

ℜm

where x ∈ is the state vector, u ∈ (m < n) is the control vector of a system, and fr (x) ∈ ℜn is the unknown vector which describes the external disturbance or modeling error. It is assumed that the order of system is known and f (x) and g (x) are continuously differentiable. Also, it is assumed that g (x) has a full rank. The augmented nonlinear system using slack variables can be written as

(9)

The first derivative of the Lyapunov candidate function can be represented as L˙ = ST S˙ + ν˜ T Γν˜˙ + f˜r (x)T Ω f˙˜r (x)

II. ADAPTIVE SLIDING MODE CONTROLLER DESIGN PROCEDURE

x˙ = f (x) + g (x) u + fr (x)

f˜r (x) ≡ fr (x) − fˆr (x)

(10)

By the Assumption 1, the first derivatives of ν˜ and f˜r (x) have almost same values of the first derivative of −νˆ and − fˆr (x). The first derivative of the sliding surface is written as S˙ = e˙ = x˙ − x˙ d (11) Then, the first derivative of the sliding surface can be rewritten as S˙ = f (x) + G (x) U − ν + fr (x) − x˙ d

(12)

Substituting the proposed augmented control input vector to the first derivative of the sliding surface, the equation can be rewritten as [ ] [ ] L˙ = −ν˜ T S + Γν˙ˆ + f˜ (x)T S − Ω f˙ˆ (x) − ST CS (13) r

r

x˙ = f (x) + G (x) U − ν + fr (x)

(2)

G (x) = [g (x) gs ]T [ ]T U = uT uTs

(3)

From (13), the following adaptation laws for νˆ and fˆr (x) can be obtained. ν˙ˆ = −Γ−1 S (14)

(4)

f˙ˆr (x) = Ω−1 S

where

In the above augmented nonlinear system, gs is a slack variable matrix to make G (x) invertible, us ∈ ℜ(n−m) is a slack variable input vector, and ν is the unknown vector which needs to be estimated. Let us consider the following assumption. Assumption 1: ν and fr (x) change very slow. Consider the following sliding surface, S ≡ e = x − xd

(5)

where e is the error state vector with regard to the desired state vector, xd . Let us propose the following augmented control input, [ ] U = G−1 (x) − f (x) + νˆ − fˆr (x) + x˙ d −CS (6) where νˆ and fˆr (x) are the estimated values of ν and fr (x), respectively, and C is the positive definite diagonal gain matrix. Theorem 1: If appropriate slack variables gs and suitable adaptation laws are used with the proposed control input of (6), then the error states of a control affine underactuated nonlinear system converge to zero, as time increases. Proof: Let us consider the following Lyapunov candidate function, 1 1 1 L = ST S + ν˜ T Γν˜ + f˜r (x)T Ω f˜r (x) (7) 2 2 2 where ν˜ and f˜r (x) are the error vectors with respect to the true values of ν and fr (x), respectively, and Γ and Ω are positive definite diagonal weighting matrices, respectively.

ν˜ ≡ ν − νˆ

(8)

(15)

Finally, the first derivative of the Lyapunov candidate function can be represented as L˙ = −ST CS ≤ 0

(16)

Therefore, it can be stated that the sliding surface with respect to the error states converges to zero as time increases. The given Lyapunov candidate function is continuous and differentiable and the set Ωr is bounded with respect to the arbitrary positive value r. Ωr = {xL ∈ ℜn |L < r} (17) { } where xL = S, ν˜ , f˜r (x) Let D be the set of points which are L˙ = 0 in the set Ωr . D = {xL ∈ ℜn |S = 0} Then, let M be the largest invariance set of D. { } M = xL ∈ ℜn |S = 0, S˙ = 0

(18)

(19)

Let us assume that the set M includes the point which is S˙ ̸= 0. From (6) and (12), the first and the second derivatives of the sliding surface can be rewritten as S˙ = −ν˜ + f˜r (x) −CS

(20)

S¨ = −ν˙˜ + f˜˙r (x) −CS˙ ˙ˆ (x) −CS˙ = ν˙ˆ − r ( f−1 ) = − Γ + Ω−1 S −CS˙

(21)

Note from (21) that S¨ could not converge to zero, due to S˙ ̸= 0. It means that a contradiction to the definition of the set M. According to LaSalle’s invariance theorem, therefore,

6091

it can be stated that the sliding surface converges to zero as time increases. If the adaptation laws are designed properly, the estimation errors of the uncertainties, ν˜ and f˜r (x), converge to zero, that is ν˜ = f˜r (x) = 0. However, only the condition ν˜ = f˜r (x) is needed for S˙ to become zero when S is zero. It can be stated that when ν˜ = f˜r (x), each estimation error compensates for each other. From (21), the following second order equation can be obtained. ( ) S¨ +CS˙ + Γ−1 + Ω−1 S = 0 (22) ( −1 ) The diagonal elements of Γ + Ω−1 and C have the similar physical meaning on the natural frequency and the damping ratio, respectively. ( ) (23) ωi2 = diag Γ−1 + Ω−1 2ζi ωi = diag (C)

1, the RREF of the control input system matrix g (x) can be described as [Im |0]T , where Im denotes a (m × [m) identity ]T matrix. Then, a temporary slack variable matrix 0|I(n−m) is concatenated to the RREF of g (x) at the second step. This is because the only one RREF of any proper slack variable matrix for input system matrix g (x) can [ the control ]T be described as I(n−m) |0 , due to Corollary 2. The nonzero elements and zero elements of the temporary slack variable matrix are switched to correspond with the original control input system matrix g (x) at the third step. Finally, let us take the reordered matrix as the slack variable matrix gs . Figure 1 describes the procedure of generating suitable slack variable using the proposed method.

(24)

Note that the actual control input vector is extracted from (6) as u = U (1 : m) (25) and the actual control input is used to control the affine underactuated nonlinear system (1). B. Slack Variable Generation Method It is very important to generate a proper slack variable matrix, because G (x) should be nonsingular. However, the method to create a slack variable matrix was not systematically shown in the conventional control scheme [11], [12]. In this study, the method generating a suitable slack variable matrix using RREF is proposed. (See the definition of RREF in the appendix) Let us assume that g (x) has full rank. The uniqueness property of RREF is used to simplify the method. Theorem 2: The RREF of a matrix is unique. The proof of Theorem 2 is omitted, since it is well known. (See [13]) Corollary 1: For any (n × m) matrix A of rank m (n > m), the RREF of A consists of a (m × m) identity matrix and a ((n − m) × m) zero matrix. Proof: Let A′ be the RREF of A. According to the definition of the RREF of a matrix and the definition of full rank of a matrix, A′ should have m nonzero rows and the first nonzero number of each nonzero row should be 1. It can be stated that each leading 1 is located i-th entry of the i-th nonzero row, where 1 ≤ i ≤ m. Hence, A′ consists of the identity matrix and (n − m) zero rows. Corollary 2: The RREF of a slack variable matrix is made of the identity matrix and a zero matrix. Proof: This is a special case of Corollary 1. Let As be a slack variable matrix for a full rank (n × m) matrix A. To make [A|As ] square and nonsingular, As should be a (n × (n − m)) matrix. By Corollary 1, therefore, the only one RREF of As consists of the identity matrix and a zero matrix. The RREF of the control input system matrix g (x) is calculated at the first step. Due to Theorem 2 and Corollary

Fig. 1.

The flow chart of slack variables generation method using RREF

Let us consider a simple example. The following matrix B (ta ) is a control input system matrix of the arbitrary affine underactuated system at the time ta .   2 1  7 0   (26) B (ta ) =   3 0  0 1 The only one RREF of B (ta ) is calculated as   1 0  0 1   Brre f (ta ) =   0 0  0 0 A temporary slack variable matrix RREF of B (ta ).  1 [ ]  0 Brre f (ta ) |Bs1 =   0 0

(27)

Bs is concentrated to the 0 1 0 0

0 0 1 0

 0 0   0  1

(28)

Then, the elements of Bs are switched to correspond with the matrix B (ta ). Finally, the slack variable matrix is obtained

6092



as

0  1 Bs =   0 0

 0 0   1  0

(29)

To check whether the obtained slack variable matrix is suitable or not, let us calculate the rank of [B (ta ) |Bs ].   2 1 0 0  7 0 1 0    rank ([B (ta ) |Bs ]) = rank   3 0 0 1  = 4 (30) 0 1 0 0 Therefore, it can be concluded that the obtained slack variable matrix Bs satisfies the purpose of the slack variable introduction. III. APPLICATION FOR A QUADROTOR UAV SYSTEM To verify the performance of the proposed controller, the landing scenario of a quadrotor UAV system is considered. The quadrotor UAV system is one of the control affine underactuated nonlinear systems. The quadrotor UAV system has four rotors, and each rotor produces a lift force and moment. Two diagonal rotors (1,3) rotate in the same direction, whereas the others (2,4) operate in the opposite direction, as shown in Fig. 2. Varying the pair of the rotors’ speed produces roll, pitch, and yaw motion.

represents the length from the center of the quadrotor to the rotor. Control inputs (u1 , u2 , u3 , u4 ) denote the normalized total lift force, roll moment control input, pitch moment control input, and yaw moment control input, respectively. u1 = (F1 + F2 + F3 + F4 ) /m

(37)

u2 = (F2 − F4 ) /J1

(38)

u3 = (−F1 + F3 ) /J2

(39)

u4 = ρ (F1 − F2 + F3 − F4 ) /J3

(40)

where F1 , F2 , F3 , and F4 denote thrust forces generated by each rotor, respectively, m is the mass of the quadrotor UAV, ρ is a force-moment scaling factor, and J1 , J2 , and J3 are the moment of inertia with regard to each axis, respectively. The ground effect should be considered during landing, since the ground effect cannot be ignored under a certain altitude. In this study, it is assumed that the ground effect is represented as { A A 0 < z ≤ zz 2 − 2 (z+zcg ) (zz +zcg ) gr (z) = (41) 0 else where A is the ground effect constant, zcg is the z component of the center of gravity, and zz is the upper limit altitude where the ground effect is significant, respectively. It is very difficult to find the exact value of the ground effect, and therefore the ground effect is considered as an unknown disturbance for designing a controller. Considering the ground effect, the equations of motion can be rewritten as x¨ = f (x) + g (x) u + fr (x)

(42)

f (x) = [0, 0, −g, 0, 0, 0]T

(43)

where T



Fig. 2.

cos ϕ sin θ cos ψ + sin ϕ sin ψ  cos ϕ sin θ sin ψ − sin ϕ cos ψ   cos ϕ cos θ g (x) =   0   0 0

Quadrotor configuration [7]

A. Mathematical Modeling [12] Due to the geometric symmetric property of the quadrotor UAV system, the coupling inertia moments are assumed to be zero. Then, the equations of motion can be represented as (31) x¨ = u1 (cos ϕ sin θ cos ψ + sin ϕ sin ψ )

fr (x) = [0, 0, gr (z) , 0, 0, 0]

0 0 0 l 0 0

0 0 0 0 l 0

0 0 0 0 0 1



(44)

    (45)   

and x = [x, y, z, ϕ , θ , ψ ]T , u = [u1 , u2 , u3 , u4 ]T . B. Adaptive Sliding Mode Controller The augmented system can be represented as x¨ = f (x) + G (x) U − ν + fr (x)

(46)

y¨ = u1 (cos ϕ sin θ sin ψ − sin ϕ cos ψ )

(32)

z¨ = u1 (cos ϕ cos θ ) − g

(33)

ϕ¨ = u2 l

Let us define a suitable sliding surface to control the quadrotor UAV system as

(34)

θ¨ = u3 l

S = [s1 , s2 , s3 , s4 , s5 , s6 ]T = e˙ + Ke

(35)

ψ¨ = u4

(36)

where ϕ , θ , and ψ are roll angle, pitch angle, and yaw angle, respectively, g denotes the gravitational acceleration, and l

(47)

where K is a positive definite diagonal weighting matrix. In this study, the desired values of ϕ and θ of the quadrotor UAV are defined as

6093

ϕd = kϕ1 e˙y + kϕ2 ey

(48)

( ) θd = − kθ1 e˙x + kθ2 ex

(49)

where kϕ1 and kθ1 are derivative gains, and kϕ2 and kθ2 are proportional gains. Note that smoothing techniques can be considered the reduce the effect of signal noise. Using the proposed slack variables generation method, the following slack variable matrix is obtained. [ ]T 1 0 0 0 0 0 gs = (50) 0 1 0 0 0 0 In this study, it is assumed that the quadrotor UAV does not perform an agile maneuver during the considered landing mission, because of no obstacle in the considered environment. Therefore, the obtained slack variable matrix is valid during the mission. Then, the following augmented control input can be obtained to control the quadrotor UAV system. [ ] U = G−1 (x) − f (x) + νˆ − fˆr (x) + x¨ d − K e˙ −CS (51) Note that the ground effect is estimated under the altitude of zz , since the estimation of the ground effect at the above of zz is meaningless. C. Numerical Simulation Result Numerical simulation is performed to verify the performance of the proposed nonlinear controller for the quadrotor UAV system. Landing after passing given waypoints is considered as a mission. The parameters and the initial conditions of the quadrotor are x0 = [x0 , y0 , z0 , ϕ0 , θ0 , ψ0 ]T = [10, 10, 20, 0◦ , 0◦ , 0◦ ]T , J1 = J2 = 2Ns2 /rad, J3 = 3Ns2 /rad, l = 1m, m = 2kg, g = 9.81m/s2 , A = 0.4668, zz = 2m, zcg = 0.1m, kϕ1 = kθ1 = 0.06, and kϕ2 = kθ2 = 0.006. The positions of two waypoints are (20, −10, 10) and (0, 0, 5), and the position of the goal point is (0, 0, 0), respectively. The weighting matrices are set as ([ ]) Γ = Ω = diag 100 100 0.01 1 1 1 (52) ([ ]) K = diag 1 2 0.1 5 5 10 (53) ( ) ζi = 1.4 1.7 1.8 1.7 1.4 1.5 (54)

the values of the Lyapunov candidate function and its first derivative converge to zero, except for the moment that the quadrotor UAV passes the given waypoints. This is because the Lyapunov candidate function and its first derivative have large magnitude values at the initial stage and the moment of passing waypoints, due to the sliding surface has large value. IV. CONCLUSIONS An adaptive sliding mode control scheme using slack variables for affine and underactuated nonlinear systems is proposed. Adaptive sliding mode controller is designed and slack variables are introduced to deal with the underactuated properties. It is very important to generate an adequate slack variable vector to make the augmented input matrix nonsingular and guarantee the stability. Slack variable generation method using RREF, therefore, is proposed to design the nonlinear controller through systematic procedure. The stability of the proposed control scheme is analyzed using Lyapunov stability theory and LaSalle’s invariance theorem. Adaptive sliding mode controller using slack variables is applied to a quadrotor UAV system, which has a landing mission after passing waypoints, for verifying the performance of the proposed control scheme. The further work is to analyze the optimality of slack variables for improving the control performance. ACKNOWLEDGMENTS This work is accomplished as a fundamental research project of LIGNex1-SNU Guidance, Navigation and Control research center. APPENDIX

Definition of The Reduced Row Echelon Form [14] A matrix B is called as the reduced row echelon form, when B satisfies the following description:

Figure 3 shows the three-dimensional trajectory of the quadrotor UAV. Figure 4 shows the time history of position and attitude of the quadrotor UAV while the quadrotor UAV flies from the starting point to the goal point via the given waypoints. Figure 5 shows the time history of the actual control inputs of the quadrotor UAV. The rate limits of motors are considered in this study. As shown in Fig. 5, when the quadrotor UAV passes the waypoints, the actual control inputs have large values, but the inputs do not exceed the limit value. Figure 6 shows the time history of the difference of uncertainties, i.e. ν˜ − f˜r (x). Although the third element of ν˜ and the third element of f˜r (x) are nonzero, those values are same which makes the third element of ν˜ − f˜r (x) is zero, as shown in Fig. 6. In other words, ν˜ = f˜r (x) is satisfied during the landing. Figure 7 shows the time histories of Lyapunov candidate function and its first derivative. Both 6094

1) If a row of B does not consist entirely of zeros, then the first nonzero number in the row is 1. We call the first nonzero element a leading 1. 2) If there are any rows that consist entirely of zeros, they are grouped together at the bottom of B. 3) In any two successive nonzero rows of B, the leading 1 in the lower row occurs farther to the right than the leading 1 in the higher row. 4) Each column of B that contains a leading 1 has zeros every where else. R EFERENCES [1] B. Fang and A.G. Kelkar, “On Feedback Linearization of Underactuated Nonlinear Spacecraft Dynamics,” Proceeding of the 40th IEEE Conference on Decision and Control, pp. 3400-3405, 2001. [2] K. Pathak, J. Franch, and S.K. Agrawal, “Velocity and Position Control of a Wheeled Inverted Pendulum by Partial Feedback Linearization,” IEEE Transactions on Robotics, vol. 21, no. 3, pp. 505-513, 2005. [3] A. Benallegue, A. Mokhtari, and L. Fridman, “High-order Slidingmode Observer for a Quadrotor UAV,” International Journal of Robust and Nonlinear Control, vol. 18, no. 4-5, pp. 427-440, 2008.

4

u2 (rad/s2)

12

u1 (m/s2)

10

8

6

0

50 100 time(sec)

0

-2

0

Fig. 5.

50 100 time(sec)

150

0

50 100 time(sec)

150

0

-1

150

Actual control inputs history of a quadrotor UAV

5

0 er2

0

-5

-10

tilde n- tilde fr(x)

10

-10 -20

0

50

100 time(sec)

-30

150

0

50 100 time(sec)

150

0

50 100 time(sec)

150

0

50 100 time(sec)

150

0.2 0.1 er4

er3

0

0 -0.1 -10

0

50

15

100 time(sec)

-0.2

150

0.3

1

0.2

0.5

5

er6

10

er5

z(meter)

50 100 time(sec)

-0.5

10

20

0

0.5

20

Start point Waypoint1 Waypoint2 Goal point Trajectory

0

1

u4 (rad/s2)

u3 (rad/s2)

2

-4

2

-2

150

er1

[4] A. Freddi, A. Lanzon, and S. Longhi, “A Feedback Linearization Approach to Fault Tolerance in Quadrotor Vehicles,” 18th IFAC World Congress, pp. 5413-5418, 2011. [5] R. Xu and U. Ozguner, “Sliding Mode Control of a Quadrotor Helicopter,” Proceeding of the 45th IEEE Conference on Decision and Control, pp. 4957-4962, 2006. [6] R. Xu and U. Ozguner, “Sliding Mode Control of a Class of Underactuated Systems,” Automatica, vol. 44, no. 1, pp. 233-241, 2008. [7] H. Bouadi, M. Bouchoucha, and M. Tadjine, “Sliding Mode Control Based on Backstepping Approach for an UAV Type-Quadrotor,” International Journal of Applied Mathematics and Computer Sciences, vol. 4, no. 1, pp. 12-17, 2007. [8] L. Wu, and D.W.C. Ho, “Sliding Mode Control of Singular Stochastic Hybrid Systems,” Automatica, vol. 46, no. 4, pp. 779-783, 2010. [9] L. Wu, P. Shi, and H. Gao, “State Estimation and Sliding Mode Control of Markovian Jump Singular Systems,” IEEE Transactions on Automatic Control, vol. 55, no. 5, pp. 1213-1219, 2010. [10] L. Wu, H. Gao, and C. Wang, “Quasi Sliding Mode Control of Differential Linear Repetitive Processes with Unknown Input Disturbance,” IEEE Transactions on Industrial Electronics, vol. 58, no. 7, pp. 30593068, 2011. [11] C. Ahn, Y. Kim, and H.J. Kim, “Adaptive Sliding Mode Control for Non-affine Nonlinear Vehicle Systems,” AIAA Guidance, Navigation, and Control Conference and Exhibit, Hilton Head, SC, August 2007. [12] D. Lee, H.J. Kim, and S. Sastry, “Feedback Linearization vs. Adaptive Sliding Mode Control for a Quadrotor Helicopter,” International Journal of Control, Automation, and Systems, vol. 7, no. 3, pp. 419428, 2009. [13] T. Yuster, “The Reduced Row Echelon Form of a Matrix is Unique: A Simple Proof,” Mathematics Magazine, vol. 57, no. 2, pp. 93-94, 1984. [14] K. Hoffman and R. Kunze, Linear Algebra, Prentice-Hall, Englewood Cliffs, NJ, pp. 54-56, 1961.

0.1 0

0 10

-0.1 5

20

0

50

15

0

-1

150

5 -10

0

x(meter)

Fig. 6. Fig. 3.

100 time(sec)

10

-5 y(meter)

0 -0.5

Estimation error of uncertainties history

3D trajectory of a quadrotor UAV

20

10

20

15

5

15

states desired values

0

0 -5

0

50 100 time(sec)

-10

150

10

5

5

0

10

Lyapunov function

5

z(m)

y(m)

x(m)

1000 10

5

0

50 100 time(sec)

0

150

0

50 100 time(sec)

150

1

800 600 400 200 0

0

20

40

60

80

100

120

0

20

40

60 time(sec)

80

100

120

0

-5

Derivative Lyapunov function

y (deg)

q (deg)

f (deg)

0.5 0 -0.5 -5

0

50 100 time(sec)

Fig. 4.

150

-10

0

50 100 time(sec)

150

-1

0

50 100 time(sec)

150

States history of a quadrotor UAV

0 -200 -400 -600 -800 -1000

Fig. 7.

6095

Lyapunov candidate function history