You are on page 1of 6

CONTROL ALLOCATION: ENHANCING THE PERFORMANCE OF QUADROTORS

HIGH-LEVEL CONTROLLERS

Joao C. Monteiro, Fernando Lizarralde, Liu Hsu



Dept. of Electrical Eng., COPPE/Federal University of Rio de Janeiro, Rio de Janeiro, Brazil

Emails: jcmonteiro@poli.ufrj.br, [fernando, liu]@coep.ufrj.br

Abstract This paper studies four control allocations strategies with applications to quadrotor unmanned
aerial vehicles (UAVs). Control allocation determines how a desired control effort is distributed among the
available system inputs. When a system has more actuators than task degrees of freedom (DoF), this problem
poses itself naturally, since there are multiple actuators choices capable of generating the same control effort.
On the other hand, if the task DoF equals the number of actuators, unless some sort of saturation occurs, the
mapping between control effort and actuators inputs is unique. This is exactly the case for quadrotor UAVs.
To countermeasure this input saturation, four control allocation strategies are presented. The first is derived
from the well known weighted least squares (WLS) criterion optimization. To obtain a more predictable control
degradation, the direct control allocation (DCA) is introduced. Then, a generalization of the DCA, called partial
control allocation (PCA) is studied. The last studied control allocation strategy is a suboptimal variation of the
PCA (S-PCA). Simulations of the last three methods are conducted and their performance is compared.

Keywords Control Allocation, Quadrotor, UAV.

Resumo Este artigo estuda quatro estrategias de distribuicao de controle com aplicacoes a veculos aereos
nao-tripulados (VANTs) quadrirrotores. A distribuicao de controle determina como um esforco de controle
desejado e distribudo entre as entradas disponveis de um sistema. Quando um sistema possui mais atuadores
do que graus de liberdade (DoF) da tarefa, este problema surge naturalmente, dado que ha multiplas escolhas
de atuadores que produzem o mesmo esforco de controle. Em contrapartida, se a tarefa possui DoF igual a
quantidade de atuadores, a menos que ocorra saturacao, o mapeamento entre esforcos de controle e acao dos
atuadores e unico. Este e exatamente o caso para quadrirrotores. Para combater esta saturacao de entrada,
quatro estrategias de distribuicao de controle sao apresentadas. A primeira deriva diretamente da otimizacao do
criterio de mnimos quadrados ponderado (WLS). Visando obter uma degradacao mais previsvel do controle, o
metodo de alocacao direta (DCA) e introduzido. Em seguida, uma generalizacao do metodo, denominada PCA e
estudada. A ultima estrategia de distribuicao estudada e uma variacao subotima do PCA (S-PCA). Simulacoes
dos ultimos tres metodos sao conduzidas e o desempenho dos algoritmos e comparado.

Palavras-chave Distribuicao de Controle, Quadrirrotor, VANT.

1 Introduction tive is to redistribute the demand due to the fault


or loss of one or more propulsion groups. In con-
trast, we study the effects of actuator saturation
Control allocation determines how to share the
on control allocation of quadrotors, and how opti-
control demand between the multiple actuator
mization may be used to choose the best possible
systems. Since control allocation acts on a given
control vector.
control input, this stage can be treated indepen-
dently of the high-level motion controllers design. In this paper the results presented by Mon-
This separation is advantageous because both mo- teiro et al. (2016) are extended, and the pros and
tion control stages, i.e. high-level control and con- cons of each control allocation strategy are dis-
trol allocation, can be improved individually and cussed based on a simulated flight scenario. As-
then combined to enhance system performance. suming that saturation occurs and the prescribed
control demand cannot be met, four distinct con-
When a system possesses multiple control in- trol allocation methods are studied1 . The first
puts, the problem of control allocation appears attempt aims at minimizing a weighted quadratic
naturally. This happens because there are mul- criterion, reformulated as a QP problem. This re-
tiple actuators configurations that produce the formulation could reduce computational cost and
same control effort. This characterizes a re- allow real-time implementation of the algorithm,
dundant control allocation problem, as stated which is desirable for embedded systems. How-
by Ducard and Hua (2011), and is the case for ever, this solution does not guarantee that the
multirotors with more than four propellers. For generated efforts and the desired ones point in the
these redundant systems, there are several con- same direction. To solve this issue, the direct con-
trol allocation strategies present in the litera- trol allocation (DCA), a method that searches for
ture (Johansen and Fossen, 2013), such as lin- vectors that keep the desired control direction is
ear and quadratic programming, multi-saturation studied, and a simple closed solution is found. It is
anti-windup, and model predictive control. Re-
garding quadrotor UAVs, most of the research 1 If one considers that allowing the motors to saturate
is directed towards fault tolerant systems (Marks arbitrarily also characterizes control allocation, then there
et al., 2012; Yoon et al., 2016), where the objec- are actually five studied strategies.
# # where t > 0 is the rotor thrust coefficient and
f4 f1
d > 0 the rotor drag coefficient. From (3) and (4)
#
4 #
1
linear mapping from the vector of quadratic rotor
x# e x#
b speeds v R4 and the vector of control efforts
{E} {B}
#
f3
#
f2 u R4 is written. This mapping is characterized
y# e y#
#
g
b
by the decoupling matrix M R44 ,
# # u1

t t t t
2
v1
z#e 3
z#
b
2

u
2 0 lt 0 lt v22

= 2 . (5)

Figure 1: Free body diagram of a quadrotor with u3 lt 0 lt 0 v3
propellers arranged symmetrically around the cen- u4 d d d d v42
ter of mass, main propellers efforts, a body fixed | {z } | {z } | {z }
frame {B}, and an inertial frame {E}. u M v

shown that this solution might not exist, and does Then, the equations of motion are rewritten as
not ensure maximum attainable torque. These
points lead to the partial control allocation (PCA) mp = mgz u1 Rz , (6)
strategy, and the further development of the S- J = u2 x + u3 y + u4 z J . (7)
PCA, a suboptimal variation of the last. Finally,
the last three strategies are evaluated in a rapid Remark. From (5) it is clear that control allo-
ascent flight simulation. cation is not affected by possible changes in the
model, as previously stated.
2 Problem Formulation
2.2 Control Allocation Model
2.1 Rigid Body Dynamics
Note that the components u1 and u2,3,4 represent
Consider a quadrotor with four propellers, as a force along z# # #
b and torques about xb , yb , and
shown in Figure 1. Each propeller generates a #z, respectively. Consequently, u is the vector of
b
torque #i on the body, about its z#
b axis, that control efforts. High-level control strategies are
opposes the propeller rotation. The propellers synthesized from (6) and (7), using u as the con-
#
also generate forces fi on the body, along its z#
b trol input, see (Bouabdallah, 2007; Mellinger and
axis. The rotation from {E} to {B} is denoted by Kumar, 2011; Mellinger et al., 2012). These con-
R SO(3). trollers produce a desired control vector ud .
The position of the quadrotor center of mass, The inverse mapping, that produces the pro-
expressed in an inertial frame, is p R3 . Then, peller velocities from the efforts, is
the quadrotor translational dynamics are
2 lt 1
2
v1 l 0 u1

4 d
v 2 1
X
mp = mgz Rz fi , (1) 2 1 l 2
0 lt d u2
2 = .
v3 4lt l 0 2 lt 1 u3

i=1
d
where m is the vehicle mass, g the gravity mag- v42 l 2 0 lt 1
d
u4
nitude, and z = [0 0 1]T . Expressed in {B}, the | {z }
v
| {z } | {z }
u
M1
body angular velocity w.r.t. {E} is R3 , and (8)
it is governed by the dynamic equation
Although this matrix is invertible, the inverse
l (f4 f2 )
mapping might produce an unreachable velocity
J + J = l (f1 f3 ) , (2)
vector v. This is because actuators are subject to
(2 1 + 4 3 )
bound constraints. Therefore, the control alloca-
where l is the distance from the body center of tion of a quadrotor UAV is formulated as follows:
mass to the propellers, and J R33 the body Find v from (8), subject to
inertia matrix. 2
As discussed in (Bouabdallah, 2007), since the 0 vmin vi2 vmax
2
, i, (9)
propellers direction of rotation does not change, that best meets the desired control vector ud .
the forces and torques generated by the propul- Inequality (9) defines a feasible set W. Nat-
sion groups are written in terms of the propellers urally, if the value obtained when ud is applied
velocities vi squared, such as2 : to (8) lies inside W, the solution is trivial. Fur-
fi = t vi2 , (3) thermore, (5) maps W into a feasible set of control
efforts U. Hence, if ud U the solution is also
i = d vi2 , (4) straightforward.
2 If the propellers are allowed to change the rotation In general, the boundary U of the feasible
direction, the term vi2 is changed to |vi | vi . set U is obtained from W, but it may not be
the image of W (Durham, 1993). This happens
when points on W are mapped into the interior
of U. Nonetheless, since the mapping is a homeo-
morphism, U is a simple image of W, obtained
from (5) (Monteiro et al., 2016).

3 Control Allocation (a) (b) (c)


3.1 Quadratic Programming (QP) Figure 2: According to Proposition 2, sets (b) and
Assuming the desired control vector violates (9), (c) admit a solution, while set (a) does not.
it needs to be adjusted. Ideally, this choice should
1. Find R that solves the following opti-
follow some optimization criterion. The weighted
mization problem:
least squares (WLS) is a good first attempt in this
direction, as it finds u that minimizes the distance min : ||ud ud ||2 ,
between ud and u.
ud U (13)
Then, consider the following WLS constrained s.t. :
optimization problem to find the control u: >0
2
min : ||W(u ud )||2 , 2. Define the solution v = M1 ud .
   2 
I vmax 1
s.t. : v = AM1 u 2 , (10) Therefore, if ud U it follows that = 1
I vmin 1
| {z } | {z } solves (13) and v U . Otherwise, the solution
A b is projected onto the nearest point on U that
keeps the direction of ud . It is worth noting that
where W R44 is a weighting matrix with full
a solution to (13) may not exist. In such cases,
rank, I R44 an identity matrix, and 1 R4
one might use the QP formulation (12), or one of
a vector of ones. This equation can be readily
the techniques presented on Sections 3.3 and 3.4.
rewritten in the usual QP format:
min : uT Qu u, Proposition 1 Given the desired motors squared
(11) velocities vd 6 U , the solution of (13), when it
s.t. : Au b,
exists, is
with Qu = WT W, A = AM1 , b = b Aud , ( 2 2
and u = u ud . vmax / ||vd || , ||vd || > vmax
= 2
. (14)
The constrains posed by equation (11) define vmin / ||vd || , otherwise
a convex polytope. However, QP solvers per-
form better with bound constraints. Therefore, Proof: Since W is a hypercube, the proof
from (5), (8) and (9) the optimization is reformu- that from (14) is such that vd W and
lated for v as: ||vd vd ||2 is minimum follows from simple ge-
ometry3 . From (5) and the homeomorphism prop-
min : vT Qv v,
(12) erty, we have that ud U and ||ud ud ||2 is
2 2
s.t. : vmin (vd )i (v)i vmax (vd )i , also minimum. 
with Qv = (WM)T (WM), v = v vd , vd = Proposition 2 Let fill(U) be the set that fills the
M1 ud , and (x)i denoting the i-th component of holes of U, if it has any. Then, a solution to (13)
the vector x. exists ud iff {0} is an interior point of fill(U).
To solve (12) there are very efficient QP Proof: See Appendix A. 
solvers there are suitable for real-time implemen-
Remark. The DCA solution given in Proposi-
tation. For instance, Petersen and Bodson (2006)
tion 1 might not be valid, since fill(U) = U 6 {0}.
propose active set algorithms, and Harkegard
(2002) propose an interior point algorithm.
This result is illustrated in Figure 2, where three
different sets are compared. The last two always
3.2 Direct Control Allocation (DCA)
admit a solution, while the first, which corre-
Instead of finding a vector that minimizes the l2 sponds to the quadrotor DCA problem, does not.
distance, a solution that is very common in flight
control applications is the direct control allocation 3.3 Partial Control Allocation (PCA)
(DCA) (Durham, 1993). The DCA objective is to
keep the direction of the desired control vector, The PCA problem (Monteiro et al., 2016) searches
while allocating a feasible control vector. For a for solutions u U that preserve the direction of
mapping such as (5) and (8), the following steps 3 Note that in (14) is such that the largest (smallest)

describe the DCA method: component of vd is saturated to the closest bound


u4 u3 that yields u U . The remaining force is
left unchanged, unless it violates any of
2
k = vmax 2
vmin ( k2 , k2 )
2
u1 8vmin + max{2 |u2 | u4 , 2 |u3 | + u4 }
u2 2
u1 8vmax max{2 |u2 | + u4 , 2 |u3 | u4 }
(18)
u4 which is written in normalized coordinates.
u3 (0,k)
u2 If (18) is violated, the force is set to the corre-
k ( k2 , k2 ) sponding constraint value.
2
u2,3 Proof: See Appendix B. 
k
3.4 Suboptimal PCA (S-PCA)
Figure 3: The feasible moments dodecahedron U .
Given an unattainable u , the PCA algorithm
To generate U , cut a regular octahedron on u2 =
finds the maximum attainable moments vector
k/2 and u3 = k/2.
that points in the same direction as u . How-
some subvector of ud . For the remaining efforts, ever, the computation requires perfect knowledge
another optimization problem is solved if needed. of the elements of M, which might be unavail-
The underlying motivation for choosing the able. To avoid this situation, the S-PCA, a subop-
PCA is to adapt the original objective of the timal solution of the PCA algorithm, is proposed.
DCA, that is: produce a predictable degrada- This solution only requires the propellers to be
tion of forces and moments (Johansen and Fos- balanced, and knowledge of their maximum and
sen, 2013). Instead, one should firstly determine minimum angular velocities. Therefore, with the
to meet either one, and then optimize the other. assumption that vd is given, the solution is built
without knowledge of the matrix M elements.
Choosing to partition the control vector in
2 2
ud = [(ud )1 u T ]T , (15) Proposition 4 Let (vc )i = (vmax + vmin )/2 and
2 2
vmax vmin
we fix the direction of u , define the correspond- = . (19)
ing feasible set, and solve the DCA problem for 2 ||vd vc ||
it. From (9) it can be shown that this set U of Then, the vector v = vd + (1 )vc W.
all attainable moments u is the dodecahedron of
Figure 3. This is effectively the projection of U Proof: Define the affine transformation T (v) =
onto the hyperplane u1 = 0, i.e. from R4 to R3 . v vc , that shifts W such that T (W) is centered
Remark. For quadrotors, an important advan- on the origin. Use the DCA method to find the
tage of the PCA over the DCA, is that it always optimum T (vd ) T (W), with from (19).
admits a solution, since fill(U ) = U {0}. Since T (W) satisfies Proposition 2, this solution
always exists. Shift this solution back to W, yield-
To solve the problem (5) is used to map the
ing v = T 1 (T (vd )) = vd + (1 )vc . Since
inequalities in (9). Then, define the normalized
the described transform is homeomorphic, T (W)
efforts u1 = 21 t u1 , u2,3 = 2(lt )
1
u2,3 , and
1 is mapped back to W, and the solution cannot
u4 = 2d u4 . After some simplifications, one finds
be further optimized. 
three possible values for :
2
2 vmax 2
vmin
 Proposition 5 The vector v = vd + (1 )vc
1 = , is a suboptimal solution of the PCA method that
(lt )1 (|u2 | + |u3 |) + 1
d |u4 | preserves the desired moments vector direction.
2 2 (16)
2 = (lt )(vmax vmin )/ |u2 | ,
2 2 Proof: From (5), for an equal velocity among the
3 = (lt )(vmax vmin )/ |u3 | . propellers no torque is produced. Therefore,
The value 1 corresponds to vectors ud that in-  T
u = Mv = ud + 0 0 0 , (20)
tersect the regular octahedron, while 2 and 3
correspond to an ud that intersects u2 = k/2 which shows that the desired torque vector is
and u3 = k/2, respectively. Therefore, is cho- scaled according to u . Hence, its direction is
sen according to the intersected face. preserved. To prove that the u = ud might be
suboptimal, note that v W u U.
Proposition 3 Given 1 , 2 , and 3 from (16), However, u U = 6 u U , since points
the PCA solution is on U are mapped in the interior int(U ) of U .
Therefore, ud such that u U but u
= min {1 , 2 , 3 } (17) int(U ) u 6 U . 
(a) (c)
4 Simulation Results 600 2

Altitude [m]
simulated
400

y [m]
reference 0
The previous results are validated in MATLAB 200
0 -2
with an Ascending Technologies Hummingbird 0 2 4 6 0 2 4 6
(b) (d)
model (Mueller and DAndrea, 2014) that includes 2 10

Yaw [deg]
drag and first order motor dynamics with time 0

x [m]
0
constant 0.015 s. From this model the saturation 10
-2 20
levels are computed, yielding 0 2 4 6
(e)
0 2 4 6

20
u1
178 rad/s vi 770 rad/s, i. (21)

Force [N]
10 15.4

14.8
This implies the following propellers thrust force: 0
0 2 4 6
(f)
0.5
0.2 N fi 3.8 N, i. (22)

Torque [N.m]
u2
u3
0 u4

A high-level cascaded controller is imple- -0.5


0 2 4 6
mented, following the PD and Backstepping used Time [s]

in (Monteiro et al., 2016). The controller con- Figure 6: Simulation results for the PCA.
sists of a PD outer loop that controls the posi- (a) (c)
tion, while the inner loop controls the attitude 600 2

Altitude [m]
simulated
400
of the vehicle through the Backstepping tech-

y [m]
reference 0
200
nique (Bouabdallah, 2007). 0 -2
0 2 4 6 0 2 4 6
(b) (d)
(a) (c) 2 200

Yaw [deg]
2
x [m]
Altitude [m]

500 simulated 0 0
y [m]

reference 0
-2 -200
0 2 4 6 0 2 4 6
0 -2 (e)
0 2 4 6 0 2 4 6
(b) (d) 20
u1
2 200
Force [N]
Yaw [deg]

100 10 15.4
x [m]

0
0 14.8
-2 100 0
0 2 4 6 0 2 4 6 0 2 4 6
(e) (f)
0.5
Torque [N.m]

20 u2
u1
u3
Force [N]

0 u4
10 15.4

-0.5
14.8 0 2 4 6
0
0 2 4 6 Time [s]
(f)
0.5 Figure 7: Simulation results for the S-PCA.
Torque [N.m]

u2
u3
0 u4
To evaluate the methods the quadrotor is re-
-0.5
0 2 4 6 quired to ascend with 2g acceleration, i.e. along
Time [s]
z#e , hold a fixed yaw angle, and describe a circle
Figure 4: Unmanaged rotors saturation. (a) to of radius 1.5m on the xy-plane.
(c) vehicle position; (d) yaw angle; (e) required
thrust force and (f) required torques.
4.1 Discussion
(a) (c)
600 2
Altitude [m]

400
simulated If one considers the whole simulation, the vehicle
y [m]

reference 0
200 stability is guaranteed only when the PCA strat-
0
0 2 4 6
-2
0 2 4 6 egy is used. None of the other algorithms were
(b) (d)
2 200
capable of achieving this performance. Nonethe-
less, both the DCA and S-PCA, which does not
Yaw [deg]
x [m]

0 0
depend directly one M, maintained the stability
-2 -200
0 2 4 6 0 2 4 6 for a limited time. Comparing these two, the DCA
(e)
20
u1
method showed a better overall performance, that
degraded only after 5 s. At this point the vehicle
Force [N]

10 15.4
had already achieved 200 m. Therefore, depend-
14.8
0
0 2 4 6
ing on the duration of the prescribed maneuver,
(f) this could be satisfactory. The case depicted in
0.5
Torque [N.m]

u2
u3
Figure 4 represents the case where no control al-
u4
0
location strategy is used and the propellers satu-
-0.5
0 2 4 6 rates arbitrarily. This is evidently the worst per-
Time [s] formance, and the vehicle was not able to follow
Figure 5: Simulation results for the DCA.
the trajectory at all. not convex. Since we know that U is convex, by
contradiction = min{1 , 2 , 3 }. 
5 Conclusion
References
This work studied four control allocation strate-
gies, which regard control bound constraints. Bouabdallah, S. (2007). Design and control of
These strategies were tested via simulations on a quadrotors with application to autonomous
quadrotor UAV model. The first strategy was a flying, PhD thesis, Ecole Polytechnique Fed-
reformulation of the WLS allocation as a QP prob- erale de Lausanne.
lem. The motivation for this was to reduce com- Ducard, G. and Hua, M.-D. (2011). Discussion
putational cost, which favors real-time implemen- and practical aspects on control allocation for
tation on embedded systems. Secondly, a simple a multi-rotor helicopter, Int. Conf. on Un-
solution to the DCA method was deduced. How- manned Aerial Vehicle in Geomatics.
ever simple, we showed that this solution might
not exist. Then, the PCA method and its solution Durham, W. C. (1993). Constrained control al-
were restated. Besides generating higher torques, location, J. of Guidance, Control, and Dyn.
the solution was proved to exist for every desired 16(4): 717725.
control effort. Noticing that the exact knowledge
Harkegard, O. (2002). Efficient active set algo-
of the matrix M elements, required for the PCA
rithms for solving constrained least squares
solution, might be unavailable, we proposed the
problems in aircraft control allocation, IEEE
S-PCA strategy. The solution obtained through
Conf. on Dec. and Contr., Vol. 2, IEEE,
the S-PCA is suboptimal when compared to that
pp. 12951300.
of the PCA, but it does not require this previous
knowledge. Johansen, T. A. and Fossen, T. I. (2013).
All but the QP strategy were evaluated via Control allocation a survey, Automatica
simulation. The case where no explicit control al- 49(5): 10871103.
location strategy is employed, and therefore sat-
Marks, A., Whidborne, J. F. and Yamamoto, I.
uration is not managed, stressed the importance
(2012). Control allocation for fault tolerant
of control allocation. Applying any of the other
control of a VTOL octorotor, UKACC Int.
methods improved the performance significantly.
Conf. on Control, IEEE, pp. 357362.
The unstable response observed using the DCA
strategy might be due to its lower attainable Mellinger, D. and Kumar, V. (2011). Minimum
torque, when compared to the PCA. Therefore, a snap trajectory generation and control for
study on which flight situations result in the un- quadrotors, IEEE Int. Conf. on Robot. and
solvability of the DCA scheme is still necessary. Autom., pp. 25202525.
Mellinger, D., Michael, N. and Kumar, V. (2012).
A Proof of Proposition 2 Trajectory generation and control for precise
aggressive maneuvers with quadrotors, Int.
Definition 1 Let S Rn be a compact connected J. of Robot. Research 31(5).
set. Then a hole Hi of S is any bounded connected
subset of the complement of S. Monteiro, J. C., Lizarralde, F. and Hsu, L.
(2016). Optimal control allocation of quadro-
Definition 2 The set that fills the holes of S is tor UAVs subject to actuator constraints,
fill(S) = S H1 . . . Hk . American Contr. Conf., IEEE.
Mueller, M. W. and DAndrea, R. (2014). Sta-
The proof follows defining a line ud , with > 0
bility and control of a quadrocopter despite
and an arbitrary direction ud . From the above
the complete loss of one, two, or three pro-
definition, it is clear that this line intersects U
pellers, IEEE Int. Conf. on Robot. and Au-
ud iff fill(U) {0}. If this line intersects U,
tom., pp. 4552.
then > 0 such that ud U. 
Petersen, J. A. and Bodson, M. (2006). Con-
B Proof of Proposition 3 strained quadratic programming techniques
for control allocation, IEEE Trans. on Con-
Consider the infinite planes Pi , i = 1, . . . , 12, trol Syst. Tech. 14(1): 9198.
that contain the faces of U . The values 1 to
Yoon, H.-J., Cichella, V. and Hovakimyan,
3 project u on three of these planes, without
N. (2016). Robust adaptive control al-
changing its direction. By contradiction, suppose
location for an octocopter under actuator
that 6= min{1 , 2 , 3 } solves the PCA prob-
faults, AIAA Guidance, Navigation., Con-
lem. This is iff u intersects a plane Pk in the
trol, Conf., p. 0635.
interior of U Pk U 6 U U is

You might also like