Sliding Mode Observer and Backstepping Control for a ... - IEEE Xplore

12 downloads 0 Views 664KB Size Report
observer for a quadrotor unmanned aerial vehicle. The sliding mode observer works as an observer of the quadrotor velocities and estimator of the external ...
Proceedings of the 2007 American Control Conference Marriott Marquis Hotel at Times Square New York City, USA, July 11-13, 2007

FrC10.6

Sliding Mode Observer and Backstepping Control for a Quadrotor Unmanned Aerial Vehicles Tarek Madani and Abdelaziz Benallegue Abstract— In this paper, we propose a new approach of the backstepping control running parallel with a sliding mode observer for a quadrotor unmanned aerial vehicle. The sliding mode observer works as an observer of the quadrotor velocities and estimator of the external disturbances such as wind and parameter uncertainties. The controller objective is to achieve good tracking of desired (x, y, z) absolute positions and yaw angle while keeping the stability of the pitch and roll angles, in spite of the presence of bounded external disturbances. For this reason, the observer-controller is proposed to estimate the effect of external perturbations in order to compensate them. The design methodology is based on Lyapunov stability. Simulation results show the good performances and the robustness of the proposed observer-controller.

I. I NTRODUCTION Rotary wing aerial vehicles (helicopters) have distinct advantages over conventional fixed wing aircrafts on inspection tasks [1]. They can takeoff and land in limited spaces and easily hover above the target. There are several kind of helicopter machines, the more advantageous one is the quadrotor. It has more lift thrusts that offer better payload and it is highly manoeuvrable and potentially simpler to build since the slope of the blades is not controlled. Its controller system regulates the four speed of rotors, the slope of the helicopter on the right, on the left, ahead, behind, and rotation on itself. Although various advanced control methods for a quadrotor Unmanned Aerial Vehicles (UAV) such as feedback linearization method in [2], backstepping control in [3], sliding mode technique in [4] and several other propositions have recently been developed to meet increasing demands on the UAV performance. However, they required full information on the state that may limit their practical utility. Indeed, even if all the state measurements are possible they are typically corrupted by noise. Moreover, the increased number of sensors makes the overall system more complex in implementation and expensive in realization. Thus motivated, an observer design becomes an attractive approach to UAV control. Observers appear to be useful in not only system monitoring and regulation but also detecting as well as identifying failures in dynamic systems. There are several well-known observer structures which are based on different methods such as variable structure approaches [5]. A sliding mode observer yielding insensitivity to unknown parameter variations and noise has been proposed in [6]. A second-order T. Madani and A. Benallegue are with Laboratoire d’Ing´enierie des Syst`emes de Versailles, 10-12, avenue de l’Europe, 78140 V´elizy - FRANCE [email protected] and [email protected]

1-4244-0989-6/07/$25.00 ©2007 IEEE.

sliding mode observer, providing finite time velocity observation, parameter identification and disturbance estimation, is presented in [7]. In the present paper, we will improve our works given in [8], [9] and [10] by developing a new observer-controller law using the backstepping control technique and the sliding mode observer for the quadrotor UAV. This technique has been adopted for different reasons: • achieve good tracking of desired positions and yaw angle while keeping the stability of the pitch and roll angles; • estimate the non measurable velocities of the UAV. The measured variables are the absolute position and the orientation. Although velocities can be obtained by differentiation, however, they are contaminated by the measurement noise to such a degree that the differentiation can no longer be used; • compensate the model errors, parametric uncertainties and other disturbances such as wind effects. The paper is outlined as follows. In section II, the dynamic model of the quadrotor UAV is developed. Based on this nonlinear model, we design in section III, a backstepping controller. The observer design is presented in section IV. Some simulation results are carried out, allowing the analysis of the stability, robustness of the proposed observercontroller in the presence of wind perturbations are presented in section V. Finally, section VI is a conclusion. II. M ODELING OF A QUADROTOR UAV The quadrotor, shown in figure 1, has four rotors to generate the propeller forces F1 , F2 , F3 and F4 . Its configuration simplifies the displacement and increases the lift force. On varying the rotor speeds altogether with the same quantity, the lift forces will change, affecting in this case the altitude of the vehicle. The two pairs of rotors (1, 3) and (2, 4) turn in opposite directions in order to balance the moments and produce yaw motion as needed. Yaw angle is obtained by speeding up or slowing down the clockwise motors depending on the desired angle direction. The motion direction according to the horizontal plan depends on the sense of yaw angle and tilt angles (pitch and roll), whether they are positives or negatives. The equations describing the altitude and the attitude motions of a quadrotor helicopter are basically those of a rotating rigid body with six degrees of freedom [11]. Let there be two main reference frames (see figure 1): the earth→ − − → − → → − fixed inertial reference frame E a (Oa , ea1 , ea2 , ea3 ) such that ea3 denotes the vertical direction downwards into the earth and

5887

FrC10.6 where m and J = diag[Ix , Iy , Iz ] are respectively the  mass and the total inertia matrix of quadrotor, Fext and Text include the external forces/torques developed in the center of mass of the quadrotor according to the direction of the reference frame E b , such as:    Fext = Fprop + Faero + Fgrav (3) Text = Tprop + Taero

where the forces {Fprop , Faero , Fgrav } and the torques {Tprop , Taero } are explained in the table I with e3 = [0, 0, 1]T ; g is the gravity; U is the velocity of the helicopter with respect to the air; {AF (U ) = [Au (U ), Av (U ), Aw (U )]T , AT (U ) = [Ap (U ), Aq (U ), Ar (U )]T } are two complex non-linear function vectors which represent respectively aerodynamic forces and torques; d is the distance from the center of mass to the rotor axes and c > 0 is the drag factor. Fig. 1.

− → − → → − the body-fixed reference frame E b (Ob , eb1 , eb2 , eb3 ) fixed at the center of mass of the quadrotor. The absolute position of the quadrotor is described by X = [x, y, z]T and its attitude by the Euler angles Θ = [ψ, θ, φ]T , used corresponding to aeronautical convention. The attitude angles are respectively called Yaw angle (ψ rotation around z-axis), Pitch angle (θ rotation around y-axis) and Roll angle (φ rotation around xaxis). Let V = [u, v, w]T ∈ E b denote the linear velocity and Ω = [p, q, r]T ∈ E b denote the angular velocity of the airframe expressed in the body-fixed-frame. The relation ˙ Θ) ˙ is given by between the velocities vectors (V, Ω) and (X,  V = RT (Θ)X˙ =⇒ X˙ = R(Θ)V (1) ˙ Ω = M (Θ)Θ where R(Θ) and M (Θ) are respectively the transformation velocity and the rotation velocity matrices between E a and E b , such as1 :   Cψ Cθ Cψ Sθ Sφ − Sψ Cφ Cψ Sθ Cφ + Sψ Sφ R(Θ) =  Sψ Cθ Sψ Sθ Sφ + Cψ Cφ Sψ Sθ Cφ − Cψ Sφ  −Sθ Cθ Sφ Cθ Cφ and



−Sθ M (Θ) =  Cθ Sφ Cθ Cφ

0 Cφ −Sφ

 1 0  0

2 the

Source Propeller system

Aerodynamic effect Gravity effect

TABLE I P HYSICAL EFFECTS ACTING ON A QUADROTOR EXPRESSED IN THE BODY- FIXED REFERENCE FRAME

The aerodynamic functions Ai (U ) are highly nonlinear and dependent on numerous physical variables such as the angle between airspeed and the body-fixed frame and geometric form of the helicopter [1]. In this work, we assume that AF (U ) = Kt (V − Vair ) and AT (U ) = Kr (Ω − Ωair ) where {Vair , Ωair } are the translation and the rotation velocity of the air according the E b reference frame and {Kt , Kr } are two diagonal aerodynamic matrices. Using (2) and (3) the equation of the dynamics of rotation of the quadrotor, expressed in the reference frame E a , will be:  ¨ = 1 R[Fprop − AF (U )] + ge3  X m 

¨ = (JM )−1 [ Tprop − J ∂M φ˙ + ∂M θ˙ Θ ˙ − AT (U ) Θ ∂φ ∂θ   ˙ × (JM Θ)] ˙ −(M Θ) (4) III. BACKSTEPPING CONTROLLER DESIGN

Using Newton’s laws in the body-fixed  reference frame E b , about the quadrotor subject to forces Fext and mo ments Text applied to the center of mass, one can obtain the dynamic equation motions2 :   F = mV˙ + Ω × (mV )  ext (2) Text = J Ω˙ + Ω × (JΩ) 1 the

Model P Fprop = 2 − 4i=1 Fi e3 3 d (F2 − F4 ) 5 d (F1 − F3 ) Tprop = 4 c (F1 − F2 + F3 − F4 ) Faero = −AF (U ) Taero = −AT (U ) Fgrav = mgRT e3

Body-fixed frame and earth-fixed frame for the quadrotor.

abbreviations S(.) and C(.) denotes respectively sin(.) and cos(.). symbol × denotes the usual vector product.

In this section, controller design for the quadrotor UAV is proposed by using the backstepping technique. Our objective is to ensure the convergence of the positions {x(t), y(t), z(t), ψ(t)} to the desired trajectories {xd (t), yd (t), zd (t), ψd (t)} respectively, and stabilize the pitch and the roll angles {φ(t), θ(t)}. The core concept of the proposed controller is to compensate the model errors, parametric uncertainties and other disturbances by using the sliding mode observer given in the next section. A control law strategy is proposed having in mind that the

5888

FrC10.6 quadrotor can be seen as three interconnected subsystems: an under-actuated subsystem (x, y, φ and θ), a fully-actuated subsystem (z and ψ) and a propeller subsystem (F1 , F2 , F3 and F4 ). The quadrotor model, developed in the previous section, can be rewritten in a state-space form by using the following state vectors: x1 = [x, y]T , x2 = [x, ˙ y] ˙ T , x3 = [φ, θ]T , T T ˙ ˙ ˙ T and x7 = ˙ ψ] x4 = [φ, θ] , x5 = [z, ψ] , x6 = [z, T [F1 , F2 , F3 , F4 ] . Let u = x˙ 7 be the considered control inputs, the stat-space equations are given as follows:  x˙ 1 = x2    x˙ 2 = f0 (x2 , x3 , x5 , x6 ) + g0 (x5 , x7 )ϕ0 (x3 ) + ξ0 S1 : x˙ 3 = x4     x˙ 4 = f1 (x3 , x4 , x6 , x7 ) + g1 (x3 )ϕ1 (x7 ) + ξ1 x˙ 5 = x6 S2 : x  ˙ 6 = f2 (x3 , x4 , x6 , x7 ) + g2 (x3 )ϕ2 (x7 ) + ξ2 S3 : x˙ 7 = u (5) where {S1 , S2 , S3 } denote respectively an under-actuated subsystem, a fully-actuated subsystem and a propeller subsystem; The matrices gi (i = 0, 1, 2) are given by3     1 1 P Cψ Sψ − 4i=1 Fi Ix Iy S φ Tθ g0 = , g1 = , 1 m −Cψ Sψ 0 Iy Cφ   1 Cφ Cθ 0 −m g2 = 1 0 Iz Cφ Seθ (6) The vectors ϕi (i = 0, 1, 2) are     d (F2 − F4 ) Sφ , ϕ1 = , ϕ0 = d (F1 − F3 ) CφSθ (7) (F1 + F2 + F3 + F4 ) ϕ2 = c(F1 − F2 + F3 − F4 ) The functions fi = [fi1 , fi2 ]T (i = 0, 1, 2) are given by:   f01  f02  = − 1 RKt RT X˙ + G (8) m f21   f11 ˙ Θ ˙  f12  = −(JM )−1 [ J( ∂M φ˙ + ∂M θ) ∂φ ∂θ ˙ ˙ ˙ f22 +Kr M Θ + (M Θ)× (JM Θ)]  d Iy Sφ Seθ (F3 − F1 )    +  − Icz Sφ 4i=1 (−1)i+1 Fi   4 c i+1 Fi i=1 (−1) Iz Cφ Tθ

and ξi = [ξi1 , ξi2 ]T (i = 0, 1, 2) are the disturbances, such as:   ξ01  ξ02  = 1 RKt RT X˙ air + ∆t m  ξ22  (9) ξ11 ˙ air + ∆r  ξ12  = (JM )−1 Kr M Θ ξ21 3 the

abbreviations Tθ and Se(.) denotes the functions tan(.) and respectively.

˙ air } are the translation and the rotation where {X˙ air , Θ velocities of the air according to the reference frame E a and ∆t and ∆r are the model errors and parametric uncertainties vectors in ℜ3 . Let define the following Jacobian matrices:   ∂ϕ0 (x3 ) 0 Cφ (10) = J0 = −Sφ Sθ Cφ Cθ ∂x3   ∂ϕ1 (x7 ) 0 d 0 −d J1 = = d 0 −d 0 ∂x7   ∂ϕ2 (x7 ) 1 1 1 1 = J2 = c −c c −c ∂x7 One can synthesize the control law forcing the states x1 and x5 of a quadrotor to follow the desired trajectory x1d (t) = [xd (t), yd (t)]T and x5d (t) = [zd (t), ψd (t)]T by using the backstepping technique [12]. In this purpose, the following assumptions are needed for the analysis: ˙ can be measured or estimated by A1: X, Θ, X˙ and Θ on-board sensors. 4 A2: The quantity i=1 Fi represents the total thrust on the body in the z-axis and is strictly positive to overcome the gravity. A3: The picth and roll angels are limited to − π2 < φ < π π π 2 and − 2 < θ < 2 . A4: The disturbances ξ0 , ξ1 and ξ2 in the dynamic model (5) are unknown and bounded. According to the assuptions A2 and A3, the matrices g0 , g1 and g2 given in (6) and the matrix J0 given  in(10) are J1 is also invertible. Moreover, the composed matrix J2 invertible when c > 0 and d > 0. In the next section, we will use a sliding mode observer to prove that the disturbances ξi (i = 0, 1, 2) can be estimated by the signals µfi (i = 2, 4, 6) in finite time. The estimation signals µfi (i = 2, 4, 6) will be used in this section to compensate the disturbances ξi (i = 0, 1, 2). We can use the same methodologies used in [8] to extract the following control law: = x˙ 1d + A1 (x1d − x1 ) = g0−1 [(x1d − x1 ) + A2 (v1 − x2 ) − f0 + v˙ 1 − µf2 ] = J0−1 [g0T (v1 − x2 ) + A3 (v2 − ϕ0 (x3 )) + v˙ 2 ] = g1−1 [J0T (v2 − ϕ0 ) + A4 (v3 − x4 ) − f1 + v˙ 3 − µf4 ] = x˙ 5d + A5 (x5d − x5 ) = g2−1 [(x5d −x5 ) + A6 (v5 − x6 ) − f2 + v˙ 5 − µf6 ]   −1 T   g1 J1 v3 − x4 02×2 u= J2 02×2 g2 v5 − x6     v˙ 4 v4 − ϕ1 + + A7 v˙ 6 v6 − ϕ2 (11) where Ai ∈ ℜ2×2 (i = 1, . . . , 6) and A7 ∈ ℜ4×4 are a positive definite matrices, 02×2 is a null matrix in ℜ2×2 and

1 cos(.)

5889

v1 v2 v3 v4 v5 v6

z1 = x1d − x1 , z2 = v1 − x2 , z3 = v2 − ϕ0 (x3 ), z4 = v3 − x4 , z 5 = x5d − x5 , z 6 = v5 − x6 , v4 − ϕ1 (x7 ) . z7 = v6 − ϕ2 (x7 )

(12)

FrC10.6 Using (5), (11) and (12) we obtain the following form of the derivative with respect to time:  z˙ = −A1 z1 + z2   1   z˙2 = −z1 − A2 z2 + g0 z3 + (µf2 − ξ0 )      z˙3 = −g0T z2 − A3 z3 + J0 z4 (13) z˙4 = −J0T z3 − A4 z4 + g1∗ z7 + (µf4 − ξ1 )    z ˙ = −A z + z 5 5 5 6   f  ∗   z˙6 = −z5 − A6 z6 + g2 z7 + (µ6 − ξ2 )  ∗T ∗T z˙7 = −g1 z4 − g2 z6 where g1∗ = [g1 , 02×2 ] ∈ ℜ2×4 and g2∗ = [02×2 , g2 ] ∈ ℜ2×4 . Define4 T  Z = z1T , . . . , z7T , A = diag[A1 , . . . , A7 ]

and the matrix M  02×2 I2×2  −I2×2 02×2   02×2 −g0T   02×2 02×2   02×2 02×2   02×2 02×2 04×2 04×2

∈ ℜ16×16 given by: 02×2 g0 02×2 −J0T 02×2 02×2 04×2

02×2 02×2 J0 02×2 02×2 02×2 −g1∗T

02×2 02×2 02×2 02×2 02×2 −I2×2 04×2

02×2 02×2 02×2 02×2 I2×2 02×2 −g2∗T

02×4 02×4 02×4 g1∗ 02×4 g2∗T 04×4

         

After a finite time t2 shown in section IV, the following equalities are satisfied: µf2 = ξ0 , µf4 = ξ1 and µf6 = ξ2 . Therefore, the error dynamics (13) can be expressed in terms of the above quantities as: Z˙ = −AZ + M Z for t  t2

(14)

Note that the errors Z does not escape to infinity in finite time t2 . The term M Z denotes the coupling between the error dynamics in (14). The matrix A is positive definite and the matrix M is skew-symmetric. Let the Lyapunov function candidate of the whole system V = 21 Z T Z

(15)

Differentiating (15) and using (14) gives V˙ = Z T Z˙ = −Z T AZ < 0. According to a standard Lyapunov theorem, this demonstrates the asymptotic convergence to zero of the tracking errors Z. Consequently, the closed loop system is asymptotically stable. IV. S LIDING MODE OBSERVER While dealing with a state space realization of dynamic systems in real time, it is necessary to manipulate the state vector. In practice, the full state measurements are costly and difficult or even impossible to obtain. In that case, an observer may be used to estimate the system state and the disturbances. Motivated by practice, the measured UAV variable are the positions5 {x, y, z, φ, θ, ψ} = {xi }i=1,3,5 . ˙ θ, ˙ ψ} ˙ given The task is to estimate the velocity {x, ˙ y, ˙ z, ˙ φ, by the states {xi }i=2,4,6 and also estimate the disturbances {ξi }i=0,1,2 . The estimate of the state x7 is useless since it 4 The notations 0 m×n and I n×n denotes the null m×n ∈ ℜ n×n ∈ ℜ and the identity matrices respectively. 5 the writing {x } i i=1,...,N is the abbreviation of {x1 , . . . , xN }.

can be obtained directly by a simple integration of the control inputs u. Following [13], the observer design of the state variables {xi }i=1,...,6 is made in the triangular input form [14]:   x ˆ˙ 1 = x ˆ2 + µ1    x ˙  ˆ2 = fˆ0 (ˆ x2 , x3 , x5 , x ˆ6 ) + g0 (x5 , x7 )ϕ0 (x3 ) + µ2    ˙ x ˆ3 = x ˆ4 + µ3  ˆ4 , x ˆ6 , x7 ) + g1 (x3 )ϕ1 (x7 ) + µ4 x ˆ˙ 4 = fˆ1 (x3 , x    ˙  x ˆ = x ˆ + µ 5 6 5    ˙ x ˆ6 = fˆ2 (x3 , x ˆ4 , x ˆ6 , x7 ) + g2 (x3 )ϕ2 (x7 ) + µ6 (16) where {ˆ xi }i=1,...,6 are the estimation of {xi }i=1,...,6 and:  µi = Ki sgn(xi − x ˆi ) for i = 1, 3, 5. (17) µi+1 = Ki+1 sgni (µi ) Hereinafter, the function sgni (.) is inherited form [15] to denote the usual sign function but with a low pass filter of its argument and the gains {Ki }i=1,...,6 are diagonal positive definite matrices in ℜ2×2 to be specified in the subsequent stability analysis. The observer error dynamics can be written as:  ˙ x ˜1 = x ˜2 − µ1    ˙ 2 = f˜0 + ξ0 − µ2  x ˜    ˙ x ˜3 = x ˜4 − µ3 (18) ˙ 4 = f˜1 + ξ1 − µ4  x ˜     ˜6 − µ5 x ˜˙ = x   5 ˙x ˜6 = f˜2 + ξ2 − µ6

ˆi }i=1,...,6 are the estimation errors. with {˜ xi = xi − x The idea behind the above observer procedure [15] is that no injection into the next observer channels (i = 2, 4, 6) is made before reaching the corresponding sliding manifolds {˜ xi = 0}i=1,3,5 , i.e., {sgni (µi ) = 0}i=1,3,5 before the fast switching of the observer inputs {µi }i=1,3,5 appear on the sliding manifolds {˜ xi = 0}i=1,3,5 . After reaching this manifold, the error dynamics evolves in the sliding mode {˜ xi = 0}i=1,3,5 and the low pass filter is used to obtain the averaging, so-called equivalent control values {µeq i }i=1,3,5 , being now applied to the next observer channel, i.e. {sgni (µi ) =sgn(µeq i )}i=1,3,5 after the fast switching of the observer inputs {µi }i=1,3,5 appear on the manifolds {˜ xi = 0}i=1,3,5 . By iterating on i, the functions {sgni }i=1,3,5 are similarly introduced and the discontinuity hyperplanes {˜ xi = 0}i=1,3,5 are thus reached step by step. Theorem 1: The observer (16), (17) for the system (5) ensure, in finite time, the convergence of the estimation errors {˜ xi }i=1,...,6 to zero and the convergence of the filtred signals of {µi }i=2,4,6 to {ξi }i=0,1,2 . Proof: The convergence analysis of the estimated signals to the real ones is conducted in three steps. The first step relates to {xi }i=1,3,5 convergency proof since they are the measured states. This will lead to the second step which relates to {xi }i=2,4,6 convergence proof. The last step is devoted to the convergence demonstration of the estimated external disturbances {ξi }i=0,1,2 .

5890

FrC10.6

V. S IMULATION RESULTS In this section, we will verify the effectiveness of the proposed controller by simulation of a quadrotor UAV with the following parameters: m = 2kg, d = 0.2m, c =

−1 0

30

10

ψ position [rad]

2 1 10

20

θ position [rad]

20

Fig. 2.

0 0

10

10

Position outputs

20

30

desired measured estimated

0.5

0

−0.5 0

10

Time [sec]

0.1

20

30

φ velocity [rad/sec]

20

30

20

30

0.1 0 −0.1 0

10 Time [sec]

0.01

0

10

30

0.2

Time [sec]

−0.01 0

20 Time [sec]

0.2

10

30

0

Time [sec]

0

0 0

20

0.02

−0.02 0

30

0.5

10

30

0.5

Time [sec]

−0.5 0

20

1

Time [sec]

0

10

30

1.5

30

0.02

−0.02 0

20 Time [sec]

Time [sec]

It is possible to assume that the equivalent output injection is equal to the output of the filter [7]. Then, any bounded perturbation can be identified, even in the case of discontinuous perturbations, using directly the filter output

where {µfi }i=2,4,6 are the filtred signals of {µi }i=2,4,6 .

20

3

0 0

xi = notice {f˜i = fi − fˆi = 0}i=0,1,2 because {ˆ xi }i=2,4,6 . Then the equivalent outputs {µeq } are i=2,4,6 i given by  eq  µ2 ≡ K2 sgn1 (µ1 ) ≡ ξ0 µeq (22) 4 ≡ K4 sgn3 (µ3 ) ≡ ξ1  eq µ6 ≡ K6 sgn5 (µ5 ) ≡ ξ2

(23)

10

0

Time [sec]

Similar to (19), sytem (20) is finite time stable if {K2 > |f˜0 + ξ0 |max , K4 > |f˜1 + ξ1 |max , K6 > |f˜2 + ξ2 |max }, i.e. {˜ xi = 0}i=2,4,6 for all t  t2 and some t2 > t1 ˜ thereby yielding {µeq 2i = fi−1 + ξi−1 }i=1,2,3 for t  t2 . Finally, the finite time convergence to the sliding mode set ensures that there exists the time constant t2 > 0 such that for all t  t2 the following identity holds  ˜˙ 2 ≡ f˜0 + ξ0 − µeq  0≡x 2 (21) 0≡x ˜˙ 4 ≡ f˜1 + ξ1 − µeq 4  0≡x ˜˙ 6 ≡ f˜2 + ξ2 − µeq 6

µf2 = ξ0 , µf4 = ξ1 , µf6 = ξ2 for t  t2

0

−1 0

desired measured estimated

1 y position [m]

1

y velocity [m/sec]



is investigated. The states {xi }i=1,...,7 does not escape to infinity in finite time. Moreover, if {ˆ xi }i=1,3,5 are bounded, all the other states of observer are also bounded. It is well-known [6] that under conditions {Ki > |˜ xi+1 |max }i=1,3,5 the above equations (19) are finite time stable, i.e., after a finite time moment t1 , there appears sliding modes on the manifolds {ˆ xi = 0}i=1,3,5 . This conclusion is straightfotwardly verifed for each of the equations (19) with the Lyapunov ˜i }i=1,3,5 . ˜Ti x functions {Vi = 12 x Second, the convergence of the errors {˜ xi }i=2,4,6 is demonstrated. As it is shown above, the observation errors {˜ xi }i=1,3,5 go to zero in finite time t1 . It follows that {x ˜˙ i = 0}i=1,3,5 for t  t1 thereby yielding ˜i+1 (t)}i=1,3,5 for t  t1 . Thus, for t  t1 {µeq i (t) = x the errors {˜ xi }i=2,4,6 are governed by  ˜˙ 2 = f˜0 + ξ0 − K2 sgn(˜ x2 )  x (20) x ˜˙ 4 = f˜1 + ξ1 − K4 sgn(˜ x4 )  ˙ x ˜6 = f˜2 + ξ2 − K6 sgn(˜ x6 )

x velocity [m/sec]



(19)

ψ velocity [rad/sec]

˜i+1 − Ki sgn(˜ xi ) for i = 1, 3, 5. x ˜˙ i = x

0.01m, Ix = Iy = Iz /2 = 1.2416N m.s2 /rad, Kt = 10−2 I3×3 N.s/m and Kr = 10−3 I3×3 N m.s/rad. The iniˆi (0) = [0, 0]T for i = 1, . . . , 6 tial conditions are: xi (0) = x mg T and x7 (0) = 4 [1, 1, 1, 1] . The controller parameters used in simulation are: A1 = A3 = A5 = 10I2×2 , A2 = A4 = A6 = I2×2 , A7 = 10I4×4 and Ki = 0.1I2×2 for i = 1, . . . , 6.

20

30

θ velocity [rad/sec]

variables

x position [m]

measured

−z position [m]

of

φ position [rad]

First, the convergence {˜ xi }i=1,3,5 , governed by

−z velocity [m/sec]



0.02

0

−0.02 0

Time [sec]

Fig. 3.

10 Time [sec]

Velocity outputs

For reason of derivations of the virtual controls, the desired trajectories are chosen in a manner to avoid initial conditions problem. So the reference trajectories chosen for xd (t), yd (t), zd (t) and ψd (t) are filtred with a six order filter defined by the transfer function 1/(s + 1)6 where s is the Laplace variable to make it smooth in curve and zero initial conditions before exciting the system. The reference trajectories used in simulation are given by: xd (t) = 21 cos( 2t ),

5891

FrC10.6

5 0 −5 0

10

20

30

10

x 10

0 −5 0

10

Time [sec] Disturbance ξ1,2

Disturbance ξ1,1

20

30

20

30

20

30

Time [sec] −4

x 10

5 0 −5 0

A new approach of the full state backstepping control using sliding mode observer has been applied to a quadrotor unmanned aerial vehicle. Although the behavior of the quadrotor, affected by aerodynamic forces and moments, is non linear and high coupled, the backstepping technique, applied to the helicopter, turns out to be a good starting point to avoid complex nonlinear control solutions. The system model was divided into three interconnected subsystems: an under-actuated subsystem, a fully-actuated subsystem and a propeller subsystem. The proposed controller is able to stabilize the whole system and to drive the quadrotor to desired trajectories. The velocities observer and a disturbance estimator have been added, by using sliding mode technique, to overcome the limitations on the measured states and to impose robustness properties on the global closed loop system. Numerical simulations of the theorical results show the good performances and the robustness of the proposed observer-controller.

5

−4

10

VI. C ONCLUSION

real estimated

−3

x 10

Disturbance ξ0,2

Disturbance ξ0,1

−3

10

10

20

30

10

x 10

5 0 −5 0

10

Time [sec]

Time [sec]

5

Disturbance ξ2,2

Disturbance ξ2,1

−4

x 10

0 −5 0

10

20

30

0.01 0 −0.01 0

10

Time [sec]

Fig. 4.

Time [sec]

Wind effect estimations

8

8

6

Force F2 [N]

10

1

Force F [N]

R EFERENCES

6 4 2 0

10

20

4 2 0 0

30

10

8

8

6

Force F4 [N]

10

6 4 2 0

10

20

30

20

30

Time [sec]

3

Force F [N]

Time [sec]

20

30

4 2 0 0

Time [sec]

Fig. 5.

10 Time [sec]

Propeller forces

t and ψd (t) = 1. The robustness yd (t) = 12 sin( 2t ), zd (t) = 10 is tested by the use of the external wind disturbances. The challenge is to estimate and to compensate the disturbances using the structure of equivalent control given in equations (23). Three different types of disturbances were introduced for t  15sec: two discontinues signals given by a square and a lipschitz waves and one smooth disturbance given by sinusoidal signal. Figures 2 and 3 show the good positions and velocities tracking of a quadrotor helicopter. Moreover, we can also notice an optimization of displacements tilt angles (φ, θ) and the efficiency of the observer outputs. When wind disturbances are introduced, the results reflect the robustness of the mixed observer-controller, also confirmed by the tracking error convergence. The good estimation of wind effect disturbances is presented in figure 4. Note that the obtained forces (figure 5) are acceptable and physically realizable.

[1] A. Gessow and G. C. Myers, Aerodynamics of the Helicopter, New York: F. Ungar, 1967. [2] V. Mistler, A. Benallegue and N. K. M’Sirdi, ”Exact Linearization and Noninteracting Control of a 4 Rotors Helicopter via Dynamic Feedback”, Proceedings of the 2001 IEEE International Workshop on Robot and Human Interactive Communication, 2001. [3] E. Altug, J. P. Ostrowski, R. Mahony,”Control of a Quadrotor Helicopter Using Visual Feedback”, IEEE Int. Conf. on Robotics and Automation ICRA’02, pp. 72-77, 2002. [4] S. Bouabdallah and R. Siegwart, ”Backstepping and Sliding-mode Techniques Applied to an Indoor Micro Quadrotor”, IEEE Int. Conf. on Robotics and Automation ICRA’05, pp. 2259-2264, 2005. [5] B. L. Walcott and S. H. Zak, ”State Observer of Nonlinear Uncertain Dynamical Systems”, IEEE Trans. on Automatic Control, vol. 32, pp. 166-170, 1987. [6] V. I. Utkin, Sliding Modes in Control and Optimisation, SpringerVerlag, Berlin, 1992. [7] J. Davila, L. Fridman, A. Poznyak, “Observation and Identification of Mechanical Systems via Second Order Sliding Modes”, Proceedings of the 2006 Int. Workshop on Variable Structure Systems, Alghero, Italy, June 5-7, 2006. [8] T. Madani and A. Benallegue, ”Backstepping Control for a Quadrotor Helicopter”, Proceedings of the IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, 2006. [9] T. Madani and A. Benallegue, ”Backstepping Sliding Mode Control Applied to a Miniature Quadrotor Flying Robot”, Proceedings of the 32nd Annual Conf. of the IEEE Industrial Electronics Society IECON 2006. [10] T. Madani and A. Benallegue, ”Control of a Quadrotor MiniHelicopter via Full State Backstepping Technique ”, Proceedings of the 45th IEEE Conf. on Decision and Control, San Diego, California USA, 2006. [11] S. B. V. Gomes and J. J. Jr. G.Ramas, ”Airship dynamic modeling for autonomous operation”, IEEE Int. Conf. on Robotics and Automation ICRA’98, 1998. [12] P. V. Kokotovic, M. Kristic, and I. Kanellakopoulos, ”Backstepping to passivity: recursive design of adaptive systems”, IEEE Conf. on Decision and Control CDC’92, pp. 3276- 3280, 1992. [13] J.-J. Slotine, J. K. Hedrick, E. A. Misawa, ”On sliding observer for nonlinear systems”, Journal of Dynamic Systems, Measurement and Control, vol. 109, pp. 245, 1987. [14] D. Luemberger, ”Observers for multivariable systems”, IEEE Trans. on Automatic Control, vol. 11, pp. 190-197, 1966. [15] W. Wang and Z. G. Weiwen, ”A Comparison Study of Advanced State Observer Design Techniques”, American Control Conference (ACC’03), Denver, June 2003.

5892