Backstepping Sliding Mode Control Applied to a Miniature Quadrotor ...

15 downloads 0 Views 688KB Size Report
Abstract— This paper presents a new controller based on backstepping and sliding mode techniques for miniature quadrotor helicopter. The system is formed by ...
Backstepping Sliding Mode Control Applied to a Miniature Quadrotor Flying Robot T. Madani and A. Benallegue Laboratoire d’Ing´enierie des Syst`emes de Versailles 10-12, avenue de l’Europe, 78140 V´elizy - FRANCE [email protected] and [email protected] http://www.lisv.uvsq.fr Abstract— This paper presents a new controller based on backstepping and sliding mode techniques for miniature quadrotor helicopter. The system is formed by three interconnected subsystems. The first one which represents the under-actuated subsystem, gives the dynamic relation of the horizontal positions with the tilts angles. The second one, fully-actuated subsystem, gives the dynamics of the vertical position and the yaw angle. The last subsystem gives the dynamics of the propeller forces. The design methodology of the controller is based on the Lyapunov stability. To show the effectiveness of the proposed trajectory tracking control, simulation results are performed on the quadrotor model. The application of the proposed controller to a real miniature helicopter is also presented, some results are included to demonstrate the good performance of the proposed controller.

simplifying decomposition of the control law (translation and rotation). In the present paper, we will improve our work given in [9] by developing a new control law using the backstepping technique mixed with sliding mode control of the quadrotor helicopter. The sliding mode is used to compensate the effects of the model uncertainty and the external disturbances. We are interested in the design of a controller to perform hover and tracking of desired trajectories. A control law strategy is proposed having in mind that the quadrotor can be seen as three interconnected subsystems: an under-actuated subsystem (x, y, φ and θ), a fully-actuated subsystem (ψ and z) and a propeller subsystem (F1 , F2 , F3 and F4 ).

I. Introduction The association of the backstepping technique [1] and the sliding mode control [2] is an effective approach to synthesize a robust control laws for an under-actuated non-linear systems with unmatched uncertainties. The stability analysis of sliding mode control fits neatly within the recursive design of the backstepping. The basic idea is to define a sliding manifold in each step of the synthesis and then generate a sliding mode around this manifold using an appropriate switching controller. Thus, multiple sliding surfaces naturally result in the end [3]. The used quadrotor helicopter, shown in figure 1, has some advantages over conventional helicopters. In fact, four rotors which generated a propeller forces F1 , F2 , F3 and F4 are used to simplify the displacement and to increase the lift force. The control of this machine is a great challenge due to the high nonlinearity of its dynamic model [4]. Moreover, this process is an under-actuated system because it has six degrees of freedom while it has only four inputs (four rotors). It is not possible to control all of the states at the same time. A possible combination of controlled outputs can be the Cartesian position (x, y, z) and the yaw angle ψ in order to track the desired position trajectory, more to an arbitrary heading and stabilize the pitch and the roll angles (φ, θ), which introduces stable zero dynamics into the system [5]. Many methods have been proposed in the past few years [5]-[9]. In [6] the authors proposed the partial state backstepping sliding mode controller using simplified model of the quadrotor and special

1-4244-0136-4/06/$20.00 '2006 IEEE

700

Fig. 1. Quadrotor helicopter

The paper is organized as follows: The dynamic system is shown in section II, the design of the sliding mode backstepping control law in section III, simulation results in section IV and experimental implementation in section V. Finally, section VI is a conclusion. II. Dynamic modeling of a quadrotor The equations describing the attitude and position of a quadrotor helicopter are basically those of a rotating rigid body with six degrees of freedom [4]. Let be two main reference frames (see Fig. 1): the earth fixed inertial reference → − − → − → frame E a (Oa , ea1 , ea2 , ea3 ) and the body fixed reference frame − → − → → m − m E m (Om , em 1 , e2 , e3 ). The absolute position of the quadro-

−−−−→ tor is described by Oa Om = ζ = [x, y, z]T and its attitude by the three Euler’s angles η = [φ, θ, ψ]T . These three angles are respectively called pitch angle (− π2 < φ < π2 ), roll angle (− π2 < θ < π2 ) and yaw angle (−π ≤ ψ < π). The quadrotor is restricted with the six following degrees of freedom according to the reference frame E m : three translations V = [υ1 , υ2 , υ3 ]T and three rotations Ω = [ω1 , ω2 , ω3 ]T . The relation existing between the ve˙ η) locities vectors (V, Ω) and (ζ, ˙ are ζ˙ = Rt V and Ω = Rr η˙ where Rt and Rr are respectively the transformation velocity matrix and the rotation velocity matrix between E a and E m , such as1 :   Cφ Cψ Sφ Sθ Cψ − Cφ Sψ Cφ Sθ Cψ + Sφ Sψ Rt =  Cθ Sψ Sφ Sθ Sψ + Cφ Cψ Cφ Sθ Sψ − Sφ Cψ  −Sφ Sφ Cθ Cφ Cθ and



1 0 Rr =  0 Cφ 0 −Sφ

 −Sθ Cθ Sφ  Cφ Cθ

m Using the Newton’s laws in the reference frame PE , about the quadrotor helicopter subjected to forces Fext P and moments Text applied to the epicenter, one can obtain the dynamic equation motions:  P F = mV˙ + Ω × (mV ) P ext (1) Text = IT Ω˙ + Ω × (IT Ω)

where m and IT = diag[Ix , Iy , Iz ] are respectively the P mass and the total inertia matrix of helicopter, F and ext P Text includes the external forces/torques developed in the epicenter of a quadrotor according to the direction of the reference frame E m , such as:  P P Fext = Fprop − Faero − Fgrav (2) Text = Tprop − Taero where Faero = Kt (V − Vair ) and Taero = Kr (Ω − Ωair ) are the aerodynamic friction with {Kt , Kr } are two diagonal aerodynamic matrices and {Vair , Ωair } are the translation and the rotation velocity of the air according the E m reference frame; Fgrav = mRtT G is the gravity effect forces with G = [0, 0, 9.81]T m/s2 and {Fprop , Tprop } are the produced propeller system forces and torques, such as:     0 d (F2 − F4 )  , Tprop =   d (F − F1 ) Fprop =  P 0 P4 3 4 i+1 c i=1 (−1) Fi i=1 Fi where d is the distance from the epicenter of a quadrotor to the rotor axes and c > 0 is the drag factor. Using (1) and (2) allows to give the equation of the dynamics of rotation of the quadrotor expressed in the reference frame E a :  T¨ T ˙ T ˙   Fprop = mRt ζ + Kt Rt (ζ − ζair ) + mR  tG ∂Rr ˙ r ˙ (3) Tprop = IT Rr η¨ + IT ∂R ∂φ φ + ∂φ θ η˙   +Kr Rr (η˙ − η˙ air ) + (Rr η) ˙ × (IT Rr η) ˙ 1S

(.)

and C(.) are the respective abbreviations of sin(.) and cos(.)

701

where {ζ˙air , η˙ air } are the translation and the rotation velocity of the air according the reference frame E a . III. Controller design The objective of this section is to design a control law, using the backstepping and the sliding mode techniques, to ensure the asymptotic convergence of the positions {x(t), y(t), z(t), ψ(t)} to the desired trajectories {xd (t), yd (t), zd (t), ψd (t)}. Let u = [F˙1 , F˙2 , F˙3 , F˙4 ]T be the control inputs. The quadrotor model, developed in the previous section, can be rewritten in a state-space form by using the following state vectors:         x φ ψ F1 x1 = , x3 = , x5 = y θ z  F2         , x7 =   F3  ˙ ˙ x˙ φ ψ x2 = , x4 = , x6 = F4 y˙ z˙ θ˙ The stat-space equations are:  x˙ = x2    1 x˙ 2 = f0 (x2 , x3 , x5 , x6 ) + g0 (x5 , x7 )ϕ0 (x3 ) + d0 (t) S1 : x˙ 3 = x4     x˙ 4 = f1 (x3 , x4 , x6 , x7 ) + g1 (x3 )ϕ1 (x7 ) + d1 (t) x˙ 5 = x6 S2 :  x˙ 6 = f2 (x3 , x4 , x6 , x7 ) + g2 (x3 )ϕ2 (x7 ) + d2 (t) S3 : x˙ 7 = u (4) where {S1 , S2 , S3 } denotes respectively an under-actuated subsystem, a fully-actuated subsystem and a propeller subsystem; The matrices gi (i = 0, 1, 2, 3) are given by2 # "   1 1 P4 S T φ θ S C F ψ ψ I I i x y g0 = i=1 , , g1 = 1 m −Cψ Sψ 0 Iy Cφ  1  Cφ Seθ 0 g2 = Iz 1 0 m Cφ Cθ (5) The vectors ϕi (i = 0, 1, 2) are     Sφ d (F2 − F4 ) ϕ0 = , ϕ1 = , Cφ Sθ d (F3 − F1 )  P4  (6) c i=1 (−1)i+1 Fi P4 ϕ2 = i=1 Fi The functions fi (i = 0, 1, 2) are       ft1 fr1 fr3 f0 = , f1 = , f2 = ft2 fr2 ft3 T

(7)

T

with [ft1 , ft2 , ft3 ] = ft and [fr1 , fr2 , fr3 ] = fr a non linear functions such as:  1 Rt Kt RtT ζ˙ − G ft = − m    ∂Rr ˙ r ˙  fr = −(IT Rr )−1 [ IT ( ∂R   ∂φ φ + ∂φ θ)η˙   +K R η˙ + (R η) ˙ × (IT Rr η)] ˙  P4 r r i+1 r  c C T (−1) F  φ θ i I  P4i=1   z    +  − Icz Sφ i=1 (−1)i+1 Fi     d Iy Sφ Seθ (F3 − F1 ) 2T θ

and Se(.) are the abbreviations of tan(.) and

1 cos(.)

respectively

and {d0 (t), d1 (t), d2 (t)} are disturbances, such as:     Dt1 Dr1 d0 = ∆0 + , d1 = ∆1 + , Dt2 Dr2   Dr3 d2 = ∆2 + Dt3

(8)

with ∆i ∈