You are on page 1of 15

Received February 13, 2013, accepted April 16, 2013, published May 10, 2013.

Digital Object Identifier 10.1109/ACCESS.2013.2260794

Robust Optimal Control of Quadrotor UAVs


AYKUT C. SATICI1 , HASAN POONAWALA1 , AND MARK W. SPONG1,2
1 University of Texas at Dallas, Richardson, TX 75080, USA
2 Erik Jonsson School of Engineering and Computer Science, University of Texas at Dallas, Richardson, TX 75080, USA
Corresponding author: A. C. Satici (acsatici@utdallas.edu)
This work was supported in part by the National Science Foundation under Grants ECCS 07-25433 and CMMI-0856368, the University of
Texas STARs Program, and DGIST R&D Program of the Ministry of Education, Science and Technology of Korea under Grant
12-BD-0101.

ABSTRACT This paper provides the design and implementation of an L1 -optimal control of a quadrotor
unmanned aerial vehicle (UAV). The quadrotor UAV is an underactuated rigid body with four propellers
that generate forces along the rotor axes. These four forces are used to achieve asymptotic tracking of four
outputs, namely the position of the center of mass of the UAV and the heading. With perfect knowledge
of plant parameters and no measurement noise, the magnitudes of the errors are shown to exponentially
converge to zero. In the case of parametric uncertainty and measurement noise, the controller yields an
exponential decrease of the magnitude of the errors in an L1 -optimal sense. In other words, the controller is
designed so that it minimizes the L∞ -gain of the plant with respect to disturbances. The performance of the
controller is evaluated in experiments and compared with that of a related robust nonlinear controller in the
literature. The experimental data shows that the proposed controller rejects persistent disturbances, which is
quantified by a very small magnitude of the mean error.

INDEX TERMS Robust control, optimal control, quadrotor, feedback linearization, unmanned aerial vehicle.

I. INTRODUCTION being controlled. Good control performance requires a high


Quadrotors have become increasingly popular in recent years sampling rate at which the desired control can be computed.
due to their ability to hover and maneuver in tight spaces. A desire to maximize quadrotor payloads and performance
Stabilizing the quadrotor in its configuration space SE(3) is results in a constraint on computational power available for
an interesting and challenging control problem. The challenge autonomous control. It is highly advantageous therefore to
arises due to the availability of four control inputs to stabi- consider nonlinear feedback based upon simplified models
lize the system that lives in a six dimensional configuration and to quantify the performance of such controllers.
space and possesses coupled, nonlinear and unstable open- In this paper the partial feedback linearization method
loop dynamics. is applied to the nominal model. A linear compensator for
The goal of most quadrotor control schemes is either to the resulting partial linear model is then designed using the
stabilize the center of mass (CoM) at a desired location or method of stable factorizations. The advantages of this control
for the CoM to track a desired trajectory. Practical imple- scheme can be summarized as follows.
mentation of these nonlinear control schemes for robotic • Any linear compensator that stabilizes a linear model
systems requires one to take into consideration the issues of can be specified using the method of stable factoriza-
robustness to parameter uncertainty, external disturbances, tion. As a consequence, one is able to conclude whether
and sensor noise. It is well-known that the equations of a compensator designed based on the linear model is
motion of a quadrotor can be partially linearized [1] and able to stabilize the ‘‘true’’ nonlinear system as well,
decoupled by appropriate nonlinear feedback. known as the provided the deviation between the modeled and the
method of partial feedback linearization. It is very useful actual plant satisfies certain bounds.
from a control viewpoint, since a part of the complex highly • If the deviation of the model from the plant does not
coupled nonlinear dynamics of the quadrotor are replaced by exceed the maximum allowable, it is possible to achieve
a simple set of second-order linear differential equations. The corresponding reductions in the effects on the closed-
partial feedback linearization results in a controller that has loop performance of the parameter uncertainty, mea-
the same order of complexity as the model of the system surement noise, available computational power, etc.

VOLUME 1, 2013 2169-3536/$31.00


2013 IEEE 79
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs

The simplest control method involves linearization of the The method in [21] elegantly determines the optimal lin-
quadrotor dynamics around the hover state and then using ear controller that stabilizes a given plant while rejecting
various linear control methods to stabilize the system, such persistent disturbances. The method relies on the stable fac-
as standard SISO tools in [2], or PID and LQR methods torization approach [22] which is applicable only to linear
in [3]. In [4] the authors use a sliding mode control method plants. This precludes the methods used in [8] to stabilize the
to stabilize the linearized dynamics. The work includes a rate quadrotor since the plant remains nonlinear. The key contri-
limited PID for control of the height. Controllers designed bution of this work is the parametrization of the orientation
using such linear methods may be used to track slow motions. and subsequent partial feedback linearization of the dynamics
However, nonlinear control methods are needed to achieve which paves the way for applying the L1 optimal robust linear
higher performance and to execute more aggressive motions. compensator design for nonlinear robotic systems similar
The quadrotor dynamics has a cascade structure. The four to [20]. Furthermore, we have implemented this controller on
motor inputs are mapped to three independent torques acting a quadrotor in LARS1 at the University of Texas at Dallas,
on the quadrotor frame and one thrust force. The torque and we have compared the performance of our controller with
inputs directly control the orientation dynamics. The orien- that in [15]. The design of the robust controller in [15] is not
tation then affects the thrust vector direction which drives the best suited for rejecting persistent disturbances, whereas our
translation dynamics. This cascade structure can be elegantly controller is. The results show that our controller can handle
exploited by using backstepping control techniques [5], [6] or the effect of modeling errors such as blade misalignment and
inner-loop/outer-loop approaches [2], [3], [7]. The work in [5] shifted center of mass location better than that in [15].
modifies the backstepping approach by using sliding mode
control for one of the cascaded variables, which introduces II. KINEMATICS AND DYNAMICS OF THE QUADROTOR
some robustness to disturbances. In the following few paragraphs, we derive the kinematic and
While the position of the CoM is almost always expressed dynamic differential equations of motion of the quadrotor,
in cartesian coordinates, selection of a representation for the culminating in equations (5). The reader who is familiar with
orientation is an important step. All the papers mentioned so the development may skip to these equations immediately
far use an Euler-angle parametrization, which suffers from without losing any generality. The quadrotor is a simple
singularities. To address this, the work in [8] represents mechanical system with configuration space Q = SE(3) =
the orientation using the rotation matrix itself. This leads R3 n SO(3), the semidirect product of the three-dimensional
to an orientation tracking controller that is almost globally Euclidean space and the special orthogonal group. The first
attractive. The desired orientation and thrust magnitude are factor in the semidirect product represents the position of
designed such that the translation dynamics are linear. The the center of mass of the quadrotor in the world frame. We
paper gives a good summary of the various representations. select the center of mass as the origin of the body-fixed frame
The same method was implemented in the work of [9] in order 6 : {o, x, y, z} and denote the vector from the origin of the
to achieve aggressive motions of a quadrotor. inertial frame 60 : {o0 , x0 , y0 , z0 } to o by p ∈ R3 . Ideally,
Feedback linearization [10] is often employed in order to the vectors {x, y} span the plane parallel to the rotor axes and
facilitate the use of linear control methods over a large region z is orthogonal to this plane. We denote by R ∈ SO(3), the
of the state space. The choice for the outputs or states to orientation of the quadrotor body-fixed frame with respect to
linearize may differ. In [11] the position and heading are taken the world frame. The relevant axes and forces are illustrated
as the outputs to be linearized whereas in [12] the height and on the Quanser Qball [23] in Figure 1. These four forces,
three Euler angles are linearized. The control inputs to the generated by four rotors and propellers, induce a total thrust f ,
linearized dynamics are selected as PD control. and a net torque τ = {τx , τy , τz } around the three body axes
Most nonlinear control methods are highly dependent {x, y, z}. In addition to these definitions, we will denote the
on the exact knowledge of the system parameters in linear and angular velocities of the quadrotor by the pair
order to achieve asymptotic tracking. Various researchers (v, ) ∈ R3 n so(3). Under the vector space isomorphism
have attempted to address this issue using robust control so(3) ' R3 , the skew-symmetric matrix  will be identified
[13]–[15] or adaptive control [16] and even a combination of with the 3-vector ω. Finally, we denote the (identical) distance
the two [17]. The performance recovery generally trades off from the center of mass of the quadrotor to the rotor axes by
asymptotic stability with uniform ultimate boundedness. L, the total mass by m, and the inertia tensor represented in
The control method proposed in this paper also uses the the body-fixed frame by J = diag(Jp , Jr , Jy ).
idea of controlling the thrust direction to achieve position Since the configuration space of the quadrotor is
control. However, the control of orientation is prone to per- Q = SE(3), it can be modeled as an underactuated rigid body.
sistent disturbances stemming from uncertain inertial param- The velocity of the quadrotor is an element of the tangent
eters, misalignment of blade axes, discrepancy between the space T(p,R) R3 n SO(3). As a Lie group, the tangent space
measured quadrotor frame and the actual frame. The rejection of R3 n SO(3) can be identified with the tangent space at the
of such persistent disturbances is the primary motivation for identity by the left or right translation to the identity. Since the
our control design. Methods addressing this issue were first
developed in [18]–[21]. 1 (L)aboratory for (A)utonomous (R)obotics and (S)ystems

80 VOLUME 1, 2013
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs

where e3 is the third standard unit vector in the Cartesian


coordinate system and g is the constant gravitational accel-
eration. We have already mentioned that the total thrust is
the sum of the individual forces of the propellers. Since
the front, back and left, right propellers rotate in opposite
directions, they generate a net torque around the z axis. While
the moment arm L and the difference between the forces
f1 and f3 generate a net torque around the y-axis, the difference
between the forces f2 and f4 generate a net torque around the
x-axis. This is summarized with the matrix equation given
below
    
f 1 1 1 1 f1
τx   0 −L 0 L  f2 
τy   L 0 −L 0  f3 . (6)
 =  

τz Kτ Kτ −Kτ −Kτ f4
FIGURE 1. Quanser Qball model.

rotational equations of motion are easier when expressed


in the body-fixed frame, we choose to left translate to the III. CONTROL DESIGN
identity, which yields the body-fixed angular velocity We parametrize the 12-dimensional state space of the quadro-
tor by selecting six position variables and their time deriva-
 = RT Ṙ (1)
tives. The first three position variables (x, y, z) specify the
Since the tangent space of R3 is again R3 , the kinematics of center of mass, p, of the  quadrotor, while the remaining 
the translational motion is simply v = ṗ. three position variables rr3313 r23
, r33 , arctan2 (−r12 , r22 ) spec-
The unforced translational dynamics of the quadrotor is the ify the orientation of the quadrotor with respect to the
same as the dynamics of a particle (center of mass) under inertial frame. The numbers rij are the elements of the
the action
P4 of the gravitational potential field. The total thrust rotation matrix R ∈ SO(3). The parametrization of the ori-
f = i=1 fi acts on the acceleration of this particle in the entation is local and restricted to the connected open subset
direction of the z-axis. U = {R ∈ SO(3) : r33 > 0} of SO(3). The first two orien-
The unforced rotational dynamics of the quadrotor are tation variables are proportional to the x and y components
given by the Lie-Poisson equations of motion of so(3)∗ rel- of the thrust vector in the world frame determining the linear
ative to the rigid body bracket. Following [24], we define the horizontal acceleration of the quadrotor in this frame. The last
angular momentum in the body frame 5 := J  whence the orientation variable corresponds to the heading of the body
kinetic energy function on so(3)∗ becomes x-axis in the world frame, which can also be interpreted
1 T −1 as the yaw angle in a Body312 Euler angle representa-
K (5) = 5 J 5 (2) tion of the orientation. Unlike the traditional Euler-angle
2
Define another set of functions Fi (5) := 5i , i = {1, 2, 3}. Set parametrization, the orientation variables in our parametriza-
F to be the vector-valued function with components Fi and tion above enter linearly in the translation dynamics, as
apply the Lie-Poisson equations, shown below, which facilitates the corresponding controller
development.
Ḟ = {F, K } (3a) In this parametrization of the state space, a point is
5̇ = −5 · (∇F(5) × ∇K (5)) (3b) specified by the vectors
= 5 × J −1 5 (3c)
η = (η1 , . . . , η6 )T = (x, y, z, ẋ, ẏ, ż)T
Expressing these equations in body angular velocities and
including the body torques applied by the rotors, ξ = (ξ1 , . . . , ξ6 )T

J ω̇ = J ω × ω + τ (4) where
In summary, we have the following equations of motion for r13 r13
ξ1 = , ξ2 =
the quadrotor describing the states at each instant in time. r33 r33
ṗ = v (5a) ṙ13 r33 − r13 ṙ33
ξ3 = arctan2 (−r12 , r22 ), ξ4 = 2
mv̇ = (−mg + f R)e3 (5b) r33
Ṙ = R (5c) ṙ23 r33 − r23 ṙ33 ṙ22 r12 − r22 ṙ12
ξ5 = , ξ6 =
J ω̇ = J ω × ω + τ (5d) 2
r33 2 + r2
r12 22

VOLUME 1, 2013 81
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs

whose dynamics can be obtained from the global set of the dynamics (7) become
equations (5d) as
η̇ = fη (η) + g(η)ξ + dη (11a)
η4
   
0 ξ̇ = fξ (ξ ) + v + dζ (11b)
 η5   0 
 η6   0  where
   
η̇ =   +   r33 f + dη (7a)
 0  ξ1 
 T
fη (η) = η4 η5 η6 0 0 uz (η)

(12a)
  
 0  ξ2   
0 0 0000
−mg 1  0 0 0 0 0 0
ξ4
   
 0 0 0 0 0 0
 ξ5  g(η) = h(η) 0 0 0 0 0
 (12b)
ξ6
   
ξ̇ =   0 h(η) 0 0 0 0
 
a1x (R)τx + b1x (R)τy + σ1  + dζ
 (7b)
0 0 0000
a2x (R)τx + b2y (R)τy + σ2 
 
T
fξ (ξ ) = ξ4 ξ5 ξ6 0 0 0

a3x (R)τx + b3z (R)τz + σ3 (12c)
 T
where a(·) , b(·) and σ(·) are given in Appendix A. We have v = 0 0 0 vx vy vz (12d)
introduced the terms dη and dζ as additional persistent dis- We observe that the selected thrust (9) asymptotically sta-
turbances on the system that may arise, for example, from bilizes the height, z, of the quadrotor. In the remainder of this
misalignment of the quadrotor blades, as shown below in section, we are going to choose v in an L1 -optimal fashion so
Section IV. that the orientation is stabilized to its desired trajectory, which
The control goal is to asymptotically stabilize the center will, in turn, be constructed to asymptotically stabilize (x, y)
of mass position and the heading of the quadrotor. In other and ξ3 .
words, if (η1d , η2d , η3d , ξ3d ) denote the desired values for
(η1 , η2 , η3 , ξ3 ), we would like to have a real number T > 0 A. BACKSTEPPING CONTROL
such that given any  > 0 Consider the resulting system dynamics, given by (11). Con-
k η1 , η2 , η3 , ξ3 , η̇1 , η̇2 , η̇3 , ξ̇3
 centrating on the first component (11a) of this system of
differential equations, we notice that by setting ξ = φ(η) with
− η1d , η2d , η3d , ξ3d , η̇1d , η̇2d , η̇3d , ξ̇3d k <  (8)

φ chosen appropriately, we can asymptotically stabilize η to
for all t > T . a desired value. With this observation in mind, let
The four available control inputs can be viewed as the  u
φ(η) = uhx hy ξ3d 0 0 ξ̇3d

(13)
thrust along body z-axis and a torque about each body axis.
We use feedback linearization to facilitate later design of where ux and uy are going to be selected as the output of an
controllers based on L1 -optimal control. This is the one of the L1 -optimal stabilizing linear controller. Consider the change
main reasons the parametrization mentioned at the beginning of variables
of this section is selected. The L1 -optimal controller that is ζ = ξ − φ(η) (14)
going to be designed assumes that the nominal dynamics
can be reduced to a double integrator; however, the global We substitute this relation into (11) and consider the auxiliary
representation of the orientation kinematics (1) cannot be put control v as functions of ζ to obtain
in this form. η̇ = Aη + Bu(η) + g(η)ζ + dη (15a)
To begin the feedback linearization procedure, we choose
the thrust f as ζ̇ = Aζ + Bv(ζ ) − g2 (η, η̇) + dζ (15b)

1 The various other terms are given by


f = h(η3 , η6 ) (9a)    
r33 0I 0
h(η3 , η6 ) := mg + uz (η3 , η6 ) (9b) A= , B= (16a)
00 I
h iT
where uz is an auxiliary controller to be designed in the sequel. g2 (η, η̇) = u̇x h−2ḣux u̇y h−2ḣuy 0 0 0 0 (16b)
h h
The torques τ(·) are chosen as the solution to the equations
The dynamics in (15b) and (15b) consists of the following
τx σ1
      
a1x (R) b1y (R) 0 vx nominal linear system, perturbed by the terms g(η)ζ and g2
a2x (R) b2y (R) 0  τy  + σ2  = vy  (10) respectively.
a3x (R) 0 b3z (R) τz σ3 vz
η̇ = Aη + Bu(η) (17a)
Note that a unique solution exists as long as r33 6 = 0. The
ζ̇ = Aζ + Bv(ζ ) (17b)
right-hand side of these equations are auxiliary control vari-
ables to be designed as L1 -optimal controllers that asymptoti- Proposition III.1. Assume that the auxiliary controllers
cally stabilize ξ -dynamics. As a result of these manipulations, ux , uy , uz and vx , vy , vz in Equation 17b are designed so that

82 VOLUME 1, 2013
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs

the origin of (17b) is exponentially stable. Then, when the routine to determine the various other matrices in (18) and
disturbance terms dη and dζ are zero, the origin of the full (19) using the techniques of [25]. This gives
system 15b is exponentially stable. 1 I
 
Proof: It suffices to show that the perturbation terms in (15) G(s) = 2 (21a)
s sI
are locally Lipschitz and vanish at the origin (η, ζ ) ≡ (0, 0).  
1 I
This is trivially true for the term g(η)ζ as g(η) is bounded and N (s) = Ñ (s) = (21b)
is continuously differentiable. On the other hand, the second (s + 1)2 sI
term g2 (η, η̇), is comprised of the time derivative of uhx and s2
uy D(s) = ·I (21c)
h . Notice that all of these functions are at least continuously (s + 1)2
differentiable functions of (η, η̇) and therefore, are locally
 2 
1 (s + 2s)I −2I
Lipschitz. Moreover, since ux , uy are linear functions and h is D̃(s) = (21d)
u (s + 1)2 −sI (s2 + 1)I
an affine function of η, the functions uhx and hy are identically 1  
zero whenever η is identically zero. This, in particular, implies X (s) = X̃ (s) = 1 + 2s 2 + 4s I (21e)
(s + 1)2
that under these circumstances, the time derivative of these
functions are also identically zero. s2 + 4s + 2
Y (s) = ·I (21f)
From this analysis, we can conclude by [10, p. 341, (s + 1)2
 2 
Lemma 9.1] that the origin of the perturbed system (15) is 1 (s + 2s + 2)I 2I
Ỹ (s) = (21g)
exponentially stable. (s + 1)2 sI (s2 + 4s + 1)I
Remark 1. In purely model inversion techniques, in order It is shown in [20] how to choose the ‘‘free’’ parameter R in
to feedback linearize equation (15) one would require knowl- (20) such that the system error rejects ‘‘uncertainties’’ due to
edge of g2 . However, the computation of g2 is not feasible system modeling. Thus, the only error that may remain will
since it requires acceleration level measurements, which are be due to the measurement noise. The procedure involves pro-
known to be extremely noisy. In contrast, proposition III-A ducing a sequence {Rk } and examining the resulting controller
means that to achieve exponential stability we do not need to  −1  
use this malevolent signal in our control law. Ck = − Y − Rk Ñ X + Rk D̃ (22)

B. L1 OPTIMAL CONTROL and the error dynamics


In this section, we present our main result, which is the design e = P1k ζ + P2k w (23)
of the control inputs u(η) and v(ζ ) for the system (15) using
the L1 -optimal control design procedure from [20] and [21]. where ζ stands for all the persistent disturbances exerted on
We first use the stable factorization approach, given an the system (15), w denotes the measurement error, and the
exposition in [22], that allows one to parametrize the set of transfer matrices P1k and P2k are given by
all controllers that stabilize a given (linear) system as well as P1k = N (Y − Rk Ñ ) (24a)
the set of all stable transfer matrices that are achievable. P2k = I − D(Y − Rk Ñ ) (24b)
The first step of the approach is to factor the plant transfer
matrix G into a ‘‘ratio’’ of the form The sequence {Rk } in the linear compensator expression (22)
h i−1 can be chosen such that as k → ∞, kP1k k → 0 and
G(s) = N (s) [D(s)]−1 = D̃(s) Ñ (s) (18) kP2k k → 1, with the  norm denoting the L∞ -gain of
the system Pi . As kP1k k → 0, the rejection of persistent
where N , D, Ñ , D̃ are stable rational matrices, i.e., every disturbances gets better and better. Since minimizing the
element of each matrix is proper and has all of its poles in L∞ -gain of the operator Pi minimizes the L1 -gain of the input
the open left half-plane. Next, one solves the so-called Bezout signal, this procedure amounts to designing an L1 -optimal
identities: controller for the quadrotor. This implies that in the absence
of measurement noise, the mean value of the error over time
  
Y (s) X (s) D(s) −X̃ (s)
=I (19) will be minimized.
−Ñ (s) D̃(s) N (s) Ỹ (s)
The linear controllers consist of two different transfer
where X , X̃ , Y , Ỹ are also stable rational matrices. It can then functions that accept position and velocity errors as inputs,
be shown that the set of all controllers that stabilize G is given respectively. Each yields control forces/torques that are added
by [22] together to form the final linear controller. The forms of the
  −1   resulting linear controllers derived using this robust control
− Y − RÑ X + RD̃ (20) framework are given below.
U (s) 2k1 s2 + k1 k2 s + k12
where R is an arbitrary matrix of appropriate dimensions = (25a)
whose elements are stable rational functions. Ep (s) s2
We notice that the nominal plant G(s) of equation (18) U (s) 2k2 s + k22 s + k1 k2
2

given by (17) is a system of double integrators. It is then = (25b)


Ev (s) s2
VOLUME 1, 2013 83
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs

where k1 and k2 positive are gains to be tuned. The tuning


process is not so difficult to achieve once it is noted that
k1 acts as the proportional (spring) and k2 as the deriva-
tive (damping) gain of the system. Each of the controllers
{ux , uy , uz , vx , vy , vz } mentioned in the Section III-A are of
this form with appropriately chosen k1 , k2 gains. Particular
choices of these gains, suited for our quadrotor, are given in
Section IV.

IV. SIMULATION RESULTS


This section presents simulations of the proposed (LARS)
controller on a model of the Quanser Qball quadrotor [23]
FIGURE 2. ‘‘Actual’’ Quadrotor Model: The direction of the thrust forces of
taking into account the various sources of modeling uncer- each of the propellers deviate from the normal vector to the plane of the
tainties. The controller is compared with that presented in [8], quadrotor frame. The CoM is not exactly situated at the center of the
which we refer to as RGTC standing for ‘‘Robust Geometric quadrotor frame.

Tracking Controller’’. The simulations are required in order


to demonstrate performance for the case when only model
uncertainty is present, whereas in experiment some measure- 4
X
J ω̇ + ω × J ω = fi Kτ σ (i)I + p̂i Ri · e3
 
ment noise is present. We also present simulations which (28a)
include measurement noise in the model. The Quanser Qball i=1
4
has the following properties as given in its user manual: X
mp̈ = (−mgI + fi Ri ) · e3 (28b)
J = diag ([0.03, 0.03, 0.03]) kg · m 2
(26a) i=4

rad where Ri ∈ SO(3) is the orientation of the ith propeller


m = 1.4 kg, ω = 15 (26b)
sec with respect to the quadrotor frame, e3 is the third standard
Cartesian unit vector, pi is the position vector, in the quadrotor
where ω is the actuator bandwidth of each propeller. That is, frame, from the center of mass C to the center of the ith
the force output of each propeller is achieved by passing the propeller. The hat operator ˆ is the usual isomorphism from
15
command through a low-pass filter with 2π Hz. bandwidth. R3 to so(3). Lastly, I is the 3 × 3 identity matrix and σ :
This, of course, is a huge limitation on the range fast of {1, 2, 3, 4} → {−1, 1} is defined by
motions achievable. Therefore, we design a simple lead con- (
troller that moves the pole at ω = 2π
15
Hz to 37.5 1 if i = 1, 2
2π Hz. This mini σ (i) =
controller can be expressed in frequency domain as −1 if i = 3, 4

F(s) s + 15 The experimentally determined values of Ri e3 for the four


= C(s) = 2.5 (27) rotors are given by
U (s) s + 37.5  T
R1 e3 = 0.03 0.03 0.9991 (29a)
The quadrotor is subject to several kinds of uncertainties,  T
the most straightforward of which are its mass and its inertia R2 e3 = 0.06 0.03 0.9977 (29b)
 T
tensor. More subtle uncertainties include misalignment of the R3 e3 = 0.03 0.06 0.9977 (29c)
rotors with respect to the quadrotor frame. That is, although  T
R4 e3 = 0.09 0.09 0.9919 (29d)
the rotors of the blades are supposed to be parallel to the
frame of the quadrotor, in reality, they might be slightly tilted Finally, the measurements of the quadrotor pose and veloc-
causing the application of unmodeled forces and moments on ity are never perfect. In the simulations, they will be modeled
the quadrotor. Such rotor misalignment has been observed as a Gaussian noise acting on both the linear and angular
on the quadrotor in our laboratory. Moreover, if the center readings additively. In what follows, we are going to present
of mass of the quadrotor is not located exactly at the center, simulation results of our proposed controller and compare
the manner in which the torques enter into the rotational it with one of the most prominent robust controllers in the
dynamics is no longer given by (6). The visualization of the literature provided by [15].
‘‘actual’’ quadrotor in Figure 2 sheds light on the derivation of The value of gain parameters used in our controller is
its ‘‘actual’’ dynamics. In this figure, we see that the plane of given in Table 1. The value of parameters defined in [8] are
the quadrotor frame, P, has a normal vector N . In the ideal given in Table 2 where the robust control parameters are
model, the forces of each of the propellers are along this unchanged, however the proportional and derivative gains
normal. The direction of these forces deviate from this normal have been scaled to be comparable to the gains in Table 1.
in reality, as depicted in Figure 2, giving rise to the dynamical Finally, the statistics of the additive gaussian white noise used
equations of motion presented in (28) to corrupt the measurements are given in Table 3.

84 VOLUME 1, 2013
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs

TABLE 1. Gains used in our controller. TABLE 4. Mean values of errors obtained in simulations of LARS and
RGTC controllers. S: Set-point regulation, C: Tracking a circular trajectory.
Loop k1 k2
x 3 3.4293 Task Noise Controller µex [m] µey [m] µez [m]
y 3 2.6944 S no LARS 1.4096e-7 9.0064e-8 −1.7917e-7
z 3 2.6944 S yes LARS −7.4749e-4 −7.2466e-4 −7.4496e-4
ξ1 176.2000 26.5481 C no LARS 2.01e-5 9.4342e-6 −1.33e-6
ξ2 176.2000 26.5481 C yes LARS −7.2708e-4 −7.1625e-4 −7.4137e-4
ξ3 26.4300 10.2820 S no RGTC 0.0658 0.0288 0.0697
S yes RGTC 0.0704 0.0358 0.0743
C no RGTC 0.0791 0.0336 0.0754
C yes RGTC 0.0811 0.0356 0.0815
TABLE 2. Parameters from [8].

Parameter Value TABLE 5. Standard deviations of errors obtained in simulations of LARS


and RGTC controllers. S: Set-point regulation, C: Tracking a circular
KR 5.3394 I3 trajectory.
K 0.7
kx 6 Task Noise Controller σex [m] σey [m] σez [m]
kv 5.4 S no LARS 7.05e-7 4.785e-7 6.509e-7
c1 3.6 S yes LARS 0.0111 0.0081 0.0085
c2 0.6 C no LARS 0.1434 0.1434 0.0001
x 0.04 C yes LARS 0.1430 0.1451 0.0086
R 0.04 S no RGTC 6.404e-4 2.503e-4 1.698e-4
S yes RGTC 0.0082 0.0067 0.0065
C no RGTC 0.1291 0.1183 0.0207
TABLE 3. Variances of additive zero mean gaussian white noise. C yes RGTC 0.1249 0.1203 0.0134

Parameter Value
σp2 10−6 does not qualitatively change the relative behaviour of the two
σṗ2 0.01 controllers.
σR2 10−4
σω2 0.01 B. TRAJECTORY TRACKING
The quadrotor is commanded to follow a trajectory
   
x(t) 0.5 sin(0.5t)
A. SET-POINT CONTROL  y(t)  0.5 cos(0.5t)
We command a constant desired point in the Cartesian space  z(t)  = 
    (30)
1.5 
to which the quadrotor center of mass should converge while
ξ3 (t) 0
potentially suffering from uncertainties in parameters and
measurement noise. The results of a simulation for the case Simulation results are presented for the case when measure-
when there is no measurement noise but parameter uncer- ment noise is both absent (Figure 5) and present (Figure 7).
tainty exists is given in Figure 3. The steady state error in Parameter uncertainty is always assumed to exist. First, we
position is zero in the case of the LARS controller (Figure 3c). look at the case where measurement noise is not included
The orientations errors also have zero steady state values in the simulation. As seen in Figures 5c and 5d, neither
(Figure 3a). For the RGTC controller, the position errors controller tracks the desired trajectory perfectly due to the
reach a steady non-zero value (Figure 3d). The orientation actuator limitations and the prevention of using high gains due
also does not converge to the desired values (Figure 3b). to noise. However, the LARS controller rejects the persistent
Tables 4 and 5 give the errors in steady state for both con- disturbances due to modeling errors, as seen by the mean of
trollers. the errors in position in Table 4. In the case of the RGTC
When noise is added, the results follow a similar trend controller, the mean values of the position errors are not zero.
(Figures 4). As seen in Figures 4a and 4c, the average value The resulting trajectories can be seen in Figures 6a and 6b.
of the errors in orientation and position are nearly zero for the The LARS controllers results in a trajectory concentric with
LARS controller. This is confirmed by the mean values of the the desired circle, whereas the trajectory acheived by the
errors in position for the experiment in Tables 4 and 5. In the RGTC controller has a center different from that of the desired
case of the RGTC controller, we see that the mean values of trajectory. The desired orientation is tracked in the case of the
the errors reach a constant value that is slightly offset from LARS controller as seen in Figure 5a, whereas this does not
zero (See Figures 4b and 4d, and the mean values given in occur for the RGTC controller (Figure 5b). Table 4 supports
Table 4). This shows that the presence of measurement noise this conclusion, as seen from the mean of the errors. The

VOLUME 1, 2013 85
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs

0.2 0.4

0.15 0.3

0.1 0.2
Orientation errors [rad]

Orientation errors [rad]


0.05 0.1

0 0

−0.05 −0.1

−0.1 e13 −0.2 e13


e23
e23
−0.15
eψ −0.3

−0.2
0 5 10 15 20 25 30 35 40 −0.4
0 5 10 15 20 25 30 35 40
time [sec]
time [sec]

(a) Orientation errors (LARS) (a) Orientation errors (LARS)


0.2
0.3

0.15
0.2
0.1
Orientation errors [rad]

0.1

Orientation errors [rad]


0.05

0
0

−0.05 −0.1

−0.1 e13 −0.2


e13
e23
−0.15 e23
eψ −0.3

−0.2
0 5 10 15 20 25 30 35 40 −0.4
time [sec] 0 5 10 15 20 25 30 35 40
time [sec]

(b) Orientation errors (RGTC)


(b) Orientation errors (RGTC)
0.2

0
0.1
−0.2

0
−0.4
Position errors [m]

Position errors [m]

−0.6 −0.1

−0.8 −0.2

−1 −0.3
ex
−1.2
ey −0.4 ex
−1.4 ez e
y
−0.5
ez
−1.6
0 5 10 15 20 25 30 35 40
time [sec]
0 5 10 15 20 25 30 35 40
time [sec]

(c) Position errors (LARS)


(c) Position errors (LARS)
0.2

0.1
−0.2

−0.4 0
Position errors [m]

Position errors [m]

−0.6 −0.1

−0.8
−0.2

−1
−0.3
ex
−1.2
ey −0.4 ex
−1.4 ez ey
−0.5
−1.6 ez
0 5 10 15 20 25 30 35 40
time [sec]
0 5 10 15 20 25 30 35 40
time [sec]

(d) Position errors (RGTC)


(d) Position errors (RGTC)
FIGURE 3. Simulation of set-point regulation with parameter uncertainty
and no measurement noise. The orientation errors in (a) are zero for the FIGURE 4. Simulation of set-point regulation with parameter uncertainty
LARS controller while there is a persistent error when using the LARS and measurement noise for the LARS and RGTC controllers. The mean
controller as seen in (b). A similar trend is observed for the position values of the orientation errors tend to zero for the LARS controller
errors in (c) and (d). (a) while they are not zero for the RGTC controller (b). A similar trend is
observed for the position errors in (c) and (d).

standard deviations of the RGTC controller are lower. Note


that this does not mean that the mean squared error is lower,
due to the larger mean in the case of the RGTC controller. noise can easily be seen in Figures 7c and 7d. The statistics
When measurement noise is added, we see that the plots of the obtained trajectory in Tables 4 and 5 show that the
do not change much qualitatively. The effect of measurement conclusions from the simulations without noise still hold, that

86 VOLUME 1, 2013
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs

0.25 0.5
trajectory
0.2 0.4 desired

0.15 0.3
Orientation errors [rad]

0.1 0.2

0.05 0.1

y [m]
0 0

−0.05 −0.1

e13
−0.1 −0.2
e23
−0.15 eψ −0.3

−0.2 −0.4
0 5 10 15 20 25 30 35 40
time [sec]
−0.5
−0.5 0 0.5
x [m]
(a) Orientation errors (LARS)
0.15 (a) Implicit plot (LARS)
0.1 0.6
trajectory
0.05 desired
0.4
Orientation errors [rad]

0
0.2

−0.05
0

y [m]
−0.1
e13
−0.2
e23
−0.15

−0.4
−0.2
0 5 10 15 20 25 30 35 40
time [sec]
−0.6

(b) Orientation errors (RGTC) −0.8


−0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6
x [m]
0.4

0.2

0
(b) Implicit plot (RGTC)
−0.2
FIGURE 6. Implicit plot of the trajectory tracking simulation for LARS and
Position errors [m]

−0.4
RGTC controllers. No measurement noise is included in the model. The
−0.6 persistent disturbances causes a deviation in the final path of the
−0.8 quadrotor when running the RGTC controller, whereas the LARS controller
−1 can reject these disturbances.
ex
−1.2
ey
−1.4 ez

−1.6
0 5 10 15 20
time [sec]
25 30 35 40 to have a zero mean in the case of the LARS controller but not
for the RGTC controller. This is confirmed again in Table 4.
(c) Position errors (LARS) Similar to the simulation with no measurement noise, we
0.4 see that the resulting trajectory for the LARS controller is
0.2
concentric with the desired one (Figure 8a) whereas that for
0

−0.2
the RGTC controller is offset (Figure 8b).
Position errors [m]

−0.4

−0.6 V. EXPERIMENTAL IMPLEMENTATION


−0.8 The results of the simulation sections are recreated in an
−1
ex experimental environment with an actual Quanser Qball
−1.2

−1.4
ey
ez
quadrotor [23]. We also continue our foregoing comparison
−1.6
with the RTGC robust controller [8] by implementing this
0 5 10 15 20 25 30 35 40
time [sec]
controller and showing the experimental results with that
(d) Position errors (RGTC) controller. The experimental setup is as follows. The Quanser
Qball is assumed to have the same properties as was given
FIGURE 5. Simulation of trajectory tracking with parameter uncertainty
and no measurement noise. The LARS controller rejects persistent
at the start of the Section IV. The linear position feedback is
distrubances (parameter uncertainties) yielding a zero-mean steady-state acquired from an 8-camera Vicon vision system [26] working
errors in orientation and position as seen in (a) and (c) respectively. In at a rate of 100 Hz. The linear velocity feedback is derived
comparison, the same errors due to the RGTC controller have a persistent
non-zero mean value as seen in (b) and (d). from this position reading by numerical differentiation cou-
pled with a first-order filter with a cut-off frequency of 40 Hz.
40s
H (s) =
is, the mean value of the trajectory for the LARS controller s + 40
is still nearly zero, whereas for the RTGC controller it is non Since the motions of this particular quadrotor cannot really
zero. Figures 7a and 7b show that the position errors appear be faster than 20 Hz. primarily due to the restrictions of

VOLUME 1, 2013 87
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs

0.4 0.6

0.2
0.4
0

−0.2 0.2
Position errors [m]

−0.4
0
−0.6

y [m]
−0.8
−0.2
−1
ex
−1.2 −0.4
ey
−1.4 ez trajectory
−0.6
desired
−1.6
0 5 10 15 20 25 30 35 40
time [sec]
−0.8
−0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6
x [m]
(a) Position errors (LARS)
0.4 (a) Implicit plot (LARS)
0.2
0.6
0

−0.2 0.4

−0.4
0.2
−0.6

−0.8 0

y [m]
−1
ex
−0.2
−1.2
ey
−1.4 e
z
−0.4
−1.6
0 5 10 15 20 25 30 35 40 trajectory
time [sec] −0.6 desired

(b) Position errors (RGTC) −0.8


−0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6
x [m]
0.4

e13
0.3 e23
(b) Implicit plot (RGTC)

0.2
FIGURE 8. Implicit plots for the simulation of trajectory tracking task with
Orientation errors [rad]

parameter uncertainty and measurement noise. Again, The persistent


0.1
disturbances causes a deviation in the final path of the quadrotor when
0 running the RGTC controller, whereas the LARS controller can reject these
disturbances.
−0.1

−0.2
placing markers on both ends of the rods. The body x-axis
−0.3
0 5 10 15 20
time [sec]
25 30 35 40 of the quadrotor is then identified as the vector v1 whose
tail is the marker at the ‘‘back’’ and whose head is at the
(c) Orientation errors (LARS) ‘‘front’’ of the quadrotor. We then form the vector v2 from
0.3 the ‘‘back’’ marker to the ‘‘left’’ marker and the vector v3
0.2
from the ‘‘back’’ marker to the ‘‘top’’ marker (see Figure 9).
0.1
Using the Gram-Schmidt orthonormalization process [27],
Orientation errors [rad]

we get an orthonormal body-frame for the quadrotor, whose


0
components when expressed in the inertial frame, form the
−0.1
rotation matrix R.
−0.2
e13
The body angular velocity of the quadrotor, on the other
−0.3
e23 hand, is acquired from the on-board gyroscope. The gyro-

−0.4
scope data is downsampled to 100Hz to match the data rate
0 5 10 15 20 25 30 35 40
time [sec] of the Vicon system.
The controller runs on an embedded processor, Gumstix
(d) Orientation errors (RGTC)
Verdex, stationed on the quadrotor. Its processing power is
FIGURE 7. Trajectory tracking with parameter uncertainty and 600 MHz. The reference commands, control gains and param-
measurement noise. The LARS controller rejects persistent distrubances
(parameter uncertainties) yielding a zero-mean steady-state errors in
eters are broadcast to the gumstix via a wireless communica-
orientation and position as seen in (a) and (c) respectively. In comparison, tion protocol. The software used to prepare the C-code run on
the same errors due to the RGTC controller have a persistent non-zero the gumstix and to send the various parameters to the gumstix
mean value as seen in (b) and (d).
is Matlab/Simulink.
the actuators, the aforementioned velocity measurement is Two types of experiments are conducted using each con-
justified to work well. troller:
The orientation of the quadrotor is also acquired using • Set-point regulation
vision data from the Vicon system as follows. We start by • Tracking a circular trajectory at 1 rad/s

88 VOLUME 1, 2013
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs

TABLE 6. Desired coordinates in the world frame: (i) Set-point (ii) The 1.5

moving trajectory is a circle in the horizontal plane. The steady state error
for RGTC requires us to command a higher height for sufficient ground 1

clearance.
0.5

Experiment LARS RGTC

[rad]
0
Set-point (0.4,0,0.5) (0.4,0,0.75)
Circle 1 (0.4 + cos(t), sin(t), 0.5) (0.4 + cos(t), sin(t), 0.75) −0.5

e13

−1 e23

−1.5
35 40 45 50 55 60 65 70
t [sec]

(a) Orientation errors (LARS)


0.4

0.3

0.2

0.1

[rad]
0

−0.1

−0.2 e13
e23
−0.3

−0.4
25 30 35 40 45 50 55 60 65 70
t [sec]

FIGURE 9. Rotation matrix construction: The vectors v1 from BACK to (b) Orientation error (RGTC)
FRONT, v2 from BACK to LEFT and v3 from BACK to TOP are
0.5
orthonormalized and their components expressed in the inertial frame to
ex
form the rotation matrix R 0.4 ey
ez
0.3
The performance of the position controller is demonstrated in
two steps. First, the Qball lifts off from the initial position at 0.2
[m]

the desired height zd . Once the height has settled, the robot is 0.1

commanded to the point (0.4, 0, zd ). 0

This is due to the fact that large step changes in all com- −0.1

manded variables will often hit the saturation limits, and in


−0.2
the closed lab space potentially leads to a crash. In the circle 35 40 45 50
t [sec]
55 60 65 70

experiment, the command is switched from this point to the


(c) Position errors (LARS)
trajectory given in Table 6.
1

A. SET-POINT REGULATION RESULTS


0.5

The results of the set-point regulation experiments for both


controllers are seen in Figure 10. In Figure 10c we see that the 0
[m]

errors decrease from the initial value and tend to a zero-mean


−0.5
behaviour in the case of the LARS controller. There appears
to be a disturbance at around t = 53s, which is duly rejected. −1
ex
e
In the case of the RGTC control, after the Qball lifts off, the e
y

step position command is applied at around t = 35s. The −1.5


25 30 35 40 45 50 55 60 65 70
t [sec]
errors decrease, however, ey and ez do not have a zero mean
steady state behaviour, as seen in Figure 10d. The x-direction (d) Position errors (RGTC)
position error, ex , appears to have a zero mean behaviour. The
FIGURE 10. Set-point regulation experiment. The LARS controller results
orientation error for the LARS controller follows a similar in orientation errors with a small mean value than those due to the RGTC
behaviour (Figure 10a): the orientation errors decrease to a as seen in (a) and (b). A similar trend is seen in the position errors as
seen in (c) and (d).
mean value close to zero, even after the disturbance. The
orientation errors for the RGTC controller are not close to
zero, as seen in Figure 10b, except the e13 error. This is B. TRAJECTORY TRACKING RESULTS
logical, since in the dynamics (5) the dynamics in x and y are The Qball quadrotor is desired to track the trajectory in
directly affected by the r13 and r23 components of the rotation Table 6. Figure 12 gives the result of the experiment for
matrix R, and hence errors in those values will result in errors both controllers. In figure 11c the quadrotor is commanded
in x and y even with ideal thrust generation. to hover at the inital position (0.4, 0, 0.5) at t = 31s.

VOLUME 1, 2013 89
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs

4
trajectory
e13 −1 desired
3
e23

2
−0.5
1
[rad]

y [m]
0

−1

−2 0.5

−3

1
−4
30 40 50 60 70 80 90 100 110 120
t [sec]
1.5 1 0.5 0 −0.5 −1
x [m]
(a) Orientation errors (LARS)
0.6
(a) Implicit plot (LARS)
0.4
trajectory
desired
0.2 −1

0
[rad]

−0.5
−0.2

y [m]
−0.4
e13 0
e23
−0.6

0.5
−0.8
10 20 30 40 50 60 70 80 90
t [sec]

1
(b) Orientation errors (RGTC) 1.5 1 0.5 0 −0.5 −1
x [m]
1.5

ex
ey
(b) Implicit plot (RGTC)
1
e
z
FIGURE 12. Trajectory tracking experiment with a circular trajectory. The
0.5 LARS controller yields a correctly nearly centered circular trajectory,
having a nearly zero mean translational steady state error. The circular
[m]

trajectory of the RGTC controller has a shifted center, product of nonzero


0
steady state errors.

−0.5

−1 seen in Figure 10c. At t = 105s the desired trajectory is


30 40 50 60 70 80 90 100 110 120
t [sec]
switched to a set-point along the tangent to the circle at that
(c) Position errors (LARS) instant. At t = 115s the Qball is commanded to return to
1
(0.4, 0, 0.5), resulting in a jump in errors due to the step com-
mand. We see that, in spite of the step commands in positions,
0.5 resulting in step commands in the desired orientations (See
Figure 11a) the height error does not increase, as expected
0
due to the LARS control design. The orientation errors are
[m]

−0.5
seen to have a nearly zero mean behaviour in Figure 11a. The
resulting trajectory is a distorted circle with a center almost
ex
−1
e
y
identical to that of the desired trajectory (See Figure 12a).
ez
Figure 11d shows the errors in position for a similar
−1.5
10 20 30 40 50
t [sec]
60 70 80 90 experiment using the RGTC controller. The Qball lifts off at
t = 18s, and hovers at a point slightly offset from the desired
(d) Position errors (RGTC) point. Due to the steady state error in height always present in
FIGURE 11. Trajectory tracking experiment with a circular trajectory. The the RGTC controller, the command is higher (zd = 0.75m).
LARS controller yields nearly zero mean steady state errors in orientation This yields sufficient clearance above the ground so as to
and position. The RGTC controller yields errors which do not have zero
mean behaviour.
minimize the ground effect. The Qball is then commanded to
follow the circular trajectory in Table 6. The error in x appears
to have a zero mean behaviour, whereas y and z have non-
zero mean errors. This is reflected in the Figure 12b where
The command is then switched to the circular trajecteory the resulting trajectory is circular but shifted in the negative
given in Table 6 at approximately t = 49s. The step command y direction with respect to the desired circular trajectory. The
results in the error shooting up, which reduces to the sinu- orientation plot in Figure 11b shows that there is some error
soidal errors with a nearly zero mean, similar to the behaviour in e23 at least in the set-point tracking part of the experiment.

90 VOLUME 1, 2013
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs

1 
Videos of experiments conducted with the quadrotor are σ1 (R, ω) = 3
2 2
2Jp Jr r13 r32 wx − 4Jp Jr r13 r31 r32 wx wy
detailed in Appendix B. Jp Jr r33
2 2
+ 2Jp Jr r13 r31 wy
VI. CONCLUSION + 2Jp Jr r12 r33 wx (−r32 wx + r31 wy )
We have presented an L1 -optimal robust controller for the
+ Jr (−Jr + Jy )r33 (−r13 r31 + r11 r33 )wx wz
quadrotor dynamical system that rejects persistent distur-
2
bances. Consequently, the only remaining errors in the steady- + Jp (Jr + Jy )r12 r33 wy wz + Jp2 r33
state response of the system are due to measurement noise. × (r13 r32 − r12 r33 )wy wz − Jp r13 r33
We have derived an ‘‘actual’’ model for the quadrotor under × (Jr r31 wx + (Jr + Jy )r32 wy )wz + Jp Jr r11 r33
practical modeling uncertainties. We used this model to  
conduct simulation studies for both set-point and trajectory × 2r32 wx wy − 2r31 w2y + r33 wx wz
tracking applications and compared the performance of our 1 
controller with one of the more prominent robust controller in σ2 (R, ω) = 3
2 2
2Jp Jr r23 r32 wx − 4Jp Jr r23 r31 r32 wx wy
Jp Jr r33
the literature. The same comparison has also been carried out 2 2
experimentally and the performance of the system, predicted + 2Jp Jr r23 r31 wy + 2Jp Jr r22 r33 wx
in the simulations, were seen to be very closely replicated. × (−r32 wx + r31 wy )
+ Jr (−Jr + Jy )r33 (−r23 r31 + r21 r33 )wx wz
APPENDIX A 2
+ Jp (Jr + Jy )r22 r33 wy wz + Jp2 r33
EQUATIONS OF MOTION UNDER THE SELECTED
PARAMETRIZATION × (r23 r32 − r22 r33 )wy wz
We use the quadrotor dynamic equations of motion (5d) to − Jp r23 r33 (Jr r31 wx + (Jr + Jy )r32 wy )wz
derive the equations governing the parametrization. We have
 
 + Jp Jr r21 r33 2r32 wx wy − 2r31 w2y + r33 wx wz
η = (x, y, z) and ξ = rr13 , r23
33 r33
, arctan2 (−r12 , r22 ) . We
1 
differentiate with respect to time once and substitute from σ3 (R, ω) = 3
Jr Jy r12 r21 wx wy
2 + r2 2

the kinematic equations (1) and differentiate again before Jr Jy r12 22
substituting from the equations (5d). For the translational 2
+Jr Jy r12 r21 r22 wx wy − Jr (−Jp + Jr )
variables η, this gives 
2 2

× (r12 r21 − r11 r22 ) r12 + r22 wx wy
r13
η̈1 = ẍ = f (31a) 2
− (Jp + Jr )Jy r12 r13 r22 wy wz − (Jp + Jr )Jy
m
r23 3 3
η̈2 = ÿ = f (31b) × r13 r22 wy wz + (Jp + Jr )Jy r12 r23 wy wz
m 2
 
r33 + (Jp + Jr )Jy r12 r22 r23 wy wz − Jy2 r12
2 2
+ r22
η̈3 = z̈ = −g + f (31c)
m 2
× (−r13 r22 + r12 r23 )wy wz − 2Jr Jy r12 r13 wx
and for the rotational dynamics, 2
× (r23 wx − r21 wz )2Jr Jy r13 r22 wx
ξ̈1 = a1x (R)τx + b1y (R)τy + σ1 (R, ω) (32a) −(−r23 wx + r21 wz ) + 2Jr Jy r12 r22
ξ̈2 = a2x (R)τx + b2y (R)τy + σ2 (R, ω) (32b) × (r13 wx − r23 wx − r11 wz + r21 wz )
2
ξ̈3 = a3x (R)τx + b3z (R)τz + σ3 (R, ω) (32c) × ((r13 + r23 )wx − (r11 + r21 )wz ) − Jr Jy r11 r22
 
× r22 wx wy + 2r23 wx wz − 2r21 w2z
where the functions a1x , a2x , a3x , b1y , b2y , b3z , σ1 , σ2 , σ3 are  
given as follows: 2
− Jr Jy r11 r12 r22 wx wy − 2r23 wx wz + 2r21 w2z .
r13 r32 − r12 r33
a1x (R) = 2
Jr r33 APPENDIX B
r11 r33 − r13 r31 VIDEOS OF EXPERIMENTS
a2x (R) = 2
Jp r33 The results of trajectory tracking experiments were recorded
r12 r23 − r13 r22 for some challenging trajectories: (i) Horizontal circle with
a3x (R) = 2 + r2 sinusoidal height command [28], (ii) Vertical circle [29], and

Jr r12 22
−r13 r31 + r11 r33 (iii) Lissajous curve [30].
b1y (R) = 2 The experiments consist of three phases. In the first phase,
Jp r33
the quadrotor is commanded to hover at a height above the
−r23 r31 + r21 r33
b2y (R) = starting position, then commanded to move to a starting point
2
Jp r33 at the same height. The second phase consists of trajectory
−r12 r21 + r11 r22 tracking. During the third phase the following landing scheme
b3z (R) = 2 + r2

Jy r12 22
is implemented. A predicted position is calculated based on

VOLUME 1, 2013 91
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs

the quadrotor position and velocity at the end of the second [14] A. Mokhtari, A. Benallegue, and B. Daachi, ‘‘Robust feedback lin-
phase and commanded as a set-point. The desired height is earization and GH∞ controller for a quadrotor unmanned aerial vehi-
cle,’’ in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Aug. 2005,
decreased in steps until the quadrotor can be powered down pp. 1198–1203.
safely. [15] T. Lee, M. Leok, and N. H. McClamroch, ‘‘Nonlinear robust tracking
The first trajectory is a horizontal circle with a vary- control of a quadrotor UAV on SE(3),’’ Asian J. Control, vol. 15, no. 2,
pp. 391–408, Mar. 2013.
ing height command [28]. The varying height creates an
[16] C. Diao, B. Xian, Q. Yin, W. Zeng, H. Li, and Y. Yang, ‘‘A nonlinear
increased demand on quadrotor actuators. This is further adaptive control approach for quadrotor uavs,’’ in Proc. 8th Asian Control
tested when the frequency of the height command is doubled Conf. (ASCC), May 2011, pp. 223–228.
during the motion of the quadrotor. [17] T. Fernando, J. Chandiramani, T. Lee, and H. Gutierrez, ‘‘Robust adaptive
geometric tracking controls on SO(3) with an application to the attitude
The second experiment demonstrates the controller per- dynamics of a quadrotor uav,’’ in Proc. 50th IEEE Conf. Decision Control
formance when gravity acts as a disturbance non-trivially. Eur. Control Conf., Dec. 2011, pp. 7380–7385.
This is achieved by requiring the quadrotor to track a vertical [18] M. Spong and M. Vidyasagar, ‘‘Robust linear compensator design for
circle [29]. nonlinear robotic control,’’ in Proc. IEEE Int. Conf. Robot. Autom., vol. 2.
Mar. 1985, pp. 954–959.
The third experiment shows the performance of the con- [19] M. Spong and M. Vidyasagar, ‘‘Robust nonlinear control of robot manip-
troller under a significantly aggressive motion: tracking a ulators,’’ in Proc. IEEE Conf. Decision Control, vol. 24. Dec. 1985,
three dimensional Lissajous curve. The quadrotor motion is pp. 1767–1772.
seen to be both stable and smooth throughout the experi- [20] M. Spong and M. Vidyasagar, ‘‘Robust linear compensator design
for nonlinear robotic control,’’ IEEE J. Robot. Autom., vol. 3, no. 4,
ment [30]. pp. 345–351, Aug. 1987.
The reader is invited to view further videos on the UTD [21] M. Vidyasagar, ‘‘Optimal rejection of persistent bounded disturbances,’’
Robotics channel [31], not all of which use the L1 −optimal IEEE Trans. Autom. Control, vol. 31, no. 6, pp. 527–534, Jun. 1986.
controller. It can be observed that the tracking performance is [22] M. Vidyasagar, Control System Synthesis: A Factorization Approach (Syn-
thesis Lectures on Control and Mechatronics). San Rafael, CA, USA:
poorer and more sluggish when the quadrotor uses naive PID Morgan & Claypool Publishers, 2011.
control. [23] Quanser Inc. (2013, Apr.). Quanser Qball-X4, Markham,
Canada [Online]. Available: http://www.quanser.com/english/html/
UVS_Lab/fs_Qball_X4.htm
REFERENCES
[24] J. Marsden and T. Ratiu, Introduction to Mechanics and Symmetry: A Basic
[1] M. Spong, ‘‘Partial feedback linearization of underactuated mechanical Exposition of Classical Mechanical Systems (Texts in Applied Mathemat-
systems,’’ in Proc. IEEE/RSJ/GI Int. Conf. Intell. Robots Syst. Adv. Robot. ics). New York, NY, USA: Springer-Verlag, 1999.
Syst. Real World, vol. 1. Sep. 1994, pp. 314–321.
[25] C. Nett, C. Jacobson, and M. Balas, ‘‘A connection between state-space and
[2] P. Pounds, R. Mahony, P. Hynes, and J. Roberts, ‘‘Design of a four- doubly coprime fractional representations,’’ IEEE Trans. Autom. Control,
rotor aerial robot,’’ in Proc. Australasian Conf. Robot. Autom., Nov. 2002, vol. 29, no. 9, pp. 831–832, Sep. 1984.
pp. 145–150.
[26] Vicon Motion Systems Ltd. (2012). Vicon MX Giganet Gigabit
[3] S. Bouabdallah, A. Noth, and R. Siegwart, ‘‘PID vs LQ control techniques Ethernet Controller, Oxford, U.K. [Online]. Available: http://www.
applied to an indoor micro quadrotor,’’ in Proc. IEEE/RSJ Int. Conf. Intell. vicon.com/products/mxgiganet.html
Robots Syst., vol. 3. Oct. 2004, pp. 2451–2456.
[27] E. Kreyszig, Differential Geometry (Dover books on advanced mathemat-
[4] R. Xu and U. Ozguner, ‘‘Sliding mode control of a quadrotor helicopter,’’ ics). New York, NY, USA: Dover, 1991.
in Proc. 45th IEEE Conf. Decision Control, Dec. 2006, pp. 4957–4962.
[28] Laboratory for Autonomous Robotics, UT Dallas. (2012). Quadrotor
[5] S. Bouabdallah and R. Siegwart, ‘‘Backstepping and sliding-mode tech- Tracking a Horizontal Circle with Sinusoidal Height Command,
niques applied to an indoor micro quadrotor,’’ in Proc. IEEE Int. Conf. Cambridge, MA, USA [Online]. Available: http://www.youtube.
Robot. Autom., Apr. 2005, pp. 2247–2252. com/watch?v=xZwQ3Uis4dc
[6] T. Madani and A. Benallegue, ‘‘Backstepping control for a quadrotor [29] Laboratory for Autonomous Robotics, UT Dallas. (2012). Quadrotor
helicopter,’’ in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Oct. 2006, Tracking a Vertical Circle, Cambridge, MA, USA [Online]. Available:
pp. 3255–3260. http://www.youtube.com/watch?v=TqY4TcJXEcY
[7] S. Bouabdallah, P. Murrieri, and R. Siegwart, ‘‘Design and control of an [30] Laboratory for Autonomous Robotics, UT Dallas. (2012). Quadrotor
indoor micro quadrotor,’’ in Proc. IEEE Int. Conf. Robot. Autom., vol. 5. Tracking a Lissajous Curve, Cambridge, MA, USA [Online]. Available:
May 2004, pp. 4393–4398. http://www.youtube.com/watch?v=1lIGlwu3Cic
[8] T. Lee, M. Leoky, and N. McClamroch, ‘‘Geometric tracking control of [31] Laboratory for Autonomous Robotics, UT Dallas. (2012). UTD Robotics
a quadrotor UAV on SE(3),’’ in Proc. 49th IEEE Conf. Decision Control, Channel on Youtube, Cambridge, MA, USA [Online]. Available:
Dec. 2010, pp. 5420–5425. http://www.youtube.com/UTDRobotics
[9] D. Mellinger and V. Kumar, ‘‘Minimum snap trajectory generation and
control for quadrotors,’’ in Proc. IEEE Int. Conf. Robot. Autom., May 2011,
pp. 2520–2525.
[10] H. Khalil, Nonlinear Systems. Englewood Cliffs, NJ, USA:
Prentice-Hall, 2002.
[11] V. Mistler, A. Benallegue, and N. M’Sirdi, ‘‘Exact linearization and nonin-
teracting control of a 4 rotors helicopter via dynamic feedback,’’ in Proc. AYKUT C. SATICI received the B.Sc. and M.Sc.
10th IEEE Int. Workshop Robot Human Interact. Commun., Jan. 2001, degrees in mechatronics engineering from Sabanci
pp. 586–593. University, Istanbul, Turkey, in 2008 and 2010,
[12] A. Mokhtari and A. Benallegue, ‘‘Dynamic feedback controller of euler respectively, and the Masters degree in mathemat-
angles and wind parameters estimation for a quadrotor unmanned aerial ics from the University of Texas, Dallas, TX, USA,
vehicle,’’ in Proc. IEEE Int. Conf. Robot. Autom., vol. 3. May 2004, in 2013. He is currently with the Electrical Engi-
pp. 2359–2366. neering Department, University of Texas at Dal-
[13] G. V. Raffo, M. G. Ortega, and F. R. Rubio, ‘‘An integral predic- las. His current research interests include robotics,
tive/nonlinear control H∞ structure for a quadrotor helicopter,’’ Automat- geometric mechanics, and cooperative control.
ica, vol. 46, no. 1, pp. 29–39, Jan. 2010.

92 VOLUME 1, 2013
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs

HASAN POONAWALA was born in Mum- MARK W. SPONG (S’81–M’81–SM’89–F’96)


bai, India, on May 14, 1985. He received the received the B.A. degree (magna cum laude and
B.Tech. degree in mechanical engineering from Phi Beta Kappa) in mathematics and physics from
the National Institute of Technology, Surathkal, Hiram College, Hiram, OH, USA, in 1975, the
India, in 2007, and the M.S. degree in mechanical M.S. degree in mathematics from New Mexico
engineering from the University of Michigan, Ann State University, Las Cruces, NM, USA, in 1977,
Arbor, MI, USA, in 2009. He is currently pursuing and the M.S. and D.Sc. degrees in systems science
the Ph.D. degree in electrical engineering with the and mathematics from Washington University in
University of Texas, Dallas, TX, USA. His current St. Louis, MO, USA, in 1979 and 1981, respec-
research interests include formation control and tively.
connectivity control of mobile robot networks, bipedal robotics and nonlinear He was with the University of Illinois at Urbana-Champaign, Urbana,
control systems. IL, USA, from 1984 to 2008. He is currently the Dean of the Erik Jonsson
School of Engineering and Computer Science, University of Texas at Dallas,
TX, USA, where he is a Professor of electrical engineering and holds both
the Lars Magnus Ericsson Chair and the Excellence in Education Chair. He
has authored or co-authored more than 250 technical papers in control and
robotics and four books, and holds one patent. His current research interests
include robotics, mechatronics, and nonlinear control theory.
Dr. Spong was the President of the IEEE Control Systems Society and was
both the Editor-in-Chief and an Associate Editor of the IEEE TRANSACTIONS
ON CONTROL SYSTEMS TECHNOLOGY and an Associate Editor of the IEEE
TRANSACTIONS ON ROBOTICS AND AUTOMATION, the IEEE Control Systems Mag-
azine, and the IEEE TRANSACTIONS ON AUTOMATIC CONTROL. He was the Vice
President for Publication Activities from 2000 to 2002. He was the recipient
of several awards, including the first Intelligent Robots and Systems Fumio
Harashima Award for Innovative Technologies, the IEEE TRANSACTIONS ON
CONTROL SYSTEMS TECHNOLOGY Outstanding Paper Award, the Senior Scientist
Research Award from the Alexander von Humboldt Foundation, the Distin-
guished Member Award from the IEEE Control Systems Society, the John
R. Ragazzini and O. Hugo Schuck Awards from the American Automatic
Control Council, and the IEEE Third Millennium Medal.

VOLUME 1, 2013 93

You might also like