You are on page 1of 16

Motion Control of a Quadrotor

Aircraft via Singular Perturbations


*
Salvador Gonzlez-Vzquez
1
and Javier Moreno-Valenzuela
2,
1,2
Instituto Politcnico Nacional-CITEDI, Av. del Parque 1310, Mesa de Otay, Tijuana, B.C., 22510, Mexico.

moreno@citedi.mx
Abstract In this paper, a new motion controller for a
quadrotor aircraft is introduced. A reformulation of the
control inputs of the dynamic model is discussed and then
the control algorithm is given in a constructive form. The
stability proof of the state space origin of the overall
closed-loop system relies on the theory of singularly
perturbed systems. Numerical simulations corroborate
the viability of the proposed control scheme and the
conclusions concerning stability. A set of simulations
under practical conditions is also presented, where the
system is affected by different types of disturbances and
nonlinearities such as noise and actuator saturation.
Keywords Quadrotor, Trajectory Tracking Control,
Exponential stability, Singular Perturbations, Numerical
Simulations
1. Introduction
The study of the design and applications of unmanned
aerial vehicles (UAVs) has been an important topic over
the last few years. The current and potential applications
of these vehicles are extensive, such as surveillance, rescue,
espionage and entertainment, to mention a few.
UAVs can be controlled automatically to track a ight
plan. From the theoretical point of view, UAVs are quite
*
Work supported by SIP-IPN and by CONACyT Project 176587.
challenging since in most cases they are underactuated
systems, which means that these systems have more
degrees-of-freedom than control inputs.
The quadrotor is an UAV with six degrees-of-freedom
and only four control inputs (four rotors). The control
of the quadrotor is difcult because the nonlinearity of
its dynamic model [1]. It is not possible to control all
of the states at the same time. However, one can select
some states to be controlled. A possible combination of
controlled outputs can be the translational position and the
yaw angle. The roll and the pitch angles can be controlled
indirectly by introducing stable zero dynamics [2], [3].
Many methods to achieve attitude stabilization and
trajectory tracking control have been proposed in recent
years. In [4], the authors proposed a partial state
backstepping sliding mode controller using a simplied
model of the quadrotor. In [5] and [6], the application
of the backstepping methodology to the control of
quadrotors was revisited, showing that motion control can
be achieve within the Lyapunov function framework. In
[2], [3] and [7], a visual feedback is added to achieve
stabilization of the system at the desired conguration.
An experimental evaluation of a control approach was
discussed in [8]. The work introduced in [9] proposed a
neural network controller for the robust trajectory tracking
control of the quadrotor posture. It is assumed that the
model is partially known and that the system is subject to
wind disturbances. By using the Newton-Euler formalism,
Salvador Gonzlez-Vzquez and Javier Moreno-Valenzuela:
Motion Control of a Quadrotor Aircraft via Singular Perturbations
1
www.intechopen.com
International Journal of Advanced Robotic Systems
ARTICLE
www.intechopen.com
Int. j. adv. robot. syst., 2013, Vol. 10, 368:2013
1 Instituto Politcnico Nacional-CITEDI, Mesa de Otay, Tijuana, Mexico
* Corresponding author E-mail: moreno@citedi.mx
Received 07 Nov 2012; Accepted 26 Jun 2013
DOI: 10.5772/56785
2013 Gonzlez-Vzquez and Moreno-Valenzuela; licensee InTech. This is an open access article distributed under the terms of the Creative
Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use,
distribution, and reproduction in any medium, provided the original work is properly cited.
Salvador Gonzlez-Vzquez
1
and Javier Moreno-Valenzuela
1,*
Motion Control of a Quadrotor
Aircraft via Singular Perturbations
Regular Paper
a backstepping-based controller was introduced in [10]. In
[11], the feedback linearization technique is used to
derive a tracking controller. An analysis of the internal
dynamics is included in that work. More recently, in
[12], a modied sliding mode term is designed with the
aim of controlling the attitude of a quadrotor aircraft
subject to a class of disturbances. A motion controller
composed of six nonlinear PD loops is introduced in
[13]. The controller guarantees that the error trajectories
are uniformly bounded. The design of a controller based
on the block control technique combined with the super
twisting control algorithm for trajectory tracking of a
quadrotor aircraft is introduced in [14].
The recent textbooks [15] and [16] can be consulted
for further references on the history, modelling, motion
planning and control of quadrotors.
Control approaches, such as feedback linearization,
backstepping, sliding modes, adaptive control, to mention
a few, match the idea that the resulting closed-loop system
should satisfy Lyapunovs theory. As an alternative,
the theory of singularly perturbed systems has also
been recognized as a powerful tool in the analysis and
design of controllers for different kinds of systems such
as electromechanical, biological and electrical, see for
example [17] and [22]. Essentially, this technique is based
on analysing the convergence of the solution of a set of
differential equations in two (or more) time scales.
Recent applications of the theory of singularly perturbed
systems in the derivation of controllers for mechatronic
systems can be found in [18], [19], [20] and [21]. The
derivation of the controllers only considered the existence
of gains assuring the time scale separation while numerical
simulations and real-time experiments conrmed their
practical viability.
The theory of singularly perturbed systems is
well-adapted to the design of trajectory tracking
controllers for quadrotor systems, since control laws
can be easily synthesized by using different time scales.
The error dynamics obtained by using a controller
inspired from time scale separation should satisfy a
set of conditions to guarantee that the error trajectories
really converge to zero as time increases. The theory of
singularly perturbed systems established in [17] provides
a rigorous framework to prove the convergence of systems
with different time scales.
In the next section, references about control designs for
quadrotors inspired in time scale separation are provided.
A motion controller was proposed by Zuo [23], which
is based on using a new command-ltered backstepping
technique to stabilize the attitude and a linear tracking
differentiator to eliminate the classical inner/outer-loop
structure. The work by Bertrand et al. [24] deals with
the regulation problem and the time scale separation by
introducing an angular velocity controller in terms of a
perturbing parameter together with the angular velocity
commands. Esteban et al. [25] propose a control scheme
for a radio-controlled helicopter. Stability proof is based
on using a three time scale separation.
The design of control algorithms for quadrotor aircraft
which ensures tracking of a desired time-varying
trajectory via the theory of singularly perturbed systems
still requires study since literature related to these subjects
is limited.
In this document, a new control algorithm is introduced.
The proposed controller has been derived by using the
following time scale separation ideas:
Differential equations with fast time scale are generated
by using an angular proportional-integral velocity
controller.
Differential equations with medium time scale are
generated by a kinematic-like scheme, which generates
angular position commands.
Differential equations with slow time scale are
generated by the translational position controller.
The translational dynamics is controlled indirectly by
designing proper orientation commands. As seen later,
those commands are designed under the assumption
that the angular position is null.
An advantage of the proposed scheme is the addition of
integral action, which is helpful in compensating model
uncertainties and external disturbances. The overall
closed-loop system stability is studied rigorously by using
the Lyapunov theory and stability of singularly perturbed
systems [17].
The present document is organized as follows. Section 2 is
devoted to the quadrotor dynamics and the control goal.
The proposed motion control algorithm is described in
Section 3. Section 4 provides the proof that the state space
origin of the resulting closed-loop system is exponentially
stable. Section 5 describes the simulation results, which
have the purpose of conrming that by using the proposed
scheme the quadrotor matches exponentially a desired
translation chaotic trajectory and a desired periodic yaw
angle.
Simulations considering that the system is affected by
perturbations and nonlinearities that appear in a practical
implementation are provided in Section 6. There, the time
scale separation introduced by the proposed controller is
also conrmed. Additionally, Section 6 presents the results
by using a desired translational helicoidal trajectory.
Finally, some concluding remarks and discussion on
further research are provided in Section 7.
Notation: The variables and constants are represented
by lowercase letters, Roman letters and Greek characters,
x, IR. Vectors of dimension n are dened by bold
lowercase letters and bold italic Greek letters, i.e., x,
IR
n
. The matrices of size n m are dened by italic capital
letters, i.e., B IR
nm
. I
33
denotes the identity matrix of
size 3. An over dot placed on a variable, vector or matrix,
indicates differentiation with respect to time, i.e., x IR
n
.
For x IR, we have that c
x
= cos(x), s
x
= sin(x) and t
x
=
tan(x). The notation arctan(x) IR means the standard
inverse trigonometric function for all x IR.
min
{A(x)}
and
Max
{A(x)} denote the minimum and maximum
eigenvalues of a symmetric positive denite matrix A(x),
Int. j. adv. robot. syst., 2013, Vol. 10, 368:2013 2
www.intechopen.com
for all x IR
n
, respectively. x =

x
2
1
+ + x
2
n
stands
for the norm of vector x IR
n
. For vector x or matrix B
with an arbitrary dimension, its transpose is expressed by
x
T
or B
T
, respectively. The cross product of two vectors
a and b IR
3
is represented by a b IR
3
. A specic
element of a vector or matrix is invoked by index notation,
for example, x
2
, B
34
IR.
2. Quadrotor dynamics and control goal
2.1. Quadrotor dynamics
The equations of motion of the quadrotor are studied
in the recent textbooks [27], [16] and [15]. The
quadrotor dynamics is represented by a set of six ordinary
differential equations of second order. In order to
represent the quadrotor dynamics, we have used three
differential equations derived in the inertial frame and
three differential equations derived in the body frame. The
inertial frame is denoted by E and the body frame as B. In
Figure 1, a detailed representation of the quadrotor aircraft
is given.
However, as discussed in [23], [28], [30], [31], [32] and [33],
the quadrotor dynamics can also be represented by using
three equations for the translation dynamics obtained in
the inertial frame E and three equations for the orientation
dynamics obtained in the body frame B. Neglecting
the aerodynamic effects and the gyroscopic torque, that
motion representation in state variables is given by
d
dt
p = p, (1)
d
dt
p = gz
e
+
T
m
R()z
e
, (2)
d
dt
= W(), (3)
I
f
d
dt
= I
f
+
a
, (4)
where the constant m is the mass of the quadrotor, g is
gravity acceleration, p = [x y z]
T
IR
3
means the linear
positions with respect to inertial reference frame, =
[ ]
T
is the vector of Euler angles, which represent the
roll, pitch and yaw angles in the inertial reference frame,
I
f
= diag{I
xx
, I
yy
, I
zz
} is a matrix that contains the inertia
constants, = [
x

y

z
]
T
IR
3
is the vector of angular
velocity with respect to the body reference frame,
z
e
=

0
0
1

is a unitary vector in the z direction of the inertial frame


which is used for compactness of the notation,
R() =

+ s

+ c

is an orthogonal rotation matrix that describes a


clockwise/left-handed rotation with x-y-z convention, the

Figure 1. The quadrotor aircraft and reference frames


lift forces f
i
generated by the four propellers can be
arranged in the vector
f =

f
1
f
2
f
3
f
4

,
which will be considered the control input,
T = f
1
+ f
2
+ f
3
+ f
4
=

1 1 1 1

f , (5)
is the total thrust and the vector

a
=

0 l 0 l
l 0 l 0

f ,
represents the torques applied to the quadrotor, which are
generated by the lift forces of the rotor propellers.
Additionally, concerning the equation (3),
W() =

1 s

0 c

0 s

/c

/c

.
In order to guarantee the non singularity of W() for =
/2, we assume that the quadrotor does not perform
acrobatic manoeuvres.
Notice that the relationship (3) from angular velocity in the
body frame IR
3
to the time derivative of the Euler
angles in the inertial frame IR
3
has been obtained from
the equation [29]
d
dt
R() = R()S(),
where
S() =

0
z

y

z
0
x

y

x
0

.
Throughout this paper the vector IR
3
will be denoted
either as the orientation or as the angular position of the
quadrotor.
Salvador Gonzlez-Vzquez and Javier Moreno-Valenzuela:
Motion Control of a Quadrotor Aircraft via Singular Perturbations
3
www.intechopen.com
2.2. Control problem formulation
Considering the vectors p
d
(t) and
d
(t), which are the
desired Cartesian position and the desired orientation,
respectively, the vector
=
d
(t) (t) (6)
is the orientation error and
p = p
d
(t) p(t) (7)
is the Cartesian position error.
Roughly speaking, the control problem consists in
designing a control algorithm f (t) IR
4
such that the limit
lim
t

(t)
p(t)

= 0, (8)
is guaranteed for a compact set of initial conditions of the
quadrotor state variables.
As will be seen later, the specication of the desired
position p
d
(t) should be differentiable at least up to order
four and the desired angular position
d
(t) should be
differentiable at least up to order two, while the desired
roll angle
d
(t) and desired pitch angle
d
(t) should
introduce stable position error dynamics, with the angle
specication of the desired yaw
d
(t) assumed to be at
least twice differentiable.
3. Development of the proposed algorithm
The proposed controller f IR
4
has a complex structure.
It will be described in a constructive form. First, consider
that the control law f has the structure
f = B() (9)
where IR
4
is a signal to be dened and
B() =

1
4c

0
1
2l

1
4
1
4c

1
2l
0
1
4
1
4c

0
1
2l

1
4
1
4c

1
2l
0
1
4

. (10)
Matrix B() is obtained under the construction
B() =

0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

1 1 1 1
0 l 0 l
l 0 l 0

1
.
which is singular for

IR such that cos(

) = 0 or
cos(

) = 0.
The matrix B() in (10) satises the following:
Property: Consider any vector IR
4
. Then,

1 1 1 1

B() =
1
c

1
, (11)
where
1
is the rst element of the vector IR
4
.

By developing the calculations, the proof of property (11)


is obtained.
By using property (11) it is possible to show that under the
control law (9) the quadrotor dynamics (1)-(4) becomes
d
dt
p = p, (12)
d
dt
p = gz
e
+
1
m

R
13
R
23
R
33


1
R
33
, (13)
d
dt
= W(), (14)
I
f
d
dt
= I
f
+
r
, (15)
where
1
IR is the rst component of IR
4
and
r
=
[
2

3

4
]
T
IR
3
contains the other ones.
The block diagram implementation of the proposed
controller can be appreciated in the Figure 2. As will
be seen in the next section, the proposed scheme has an
inner loop of angular velocity control and an outer loop of
translational and angular position control.
3.1. Control of the angular dynamics
We solve the problem by using the following controller

r
= I
f

d
+ I
f

d
+ K
pw

+ K
iw
, (16)
d
dt
=

=
d
, (17)
where the K
pw
and K
iw
are 3 3 positive denite matrices.
It should be noted that this control structure matches
the PI velocity controller for the robot manipulators
reported in [35], which is adapted from the structure
of the well-known PD+ motion controller [34]. The
addition of integral action has the advantage of improving
the rejection of time-varying disturbances and model
uncertainties.
To guarantee that the actual orientation (t) converges to
the desired orientation
d
(t) (to be explicitly computed
later) the following kinematic-like controller is adopted
[26]

d
= W()
1
[
d
+ K
po
], (18)
with K
po
a 3 3 symmetric positive denite matrix.
Thus, the angular error dynamics is given by
d
dt
= K
po
+W()

, (19)
I
f
d
dt

= I
f

K
pw

K
iw
, (20)
d
dt
=

. (21)
The only equilibrium point of system (19)-(21) is given at
the state space origin, that is,

= 0 IR
9
.
Int. j. adv. robot. syst., 2013, Vol. 10, 368:2013 4
www.intechopen.com
velocity
tracking
controller
quadrotor
kinematic-like
posture
controller
f
B

p p

, ,

, ,

inner loop
outer loop

, , , ,

-1
Figure 2. Block diagram of the proposed motion control algorithm which is based on a primary model-based angular velocity tracking
controller and secondary kinematic-like translational and angular position controller.
3.2. Control of the translational dynamics
By using the denition of p(t) in (7), the translational error
dynamics can be written as
d
dt
p =

p, (22)
d
dt

p = p
d
+ gz
e

1
m

R
13
R
23
R
33


1
R
33
. (23)
Now, in order to design a way to stabilize exponentially
the system (22)-(23), let us assume that
(t) = 0 =(t) =
d
(t), t t
0
. (24)
Assumption (24) will be relaxed later when the stability
analysis is presented. It is clear that in practice,
either asymptotical or exponential tracking of the desired
angular position
d
(t) can be guaranteed.
Invoking assumption (24), the translational error
dynamics (22)-(23) becomes
d
dt
p =

p, (25)
d
dt

p = p
d
+ gz
e

1
m

R
13d
R
23d
R
33d


1
R
33d
, (26)
where the d subscript in R
ijd
means that the signal R
ij
depends on
d
. Equaling the right-hand side of (26) to
some control vector
p1
IR
3
we have
p
d
+ gz
e

1
m

R
13d
R
23d
R
33d


1
R
33d
=
p1
. (27)
It is worth noticing that
p1
= [
p11

p12

p13
]
T
IR
3
.
If the desired Euler angles are specied so that equation
(27) is satised, the translational error dynamics (25)-(26)
is then given by
d
dt
p =

p, (28)
d
dt

p =
p1
. (29)
Therefore, the selection of the PD structure

p1
= K
pp
p K
dp

p (30)
stabilizes exponentially the translational error dynamics
(28)-(29).
Let us rewrite equation (27) as

R
13d
R
23d
R
33d


1
mR
33d
= p
d
+ gz
e

p1
=
1
, (31)
where
1
= [
11

21

13
] IR
3
. It is possible to look at
the equation (31) as a nonlinear algebraic equation system
where the unknown variables are
d
(t),
d
(t) and
1
(t)
IR, while
d
(t) is arbitrarily specied. A solution for the
nonlinear algebraic equation system (31) is given by

d
=

d
(t)

d
(t)

d
(t)

arctan

d
m
11

1
c

d
m
12

arctan

d
m
11

1
+ s

d
m
12

d
(t)

, (32)

1
= m
13
= m[ p
d3
+ g
p13
], (33)
where
11
,
12
and
13
are obtained from (31).
Notice that the computation of
d
and
d
is necessary
to implement the control law
r
in (16), since they are
required in the desired angular velocity
d
in (18) and
in the desired angular acceleration

d
which is explicitly
given by

d
= W()
1
[
d
+ K
po

] +

d
dt

W()
1


d
+ K
po

.
(34)
At the same time, the calculation of
d
and
d
requires the
signals
p1
and
p1
, which, under denition (30), depend
on the unmeasurable signals

p and p
(3)
.
In order to respect the assumption that the only measured
signals are those of the state [p
T
p
T

T
]
T
IR
12
, the
following denition of
p1
is proposed:

p1
= K
f 1
[
p1

p2
] (35)

p2
= K
f 2
[
p2
[K
pp
p K
dp

p]], (36)
where K
f 1
and K
f 2
are 3 3 symmetric positive denite
matrices. Thus, the larger the numerical value of K
f 1
and K
f 2
, the faster the convergence of the signal
p1
(t)
to [K
pp
p(t) K
dp

p(t)]. Therefore, the closed-loop
dynamics of the translational error (28)-(29) can be
recovered in an exponential way.
Salvador Gonzlez-Vzquez and Javier Moreno-Valenzuela:
Motion Control of a Quadrotor Aircraft via Singular Perturbations
5
www.intechopen.com
The explicit denition of

d
,

d
,

d
and

d
are provided in
Appendix since they are necessary to compute
d
in (18)
and

d
in (34).
The rest of this section is devoted to explaining the steps
to be followed in order to implement the proposed motion
controller.
3.3. Summary of the control algorithm
Next, we provide a summary of the equations to
implement the proposed trajectory tracking controller.
Specically, we provide the steps to achieve a program for
numerical simulation purposes.
Step 1: Specify the desired signals for translation
position p
d
(t) and desired yaw angle
d
(t), which
must be four and two times differentiable, respectively.
Step 2: Compute the translational errors p and

p
Step 3: Compute the signal
p1
through the linear lter
(35)-(36).
Step 4: Compute
1
in (33)
Step 5: Compute
d
,
d
, and
d
. The explicit
expressions for

d
,

d
,

d
,

d
are provided in Appendix.
Step 6: Compute
d
and

d
in (18) and (34),
respectively.
Step 7: Compute the signal
r
= [
2

3

4
]
T
IR
3
in
(16)-(17).
Step 8: Finally, with
1
and
r
compute the effective
control action f in equation (9).
In the next section, a theoretical framework for the
exponential stability of the overall closed-loop system is
provided. Firstly, the closed-loop system is obtained and
then stability will be discussed by using the theory of
singularly perturbed systems [17].
4. Overall closed-loop system stability via three time scale
Consider the following parametrization of the control
gains
K
pw
=
K
pw

1
, K
iw
=
K
iw

1
, (37)
K
f 1
=
K
f 1

1
, K
f 2
=
K
f 2

1
, (38)
and
K
po
=
K
po

2
, (39)
where
1
and
2
are positive constants denoted as
perturbing parameters, which satisfy

2
>>
1
> 0. (40)
Therefore, it is possible to show that the overall
closed-loop system can be written as
d
dt
p =

p, (41)
d
dt

p = p
d
+ gz
e

1
m

R
13
(
d
, )
R
23
(
d
, )
R
33
(
d
, )


1
R
33
(
d
, )
, (42)
d
dt
=

, (43)

2
d
dt
= K
po
+
2
W(
d
, )

, (44)

1
d
dt

= I
1
f
[
1
(
2
) I
f

+ K
pw

+ K
iw
], (45)

1
d
dt

p1
= K
f 1
[
p1

p2
], (46)

1
d
dt

p2
= K
f 2
[
p2
[K
pp
p K
dp

p]], (47)
where, by virtue of the angular velocity error

in (17),
(
2
) =
d
(
2
)

, with
d
dened in (18). Notice
that we have written (
2
), since
d
(
2
), in order to
emphasize that the perturbing parameter
2
is present into
the denition of
d
. It is worth noticing that the vector

d
IR
3
is obtained from (32) while the scalar
1
is dened
in (33).
The overall closed-loop system (41)-(47) has the standard
form of a singularly perturbed system with a three time
scale, which has been conveniently derived through the
parametrization of the controller gains (37)-(39).
The stability proof of the system(41)-(47) and the obtention
of the time scales are based on the following steps:
The rst step in the stability proof, by assumption (40),
is the separation of the system in a twofold time scale.
Thus,
x =

x
s

x
m

are the slow states with respect to


z =

p1

p2

,
which at the same time represents the states with fast
time scale.
For the second step, exponential convergence of the
solutions x(t) is proven by considering that
x
s
=

are slow states with respect to


x
m
= .
Thus, we have that x
s
represents the states with slow time
scale, x
m
are the states with medium time scale, while z
denotes the states with fast time scale. Notice, however,
that the slow time and medium time states in [x
T
s
x
T
m
]
T
are
both slow in comparison to the fast states in z. Our main
theoretical result is established as follows:
Proposition 1: Consider the singularly perturbed system
(41)-(47). Then, there always exists

1
> 0 such that the state
space origin of the closed-loop system (41)-(47) is exponentially
stable with

1
>
1
> 0.
Proof: The proof of Proposition 1 is achieved by verifying
the conditions of the theorem 9.3 in [17]. The proof of
Proposition 1 is set down in the following ve items:
Int. j. adv. robot. syst., 2013, Vol. 10, 368:2013 6
www.intechopen.com
1) The closed-loop system (41)-(47) has a unique
equilibrium point at

[ p
T

p
T

T

T
]
T
[

T
p1

T
p2
]
T

= 0.
2) One important step in the application of theorem 9.3
[17] is to verify that the subsystem (45)-(47) has isolated
roots of the form
z = z

= h(t, x),
with x = [ p
T

p
T

T

T
]
T
and z = [

T
p1

T
p2
]
T
,
for
1
= 0. The above expression is known as
quasi-steady-state solution [17]. Hence by substituting

1
= 0 into (45)-(47) we have that any isolated root
z

IR
9
satises

= K
1
pw
K
iw
, (48)

p1
= K
pp
p K
dp

p, (49)

p2
= K
pp
p K
dp

p. (50)
It is noteworthy that the isolated root (49) evaluated
in (31)-(33) gives the specic value

d
for the desired
orientation.
3) The system (41)-(47) and the isolated roots (48)-(50)
have bounded partial derivatives in compact sets.
4) By considering
1
= 0 and using the isolated roots
(48)-(50) in equations (41)-(44), the following slow
dynamics system is obtained:
d
dt
p =

p, (51)
d
dt

p = p
d
+ gz
e

1
m

R
13
(

d
, )
R
23
(

d
, )
R
33
(

d
, )


1
R
33
(

d
, )
,(52)
d
dt
= K
1
pw
K
iw
, (53)

2
d
dt
= K
po

2
W(

d
, )K
1
pw
K
iw
. (54)
As previously mentioned, the states
x = [x
T
s
x
T
m
]
T
= [ p
T

p
T

T

T
]
T
are slow with respect to
z = [

p1
T

p2
T
]
T
.
The local exponential stability of the state space origin
of the slow dynamics (41)-(44) can be derived by using
again a time scale approach, interpreting x
s
as slow
with respect to x
m
. For the sake of simplicity, we have
stated such a result in Proposition 2, which will be
given later.
5) To obtain the boundary layer system, the change of
variable
y = z h(t, x),
is dened. Let us remember that x = [ p
T

p
T

T

T
] and
z = [

T
p1

T
p2
], with z

= h(t, x) given in (48)-(50).


By deriving y with respect to = t/
1
and setting
1
=
0, we obtain the boundary layer system
d
d
y
1
= I
1
f
K
pw
y
1
, (55)
d
d
y
2
= K
f 1
[y
2
y
3
], (56)
d
d
y
3
= K
f 2
y
3
, (57)
which is a linear system. The Lyapunov function for
system (55)-(57) is dened as
W(y
1
, y
2
, y
3
) =
1
2
y
T
1
I
f
y
1
+
1
2
y
T
2
y
2
+
1
2
y
T
3
y
3
, > 0,
whose derivative with respect to the fast time scale is
given by
d
d
W(y
1
, y
2
, y
3
)
=

y
1
y
2
y
3

K
pw
0 0
0 K
f 1

1
2
K
f 1
0
1
2
K
f 1
K
f 2

y
1
y
2
y
3

.
By invoking Sylvesters theorem, the condition
<
4
min
{K
f 1
}
min
{K
f 2
}

Max
{K
f 1
}
2
guarantees the inequality
d
d
W(y
1
, y
2
, y
3
)
1
W(y
1
, y
2
, y
3
),
1
> 0.
Therefore, because (55)-(57) is a linear system, we have
sufcient conditions to claim that there is an arbitrarily
large compact set B

such that
[y
1
(0)
T
y
2
(0)
T
y
3
(0)
T
]
T
B

implies that
[y
1
()
T
y
2
()
T
y
3
()
T
]
T
0
as the scaled time .
By theorem 9.3 [17], there are sufcient conditions to claim
that there exists

1
such that

1
>
1
> 0 guarantees
that there is an arbitrarily large compact set R
A
of initial
conditions where the trajectories of the overall closed-loop
system (41)-(47) achieves the following limit
lim
t

x(t)
z(t)

= lim
t

p(t)

p(t)
(t)
(t)

(t)

p1
(t)

p2
(t)

= 0.

The result stated in Proposition 1 means that the goal (8)


holds by using the control algorithms in Section 3.3.
The proof of Proposition 1 is based on the assumption of
the local exponential convergence of the slow dynamics
Salvador Gonzlez-Vzquez and Javier Moreno-Valenzuela:
Motion Control of a Quadrotor Aircraft via Singular Perturbations
7
www.intechopen.com
Accordingly, this step can only be carried out if the
matching procedure was already performed for the rst
error image. Therefore, only areas that were not removed
during the rst matching procedure are extended by
corresponding areas of the subsequent error images.
Otherwise, the noise (falsely detected areas) would cause
an enlargement of incorrectly detected areas. The red short
dashed rectangles in Figure 8 mark 2 examples of such
corresponding areas. Resulting areas that are too large
are removed from the error images I
n
and I
n+1
. This is
indicated by the areas in the right lower corner of error
image I
n
in Figure 8. As can be seen, the resulting error
image I
n
from Figure 8 is used as input (error image I
n
) in
Figure 7. Without the extension of the areas, the midmost
candidate in Figure 7 would have been rejected.
As some real moving objects are sometimes not detected
in an error image as a result of an inaccurate optical ow
calculation or (radial) distortion, the temporal matching
would fail. This could already be the case if only one
area in one error image is missing. Thus, candidates that
were detected once in 3 temporal succeeding error images
and 4 greyscale images (original images), respectively, are
stored for a sequence of 3 error images subsequent to the
image where the matching was successful, cf. Figure 9(a).
Their coordinates are updated for the succeeding error
images by using the optical ow data. As a consequence,
they can be seen as candidates for moving objects in
the succeeding images, but they are not used within the
matching procedure as input. If within this sequence
of images a corresponding area is found again, it is
stored for a larger sequence of images (more than 3) and
its coordinates are updated for every succeeding error
image. The number of sequences depends on the following
condition:
=

c+ c
c c
| c = c
2 c | c = c,
(13)
where c is the number of found corresponding areas and
c is the number of missing corresponding areas for one
candidate starting with the image where the candidate
was found again. If < 0 > 10, the candidate is
rejected. Moreover, the candidate is no longer stored if it
was detected again in 3 temporal succeeding images. In
this case, it is detected during the matching procedure.
An example concerning to this procedure is shown in
Figure 9(b). As one can imagine, error image I
n
in
Figure 9(a) is equivalent (except area-extension) to I
n+1
in Figure 7, whereas error image I
n
in Figure 9(b) is
equivalent to I
n+2
in Figure 9(a).
For a further processing of the data, only the position
(shown as small black crosses in the left lower corners of
the rectangles in Figures 7 and 9) and size of the rectangles
marking the candidates are of relevance. Thus, for every
error image the afore mentioned information is stored
for candidates that were detected during the matching
procedure, for candidates that were detected up to 3 error
images before and for candidates that were found again
(see above). On the basis of this data, candidates that are
very close to each other are combined and candidates that
are too large are rejected.
Using Actual
Optical Flow F
n
Using Subsequent
Optical Flow F
n+1
Actual Error mage
n
Subsequent Error mage
n+1
y
x
Error mage
n+2
(a)
Using Actual
Optical Flow F
n
Using Subsequent
Optical Flow F
n+1
Actual Error mage
n
Subsequent Error mage
n+1
y
x
Error mage
n+2
(b)
Figure 9. Preventing rejection of candidates for moving objects that were detected only in a few sequences. (a) Storage of candidates
for which a further matching fails. These candidates are marked by a blue dotdashed rectangle. The green dashed rectangle marks a
candidate for which a corresponding area was found again and the red short-dashed rectangle marks a candidate with successful matching.
(b) Storage of candidates for which a corresponding area was found again. The 2 areas drawn with transparency in error image I
n
indicate
the position of the candidates, but they are not part of the error image.
Notation Description Unit Value
g gravity acceleration [m/s
2
] 9.80665
m Quadrotor mass [kg] 0.141
l Distance between the
quadrotor centre of
mass and the rotation
axis of propeller
[m] 0.175
I
xx
, I
yy
Moment of inertia
along and
[kg m
2
] 2.1 10
3
I
zz
Moment of inertia
along
[kg m
2
] 4.2 10
3
Propeller parameter
related to the reactive
torque
[m] 10.2 10
3
Table 1. Description of the quadrotor parameters.
Figure 3. Actual quadrotor path p(t) using
1
= 1.0,
2
= 0.5 and
simulation time of 300.0 [sec]. The grey point represents the initial
position.
(51)-(54). In order to relax such an assumption, the explicit
proof of exponential convergence of the slow time states
x
s
= [ p(t)
T

p(t)
T
(t)
T
]
T
and the medium time states
x
m
= (t) is provided as follows:
Proposition 2: Consider the singularly perturbed system
(51)-(54), which represents the slow dynamics in the proof of
Proposition 1. Then, there always exists

2
> 0 such that
the state space origin of the closed-loop system (51)-(54) is
exponentially stable with

2
>
2
> 0.
Proof: The proof of Proposition 2 is achieved by verifying
the conditions of the theorem 9.3 in [17]. The proof of
Proposition 2 is set down in the following ve items:
1) The closed-loop system (51)-(54) has a unique
equilibrium point at [ p
T

p
T

T

T
]
T
= 0.
2) The quasi-steady-state solution
z = z

= x
m
= h(t, x
s
)
is given by the isolated root

= 0. (58)
3) The system (51)-(54) and the isolated root (58) have
bounded partial derivatives in compact sets.
4) The slow dynamics is obtained by substituting the
isolated root (58) into the system (51)-(53), and
invoking the equation (27), i.e.,
d
dt
p =

p, (59)
d
dt

p = K
pp
p K
dp

p, (60)
d
dt
= K
1
pw
K
iw
. (61)
Let us consider the Lyapunov function
V( p, p, ) =
1
2
[ p +

p]
T
[ p +

p]
+
1
2
p
T
[K
pp
+ K
dp

2
I
33
] p +
1
2

T
K
iw
, (62)
with > 0 small enough so that
K
dp
I
33
> 0.
The time derivative of V( p, p, ) along the trajectories
of the slow dynamics (59)-(61) is given as

V( p, p, ) =

p
T
[K
dp
I
33
]

p
p
T
K
pp
p
T
K
iw
K
1
pw
K
iw
, (63)
The right-hand side of equation (63) is globally
negative denite for a small enough > 0. Finally, it is
possible to prove that the inequality

V( p, p, )
2
V( p, p, ),
with some
2
> 0, is satised for all [ p
T
p
T

T
]
T
B
r
.
Therefore, the state-space origin of the slow dynamics
(59)-(61) is exponentially stable. In other words,
lim
t

p(t)
T

p(t)
T
(t)
T

T
= 0
with exponential convergence rate as time t increases.
5) By deriving
y = z h(t, x
s
) = x
m
h(t, x
s
)
with respect to scaled time = t/
2
and setting

2
= 0 in (54), the following boundary layer system
is obtained:
d
d
= K
po
(64)
which is exponentially stable for all K
po
> 0.
By theorem 9.3 [17], there are sufcient conditions to claim
that there exists

2
such that

2
>
2
> 0 guarantees
that there is an arbitrarily large compact set R
B
of initial
conditions where
lim
t
[ p(t)
T

p(t)
T
(t)
T
(t)]
T
= 0.

An interpretation of the results established in Proposition


1 and 2 is the existence of control gains (37)-(39) so as the
local exponential stability of the closed-loop (41)-(47) is
assured. Additionally, Proposition 1 and 2 guarantee the
existence of perturbing parameters
1
and
2
such that

2
>
2
>>

1
>
1
> 0,
which can be used as a tuning guideline.
Int. j. adv. robot. syst., 2013, Vol. 10, 368:2013 8
www.intechopen.com
Figure 4. Slow time scale states: the position errors p(t), translational velocity errors

p(t), and integral of the angular velocity error (t) for
the different values of the perturbing parameters
1
and
2
. Medium time scale states: orientation error (t) for the different values of the
perturbing parameters
1
and
2
. Some of the signals are scaled in magnitude in order to improve their visualization with respect to the
other ones.
Figure 5. Fast time scale: Time evolution of y
1
(t) =

(t) + K
1
pw
K
iw
(t), y
2
(t) =
p1
(t) + K
pp
p(t) + K
dp

p(t) and y
3
(t) =
p2
(t) + K
pp
p(t) + K
dp

p(t)
for the different values of the perturbing parameters
1
and
2
. Some of the signals are scaled in magnitude in order to improve their
visualization with respect to the other ones.
Salvador Gonzlez-Vzquez and Javier Moreno-Valenzuela:
Motion Control of a Quadrotor Aircraft via Singular Perturbations
9
www.intechopen.com
5. Simulation results
We have used the Matlab and Simulink toolboxes to
implement the system described in Figure 1. In the
simulations we considered that the initial conditions of the
quadrotor and the controller are null. The parameters of
the quadrotor are given in Table 1.
The desired position is dened as
p
d
(t) =

x
d
(t)
y
d
(t)
z
d
(t)

= a
o

x(t)
y(t)
z(t) + 1

IR
3
, (65)
where x(t), y(t), z(t), are obtained by means of the
Rabinovich-Fabrikant equations [36], that is,

=
o

z 1 + x
2

+ x
x

3 z + 1 x
2

+ y
2 z [ + x y]

IR
3
, (66)
being = 0.1 y = 0.3. Besides,
o
= 0.2, a
o
= 1.
Initial conditions are x(0) = 0.16, y(0) = 0.1 and z(0) =
0.1. The signals p
d
, p
d
, p
(3)
d
and p
(4)
d
are obtained by a
successive time derivative of p
d
(t) in (66) and substituting
in these the right-hand side of equation (66).
The desired yawangle
d
(t) is dened as the time-periodic
function

d
= a
1
sin

2
1
1
t

+ a
2
sin

2
1
2
t

IR , (67)
with
1
= 30 [sec],
2
= 4 [sec], a
1
= 0.5 [rad] and a
2
= 0.1
[rad].
Control gains have been selected using the
parametrization (37)-(38) and (39). In particular,
K
pw
=
1
1
diag {0.005, 0.005, 0.075} ,
K
iw
=
1
1
diag {0.005, 0.005, 0.075} ,
K
f 1
=
1
1
diag {25, 25, 25} , (68)
K
f 2
=
1
1
diag {50, 50, 50} , and
K
po
=
1
2
diag {5, 5, 5} , where

1
= 0.1, 0.4, 0.7, 1.0, (69)
and

2
= 0.5, 1.5, 2.5, 3.5, 4.5. (70)
On the other hand, the gains of the translational controller
are given by
K
pp
= diag {2, 0.75, 10} ,
K
dp
= diag {3, 1, 20} .
(71)
The purpose of the numerical simulations is to conrm
that the actual quadrotor trajectories p(t) and (t)
converge to the desired position trajectory p
d
(t) in (65) and
to the desired yaw angle
d
(t) in (67). In addition, with the
presented simulations the time scale separation introduced
by the controller is veried. The simulations show the time
evolution of the slow time scale states
x(t) =

x
1
(t)
x
2
(t)
x
3
(t)

p(t)

p(t)
(t)

,
Figure 6. Time evolution of the norm of the slow time scale states
x(t), the norm of the medium time scale states z(t) and the
norm of the fast time scale states y(t) for the different values of
the perturbing parameters
1
and
2
.
the medium time scale states
z(t) = (t)
and the fast time scale states
y(t) = z(t) h(t, x(t)) ,
where the quasi-steady-state solution h(t, x(t)) is given
explicitly in (48)-(50), being
x(t) = [x(t)
T
z(t)
T
]
T
:= [ p
T

p
T

T

T
]
T
.
More specically, the fast states are
y =

y
1
(t)
y
2
(t)
y
3
(t)

(t) + K
1
pw
K
iw
(t)

p1
(t) + K
pp
p(t) + K
dp

p(t)

p2
(t) + K
pp
p(t) + K
dp

p(t)

.
Figure 3 shows the actual quadrotor path p(t) for a time
interval of 300.0 [sec] and the control gains previously
dened with
1
= 1 and
1
= 0.5. The desired trajectory
corresponds to the attractor system given by (66).
The rest of the Figures show the response of the system for
the different values of the perturbation parameters
1
and

2
. In particular, a simulation has been performed for each
combination of the perturbing parameters (
1
,
2
), which
gives a total of 20 simulations.
These simulations have been carried out in two nested
for loops. Each iteration corresponds to a simulation
with a combination of parameters (
1
,
2
). In the outer
for loop, the parameter
1
is increased and in the inner
for loop, the parameter
2
is increased as (69) and (70),
respectively. The results are shown in different coloured
lines. For each colour, lighter lines mean the former
simulations and darker lines mean the latter simulations.
Figure 4 depicts the slow time scale states, given by
position errors p(t), velocity errors

p(t) and the integral
of the angular velocity error (t). Due to the negligible
differences between the compared signals,the plots of p(t)
and

p(t) are overlapped for the different values of
1
and

2
. In addition, the convergence of the signal (t) for the
different values of
1
is barely affected. Figure 4 also shows
Int. j. adv. robot. syst., 2013, Vol. 10, 368:2013 10
www.intechopen.com
Figure 7. Total applied force T(t) and applied torque
a
(t) for the different values of
1
and
2
.
quadrotor
f
sensor
a
s+a
controller
position
wind
traslational 8 angular signals
+
+
yaw
desired
trajectories
ideal
model
noise
Figure 8. Block diagram of the simulations with practical
disturbances.
the medium time scale states, which are given by the
orientation errors

(t),

(t) and

. The main observation
is that the convergence rate is increased if
2
is decreased,
which is predicted by theory in Proposition 1 and 2.
In Figure 5, the time evolution of the states with fast time
scale y(t) can be seen. Notice that the smaller the value of
the parameter
1
, the faster the convergence of the signals
y
1
(t), y
2
(t) and y
3
(t). Another important observation is
that the parameter
2
has no effect on the convergence of
y(t), which is consistent with Proposition 2.
Figure 6 shows the time evolution of the norm of the slow
time scale states x(t), the norm of the medium time scale
states z(t) and the norm of the fast time scale states
y(t).
The results in Figures 4, 5 and 6 conrm that the
perturbation parameter
2
has more effect on the
convergence of the medium time scale states, while the
perturbing parameter
1
causes the signal y(t) to converge
to zero much faster than x(t) (the slow and medium time
scale states).
Finally, the total applied force T(t) and the applied torque

a
(t) for the different values of the parameters
1
and
2
are depicted in Figure 7. It is appreciated that both signals
are well-behaved for all time.
6. Simulations with practical disturbances
Simulations have been carried out incorporating the
effect of practical disturbances. In Figure 8, a block
diagram showing the incorporation of disturbances in the
simulations is provided. The blocks are described as
follows:
Controller. This block corresponds to the controller law
described by equations (9), (16)-(17), (18), (32)-(33) and
(35)-(36).
Saturation. This block limits the forces generated by
the propellers. The lower limit is 0 [N] and the upper
limit is 1.0 [N]. It is worth noting that this nonlinearity
provides only positive control action, which has the
physical meaning that the propellers keep the same
direction of rotation at all times.
Low pass lter. This block is represented in the
Laplace domain and is referred to as the low pass lter
a
s+a
, which has the purpose of modelling the actuator
dynamics. We have selected a = 20, which means a
response of
5
a
[sec] for a step input.
Sensor. Noise is added to all translational and angular
measurements. The signals are updated with a rate of
100 Hz.
The maximum amplitude of the noise in the
translational displacement is 0.01 [m]. Similarly,
the maximum amplitude of the noise in the
angular displacement is 0.05 [rad]. Additionally,
the amplitudes of the noise added to the time
derivative of the translational displacement and
angular displacement are 1.0 [m/sec] and 5.0 [rad/sec],
respectively.
Wind. We have added perturbing forces to the
propellers, which emulate the effect of the wind over
the quadrotor propellers. The perturbing force applied
Salvador Gonzlez-Vzquez and Javier Moreno-Valenzuela:
Motion Control of a Quadrotor Aircraft via Singular Perturbations
11
www.intechopen.com
Figure 9. Left hand-side plots correspond to the results for the chaotic-type trajectory in (65)-(66). Right hand-side plots show the results
for the helicoidal trajectory in (72).
to each propeller has the direction of the thrust force
and is dened as f
w
(t) =
1
20
mg
4
sin(2t/5) [N].
Under the conditions described above, two different
translational position trajectories have been numerically
simulated:
The rst one corresponds to the equations described by
the Rabinovich-Fabrikant system in (65)-(66).
The second one is the helicoidal position trajectory
which is usually found in the literature and described
by
p
d
(t) =

x
d
(t)
y
d
(t)
z
d
(t)

1.7 cos(
1
12
t)
1.7 sin(
1
12
t)
1
320
t + 1

IR
3
. (72)
The purpose of using a chaotic-type desired position
trajectory as the one in (65)-(66) is to assess the
performance for a ight with acrobatic characteristics. The
desired yaw angle
d
(t) specied for the simulations with
disturbances is given in (67).
The gains used in the simulations are in (68)-(71). The
different values of the perturbing parameters
1
and
2
in
(69) and (70), respectively, were used to prove numerically
the threefold time scale separation.
Figure 9 depicts the actual path p(t) performed by the
quadrotor, the norm of the desired translational velocity
p
d
(t), and the norm of the actual velocity p(t)
for both simulations. Specically, the left hand-side
plots correspond to the chaotic-type desired position in
(65)-(66), while the right hand-side plots stand for the
helicoidal position in (72). The perturbing parameters

1
= 1 and
2
= 1 were used.
The purpose of showing the velocity signals p(t) and
p
d
(t) in the lower plots of Figure 9 is to appreciate the
complexity of the manoeuvres that are encoded for each
type of desired position p
d
(t) and to assess the tracking
accuracy of the controller in both simulations. We can see
that an acceptable performance is achieved.
By using both types of desired position trajectory p
d
(t)
and the different values of the perturbing parameters
1
and
2
, Figure 10 describes the performance of the position
error x
1
(t) = p(t) (upper plots), the orientation error
z(t) = (t) (middle plots) and the signals x(t) = x
s
(t)
[blue], z(t) = x
m
(t) [black], and y(t) [red] (lower
plots). Some of the signals have been scaled in magnitude
in order to facilitate comparison.
From Figure 10 it can be appreciated that for
1
= 0.25 and
any value of
2
the signal y(t) converges to zero much
faster than x(t) = x
s
(t) and z(t) = x
m
(t). For any xed
value of
1
, it is observed that the states z(t) = x
m
(t) are
the most sensitive to the variations of the parameter
2
.
The left hand-side plots of Figure 11 describe the forces
f
i
(t) generated by the propellers for the chaotic-type
desired position trajectory p
d
(t) in (65)-(66) and all
the combinations of perturbing parameters
1
and
2
.
Likewise, in the left hand-side plots of Figure 11, the
respective results are shown for the helicoidal desired
position trajectory p
d
(t) in (72). The dashed line in each
plot indicates the value
1
4
mg. Notice that the forces f
i
(t)
show slight changes from one value of
2
to the other. An
increase of high frequency contents in the forces f
i
(t) is
observed for small values of the parameters
1
. The reason
for the high frequency components is the amplication
of the noise present in the measurements of position
and velocity. Another important observation about the
Int. j. adv. robot. syst., 2013, Vol. 10, 368:2013 12
www.intechopen.com
Figure 10. Left hand-side plots correspond to the results for the chaotic-type trajectory in (65)-(66). Right hand-side plots show the results
for the helicoidal trajectory in (72). The position error x
1
( x [blue], y [red] and z [black]) are observed in the upper plots, the orientation
error z (

[blue],

[red] and

[black]) are given in the middle plots, and the norm of the slow time scale states x(t) = x
s
(t) [blue], the
medium time scale states z(t) = x
m
(t) [black], and the fast time scale states y(t) [red], are depicted in the lower plots. A darker tone in
each colour means a bigger value in the parameter
2
. The changes in the parameter
1
are indicated in the third axis of each plot.
actuator response is that the presence of saturation seems
to have little effect on the stability of the closed-loop
system. However, for very small values of the perturbing
parameters the system may become unstable.
The numerical results shown in Figures 9, 10 and 11
allowed verifying that the threefold time scaling is still
present in spite of the fact that practical disturbances are
affecting the overall closed-loop system.
7. Concluding remarks and further research
The proposed trajectory tracking controller allows
choosing any desired translational position p
d
(t) at least
four times differentiable, and any desired yaw angle
d
(t)
at least two times differentiable. The desired roll
d
(t) and
the desired pitch
d
(t) are designed as functions of the
quadrotor states and the output of a second order linear
lter.
The overall closed-loop system stability is proven by
using the framework of the theory of singularly perturbed
systems. This analysis suggested that by using high-gain
angular velocity control, the coupling between the
translational error dynamics and the angular error
dynamics is diminished.
Numerical simulations conrmed that the motion
control objective is satised with the proposed scheme.
In addition, the different time scales introduced by
the controller were numerically veried under ideal
conditions and under the situation that the system is
affected by different types of perturbations that appear in
a practical implementation.
A possible disadvantage of the proposed approach is the
use of Euler angles to represent the orientation dynamics
in equations (14)-(15), which implies that the matrix
W() loses rank for = /2(2n + 1), being n =
1, 2, ,. A way to avoid the problem of singularities is
to chose a non-minimal representation of the orientation
such as the unit quaternion. See references [37], [38]
and [39] for examples of the unit quaternion in robot
control. Application of the unit quaternion to the proposed
two-loop control scheme requires a full redesign of the
controller and therefore is left for further research.
Salvador Gonzlez-Vzquez and Javier Moreno-Valenzuela:
Motion Control of a Quadrotor Aircraft via Singular Perturbations
13
www.intechopen.com
Figure 11. Left hand-side plots correspond to the results for the chaotic-type trajectory in (65)-(66). Right hand-side plots show the
results for the helicoidal trajectory in (72). Using different combinations of the parameters
1
and
2
, the plots show the time evolution of
the forces f (t) generated by the propellers. The vertical axis of each plot shows the applied force. Notice that the forces are limited as
0 f
i
(t) 1.0 [N]. The increase in the colour tone corresponds to the increase in the parameter
2
. The changes in the parameter
1
are
indicated in the third axis of each plot.
Another problem that is left for further research is the
estimation of

1
and

2
in Proposition 1 and 2, respectively,
which can achieved by using a Lyapunov function.
8. References
[1] Gomes S.B.V., Ramos, J.G.JR.: Airship dynamic
modelling for autonomous operation, 1998
IEEE International Conference on Robotics and
Automation, Leuven, Belgium, May 1998, pp.
3462-3467.
[2] Altu g E., Ostrowski, J.P., Mahony R.: Control
of a quadrotor helicopter using visual feedback,
2002 IEEE International Conference on Robotics and
Automation, Washington, USA, May 2002, pp. 72-77.
[3] Altu g E., Ostrowski J.P., Taylor, C.J.: Control of
a quadrotor helicopter using dual camera visual
feedback, International Journal of Robotics Research,
2005, 24, (5), pp. 329-341.
[4] Bouabdallah S., Siegwart R.: Backstepping and
sliding-mode techniques applied to an indoor micro
quadrotor, 2005 IEEE International Conference on
Robotics and Automation, Barcelona, Spain, April
2005, pp. 2259-2264.
[5] Madani T., Benallegue A.: Backstepping control for
a quadrotor helicopter, 2006 IEEE/RSJ International
Conference on Intelligent Robots and Systems,
Beijing, China, October 2006, pp. 3255-3260.
[6] Madani T., Benallegue A.: Backstepping sliding
mode control applied to a miniature quadrotor ying
robot, IECON 2006-32nd Annual Conference on
IEEE Industrial Electronics, Paris, France, November
2006, pp. 700-705.
[7] Hamel T., Mahony R., Chriette A.: Visual servo
trajectory tracking for a four rotor VTOL aerial
vehicle, 2002 IEEE International Conference on
Robotics and Automation, Washington, USA, May
2002, pp. 2781-2786.
[8] Castillo P., Dzul A., Lozano R.: Real-time
stabilization and tracking of four-rotor mini
rotorcraft, IEEE Transactions on Control Systems
Technology, 2004, 12, (4), pp. 510-516.
[9] Nicol, C., Macnab, C.J.B., Ramirez-Serrano A.:
Robust neural network control of a quadrotor
helicopter, CCECE 2008-Canadian Conference on
Electrical and Computer Engineering, May 2008,
Niagara Falls, pp. 1233-1238.
[10] Mian A.A., Daobo W.: Modeling and
backstepping-based control strategy for a 6 DOF
quadrotor helicopter, Chinese Journal of Aeronautics,
2008, 21, pp. 261-268.
[11] Das A., Subbarao K., Lewis F.: Dynamic inversion
with zero-dynamics stabilization for quadrotor
control, IET Control Theory and Applications 2009, 3,
(3), pp. 303-314.
[12] Zhang R., Quan Q., Cai K.Y.: Attitude control of a
quadrotor aircraft subject to a class of time-varying
disturbances, IET Control Theory and Applications
2011, 5, (9), pp. 1140-1146.
[13] Hernndez-Guzmn V.M., Molina-Mndez J.,
Nieto-Martnez J.: Nonlinear PD control of a
quadrotor aircraft, International Journal of Innovative
Computing, Information and Control, (2010), 6, (4), pp.
1699-1711.
[14] Luque-Vega L., Castillo-Toledo B., Loukianov A.:
Robust block second order sliding mode control for
a quadrotor, Journal of the Franklin Institute, Vol. 39,
No. 2, pp. 719-739, 2012.
Int. j. adv. robot. syst., 2013, Vol. 10, 368:2013 14
www.intechopen.com
[15] Cai G., Chen B.M., Lee T.H.: Unmanned rotorcraft
systems, (Springer-Verlag, London, 2011).
[16] Valavanis K. (ED.): Advances in unmanned aerial
vehicles: State of the art and the road to autonomy,
(Springer-Verlag, London, 2007).
[17] Khalil H: Nonlinear systems (Prentice-Hall, Upper
Saddle River, 1996).
[18] Alvarez-Ramirez J., Santibez, V., Campa R.:
Stability of robot manipulators under saturated PID
compensation, IEEE Transactions on Control Systems
Technology, 2008, 16, (6), pp. 1333-1341.
[19] Liu H., Hao K., Lai X.: Fuzzy Saturated output
feedback tracking control for robot manipulators:
A singular perturbation theory based approach,
International Journal of Advanced Robotic Systems, 2011,
8, (4), pp. 43-53.
[20] Wang L., Book W.J., Huggins J.D.: Application
of singular perturbation theory to hydraulic pump
controlled systems IEEE/ASME Transactions on
Mechatronics, 2012, 17, (2), 251-259.
[21] Moreno-Valenzuela J., Santibez V.: Robust
saturated pi joint velocity control for robot
manipulators, Asian Journal of Control, 2013, 15,
(1), pp. 64-79.
[22] Naidu D.S.: Singular perturbation methodology in
control systems (Peter Peregrinus, London, 1988).
[23] Zuo Z.: Trajectory tracking control design with
command-ltered compensation for a quadrotor,
IET Control Theory and Applications, 2010, 4, (1), pp.
2343-2355.
[24] Bertrand S., Guenard N., Hamel T., Piet-Lahanier
H., L. Eck: A hierarchical controller for miniature
VTOL UAVs: Design and stability analysis using
singular perturbation theory, Control Engineering
Practice, 2011, 19, (10), pp. 1099-1108.
[25] Esteban S., Gordillo F., Aracil J.: Lyapunov based
stability analysis of a three-time scale model for a
helicopter on a platform, 17th IFAC Symposium on
Automatic Control in Aerospace, Universitas Studii
Tolosana, France, 2007, 17, (1), pp. 467-472
[26] Siciliano B.: Kinematic control of redundant robot
manipulators: A tutorial, Journal of Intelligent &
Robotic Systems, 1990, 3, pp. 201-212.
[27] Castillo P., Lozano R., Dzul A.: Modelling and
control of mini-ying machines, (Springer-Verlag,
London, 2005).
[28] Hamel T., Mahony R., Lozano R., Ostrowski J.P.:
Dynamic modelling and conguration stabilization
for an X4-yer, 15th IFAC World Congress,
Barcelona, July 2002, 1, (2), pp. 846-846.
[29] Sciavicco L., Siciliano B.: Modelling and control
of robot manipulators, (Springer-Verlag, London,
2000).
[30] Kim J., Kang M.-S., Park S.: Accurate modeling
and robust hovering control for a quad-rotor VTOL
aircraft, Journal of Intelligent Robotic Systems, 2010, 57,
pp. 9-26.
[31] Tayebi A., Mcgilvray S.: Attitude stabilization of
a four-rotor aerial robot, Proc. of the American
Control Conference, Washington, USA, June 2008, pp.
3356-3361.
[32] Pounds P., Mahony R., Corke P.: Modelling
and control of a quad-rotor robot, Proc. of
the Australasian Conference on Robotics and
Automation, Auckland, New Zealand, December
2006.
[33] Madani T. Benallegue A.: Sliding mode observer
and backstepping control for a quadrotor unmanned
aerial vehicle, Proc. of the American Control
Conference, New York, USA, July 2007, pp.
5887-5892.
[34] Paden B., Panja R.: Globally asymptotically stable
PD+ controller for robot manipulators, International
Journal of Control, 1988, 7, (6), pp. 1697-1712.
[35] Moreno J., Kelly R.: Velocity control of robot
manipulators: analysis and experiments,
International Journal of Control, 2003, 76, (14), pp.
1420-1427.
[36] Rabinovich M.I., Fabrikant A.L.: Stochastic
self-modulation of waves in nonequilibrium media,
Journal of Experimental and Theoretical Physics (JETP),
1979, 77, pp. 617-629.
[37] Campa R., Camarillo K., Arias L.: Kinematic
modeling and control of robot manipulators via unit
quaternions: Application to a spherical wrist, in
45th IEEE Conference on Decision and Control, pp.
6474-6479, 2006.
[38] Campa R., De La Torre H.: Pose control of
robot manipulators using different orientation
representations: A comparative review, in 2009
American Control Conference, pp. 2855-2860, 2009.
[39] Sariyildiz E., Cakiray E., Temeltas, H.: A
comparative study of three inverse kinematic
methods of serial industrial robot manipulators in
the screw theory framework, International Journal
Advanced Robotic Systems, 2011, 8, pp. 9-24.
Appendix: Explicit expression of

d
,

d
,

d
and

d
By using the property
cos (
d
) =
_
1 +tan (
d
)
2
_
1/2
,
and noticing that

1
= m
13
,
let us rst rewrite
d
in the form

d
=
_

_
arctan
_
c

d
_
s

11
c

12

13
_
arctan
__
c

11
+ s

12

13
_

d
_

_
=
_

_
arctan
_
_
_
s

11
c

12

2
13
+
_
c

11
+ s

12

2
_
_
arctan
__
c

11
+ s

12

13
_

d
_

_
.
Salvador Gonzlez-Vzquez and Javier Moreno-Valenzuela:
Motion Control of a Quadrotor Aircraft via Singular Perturbations
15
www.intechopen.com
By using
u
1
= s

11
c

12
,
s
1
=
_

2
13
+
_
c

11
+ s

12

2
,
u
2
= c

11
+ s

12
,
s
2
=
13
,
the desired angular position becomes

d
=
_

_
arctan
_
u
1
s
1
_
arctan
_
u
2
s
2
_

d
_

_
.
Thus,
d
and
d
have the structure
= arctan
_
u
i
s
i
_
,
whose rst time derivative is
d
dt
=
s
i
u
i
u
i
s
i
u
2
i
+ s
2
i
and second time derivative is
d
2
dt
2
=
_
u
2
i
+ s
2
i

[s
i
u
i
u
i
s
i
] 2 [s
i
u
i
u
i
s
i
] [u
i
u
i
+ s
i
s
i
]
_
u
2
i
+ s
2
i

2
where
u
1
= s

d

11
c

d

12
+
_
c

11
+ s

12

d
,
u
1
= s

d

11
c

d

12
+ 2
_
c

d

11
+ s

d

12

d
+
_
c

11
+ s

12

d
,
s
1
=
_
s
2
2
+ u
2
2
,
s
1
=
[s
2
s
2
+ u
2
u
2
]
s
1
,
s
1
=
s
2
1
_
s
2
s
2
+ u
2
u
2
+ s
2
2
+ u
2
2

[s
2
s
2
+ u
2
u
2
]
2
s
3
1
,
u
2
= c

d

11
+ s

d

12
+
_
s

11
+ c

12

d
,
u
2
= c

d

11
+ s

d

12
+ 2
_
s

d

11
+ c

d

12

d
+
_
s

11
+ c

12

d
,
s
2
=
13
, s
2
=
13
, s
2
=
13
,
with

p1
= K
f 1
_

p1

p2

,

p1
= K
f 1
_

p1

p2

,
and

p2
= K
f 2
_

p2

_
K
pp
p K
dp

p
__
.
Int. j. adv. robot. syst., 2013, Vol. 10, 368:2013 16
www.intechopen.com