You are on page 1of 6

Optimal Control Allocation of Quadrotor UAVs Subject to Actuator


Joao C. Monteiro, Fernando Lizarralde and Liu Hsu

Abstract In this paper the control allocation problem A vast discussion on control allocation algorithms
is revisited in the context of quadrotor unmanned aerial is given in [7], including linear and quadratic pro-
vehicles (UAVs). Two control allocation strategies are pre- gramming, multi-saturation anti-windup, model pre-
sented, both aiming to avoid output saturation. The first dictive control and other strategies. A study on the
strategy is based on the optimization of a weighted least
performance of linear and quadratic programming, and
squares (WLS) criterion subject to boundary constraints.
The second, called direct control allocation (DCA), aims
fixed-point methods is presented in [1]. In [8], the
to maintain constant the direction of the desired virtual authors obtain an explicit numerical representation of
efforts vector. As a modification of this strategy, we the optimal solution for the control allocation problem.
introduce the partial control allocation (PCA) scheme. In In the context of control allocation applied to multirotor
the latter, only the direction of a fraction of the desired UAVs, most of the existing research is in the field
virtual efforts vector is kept constant. It is also presented of fault tolerant systems [9], [13], [14], where the
a discussion on the performance of the DCA and PCA focus is to redistribute the control once one or more
schemes. propulsion groups have failed. For multirotors with
I. I NTRODUCTION more than four propellers, there are multiple effectors
Along the continuous increase in the variety of configurations that produce the same virtual control
applications of UAVs, the control of these vehicles has effort, characterizing a redundant control allocation
received significant attention from the control commu- problem [3]. In contrast, we study the effects of actuator
nity. The motion control of these vehicles includes three saturation on control allocation of quadrotor UAVs,
levels [7]. The first consists of a high-level motion con- and how optimization may be used to choose the best
troller that generates a vector of desired virtual control possible control vector.
efforts. To guarantee that this demand is met, a control We focus solely on boundary constraints on the
allocation strategy coordinates the different propulsion propellers velocities, assuming the actuators dynamics
groups1 . Third, low-level controllers command each are almost negligible and these values are achieved
effector individually via its actuators. This last step is instantaneously. Therefore, rate constraints will not be
usually shipped in the driver. addressed here, remaining a topic to be investigated in
Hence, control allocation is a critical step in the future works.
synthesis of motion control strategies. However, its This paper is structured as follows. In Section II
importance is usually shadowed by the development the problem is formulated. A weighted least squares
of high-level control algorithms. This paper focuses on scheme is proposed in Section III, similar to the one
control allocation schemes applied to quadrotor UAVs, presented in [15], but we present an analytical solution
assuming that the desired virtual efforts vector is given to the problem. In Section IV the partial control alloca-
by a, possibly unknown, high-level controller. tion strategy is presented as a modification on the direct
control allocation scheme. In Section V the results
The authors are with the Dept. of Electrical Eng., obtained via simulation are presented and discussed.
COPPE/Federal University of Rio de Janeiro, Rio de Janeiro,
Finally, some concluding remarks and future works are
Brazil. and [liu,
fernando] made in Section VI.
This work was supported in part by CNPq and FAPERJ, Brazil.
The term effector is used to describe any device that affects the
environment, e.g. a propeller. The term actuator is used to describe A. Rigid Body Dynamics
the device that drives the effector, e.g. a motor. We adopt the term
propulsion group when referring to the ensemble of actuator and The dynamics of a quadrotor UAV are well known
effector. in the literature [2], [5]. Consider a quadrotor with
# #
f4 f1 a linear mapping from the vector of quadratic rotor
speeds v R4 , and the vector of virtual control
4 #
1 efforts u R4 . This mapping is characterized by the
x# e x#
{E} {B}
decoupling matrix M R44 , and is defined as
# #
y# e f3 y# f2 u1

t t t t
# b
g u
2 0 lt 0 lt v22

# # = 2 . (5)

z#e 3
u3 lt 0 lt 0 v3
u4 d d d d v2
Fig. 1. Free body diagram of a quadrotor with propellers arranged | {z } | {z } | {z4 }
symmetrically around the center of mass, main efforts generated by u M v
the propellers, a body fixed frame {B}, and an inertial frame {E}.
Where (5) is called the control mapping equation.
four propellers, as shown in Fig. 1. Each propeller Then, the equations of motion are rewritten as
generates a torque #i on the body, about its z#
b axis,
that opposes the propeller rotation. The propellers also mp = mgz u1 Rz , (6)
generate forces fi on the body, along its z#
b axis. The J = u2 x + u3 y + u4 z J . (7)
rotation from {E} to {B} is denoted by the rotation
For a detailed model that considers propellers gy-
matrix R SO(3).
roscopic effects, induced torques, drag forces, rolling
The position of the quadrotor center of mass, ex-
moments and other aerodynamic effects, see [2], [5]. A
pressed in an inertial frame, is p R3 . Then, the
more complex model impacts the high-level controller,
quadrotor translational dynamics are
but will not affect control allocation, since (5) will still
X hold. We also ignore actuator dynamics, since it is very
mp = mgz Rz fi , (1) fast compared to the quadrotor dynamics.
B. Control Allocation
where m is the mass of the vehicle and z = [0 0 1]T .
Expressed in a body frame, the body angular velocity It is then clear that the components u1 and u2,3,4
with respect to the inertial frame is R3 , and it is represent a virtual force along z# b and virtual torques
governed by the dynamic equation about x#
b , # , and z# , respectively. Consequently, u is
y b b
the vector of virtual control efforts. High-level control
l (f4 f2 )
strategies are synthesized from (6) and (7), using u as
J + J = l (f1 f3 ) , (2)
the control input to [2], [5], [6], [10], [11]. A block
(2 1 + 4 3 )
diagram depicting the basic motion control scheme of
where l is the distance from the body center of mass to a quadrotor UAV is given in Fig. 2.
the propellers, and J R33 the body inertia matrix. The inverse mapping, namely M1 : u 7 v, is given
The vehicle actually consists of five rigid bodies: the by
vehicle body, as it were, and the four propellers (which
2 lt 1
v1 l 0 d u1
are taken to include the whole actuating system that is
v 2 1
l 2 0 lt d u2

not fixed to the body). 2 1
2 = . (8)
As discussed in [2], since the propellers direction v3 4lt l 0 2 lt 1 d u3

of rotation does not change, the forces and torques v42 l 2 0 lt 1 u4
generated by the propulsion groups are written in terms | {z } | {z } | {z }
v u
of the propellers velocities vi , such as2 : M1

Although this matrix is invertible, the inverse mapping

fi = t vi2 , (3)
might produce an unreachable velocity vector v. This is
i = d vi2 , (4) because actuators are subject to constraints. Therefore,
where t > 0 is the rotor thrust coefficient and d > 0 the control allocation of a quadrotor UAV is formulated
the rotor drag coefficient. From (3) and (4) we write as follows:
Find v from (8), subject to
If the propellers are allowed to change the rotation direction,
the term vi2 is changed to |vi | vi . 0 vmin vi vmax , i, (9)
reference High-Level ud Control v Low-Level v Propulsion fi output
Controller Allocation Controller Group i

measured data

Fig. 2. Basic motion control structure of a quadrotor UAV, where the control allocation step is highlighted. The vector v is the actual
physical signal, e.g. electric current, that commands the propulsion group.

that best meets the desired control vector ud . with M = WM. To solve this problem, first define the
Inequality (9) defines a feasible set W. Naturally, if Lagrangian L:
the value obtained applying (8) to ud lies inside W,
L(v, ) = f (v) T g(v) (12)
the solution is trivial. Furthermore, (5) maps W into a
feasible set of virtual control efforts U. So, if ud U where R8 is the Lagrange multiplier. Taking the
the solution is also straightforward from (8). partial derivatives of (12) with respect to v and setting
In general, the boundary U of the feasible set U them to zero, the solution to (11) is obtained from:
is obtained from W, but it may not be the image of 
v = (MT M)1 + vd ,
W [4]. Nonetheless, for quadrotors, U is a simple g(v) 0 .
image of W, obtained from (5).
System (13) has at least one, and at most 81 solutions
Assumption 1: The feasible set W is compact.
(since it is not possible to meet a maximum and
Proposition 1: If the mapping from W to U is a a minimum constraint simultaneously). To determine
homeomorphism in W, then U is the image of W.3 these values, consider R {0, 1}nc 8 a selection
Corollary 1: Since the control mapping equa- matrix, with nc = 1, . . . , 4 the number of constraints to
tion (5) is a homeomorphism, U is the image of W. be satisfied. The rows of R are vectors of zeros, but for
the i-th element. This matrix is used to determine which
III. W EIGHTED L EAST S QUARES A LLOCATION constraints gi (v) are met. Hence, for each selection
matrix a candidate solution is obtained from4
The WLS control allocation of over-actuated aerial  
T 1 T I 0
vehicles may be interpreted as a two-stage multi- R(M M) R x = R g(vd ) ,
0 I (14)
objective optimization problem. First, the configura- T
=R x,
tions capable of producing the required control efforts
are found. Second, from these configurations one is and the first equation of (13). Here I is the identity
chosen so that a secondary criterion is optimized. matrix in R33 . The problem is then solved as such:
Nevertheless, quadrotors have as many effectors as task Solution 1 (WLS):
designated degrees of freedom, reducing the problem to 1) If ud U, then define v = M1 ud and the
a constrained single-objective optimization. problems is solved. Otherwise, set nc = 1.
In what follows, ||.|| denotes the l2 norm. Then, we 2) From (14), compute all candidate solutions for a
propose the following control allocation WLS problem: constant nc . If none meet (9), increase nc by one
and repeat.
min : f (v) = ||W(u ud )||2 , 3) From the candidates that meet (9), choose the one
2 (10)
v vmin with the lowest cost, namely ud .
s.t. : g(v) = 2 0,
vmax v 4) Define the solution v = M1 ud .
Proposition 2: All candidate solutions are global
where W R44 is a weighting matrix with full rank. minimums for fixed values of .
From (8), the optimization problem is reformulated as: Proof: For these solutions to be global minimums
2 T of (12) for a fixed , the Hessian
min : f (v) = Mv 2 Mv ud + ||ud ||2 ,

(11) 2L
s.t. : g(v) 0 , H= = MT M (15)
To prove this note that for a homeomorphism the mapped 4
Note that R(MT M)1 RT is positive definite by construction,
neighbourhood of a point does not change. so this system always has a unique solution.
has to be positive definite, i.e. H = H T > 0. Since M u4 u3
has full rank and H is a quadratic form, the Hessian is 2 2 ( k2 , k2 )
k = vmax vmin
positive definite.
Proposition 3: The solution found on item 4 is a u2
global minimum of (10).
Proof: Since we have exhausted the candidate
solutions from the lowest to the highest cost, and they u4
are all global minimums for fixed , the final solution u2 u3 (0,k)

is a global minimum. k ( k2 , k2 )
The partial control allocation (PCA) scheme is based k
on the well known direct control allocation (DCA)
method [4]. The standard DCA method is described Fig. 3. Dodecahedron that defines the feasible set V. Generated
removing four slices of a regular octahedron.
as follows:
1) If ud U, then define v = M1 ud and the apply the inverse mapping (8) and constraints (9) to
problems is solved. find eight inequalities:
2) Otherwise, find R that solves the following 2
vmin 2
u1 /2 u2 + u4 /2 vmax
optimization problem: 2 2 , (17)
vmin u1 /2 u3 u4 /2 vmax
argmin : ||u ud || , with
s.t. : ud U. u1 = 21
t u1 2 2
vmin = 4vmin
This produces ud U. u2,3 = 2(lt )1 u2,3 and 2 2 . (18)
vmax = 4vmax
3) Define the solution v = M1 ud . u4 = 21
d u4

In other words, if ud 6 U, search for another vector Such that the direction of the torque components are
that preserves the direction of ud but leads to a virtual preserved, we partition the desired control vector as
control effort on U. ud = [u1 u T ]T , (19)
Many solutions to this problem have been proposed
(see [7] for a discussion on both linear and nonlinear and choose to maintain the direction of u . Since we
models). In this paper we propose a solution to a are not interested on u1 , the Fourier-Motzkin elimina-
slightly different problem, that is: tion [16] is used to project the polytope defined by (17)
Find a feasible solution on U that preserves the on u1 = 0, resulting in:
direction of a part of ud . For the remaining efforts,
u4 u3 u2
solve another PCA problem. k k , (20)
Note that the solution is not necessarily found in 2 2 . The boundaries of these
where k = vmax vmin
two steps, since one may choose to divide the desired
inequalities are characterized by twelve planes, each
control efforts vector into n components. However, it is
defined by a normal vector n R3 and a point
natural to split the control vector into force and torque
p0 R3 . A possible choice of normal vectors and
related efforts.
points for these planes is:
The motivation for this strategy is that: for some fast
vehicle maneuvers, meeting the desired torque control nT = {[1 1 1] , [1 0 0] , [0 1 0]} ,
is crucial. For example, consider a quadrotor avoiding p0 T = {[0 0 k] , [k/2 0 0] , [0 k/2 0]} .
an obstacle. In this scenario a worst altitude response
Then, disregarding u1 , we get the torque feasible set V
in exchange for a faster or more precise horizontal
and its boundary V, as depicted in the dodecahedron
movement might be preferred.
of Fig. 3.
A. Quadrotor Example From equation (21) and basic geometry, we compute
First, we compute the topology of U. To be more the values of such that u V, they are:
specific, we compute how the decoupling matrix M n p0
= (22)
maps the hypercube W defined by (9). To this end, we n u
The scalar may take three different values, depending controls the position, given by:
on the face of V that u intersects. Besides, for the
u1 = k1 (zd z) + k2 (zd z) + zd + mg , (27)
vector u to have the same sign as u , should be        
positive. Therefore, the solutions for are: ux xd x xd x 1 xd
= k3 + k4 +g , (28)
uy yd y yd y yd
2 2

2 v max v min
with k1 = 30, k2 = 10, k3 = 0.4, and k4 = 0.25.

(l )1 (|u | + |u |) + 1 |u |

t 2 3 d 4 The inner loop controls the attitude of the vehicle, it
= 2 2
 , (23)

(l t ) v max v min /u 2 consists of a Backstepping controller, given by:
2 2

(lt ) vmax vmin /u3


e1 e2 u
depending on the intersected face of V. Only the value u = J K1 e3 + K2 e4 + u y J,
of u1 remains to be computed. So, it is necessary to e5 e6 u1
consider (17), which yields the result: (29)
u1 2vmin + max{2 |u2 | u4 , 2 |u3 | + u4 } , e1 = ux , e2 = u x + k5 e1 wx , (30)
(24) e3 = uy , e4 = u y + k5 e3 wy , (31)
u1 2vmax max{2 |u2 | + u4 , 2 |u3 | u4 } .
e5 = u1 , e6 = u1 + k7 e5 wz , (32)
If the the value of u1 exceeds any of the boundaries
of (24), then it is set to the value of the violated with K1 = diag(1k52 , 1k52 , 1k72 ), K2 = diag(k5 +
constraint. k6 , k5 + k6 , k7 + k8 ), k5 = k6 = 20, k7 = 5.5, k8 = 4,
Finally, the PCA method applied to a quadrotor UAV and the rotated control vectors
is summarized as follows:
ux cos() sin() ux
= . (33)
Solution 2 (PCA): uy sin() cos() uy
1) If ud U, then define v = M1 ud and the The angles , , describe a yaw-pitch-roll represen-
problems is solved. tation of the rotation matrix R.
2) Otherwise, verify if u satisfies (20). If true, The attitude control law depends on the states third
make = 1 and jump to 4. derivatives. For simulation purposes a dirty derivative
3) Compute from (23). is used to generate these signals. For strategies that do
4) Verify if u1 satisfies (24). If not, set its value to not require these derivatives, see [5], [6], [10], [11].
that of the violated constraint. The quadrotor is initially
5) Define the solution v = M1 [u1 u T ]T .  placed with
T an initial pose
described by p(0) = 2 2 2 and R(0) =
Note that we start by computing U, but then focus Rz (/3). Where Rz (/3) is a simple rotation of 60
on its boundary U, since we know from Corollary 1 degrees about the z# b axis. At t = 0 the velocities
that U is the image of W.
T we send a pose step reference of pd =
are zero, and
0 0 1 and Rd = Rz (0).
The previous results are validated via simula- A. Discussion
tion using an Ascending Technologies Hummingbird Note that the vehicle starts from a saturated situation,
model [12], including drag and motor dynamics. From where it needs to decide whether to descend or to
this model we compute the saturation levels: move sideways and meet the desired yaw angle. The
saturated allocation, equations (5) and (9), is presented
178 vi 770, i. (25) in Fig. 4. In this case, there is a preference to meet
This implies the following propellers thrust force: the prescribed altitude first. As a result, the yaw angle
presents an extremely nonlinear dynamic, with 0.4
0.2 fi 3.8, i. (26) seconds time delay, and nonminimal-phase, and the
horizontal position reaches 1.9 m in the y -axis and
A high-level cascaded controller is implemented,
5 m in the x-axis before returning to the origin. In
following the PD and Backstepping structures proposed
contrast, the proposed PCA method favors the attitude
in [2]5 . The controller consists of a PD outer loop that
over the altitude. This results in an overall faster
Under the small angles assumption, both controllers can be transient response, in exchange for a small altitude
interpreted as a feedback linearization plus PD control of (6)-(7). undershoot. The DCA strategy was also tested, but it
(a) (d)
4 90 has precedence over the total thrust.
A future topic of research is to evaluate the WLS

Yaw [deg]
x [m]

simulated allocation strategy, and the performance impacts of
-6 -90 the PCA scheme to other systems. More elaborate
0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.5 1 1.5 2 2.5 3 3.5 4

(e) trajectories should also be studied in order to better
evaluate the proposed control allocation scheme.

Force [N]
y [m]

0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.5 1 1.5 2 2.5 3 3.5 4
[1] M. Bodson, Evaluation of optimization methods for control
(c) (f) allocation, J. of Guidance, Control, and Dyn., vol. 25, no. 4,
2.5 0.6
u2 pp. 703711, 2002.
Torque [N.m]
Altitude [m]

u4 [2] S. Bouabdallah, Design and control of quadrotors with
application to autonomous flying, Ph.D. dissertation, Ecole
Polytechnique Federale de Lausanne, 2007.
0.5 -0.6
0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.5 1 1.5 2 2.5 3 3.5 4 [3] G. Ducard and M.-D. Hua, Discussion and practical aspects
Time [s] Time [s]
on control allocation for a multi-rotor helicopter, in Int. Conf.
Fig. 4. Saturated control allocation. (a) to (c) vehicle position; (d) on Unmanned Aerial Vehicle in Geomatics, 2011.
yaw angle; (e) required thrust force and (f) required torques. [4] W. C. Durham, Constrained control allocation, J. of Guid-
(a) (d)
ance, Control, and Dyn., vol. 16, no. 4, pp. 717725, 1993.
4 90
[5] M.-D. Hua, T. Hamel, P. Morin, and C. Samson, Introduction
to feedback control of underactuated VTOL vehicles: A
Yaw [deg]

x [m]

0 review of basic control design ideas and principles, IEEE

Control Syst. Mag., vol. 33, no. 1, pp. 6175, 2013.
0 0.5 1 1.5 2 2.5 3 3.5 4
0 0.5 1 1.5 2 2.5 3 3.5 4
[6] H. Huang, G. M. Hoffmann, S. L. Waslander, and C. J.
(b) (e) Tomlin, Aerodynamics and control of autonomous quadrotor
4 15.2
u1 helicopters in aggressive maneuvering, in IEEE Int. Conf. on
Robot. and Autom., 2009, pp. 32773282.
Force [N]

y [m]

[7] T. A. Johansen and T. I. Fossen, Control allocation a

survey, Automatica, vol. 49, no. 5, pp. 10871103, 2013.
-6 0.8
0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.5 1 1.5 2 2.5 3 3.5 4 [8] T. A. Johansen, T. I. Fossen, and P. Tndel, Efficient optimal
(f) constrained control allocation via multiparametric program-
ming, J. of Guidance, Control, and Dyn., vol. 28, no. 3, pp.
Torque [N.m]
Altitude [m]

u4 506515, 2005.
[9] A. Marks, J. F. Whidborne, and I. Yamamoto, Control
allocation for fault tolerant control of a VTOL octorotor, in
0.5 -0.6
0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.5 1 1.5 2 2.5 3 3.5 4 UKACC Int. Conf. on Control. IEEE, 2012, pp. 357362.
Time [s] Time [s]
[10] D. Mellinger and V. Kumar, Minimum snap trajectory gener-
Fig. 5. Simulation results for the PCA scheme from Solution 2. ation and control for quadrotors, in IEEE Int. Conf. on Robot.
and Autom., 2011, pp. 25202525.
was not able to stabilize the vehicle, and its results are [11] D. Mellinger, N. Michael, and V. Kumar, Trajectory gen-
omitted. eration and control for precise aggressive maneuvers with
quadrotors, Int. J. of Robot. Research, vol. 31, no. 5, 2012.
[12] M. W. Mueller and R. DAndrea, Stability and control of a
quadrocopter despite the complete loss of one, two, or three
This work presents three control allocation methods, propellers, in IEEE Int. Conf. on Robot. and Autom., 2014,
pp. 4552.
which regard control boundary constraints, with appli- [13] Y. Zhang, A. Chamseddine, C. Rabbath, B. Gordon, C.-Y.
cations to quadrotor UAVs. The key idea is to choose an Su, S. Rakheja, C. Fulford, J. Apkarian, and P. Gosselin,
optimal solution to the control allocation problem when Development of advanced FDD and FTC techniques with
one or more actuators saturate. One advantage of the application to an unmanned quadrotor helicopter testbed, J.
of the Franklin Inst., vol. 350, no. 9, pp. 23962422, 2013.
proposed solutions is that they are calculated explicitly, [14] Q.-L. Zhou, Y. Zhang, C.-A. Rabbath, and D. Theilliol,
eliminating the need for numerical optimization algo- Design of feedback linearization control and reconfigurable
rithms. This might reduce the required computational control allocation with application to a quadrotor UAV, in
IEEE Int. Conf. on Control and Fault-Tolerant Syst. (SysTol),
cost for implementing the control allocation.
Nice, France, 2010, pp. 371376.
For the studied scenario, the implemented PCA so- [15] , Reconfigurable control allocation technology using
lution performs significantly better than the saturated WLS for nonlinear system in UAV, in 48th AIAA Aerospace
and the DCA methods. This fits the motivation for the Sci. Meeting, Orlando, Florida, 2010.
[16] G. M. Ziegler, Lectures on polytopes. Springer Science &
PCA scheme, since the proposed scenario requires a Business Media, 1995, vol. 152.
fast maneuver, where meeting the desired torque vector