Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Proceedings of the 2006 IEEE/RSJ

International Conference on Intelligent Robots and Systems


October 9 - 15, 2006, Beijing, China

Backstepping Control for a Quadrotor Helicopter


Tarek Madani and Abdelaziz Benallegue

Laboratoire d’Ingénierie des Systèmes de Versailles


10-12, avenue de l’Europe, 78140 Vélizy - FRANCE

E-mail: {madani and benalleg}@lisv.uvsq.fr

Abstract— This paper presents a nonlinear dynamic model and propeller subsystem. The output of the under-actuated
for a quadrotor helicopter in a form suited for backstepping subsystem are the x and y motion. In order to control them,
control design. Due to the under-actuated property of quadrotor tilt angles (pitch and roll) need to be controlled. It appeared
helicopter, the controller can set the helicopter track three
Cartesian positions (x, y, z) and the yaw angle to their desired judicious to us to use a backstepping technique to solve this
values and stabilize the pitch and roll angles. The system has been problem. The idea is to stabilize the system in two phases.
presented into three interconnected subsystems. The first one Firstly, the positions (x, y) are controlled by a virtual control
representing the under-actuated subsystem, gives the dynamic based on the tilt angles. Secondly, the tilt angles are controlled
relation of the horizontal positions (x, y) with the pitch and roll by varying the rotor speeds, thereby changing the lift forces.
angles. The second fully-actuated subsystem gives the dynamics of
the vertical position z and the yaw angle. The last subsystem gives The backstepping technique will be used to control the z
the dynamics of the propeller forces. A backstepping control is motion and the yaw angle of the fully-actuated subsystem.
presented to stabilize the whole system. The design methodology The paper is organized as follows: in section II, a dynamic
is based on the Lyapunov stability theory. Various simulations of model for a quadrotor helicopter is developed. Based on this
the model show that the control law stabilizes a quadrotor with nonlinear model, we design in section III a backstepping
good tracking.
control law. In section IV, some simulations are carried out to
I. I NTRODUCTION show the performance and stability of the proposed controller.
Finally, in section V, our conclusions are presented.
Unmanned Aerial Vehicles (UAV) have unmatched qualities
that make them the only effective solution in specialized II. DYNAMIC MODELING OF A QUADROTOR HELICOPTER
tasks where risks to pilots are high, where beyond normal The quadrotor helicopter is shown in figure 1. The two pairs
human endurance is required, or where human presence is of rotors (1, 3) and (2, 4) turn in opposite direction in order
not necessary. UAVs are being used more and more in civil- to balance the moments and produce yaw motions as needed.
ian applications such as traffic monitoring, recognition and On varying the rotor speeds altogether with the same quantity
surveillance vehicles, search and rescue operations [1]. They the lift forces will change affecting in this case the altitude
are highly capable to flown without an on-board pilot. These z of the system. Yaw angle is obtained by speeding up the
robotic aircrafts are often computerized and fully autonomous. clockwise motors or slowing down depending on the desired
The first reported quadrotor helicopter (Gyroplane No.1) angle direction. The motion direction according (x, y) axes
was built in 1907 by the Breguet Brothers. However, there was depends on the sense of tilt angles (pitch and roll) whether
no means of control provided to the pilot other than a throttle they are positive or negative.
for the engine to change the rotor speed, and the stability of
the machine was found to be very poor. The machine was
subsequently tethered so that it could move only vertically
upward.
The automatic control of a quadrotor helicopter has at-
tracted the attention of many researches in the past few years
[2][3][4][5]. Generally, the control strategies are based on
simplified models which have both a minimum number of
states and minimum number of inputs. These reduced models
should retain the main features that must be considered when
designing control laws for real aerial vehicles.
In this work, we present the model of a quadrotor helicopter
whose dynamical model is obtained via Newton’s laws. A
backstepping control strategy is proposed having in mind that
the quadrotor can be seen as the interconnected of three sub- Fig. 1. Quadrotor helicopter
systems: under-actuated subsystem, fully-actuated subsystem

1-4244-0259-X/06/$20.00 ©2006 IEEE


3255
The equations describing the attitude and position of a where m and IT = diag[Ix , Iy , Iz ] are respectively the mass
quadrotor helicopter are basically those of a rotating rigid body and the total inertia matrix of helicopter, Fext and Text
with six degrees of freedom [6] [7]. They may be separated includes the external forces/torques developed in the epicenter
into kinematic equations and dynamic equations [8]. of a quadrotor according to the direction of the reference frame
Let be two main reference frames (see Fig. 1): E m , such as:
• the earth fixed inertial reference frame E
a
: 
a −→a − →a −→ Fext = F − Faero − Fgrav
(O , e1 , e2 , e3 ).
a
(7)

→ − →m − → Text = T − Taero
• the body fixed reference frame E
m
: (Om , em1 , e2 , e3 )
m

regidly attached to the aircraft. where the forces {F, Faero , Fgrav } and the torques {T, Taero }
Let the vector ζ  [x, y, z]T and η  [φ, θ, ψ]T denote are explained in the table I where G = [0, 0, g]T is the
respectively the altitude positions and the attitude angles of gravity vector (g = 9.81m.s−2 ), {Kt , Kr } are two diagonal
the quadrotor (frame E m ) in the frame E a relative to a fixed aerodynamic friction matrices.
origin Oa . The attitude angles {φ, θ, ψ} are respectively called
pitch angle (− π2 < φ < π2 ), roll angle (− π2 < θ < π2 ) and Model Source
yaw angle (−π ≤ ψ < π). F = [0, 0, F3 ]T
propeller system
T = [T1 , T2 , T3 ]T
The quadrotor is restricted with the six degrees of freedom Faero = Kt V
according to the reference frame E m : Three translation ve- aerodynamic friction
Taero = Kr Ω
locities V = [V1 , V2 , V3 ]T and three rotation velocities Ω = Fgrav = mRtT G gravity effect
[Ω1 , Ω2 , Ω3 ]T . The relation existing between the velocities TABLE I
vectors (V, Ω) and (ζ̇, η̇) are: M AIN PHYSICAL EFFECTS ACTING ON A QUADROTOR

ζ̇ = Rt V
(1)
Ω = Rr η̇
The forces F and torques T produced by the propeller
where Rt and Rr are respectively the transformation velocity system of a quadrotor are:
matrix and the rotation velocity matrix between E a and E m ⎡ ⎤ ⎡ ⎤
such as: 0 d (F2 − F4 )
⎡ ⎤
Cφ Cψ Sφ Sθ Cψ − Cφ Sψ Cφ Sθ Cψ + Sφ Sψ F =⎣ 0 ⎦, T = ⎣ d (F3 − F1 ) ⎦ (8)
4 4
Rt = ⎣ Cθ Sψ Sφ Sθ Sψ + Cφ Cψ Cφ Sθ Sψ − Sφ Cψ ⎦ (−1)i+1
i=1 F i c i=1 F i
−Sφ Sφ Cθ Cφ Cθ
(2) where d is the distance from the epicenter of a quadrotor to
the rotor axes and c > 0 is the drag factor.
and ⎡ ⎤
1 0 −Sθ Using (5), (6) and (7) allows to give the equation of
Rr = ⎣ 0 Cφ Cθ Sφ ⎦ (3) the dynamics of rotation of the quadrotor expressed in the
0 −Sφ Cφ Cθ reference frame E a :

where S(.) and C(.) are the respective abbreviations of sin(.) ⎨ F = mRt ζ̈ + Kt Rt ζ̇ + mRt G
⎪ T T T

and cos(.). T = IT Rr η̈ + IT ∂φ φ̇ + ∂φ θ̇ η̇
∂Rr ∂Rr
(9)
One can write Ṙt = Rt S(Ω) where S(Ω) denotes the skew- ⎪

symmetric matrix such that S(Ω)v = Ω × v for the vector +Kr Rr η̇ + (Rr η̇) × (IT Rr η̇)
cross-product × and any vector v ∈ R3 . In other words, for The dynamic model (9) of the quadrotor helicopter has six
a given vector Ω,the skew-symmetric matrix S(Ω) is defined outputs {x, y, z, φ, θ, ψ} while it has only four independent
as follows: inputs. Therefore the quadrotor is an under-actuated system.
⎡ ⎤
0 −Ω3 Ω2 We are not able to control all of the states at the same time. A
S(Ω) = ⎣ Ω3 0 −Ω1 ⎦ (4) possible combination of controlled outputs can be {x, y, z, ψ}
−Ω2 Ω1 0 in order to track the desired positions, more to an arbitrary
The derivation of (1) with respect to time gives heading and stabilize the other two angles, which introduces
 stable zero dynamics into the system [5]. A good controller
ζ̈ = Rt V̇ + Ṙ
 t V = Rt V̇ + Rt S(Ω)V = Rt (V̇ + Ω × V ) should be able to reach a desired position and a desired yaw
Ω̇ = Rr η̈ + ∂R ∂φ φ̇ + ∂θ θ̇ η̇
r ∂Rr
angle while guaranteeing stability of the pitch and roll angles.
(5)
Using the Newton’s laws in the reference frame E m , III. BACKSTEPPING CONTROL DESIGN
about the quadrotor helicopter subjected to forces Fext and
The main objective of this section is to design a backstep-
moments Text applied to the epicenter, one obtains the
ping controller of a quadrotor helicopter ensuring that the
dynamic equation motions:
 position {x(t), y(t), z(t), ψ(t)} tracks the desired trajectory
Fext = mV̇ + Ω × (mV ) {xd (t), yd (t), zd (t), ψd (t)} asymptotically. This can be done
(6)
Text = IT Ω̇ + Ω × (IT Ω) in two phases:

3256
• The dynamic model is written in an appropriate form. Using the backstepping approach [9], one can synthesize the
Indeed, it is divided into three subsystems: an under- control law forcing the subsystems S1 , S2 and S3 to follow the
actuated subsystem, a fully-actuated subsystem and a desired trajectories. In this purpose, we will build the control
propeller subsystem. law by the seven following steps:
• Synthesis of the control law via backstepping technique • Step 1: For the first step we consider the virtual system
in seven steps.
ẋ1 = v1 (16)
Let u = [Ḟ1 , Ḟ2 , Ḟ3 , Ḟ4 ]T the control input. The dynamics
equations (9) can be rewritten in a state-space form according Let the first tracking error
to the following state vectors:
      ⎡ ⎤ z1 = x1d − x1 (17)
x φ ψ F1
x1 = , x3 = , x5 = , ⎢ ⎥ and considering the Lyapunov function positive definite
 y   θ   z  x7 = ⎢ F2 ⎥ .
ẋ φ̇ ψ̇ ⎣ F3 ⎦ 1
x2 = , x4 = , x6 = , V1 = z1T z1 (18)
ẏ θ̇ ż F4 2
(10) Its time derivative is
We obtain the stat-space equations of an under-actuated
V̇1 = z1T ż1 = z1T (ẋ1d − ẋ1 ) = z1T (ẋ1d − v1 ) (19)
subsystem S1 , a fully-actuated subsystem S2 and a propeller
subsystem S3 : The stabilization of z1 can be obtained by introducing a first
⎧ virtual control input v1 :

⎪ ẋ1 = x2

ẋ2 = f0 (x2 , x3 , x5 , x6 ) + g0 (x5 , x7 )ϕ0 (x3 ) v1 = A1 z1 + ẋ1d (20)
S1 :

⎪ ẋ3 = x4
⎩ with A1 ∈ R2×2 is a positive definite matrix.
ẋ4 = f1 (x3 , x4 , x6 , x7 ) + g1 (x3 )ϕ1 (x7 )
 The equation (19) is then V̇1 = −z1T A1 z1 < 0.
ẋ5 = x6
S2 : (11) Step 2: For the second step we consider the following new
ẋ6 = f2 (x3 , x4 , x6 , x7 ) + g2 (x3 )ϕ2 (x7 )
 virtual system
S3 : ẋ7 = u
ẋ2 = f0 (x2 , x3 , x5 , x6 ) + g0 (x5 , x7 )v2 (21)
where the matrices gi (i = 0, 1, 2) are1
  where v2 is a second virtual control input.
P4
  1 1
i=1 Fi
Sψ Cψ Ix Iy Sφ T θ Let us proceed to variable change by making
g0 = , g 1 = 1
m −Cψ Sψ 0 Iy Cφ z2 = v1 − x2 = A1 z1 + ẋ1d − ẋ1 (22)
 1    
Cφ Seθ 0
g2 = I z
1
ż1
0 m Cφ Cθ
(12) hence ż1 = −A1 z1 + z2 .
the vectors ϕi (i = 0, 1, 2) are For the second step we consider the augmented Lyapunov
    function:
Sφ d(F2 − F4 ) 1 2
ϕ0 = , ϕ1 = V2 = ziT zi (23)
Cφ Sθ d(F3 − F1 ) 2 i=1
(13)
c(F1 − F2 + F3 − F4 ) The time derivative of (23) is
ϕ2 =
F1 + F2 + F3 + F4
V̇2 = z1T ż1 + z2T ż2 = z1T (−A1 z1 + z2 ) + z2T (v̇1 − ẋ2 )
and the vectors fi (i = 0, 1, 2) are = −z1T A1 z1 + z2T (z1 + v̇1 − f0 − g0 v2 ) (24)
     
fx fφ fψ
f0 = , f1 = , f2 = (14) The stabilisation of z2 can be obtained by introducing the
fy fθ fz following augmented virtual control
with
⎡ ⎤ v2 = g0−1 (z1 + A2 z2 + v̇1 − f0 ) (25)
fx
⎦ = − 1 Rt Kt RtT ζ̇ − G
2×2
⎣ fy (15) with A2 ∈ R is a positive definite matrix.
m Remark 1:It is worthy noting that the determinant of the
fz 2
⎡ ⎤ matrix g0 is m 1 4 4
> 0, if i=1 Fi = 0. Therefore,
fφ i=1 Fi
⎣ fθ ⎦ = −(IT Rr )−1 [ IT ( ∂Rr φ̇ + ∂Rr θ̇)η̇ the matrix g0 is nonsingular in general operation condition
∂φ ∂φ 4
fψ −Kr Rr η̇ − (Rr η̇)⎤× (IT Rr η̇)] because i=1 Fi represents the total thrust on the body in the
⎡ 4 z-axis and is generally nonzero to overcome the gravity.
i=1 (−1)
c i+1
Iz Cφ Tθ Fi
⎢ 4 ⎥ By using the equation (24) is comes V̇2 =
+ ⎣ − Iz Sφ i=1 (−1) Fi ⎦
c i+1
2
− i=1 ziT Ai zi < 0.
Iy Sφ Seθ (F3 − F1 )
d
• Step 3: For the third step we consider the virtual system

1
1T
θ and Se(.) are respectively the abbreviations of tan(.) and cos(.) ẋ3 = v3 (26)

3257
Let The stabilization of subsystem S1 can be obtained by
introducing a following virtual control law:
z3 = v2 − ϕ0 (x3 ) = g0−1 (z1 + A2 z2 + v̇1 − f0 ) − ϕ0 (x3 ) (27)
v4 = g1−1 (J0T z3 + A4 z4 + v̇3 − f1 ) (37)
then
g0 z3 = z1 + A2 z2 + v̇1 − g0 ϕ0 with A4 ∈ R2×2 is a positive definite matrix.
  
ż2
Remark 3: Since the condition (− π2 < φ < π2 ) is generally
satisfied, then the matrix g1 given by (12) is nonsingular.
hence ż2 = −z1 − A2 z2 + g0 z3 . While introducing the control (37) in equation (36) one ob-
For the third step we consider the Lyapunov function: 4
tains V̇4 = − i=1 ziT Ai zi < 0. Consequently, the subsystem
1 3 S1 is asymptotically stable with the virtual control inputs v1 ,
V3 = ziT zi (28)
2 i=1 v2 , v3 and v4 .
The derivatives with respect to time of (28) is After having stabilized an under-actuated subsystem S1 ,
there remains to us the stabilization of a fully-actuated sub-
V̇3 = z1T ż1 + z2T ż2 + z3T ż3 (29) system S2 . To carry out this task, we will devote the two next
= z1T (−A1 z1 + z2 ) + z2T (−z1 − A2 z2 + g0 z3 ) steps.
+z3T (v̇2 − ϕ̇0 ) • Step 5: In this step we consider the virtual system

= −z1T A1 z1 − z2T A2 z2 + z3T (g0T z2 + v̇2 − J0 v3 ) ẋ5 = v5 (38)


where J0 is the Jacobian matrix of ϕ0 such as: Let the tracking error
 
∂ϕ0 (x3 ) Cφ 0
J0 = = (30) z5 = x5d − x5 (39)
∂x3 −Sφ Sθ Cφ Cθ
Remark 2: It should be noted that the determinant of the and the Lyapunov function:
jacobian matrix J0 (x3 ) is Cφ2 Cθ . Therefore, J0 (x3 ) is nonsin- 1 T
V5 = z z5 (40)
gular when (− π2 < φ < π2 ) and (− π2 < θ < π2 ), which is 2 5
satisfied generally. The time derivative of (40) is
The stabilization of z3 can be obtained by introducing a
virtual control: V̇5 = z5T ż5 = z5T (ẋ5d − ẋ5 ) = z5T (ẋ5d − v5 ) (41)

v3 = J0−1 (g0T z2 + A3 z3 + v̇2 ) (31) The stabilization of z5 can be obtained by introducing a


virtual control:
with A3 ∈ R2×2 is a positive definite matrix. v5 = A5 z5 + ẋ5d (42)
3
Using (29), we get V̇3 = − i=1 ziT Ai zi < 0.
• Step 4: we consider the final virtual system of an under- with A5 ∈ R2×2 is a positive definite matrix.
actuated subsystem S1 : By using (42) in (41) one obtains V̇5 = −z5T A5 z5 < 0.
• Step 6: For this step we consider the system
ẋ4 = f1 (x3 , x4 , x6 , x7 ) + g1 (x3 )v4 (32)
ẋ6 = f2 (x3 , x4 , x6 , x7 ) + g2 (x3 )v6 (43)
Putting
Let
z4 = v3 − x4 = J0−1 (g0T z2 + A3 z3 + v̇2 ) − x4 (33) z6 = v5 − x6 = A5 z5 + ẋ5d − ẋ5 (44)
  
we get ż5
J0 z4 = g0T z2 + A3 z3 + v̇2 − J0 x4 (34) Then ż5 = −A5 z5 + z6 .
  
ż3 The augmented Lyapunov function for this step is
hence ż3 = −g0T z2 − A3 z3 + J0 z4 . 1 T
V6 = (z z5 + z6T z6 ) (45)
The global Lyapunov function of a subsystem S1 is 2 5
1 4 Its time derivative is
V4 = ziT zi (35)
2 i=1
V̇6 = z5T ż5 + z6T ż6 = z5T (−A5 z5 + z6 ) + z6T (v̇5 − ẋ6 )
Its time derivative is
= −z5T A5 z5 + z6T (z5 + v̇5 − f2 − g2 v6 ) (46)
V̇4 = z1T ż1 + z2T ż2 + z3T ż3 + z4T ż4 (36)
The stabilization of S2 can be obtained by introducing a
= z1T (−A1 z1 + z2 ) + z2T (−z1 − A2 z2 + g0 z3 ) following virtual control:
+z3T (−g0T z2 − A3 z3 + J0 z4 ) + z4T (v̇3 − ẋ4 )
= −z1T A1 z1 − z2T A2 z2 − z3T A3 z3 v6 = g2−1 (z5 + A6 z6 + v̇5 − f2 ) (47)
+z4T (J0T z3 + v̇3 − f1 − g1 v4 ) with A6 ∈ R 2×2
is a positive definite matrix.

3258
Remark 4: Knowing that (− π2 < φ < π2 ) and (− π2 < θ <  5: It should be noted that the determinant of the
Remark
J1
2 ),
π
it is easy to show in (12) that the matrix g2 is nonsingular. matrix is 8cd2 . Therefore, this matrix is nonsingular
The introducing the control (47) in equation (46) one obtains J2
when c > 0 and d > 0.
V̇6 = −z5T A5 z5 − z6T A6 z6 < 0. One can thus conclude that
While introducing the control (53) in equation (51) one
the subsystem S2 is asymptotically stable. 7
obtains V̇7 = − i=1 ziT Ai zi < 0. Consequently, by using
Now, in the following step, we will develop the real control
(17, 20, 22, 25, 27, 31, 33, 37, 39, 42, 44, 47 and 53), the
which stabilizes the whole system.
whole system (11) is asymptotically stable with the following
• Step 7: For the final step we consider the propeller control law:
subsystem ⎧

⎪ v1 = A1 (x1d − x1 ) + ẋ1d
ẋ7 = u (48) ⎪
⎪ −1
⎪ v2 = g0 [(x1d − x1 ) + A2 (v1 − x2 ) + v̇1 − f0 ]




⎪ v3 = J0−1 [g0T (v1 − x2 ) + A3 (v2 − ϕ0 ) + v̇2 ]
Let ⎪

  ⎪
⎪ v4 = g1−1 [J0T (v2 − ϕ0 ) + A4 (v3 − x4 ) + v̇3 − f1 ]
v4 − ϕ1 (x7 ) ⎪
⎨ v5 = A5 (x5d − x5 ) + ẋ5d
z7 = (49)
v6 − ϕ2 (x7 ) v6 = g2−1 [(x5d −x5 ) + A6 (v5 − x6 ) + v̇5 − f2 ]
⎡ ⎤ ⎪
⎪  −1  T  
g1−1 (J0T z3 + A4 z4 + v̇3 − f1 − g1 ϕ1 ) ⎪

   ⎪
⎪ J1 g1 02×2 v3 − x4
⎢ ⎥ ⎪
⎪ u=
⎪ J2 02×2 g2 v5 − x6
=⎢

ż4 ⎥



⎪    
g2−1 (z5 + A6 z6 + v̇5 − f2 − g2 ϕ2 ) ⎪
⎪ v̇4 v4 − ϕ1
   ⎪
⎩ + + A7
ż6 v̇6 v6 − ϕ2
(54)
hence ż4 = g1∗ z7 − J0T z3 − A4 z4 and ż6 = g2∗ z7 − z5 − A6 z6
where g1∗ = [g1 , 02×2 ] and g2∗ = [02×2 , g2 ] with 02×2 is a null IV. S IMULATION RESULT
matrix in R2×2 . In order to verify the effectiveness and the efficiency of
The Lyapunov function candidate of the whole system the proposed backstepping control law, an application to
{S1 , S2 , S3 } is quadrotor helicopter is conducted by simulation using Rung-
1 7 Kutta’s method with variable step. The nominal parame-
V7 = ziT zi (50)
2 i=1 ters for quadrotor helicopter are: m = 2kg, Ix = Iy =
Its time derivative is given Iz /2 = 1.2416N m.s2 /rad, d = 0.2m, c = 0.01m, g =
9.81m/s2 , Kt = diag[10−2 , 10−2 , 10−2 ]N.s/m and Kr =
V̇7 =
7 T
i=1 zi żi (51) diag[10−3 , 10−3 , 10−3 ]N m.s/rad. The following controller
= z1T (−A1 z1 + z2 ) + z2T (−z1 − A2 z2 + g0 z3 ) parameters are used: A1 = . . . = A6 = diag[3, 3] and A7 =
+z3T (−g0T z2 − A3 z3 + J0 z4 ) diag[3, 3, 3, 3]. The proposed backstepping control law (54)
+z4T (−J0T z3 − A4 z4 + g1∗ z7 ) + z requires the knowledge of v̇1 , v̇2 , v̇3 , v̇4 , v̇5 and v̇6 . In order
5 (−A5z5 + z6 )
T
 to avoid analytical derivation difficulties, we estimate them by
v̇4 ϕ̇1
+z6T (−z5 − A6 z6 + g2∗ z7 ) + z7T − using the following finite difference time approximation:
v̇6 ϕ̇2
 T   Δvi
6 g1 02×2 z4 v̇i = for i = 1, . . . , 6 (55)
= − i=1 zi Ai zi + z7
T T Δt
02×2 g2 z6
⎞ where Δvi is the change in input value and Δt is the change in
   
v̇4 J1 time since the previous simulation time step. The helicopter is
+ − ẋ7 ⎠ initially in hover flight and the initial conditions are: x1 (0) =
v̇6 J2 
u . . . = x6 (0) = [0, 0]T and x7 (0) = mg 4 [1, 1, 1, 1] . The
T

1 (x7 ) ∂ϕ2 (x7 ) reference trajectory chosen for xd (t), yd (t), zd (t) and ψd (t)
where J1 = ∂ϕ∂x and J2 = are the Jacobian
7 ∂x7 is that of the step response of the following transfer function:
matrices of ϕ1 and ϕ2 such as:
    1
0 d 0 −d c −c c −c H(s) = (56)
J1 = , J2 = (52) (s + 1)6
−d 0 d 0 1 1 1 1
with s is the Laplace variable.
Therefore, the stabilization of the whole system can be Figures 2 and 3 show the positions and the tracking errors
obtained by introducing a following control law: of a quadrotor helicopter respectively. It can be seen the good
 −1  T   tracking of the desired trajectory. Moreover, we can notice
J1 g1 02×2 z4 in figure 2 an optimization of tilt angles (pitch and roll)
u= (53)
J2 02×2 g2 z6 and consequently the use of minimal energy. The behavior
   of all virtual controls is given in figure 4. We note that
v̇4
+ + A7 z7 their evolutions are smooth and derivable. The obtained input
v̇6
control signals (see figure 5) are acceptable and physically
with A7 ∈ R4×4 is a positive definite matrix. realizable.

3259
Fig. 2. Position outputs Fig. 5. Force control inputs

V. C ONCLUSION
In this paper, we have presented the dynamic modeling
of quadrotor helicopter and introduced a new approach of a
backstepping control. This process is under-actuated system
because it has six outputs while it has only four inputs.
The whole system of the quadrotor helicopter is divided into
three subsystems: an under-actuated subsystem, fully-actuated
subsystem and a propeller subsystem. A backstepping control
algorithm is proposed to stabilize the whole system and is
able to drive a quadrotor to the desired trajectory of Cartesian
position and yaw angle. The simulation results show the good
performance of the proposed control approach.
R EFERENCES
[1] O. Shakernia, Y. Ma, T. J. Koo and S. S. Sastry, ”Landing an Unmanned
Air Vehicle: Vision-based Motion Estimation and Nonlinear Control”,
Fig. 3. Tracking errors for x, y, z and ψ Asian J. Control, vol. 1, no. 3, 1999.
[2] A. Mokhtari, A. Benallegue and A. Belaidi, ”Polynomial Linear Quadratic
Gaussian ans Sliding Mode Observer for a Quadrotor Unmanned Aerial
Vehicle”, Journal of Robotics and Mechatronics, vol. 17, no. 4, pp. 483-
495, 2005.
[3] S. Bouabdallah and R. Siegwart, ”Backstepping and Sliding-mode Tech-
niques Applied to an Indoor Micro Quadrotor”, Proceedings of the 2005
IEEE International Conference on Robotics and Automation, pp. 2259-
2264, 2005.
[4] P. Castillo, A. Dzul and R. Lozano, ”Real-Time Stabilization and Tracking
of Four-Rotor Mini Rotorcraft”, IEEE Transactions on Control Systems
Technology, vo. 12, no. 4, pp. 510-516, 2004.
[5] E. Altug, J. P. Ostrowski and C. J. Taylor,”Quadrotor Control using Dual
Cameral Visual Feedback”, Proceedings of the 2003 IEEE International
Conference on Robotics and Automation, vol. 3, pp. 4294-4299, 2003.
[6] M. Vukobratovic, Applied Dynamics of Manipulation Robots: Modelling,
Analysis and Examples, Berlin: Springer-Verlag, 1989.
[7] S. B. V. Gomes and J. J. Jr. G.Ramas, ”Airship dynamic modelling for
autonomous operation”, IEEE International Conference on Robotics and
Automation, 1998.
[8] H. Nijmeijer and AJ Van Der Shaft, Nonlinear Dynamic Control Systems,
Springer Verlag, 1990.
[9] I. Fantoni and R. Lozano, Non-linear control for underactuated mechan-
ical systems, Springer, 2002.
Fig. 4. Evolution of the virtual controls: solid line with the left y-axis denote
the first element and the dashed line with the right y-axis denote the second
element.

3260

You might also like