Robust Optimal Control of Quadrotor Uavs: Received February 13, 2013, Accepted April 16, 2013, Published May 10, 2013
Robust Optimal Control of Quadrotor Uavs: Received February 13, 2013, Accepted April 16, 2013, Published May 10, 2013
Robust Optimal Control of Quadrotor Uavs: Received February 13, 2013, Accepted April 16, 2013, Published May 10, 2013
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.
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
τz Kτ Kτ −Kτ −Kτ f4
FIGURE 1. Quanser Qball model.
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)
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)
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
σ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]
0 0
−0.05 −0.1
−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]
0.15
0.2
0.1
Orientation errors [rad]
0.1
0
0
−0.05 −0.1
0
0.1
−0.2
0
−0.4
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]
0.1
−0.2
−0.4 0
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]
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
eψ
−0.4
−0.2
0 5 10 15 20 25 30 35 40
time [sec]
−0.6
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
−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
e13
0.3 e23
(b) Implicit plot (RGTC)
eψ
0.2
FIGURE 8. Implicit plots for the simulation of trajectory tracking task with
Orientation errors [rad]
−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]
−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
[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
eψ
−1.5
35 40 45 50 55 60 65 70
t [sec]
0.3
0.2
0.1
[rad]
0
−0.1
−0.2 e13
e23
−0.3
eψ
−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
This is due to the fact that large step changes in all com- −0.1
VOLUME 1, 2013 89
A. C. SATICI et al.: Robust Optimal Control of Quadrotor UAVs
4
trajectory
e13 −1 desired
3
e23
eψ
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
eψ
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]
−0.5
−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
VOLUME 1, 2013 93