Você está na página 1de 6

Path Following Controller for a Quadrotor Helicopter

Ashton Roza, Manfredi Maggiore

Abstract A path following controller is presented for a can be found in [5] and [6] which both present attitude,
quadrotor helicopter model. The controller relies on input position and trajectory tracking controllers implemented on
dynamic extension and feedback linearization. The controller a testbed to obtain experimental results. Quaternion-based
allows the designer to specify the speed profile of the quadrotor
on the path and its yaw angle as a function of the displacement. attitude control is presented in [7] while quadrotor maneuvers
are explored in [8] and [9]. Specifically, [8] has a quadrotor
fly through openings and perch on angled surfaces while [9]
I. I NTRODUCTION presents a learning strategy for flips.
Applications for search and rescue, exploration, security The main issue with the trajectory tracking method is that
and inspection are often dangerous or time consuming for a if the quadrotor loses track of the reference signal, it may
human operator to perform. One solution is to have a model leave the path and collide with off-course objects. For this
sized quadrotor helicopter do the task. That is, command reason, we will focus on the path following approach.
a quadrotor to follow a predefined path while meeting The goal of the path following approach is to stabilize a set
additional specifications regarding its motion such as speed of permitted trajectories where the quadrotor is on the path
or orientation. For instance, the quadrotor may orient itself to and meets additional specifications regarding its speed and
point an on-board camera or tool in a desired direction as a orientation as a function of its displacement. The advantage
function of displacement along the path. Two methods to ac- of the path following method comes from its invariance
complish this are trajectory tracking and path following while properties where if the quadrotor begins on a permitted
secondary problems may deal with disturbance rejection trajectory, it will remain on it for all time. However, even
(e.g., wind in outdoor environments), unmodelled dynamics if the quadrotor is not exactly on a permitted trajectory or
(e.g., aerodynamic effects) and parameter uncertainties. has been perturbed slightly off of one, it will at least converge
In the trajectory tracking case, the quadrotor tracks a time towards nearby points on the path rather than chasing a
parameterized reference signal that moves along the path distant reference signal. This contrasts the trajectory tracking
while simultaneously specifying yaw angle. The majority approach where this invariance property does not hold.
of the literature for quadrotor trajectory tracking uses a The development in this paper uses a feedback lineariza-
hierarchical method called backstepping. For instance, in [1] tion method inspired by the work of Chris Nielsen in [10].
and [2], the controller is split into an outer translational As in [4], we rely on an input dynamic extension to design a
control loop and an inner rotational control loop. In the path following controller. Besides solving the path following
outer loop, the reference signal is the desired displacement problem, our control design allows one to specify the speed
along the path and the control input is the thrust. There profile and yaw angle of the quadrotor along the path.
are also additional virtual inputs that together with the Notation. Throughout the paper, we will use the shorthand
desired yaw angle, become the reference signals for the inner c := cos , s := sin , t := tan , se := sec . By dfx we
rotational loop. In this inner loop, the remaining control will denote the Jacobian of a function f at x. If f is a real-
inputs representing body torques are assigned. In [1] a model valued function, the gradient of f with respect to the vector
predictive controller is used for the translational subsystem x = col (x1 . . . xn ) will be denoted by (x1 ,...,xn ) f , or more
whereas a robust nonlinear H controller is used for the concisely x f . Note that x f = dfx for a real-valued f .
rotational subsystem. In [2] a sliding-mode controller is used Finally, v w denotes the Euclidean inner product between
for both subsystems where neural networks are used for vectors v and w R3 .
disturbance rejection. In [3], the approach has three control
steps. The first step uses the thrust input and yawing torque II. BACKGROUND
to control the quadrotor height and yaw angle respectively. The quadrotor model developed in this section is standard.
In the second step, the pitching torque is used to control For instance, see Mokhtari, Benallegue, and Orlov in [4]. A
y-position and pitch angle. In this step, a nested saturation quadrotor helicopter consists of four rotors connected to a
control is used to bound the pitching torque. The third step rigid frame, as shown in Figure 1. Denote the inertial frame
is similar to the second, where the rolling torque is used by I, the body frame attached to the quadrotor centre of
to control x-position and roll angle. In [4], the authors mass by B and the distance from the centre of mass to the
use a feedback linearization approach where the path and rotors by d. Corresponding to each rotor is a thrust force
yaw specifications are described through the system outputs fi acting along the zb axis and a reaction torque ri that
and disturbance rejection is provided through an adaptive opposes the direction of rotation. To produce a thrust fi in
estimator. Other relevant work regarding quadrotor control the negative zb (i.e., upward) direction, the rotors on the xb
where Fext is the sum of external forces composed of a
gravity force and thrust force, m is the quadrotor
T mass, g is
the acceleration due to gravity, e3 = 0 0 1 and R is
the rotation matrix from B to I given by,

c c c s s c s c c s + s s
R = c s s s s + c c c s s c s .
s c s c c

Fig. 1: Quadrotor system. Using Newton-Eulers equation, the rotational dynamics of

the quadrotor system are given by,

0 s se c se
axis rotate in the clockwise direction and the rotors on the = 0 c s
yb axis rotate in the counter-clockwise direction. 1 s t c t (2)
The control inputs to the system are u1 , u2 , u3 , u4 where X  T
J + J = Text = u2 u3 u4
u1 is the total thrust along the zb axis and u2 , u3 , u4 are the
torques about the xb , yb , zb axes respectively. The physical
where Text is the vector of external torques in B and J is
inputs are the motor torques applied to the rotors denoted the symmetric inertia matrix in B with diagonal elements Ix ,
by 1 , 2 , 3 , and 4 . Using the development from Castillo, Iy and Iz . The state vector is taken as = col (X, , V, )
Lozano, and Dzul in [3], the rotor dynamics are given by X := R12 and the system model can be represented in the
Irz ri = b2ri +i where Irz is the rotor moment of inertia control-affine form,
about the rotor z-axis, ri is the angular speed of rotor i and
b is a coefficient of friction due to aerodynamic drag on the = f () + g () u, y = h()
rotor. There is also an algebraic relationship between the with the definitions of f, g derived from equations (1)
rotor thrust and rotor speed given by, fi = 2ri where and (2).
is a parameter that can be experimentally measured. If we
assume steady-state rotor dynamics such that ri = 0 then III. P ROBLEM S TATEMENT
fi = (/b)i = ci where c = /b is the algebraic scaling The objective of the path following problem is to control
factor between the rotor thrust and the applied motor torque. the quadrotor helicopter to follow a predefined path in R3
Using this fact, it is readily seen that the relationship between while attaining a desired velocity and yaw angle as it travels
the control inputs and the motor torques is given by along this path. This is stated more precisely below.

u1 c c c c

1 Path Following Problem (PFP): Consider the system given
u2 0 cd 0 cd 2 by equations (1) and (2). Given a Jordan curve C in R3 , find
u= u3 = cd
= M . a continuous feedback u = col (u1 , . . . , u4 ) such that under
0 cd 0 3
u4 1 1 1 1 4 appropriate initial conditions, the closed-loop system meets
the following goals:
In the above, the total thrust is equal to the summation G1 The quadrotor asymptotically converges to C
of the four rotor thrusts; the torque about the xb axis is G2 The velocity asymptotically converges to a specified
proportional to the differential thrust of the two rotors on the value dependent on the quadrotor displacement along C
yb axis, f4 f2 ; the torque about the yb axis is proportional to
the differential thrust of the two rotors on the xb axis, f1 f3 ; G3 The yaw angle asymptotically converges to a specified
and the torque about the zb axis is equal to the summation value dependent on the quadrotor displacement along C.
of the four reaction torques ri which are equal and opposite
to the applied motor torques i . Therefore given u, one can The path, velocity and yaw specifications are formulated in
determine the required motor torques by = M 1 u. Let the terms of system outputs that we would like to asymptotically
states of the quadrotor system be given by, zero out.
X = col (x, y, z): position in I Definition 3.1: A path specification is a smooth function
= col (, , ): orientation (yaw, pitch, and roll) col (h1 (X), h2 (X)), R3 R2 , such that the path C = {X :
V = col (u, v, w): velocity in I h1 (X) = h2 (X) = 0} is a Jordan curve in R3 and X h1 ,
= col (p, q, r): angular velocity in B. X h2 are linearly independent on C (i.e., zero is a regular
value of col (h1 , h2 )).
We now model the system dynamics neglecting gyroscopic
The enforcement of the path specification meets goal G1
effects and disturbances. Using Newtons equation, the trans-
in PFP. Next, we would like to define velocity and yaw
lational dynamics of the quadrotor system are given by,
Definition 3.2: A velocity specification is a
X = V
X (1) smooth function X R defined as h3 () =
mV = Fext = mge3 u1 Re3 (X h1 X h2 ) / kX h1 X h2 k V (X) where
the smooth function (X) 6= 0 specifies the velocity along A. Investigation of vector relative degree conditions
C. Taking time derivatives of the four outputs in (3) along the
For each point X C and each velocity vector V R3 , the vector fields of the control system (1)-(2), one can check that
vector (X h1 X h2 ) / kX h1 X h2 k V represents the the control inputs first appear in d2 s1 /dt2 , d2 s2 /dt2 , ds3 /dt,
component of V tangent to the path C at X. Thus, h3 () and d2 s4 /dt2 suggesting that if vector relative degree were
expresses the requirement that when X C the component well-defined it would be given by {2, 2, 1, 2}. However, one
of the quadrotors velocity tangential to C be equal to a can check that the corresponding decoupling matrix D has
desired value given by (X). The magnitude of (X) is the form
the desired speed, and its sign indicates the desired direction 0 0 0
of travel along C (clockwise or counter-clockwise). Hence, 0 0 0
D= 0 0 0 ,

the enforcement of the velocity specification meets goal G2
in PFP. 0
Definition 3.3: A yaw specification is a smooth function so that D is always singular, implying that the vector relative
X R defined as h4 () = (X). degree {2, 2, 1, 2} is not well-defined anywhere. Interest-
In the above, the desired yaw angle at a point X along C ingly, the same problem arises when one wants to address
is given by (X). The enforcement of the yaw specification the tracking problem, a fact pointed out in [4], although in
meets goal G3 in PFP. this case the output function is completely different. Here,
Let s := col(s1 , . . . , s4 ) and define : X R3 as as in [4], we achieve a well-defined vector relative degree
(X, , V, ) = X. Defining the output function h : X through the technique of input dynamic extension [11].
R4 as Specifically, we add two integrators at the thrust input u1 ,

h1 (())
while leaving the remaining inputs unchanged. That is, we
h2 (()) let
s = h() := k h h k V (X) ,
X h 1 X h 2
X 1 X 2 u1 = , = u1 , u2 = u2 , u3 = u3 , u4 = u4 (4)
where u1 , u2 , u3 , u4 are the new control inputs. The quadro-
the objective of PFP can be restated as that of designing a tor model with dynamic compensation is given by equa-
feedback such that, for a suitable set of initial conditions, tions (1), (2),
 and (4) with the  augmented state vector defined
h((t)) 0 along solutions of the closed-loop system. In as = col X, , V, , , X := X R2 . The system
other words, we want the set = h1 (0) to be attractive for model can be represented in the control-affine form,
the closed-loop system. Attractivity alone, however, is not
desirable in path following applications because any slight = f () + g () u, y = h(),
perturbation of the quadrotor off of may result in system
with the definitions of f, g derived from equations (1),
behaviour where the quadrotor initially diverges significantly
(2), and (4). Letting : X X be the projection
from the path before converging back to it. Rather, we would
(X, , V, , , ) 7 (X, , V, ), the new output function
like to be asymptotically stable. This, however, is not
h : X R4 is simply given by
possible since is not controlled invariant, i.e., it cannot be
made invariant by any choice of feedback. To illustrate, if h() = h (), (5)
the system is initialized on but the velocity vector V (0) is
with h given in (3).
not tangent to C, the quadrotor will leave C, and hence , no
To solve PFP for the augmented system, we want to stabi-
matter what feedback we choose. In light of this observation,
lize the maximal controlled invariant subset of = h1 (0).
we will stabilize the maximal controlled invariant subset of
The following lemma outlines the conditions under which
which we call the path following manifold introduced
the vector relative degree is well-defined for the augmented
in [10]. The path following manifold is simply the zero
dynamics manifold of system (1), (2) with output (3), and it
Lemma 4.1: The augmented quadrotor system given by
will be characterized in the next section.
equations (1), (2) and (4) with output (5) has a well-defined
IV. S OLUTION OF PFP vector relative degree {r1 , r2 , r3 , r4 } := {4, 4, 3, 2} at a point
= (X, (, , ), V, , , ) if and only if 6= 0 and 6=
The simplest way to stabilize the zero dynamics of a non- 2 .
linear control system is to use, when feasible, input-output Proof: The determinant of the decoupling matrix D of
feedback linearization [11]. In the context of PFP, in order to the augmented system is given by
apply this technique we need to find conditions under which
d3 2 ( h4 ) c
the output h() in (3) yields a well-defined vector relative det(D) = (X h1 X h2 ) V h3 .
degree. We begin by finding conditions under which a vector m3 I x I y I z c
relative degree is well-defined. Then, we design a controller It follows from the definitions of h1 , h2 , h3 that X h1 , X h2
based on input-output feedback linearization, and we prove and V h3 form a linearly independent set. This is because
that it solves PFP. X h1 and X h2 are linearly independent, kV h3 k = 1 6= 0,
and V h3 = (X h1 X h2 ) / kX h1 X h2 k is perpen- from which we have that || m (g K1 (K1 C + K2 )),
dicular to X h1 and X h2 . It follows from the definition of and thus for all K1 (K1 C + K2 ) < g, || > 0, implying
h4 that h4 = 1 6= 0. Therefore det(D) 6= 0 if and only if that property (i) above is satisfied. We also have that ||
6= 0 and 6= 2 . m (g + K1 (K1 C + K2 )). In other words, is bounded from
It follows that the system has well-defined vector relative above on . Using the fact that |w| = |g /m(c c )|
degree at any point where the conditions 6= 0 and 6= kV k K1 (K1 C + K2 ), we have
2 are satisfied because the decoupling matrix D has full g K1 (K1 C + K2 ) g K1 (K1 C + K2 )
rank and Lgj Lkfhi = 0 for i, j {1, . . . , 4}, k {0, . . . , ri |c c | = .

max m g + K1 (K1 C + K2 )
Note also that, in addition to the conditions of the lemma It thus follows that if K1 (K1 C + K2 ) < g, |c c | > 0, and
above, we must impose 6= 2 as this presents a singularity thus and are bounded away from 2 on , implying
in the model inherited by the singularity in the Euler angle
representation. Consider the set given by p property (ii) above holds. In conclusion, setting K =
g/(1 + C), for all K (0, K ) the augmented quadrotor
= { : Ljfhi = 0, j = 0, . . . , ri 1, i = 1, . . . , 4}, (6) system has a well-defined vector relative degree on .
Proposition 4.2 states that if the velocity specification is
where {r1 , r2 , r3 , r4 } := {4, 4, 3, 2}. If the augmented chosen so that the desired tangential velocity (X) and
quadrotor system has a well-defined vector relative degree dX (X) have a sufficiently small upper bound K, then
{4, 4, 3, 2} at each point , then it follows that the augmented quadrotor system has a well-defined vector
is the maximal controlled invariant subset of , which is relative degree on , and therefore this set is the path
precisely the set we wish to stabilize. In light of Lemma 4.1, following manifold we wish to stabilize to solve PFP. The
in order to have a well-defined vector relative degree on path following manifold is one-dimensional since n (r1 +
we need to determine whether, on , 6= 0, 6= /2, r2 + r3 + r4 ) = 14 (4 + 4 + 3 + 2) = 1 where n = 14 is
and 6= /2. This is the subject of the next proposition. the number of states for the augmented system.
Proposition 4.2: For the augmented quadrotor system Remark 4.3: Recall the function V = (X)(X) in (7)
given by equations (1), (2), and (4), with output (5), there which expresses the velocity of the quadrotor in terms of
exists K > 0 such that for all K (0, K ), if the velocity its displacement X when , and its time derivative
specification is chosen so that max XC |(X)| K and V = dX 2 + dX (). If one computes K1 (K1 C +
max XC kdX (X)k K the system has a well-defined K2 ) := maxXC kV k, then the proof of Proposition 4.2
vector relative degree {r1 , r2 , r3 , r4 } = {4, 4, 3, 2} on . provides the upper bounds K1 and K2 satisfying K1 (K1 C +
Proof: Let K1 = maxXC |(X)| and K2 = K2 ) < g. Since C is a closed curve, the computation of
maxXC kdX (X)k. The constants K1 and K2 exist and C, and hence of K1 and K2 , can be easily carried out
are finite because is smooth and C is compact. From numerically.
Lemma 4.1, the system has well-defined vector relative
degree and no Euler angle singularities are encountered on B. Controller Design
if and only if, From now on we will assume that the velocity speci-
(i) is bounded away from 0 on . fication has been chosen so that maxXC |(X)| < K
(ii) , are bounded away from 2 on . and maxXC kdX (X)k < K . The design of an input-
By definition, on we have h1 () = h2 () = 0 output feedback
h linearization controller
iT is standard. Let
r1 r4
and Lfh1 () = Lfh2 () = 0 or, recalling that = b() := Lf h1 () . . . Lf h4 () and define the feed-
(X, , V, , , ), h1 (X) = h2 (X) = 0 and X h1 (X) V = back transformation
X h2 (X)V = 0. The latter two identities imply that, on ,
u = D1 () (b() + v) , (8)
V is orthogonal to the vectors X h1 (X) and X h2 (X). We
also have h3 () = 0, or (X h1 X h2 )/ kX h1 X h2 k where v = col (v1 , . . . , v4 ) is the new control input,
V = (X). Since V is orthogonal to both X h1 and X h2 , and where D() is the decoupling matrix with entries
the above identity implies that on , Dij = Lgj Lrfi 1 hi , i, j {1, . . . , 4}. Let i =
h iT
X h1 X h2 hi () . . . Lrfi 1 hi () , i = 1, . . . , 4, and choose vi
V = (X)(X), (X) := . (7)
kX h1 X h2 k as
In particular, V = + = dX 2 + dX ()
 vi = kri 1 ri i k0 1i , i = 1, . . . , 4 (9)
where kk 1 and therefore, kV k kdX kK12 + K1 K2 . such that sr + kri 1 sri 1 + + k0 has roots in the open
Since dX is continuous and X C, a compact set, it left-half plane. The resulting control system is illustrated in
follows that, on , kV k K1 (K1 C+K2 ), for some C > 0. Figure 2. Now the problem is whether the controller just
On we have designed indeed stabilizes the path following manifold .
In view of the fact that
0 m (c c s + s s )
0 + 1 (c s s + c s ) K1 (K1 C+K2 )
kV k = m i 0 Iri 1 i 0ri 11
= + vi , (10)
1 (c c )

g 01ri1 0 1
linearly independent from h1 and h2 or, what is the
same, if {X h1 , X h2 , X } is a linearly independent set,
where X = (). That this is indeed the case on
follows from the fact that is the displacement along C and
Fig. 2: Control system block diagram. hence, X is tangent to C and perpendicular to X h1 and
X h2 . To show (ii) consider the restriction of to , | =
col(0, . . . , 0, | ). The map | is smooth and surjective
The input-output linearizing feedback guarantees that solu- because it is the composition of four smooth surjective maps,
tions of the closed-loop system originating in a neighbour- : X X , : X R3 , p : R3 C, and : C
hood of are such that i ((t)) 0, i = 1, . . . , 4, S 1 . Therefore | is also smooth and surjective. Since :
provided that there are no finite escape times. Besides having C S 1 is a diffeomorphism, proving injectivity of | is
to show that the closed-loop system has no finite escape equivalent to proving injectivity of (p )| : C.
times in a neighbourhood of , there is another issue that Thus, we must show that given a point X C, we can
requires some analysis. Although = { : i () = 0, i = construct uniquely such that p () = X. Since
1, . . . , 4}, the fact that i ((t)) 0, i = 1, . . . , 4, does not on we have hi () = 0, i = 1, . . . , 4, given a point X C
imply, in general, that (t) . To illustrate, consider the we know that V = (X)(X), where was  defined in (7),
function () = /(1 + 2 ), and suppose that (t) = t. and = (X). Moreover, V = dX 2 + dX ().
Then, () 0 but (t) does not tend to { : () = 0}. From the identity
In order to address the two issues described above we
define a diffeomorphism valid in a neighbourhood of u /m(c c s + s s )
which maps the system into a standard normal form. In order V = v = /m(c s s s c ) ,
to do that, we need some preliminary definitions. w g /m(c c )
Let L denote the length of the curve C, and denote by S 1  
the set of real numbers modulo L (this set is diffeomorphic letting a(X) = m V col(0, 0, g) , we can ex-
to the unit circle). Fix a point o on C, and define the map press , , as smooth functions of X with =
: C S 1 as X 7 , where is the arc length of the ka(X)k, = sin1 (s a1 (X) c a2 (X)) and =
portion of C from o to X found moving in the counter- sin1 (c a1 (X) + s a2 (X)/c ) where > 0, 2 ,

clockwise direction. Since C is a Jordan curve, the function 2 hold from Proposition 4.2. Hence, , , are specified
is a diffeomorphism C S 1 . Let p(X) be the function through smooth functions of X. Also, = dX V =
mapping a point X R3 to the closest point on C. Note dX (X)(X). Finally, we observe the relationship between
that p|C is the identity map. On some neighbourhood U of C and given by,
the function p : U C is well-defined and smooth. Finally,
0 s se c se

recall the definition of and = 0 c s = Y


X R3 1 s t c t

and define a function () as () := p (). By and hence, = Y 1 = Y 1 dX (X)(X). This is a

construction, is a smooth function in a neighbourhood of smooth function of X because Y 1 , , and are smooth
{h1 () = h2 () = 0}, and hence in a neighbourhood of . functions of X, proving that | is injective and its inverse
Now define the coordinate transformation is smooth.
iT iT The important feature of Lemma 4.4 is the fact that the map
.. ..
h h
. = ( ) := 1 4
() . . . () . () (11) is proved to be a diffeomorphism in a neighbourhood of
the entire set , rather than just in a neighbourhood of a
Lemma 4.4: Under the conditions of Proposition 4.2, the
point. We now present the main result of this paper.
function () : X R13 S 1 is a diffeomorphism of a
Theorem 4.5: For the augmented quadrotor system given
neighbourhood of onto its image, and is diffeomorphic
by equations (1), (2), and (4), with output (5), and with
to S 1 .
the feedback (8)-(9) there exists K > 0 such that for all
Proof: According to the generalized inverse function
K (0, K ), if the velocity specification is chosen so that
theorem in [12], we must show that,
max XC |(X)| K and max XC kdX (X)k K the
(i) for all , d is an isomorphism path following manifold in (6) is exponentially stable
(ii) | : S 1 is a diffeomorphism. for the closed loop system, and hence PFP is solved in a
For each , d has determinant, neighbourhood of .
4 ( h4 )2 c2   3 Proof: By Proposition 4.2, the feedback (8)-(9) is
det(d ) = 6
h1 h2 h3 well-defined in a neighbourhood of . By Lemma 4.4 the
m c    function () : X R13 S 1 is a diffeomorphism of a
h1 h2 .
neighbourhood of onto its image, and is diffeomorphic
Under the conditions of proposition 4.2, 6= 0 and , 6= to S 1 , and hence compact. In (, ) coordinates, the set
2 on . Therefore, det(d ) 6= 0 if and only if is is given by ( ) = {(, ) : = 0}. The subsystem

speed (m/s)
speed (m/s)
22 4 22
21 21


20 20
10 10 10
0 10 0 0 0
0 0
y 10 10 x 0 20 40 60 y10 10 x 0 5 10 15
time (s) pitch time (s)

angle (degrees)
300 50
angle (degrees)

100 pitch 22 roll

Thrust (zeta)
Thrust (zeta)
roll 200 yaw
50 yaw 100
18 100 0
0 20 40 60 0 20 40 60 0 5 10 15 0 5 10 15
time (s) time (s) time (s) time (s)

Fig. 3: Case 1: simulation results for = 3. Fig. 4: Case 2: simulation results for = 15.

in (10) is LTI and the feedback (8)-(9) makes it exponentially VI. C ONCLUSIONS
stable. Thus, for all (0) near or, what is the same, for We have presented a basic path following controller which
all (0) near 0, (t) 0 exponentially as long as there relies on input dynamic extension and feedback lineariza-
are no finite escape times. There cannot be finite escape tion to solve the path following problem for a quadrotor
times because (t) is bounded and (t) S 1 , a compact helicopter. Our controller allows the designer to specify a
set. Hence, ( ) is exponentially stable, which implies that speed profile on the path and the yaw angle of the quadrotor
is exponentially stable as well. as a function of its displacement along the path. In future
V. S IMULATION R ESULTS research we will investigate the solution of the same problem
without employing input dynamic extension, and we will
In this section, simulation results are presented for the address issues of robustness against unmodelled effects such
quadrotor specified to travel at a constant speed along a as aerodynamic drag forces and parametric uncertainties.
circular path of radius r parallel to the x y plane, at
a height of z = 20m and yaw angle of 0 . That is, the R EFERENCES
specifications p are given by h1p= x2 + y 2 r2 , h2 = z 20, [1] G. V. Raffo, M. Ortega, and F. Rubio, An integral predici-
2 2
h3 = uy/ (x + y ) vx/ (x2 + y 2 ) and h4 = . tive/nonlinear H control structure for a quadrotor helicopter, Au-
tomatica, vol. 46, pp. 2939, 2010.
The initial conditions are taken as = mg, = 0, (x, y, z) = [2] A. Das, F. Lewis, and K. Subbarao, Backstepping approach for
(0, 10, 20)m, (u, v, w) = (1, 0, 0)m/s and (, , ) = controlling a quadrotor using lagrange form dynamics, Journal of
( 8 , 8 , 2 )rad. The parameters are chosen as in [4] to be m = Intelligent Robot Systems, vol. 56, pp. 127151, 2009.
[3] P. Castillo, R. Lozano, and A. Dzul, Stabilization of a mini rotorcraft
2Kg, Ix , Iy , Iz = 1.2416N m/rad/s2 , d = 0.1m and g = with four rotors, IEEE Control Systems Magazine, pp. 4555, 2005.
9.81m/s2 . On , theprelationship V = (X)(X) in (7) [4] A. Mokhtari, A. Benallegue, and Y. Orlov, Exact linearization and
is given by V = / x2 + y 2 y x 0 . Therefore sliding mode observer for a quadrotor unmanned arial vehicle,
T International Journal of Robotics and Automation, vol. 21, no. 1, pp.
V = 2 /(x2 + y 2 ) x y 0

and maxC kV k = 3949, 2006.
2 /r, which corresponds to the centripetal acceleration of [5] N. Michael, D. Mellinger, Q. Lindsey, and V. Kumar, The grasp mul-
tiple micro-UAV testbed, IEEE Robotics and Automation Magazine,
the quadrotor moving around a circle at constant speed ||. vol. 17, pp. 5665, 2010.
Following Remark 4.3, we must choose so that 2 /r < g, [6] G. Hoffmann, H. Huang, S. Waslander, and C. Tomlin, Precision

or || < rg. Taking r = 10m, we must pick || < 9.9. flight control for a multi-vehicle quadrotor helicopter testbed, Control
Engineering Practice, vol. 19, pp. 10231036, 2011.
Two simulation cases are considered where the quadrotor [7] A. Tayebi and S. McGilvray, Attitude stabilization of a VTOL
travels around the path with a constant speed of = 3m/s quadrotor aircraft, IEEE Transactions on Control Systems Technology,
and = 15m/s respectively. Therefore, the first case meets vol. 14, no. 3, pp. 562566, 2006.
[8] D. Mellinger, N. Michael, and V. Kumar, Trajectory generation and
the conditions above but the second does not. control for precise aggressive maneuvers with quadrotors, in Pro-
Figures 3 and 4 show simulation results for case 1 and ceedings of the International Symposium on Experimental Robotics,
case 2 respectively. In both cases, the quadrotor successfully 2010.
[9] S. Lupashin, A. Schollig, M. Sherback, and R. DAndrea, A simple
converges to the path C. Also, the velocity and yaw angle learning strategy for high-speed quadrocopter multi-flips, in Proceed-
converge to the desired values. One difference between the ings of the 2010 IEEE International Conference on Robotics and
two cases are the roll and pitch angles. In the first case, Automation, May 3-8 2010, pp. 16421648.
[10] C. Nielsen, Set stabilization using transverse feedback linearization,
the two angles have a maximum magnitude of 5.25 while Ph.D. dissertation, University of Toronto, 2009.
for the second, the maximum magnitude is 66.45 . Another [11] A. Isidori, Nonlinear Control Systems, 3rd ed. Springer Verlag, 1995.
difference is an increased thrust input for the second case. In [12] V. Guillemin and A. Pollack, Differential topology. New Jersey:
Prentice Hall, 1974.
neither case does the quadrotor hit a point where , = /2
or = 0 and therefore, the controller is well-defined for the
specific initial conditions we have considered. Note, however,
that in case 2 there is no guarantee that for any initial
condition near the solution does not cause singularities
in the controller.