Content uploaded by Yao Su

Author content

All content in this area was uploaded by Yao Su on Aug 14, 2021

Content may be subject to copyright.

IEEE ROBOTICS AND AUTOMATION LETTERS. PREPRINT VERSION. ACCEPTED JULY, 2021 1

Nullspace-Based Control Allocation of Overactuated

UAV Platforms

Yao Su†, Pengkang Yu†, Matthew J. Gerber, Lecheng Ruan, and Tsu-Chin Tsao

Abstract—Multirotor copters with full six Degree of Freedom

(DoF) maneuvering are often overactuated. The control allocation

of overactuated UAV platforms can have an inﬁnite number of

solutions due to their redundancy. The most common allocation

framework is based on Force Decomposition (FD), which provides

a robust least-square solution and is easy to implement, but it does

not account for input constraints. A control allocation framework

based on Quadratic Programming (QP) can take input con-

straints; however, it will introduce linear approximation error and

it has not been formulated and implemented on physical systems.

In this paper, we propose a nullspace-based allocation framework

for overactuated UAV platforms that combines the advantages

of the FD-based framework and QP-based framework. Our

proposed nullspace-based framework can take input constraints

while eliminating the linear approximation error in the control

allocation. It is also robust against controller sampling frequency

and measurement noise. These three allocation frameworks are

implemented and compared on our novel overactuated UAV

platform in simulation to evaluate the robustness of the proposed

method and in experiment for a vertical rotation trajectory to

demonstrate its performance.

Index Terms—Control allocation, overactuated UAV, nullspace,

optimization, approximation error, projection

I. INTRODUCTION

OVERACTUATED multirotor unmanned aerial vehicles

(UAVs) have recently gained interest in research labs

due to their advantages in overcoming the coupled position and

attitude control problem in collinear multirotor UAVs [1]. As a

result, they are suitable for more challenging applications that

traditional multirotors are incapable of, such as exploration in

constrained spaces and non-level takeoff or landing. The redun-

dant actuation improves fault tolerance and energy efﬁciency as

well [2]. However, the overactuation also introduces additional

challenges on how to effectively allocate desired force and

torque commands in the presence of an inﬁnite number of

possible solutions. This challenge is known as the control-

allocation problem in overactuated UAVs, which is the key to

take full advantage of the redundancy of these systems.

Many studies have been conducted in the past two decades

to address this control-allocation problem and several strate-

gies have been proposed. Ryll et al. implemented a control

algorithm on a tilt-rotor quadcopter platform and proposed an

optimized allocation strategy that considered input redundancy

†Equal contribution.

Manuscript received: February 24, 2021; Revised: June 9, 2021; Accepted:

July 26, 2021. This paper was recommended for publication by Editor Pauline

Pounds upon evaluation of the Associate Editor and Reviewers’ comments.

Y. Su, P. Yu, M.J. Gerber, L. Ruan, and T. Tsao are with Mechanical and

Aerospace Engineering Department, University of California, Los Angeles.

e-mails: {yaosu, paulyu1994, gerber211, ruanlecheng, ttsao}@ucla.edu.

Digital Object Identiﬁer (DOI): see top of this page.

[3]. However, this allocation framework relies on taking the

derivative of the dynamics, which requires accurate accelera-

tion measurements or estimation. Another solution provided

by Kamel et al. used Force Decomposition (FD) to trans-

form the nonlinear allocation problem into a linear one [4],

which is solvable by the least-square method. Although this

approach is implemented on a physical platform and is proven

to be effective, it cannot take any arbitrary input constraint

into consideration (e.g. input saturation), and could lead to

instability when tracking challenging trajectories that trigger

the constraints [5].

Quadratic Programming (QP)-based framework introduced

in [6] can handle both inequality and equality constraints by

formulating the allocation problem as a QP problem. It relies

on the ﬁrst-order Taylor series expansion to transform a nonlin-

ear equality constraint to an approximate linear equality con-

straint. However, this approximation continuously introduces

additional error into the system, crippling its applicability to

physical platforms. Similarly, some other advanced strategies,

such as unconstrained least-squares [7], nonlinear optimization

[8], nullspace-based input reconﬁguration [9], and SVD-based

frameworks [10], are demonstrated only in simulations with

relatively simple dynamics models, despite their theoretical

formulations and merits.

The existing literature indicates a gap between (1) the classic

FD-based framework that works well in physical platforms but

cannot account for system constraints and (2) the QP-based

framework that handles input constraints but has not been

successfully formulated and implemented for real hardware. To

ﬁll this gap, we ﬁrst review and analyze both the FD- and QP-

based frameworks and investigate their shortcomings. Then,

we propose a nullspace-based control allocation framework for

overactuated UAVs, which uses the constrained QP to solve

for a high-quality initial guess of the desired control input,

and then projects that initial guess onto the nullspace of the

allocation matrix to ﬁnd the real control input.

In this paper, we will implement all three frameworks on

our overactuated multirotor UAV platform to comprehensively

evaluate their robustness in simulation and verify their perfor-

mance in experiment. This platform (Fig. 1) has a similar high-

level dynamics compared to the twist-and-tilt rotor quadcopter

platforms presented in [11] and [12]. We compare the perfor-

mance of the three frameworks under kinematic-singularity in

tracking a vertical rotation trajectory.

Because the proposed nullspace-based framework can in-

clude both inequality and equality constraints, it can han-

dle kinematic-singularity condition well comparing with the

traditional FD-based framework. Meanwhile, the nullspace

projection eliminates the error introduced by the nonlinear

2 IEEE ROBOTICS AND AUTOMATION LETTERS. PREPRINT VERSION. ACCEPTED JULY, 2021

constraint approximation and ﬁnds an exact solution, which

is more robust against measurement noise and controller sam-

pling frequency than the QP-based framework. Our method

is capable of combining the advantages of these two existing

frameworks while avoiding the known issues, exhibiting more

robust and superior performance.

The remainder of the paper is organized as follows. The

dynamic model of our overactuated UAV platform with passive

gimbal mechanism and the related hierarchical control struc-

ture is described in Section II. Section III reviews two existing

FD- and QP-based control allocation frameworks and presents

the proposed nullspace-based framework for control allocation.

Section IV shows the simulation studies for investigating the

effect of parameters inside the nullspace-based framework and

comparing the robustness of three control allocation frame-

works. Section V presents the simulation and experimental

results of three control allocation frameworks implemented

on our overactuated UAV platform to track a vertical rotation

trajectory. The conclusion is addressed in Section VI.

II. DYNAMICS MODE L AN D CON TROL STRUCTURE

A. Dynamics Overview

The overactuated UAV platform to evaluate three allocation

frameworks (Fig. 1) consists of four traditional mini quad-

copters attached to the central frame via passive gimbal joints

with two DoF that are perpendicular to each other, and the

joint angles are independently controlled by torques of each

quadcopter [13]. The passive joints have unlimited ranges of

angulation, so the thrust vector generated by the quadcopter

can be pointed at any direction. Under the control framework,

each quadcopter provides thrust force with variable magnitude

and direction deﬁned by the two-DoF gimbal, resulting in a

system with 12 DoF in total. The corresponding coordinate

frames are shown in Fig. 1.

The dynamic model of this platform can be simpliﬁed

as a rigid body subjected to four thrusts generated by the

quadcopters

¨

ξ

ξ

ξ

˙

ν

ν

ν=1

m

WR

R

RB0

0

0

0

0

0I

I

I−1J

J

Jξ

J

J

JνT

T

T+G

G

G

0

0

0,(1)

where ¨

ξ

ξ

ξand ˙

ν

ν

νare the linear and angular acceleration of the

central frame respectively, mand I

I

Iare the total mass and

inertia matrix of the platform, G

G

Gis gravitational acceleration

in FW,WR

R

RBis the rotation matrix from FBto FW. And

J

J

Jξ="sβ1sα2cβ2−sβ3−sα4cβ4

−sα1cβ1sβ2sα3cβ3−sβ4

cα1cβ1cα2cβ2cα3cβ3cα4cβ4#(2)

J

J

Jν=l"0cα2cβ20−cα4cβ4

−cα1cβ10cα3cβ30

−sα1cβ1−sα2cβ2−sα3cβ3−sα4cβ4#(3)

T

T

T= [T1T2T3T4]T(4)

where s [·]and c [·]are simpliﬁed notation for sin [·]and cos [·],

lis the distance from each quadcopter geometric center to

the geometric center of central frame, αiand βiare the joint

angles of gimbal i, and Tiis the magnitude of the thrust force

generated by quadcopter i.

Fig. 1: Prototype and coordination system of the overactuated UAV

platform. Each of the four traditional quadcopters is mounted on a

two-DOF passive gimbal with equal distance to the center of main

frame to generate three-dimensional thrust force.

B. Hierarchical Control Architecture

The developed controller has a hierarchical structure with

three parts [3]. The high-level controller is based on the rigid-

body dynamics model and provides the desired force and

torque inputs for the overall platform. A control allocation

is designed to map the overall force and torque inputs to the

desired joint angles and thrusts for individual quadcopters with

gimbals. A low-level controller is designed for each quadcopter

to track the desired inputs with fast response. The control

diagram is shown in Fig. 2.

C. Position and Attitude Control

Feedback linearization is implemented to obtain the desired

control input u

u

udas

u

u

ud=mWR

R

RT

B0

0

0

0

0

0I

I

Iu

u

uξ

u

u

uν−G

G

G

0

0

0=J

J

Jξ

J

J

JνT

T

T=B

B

B(α

α

α, β

β

β)T

T

T(5)

where α

α

α= [α1· · · α4]Tand β

β

β= [β1· · · β4]T.

With the feedback linearization controller Eq. (5) and the

platform dynamics Eq. (1), the system becomes

¨

ξ

ξ

ξ

˙

ν

ν

ν=u

u

uξ

u

u

uν(6)

where u

u

uξand u

u

uνare virtual inputs for position and attitude

control. These two virtual inputs can be designed by a con-

ventional LQR controller [13] or second-order PID tracking

controller [14].

III. CON TRO L ALL OC ATIO N MET HO DS

This section starts with outlining two commonly used al-

location methods based on FD and QP respectively. Their

advantages and disadvantages are discussed. This motivates

us to propose a novel nullspace-based allocation framework

that combines the merits of the two existing methods. The

computing logic of these three allocation frameworks are

shown in Fig. 3.

A. Nominal Allocation by Force Decomposition

The control-allocation problem is to solve the desired joint

angles α

α

α,β

β

βand thrust forces T

T

Tfrom Eq. (5) given the control

u

u

ud, which is a nonlinear mapping. One intuitive solution can

SU et al.: NULLSPACE-BASED CONTROL ALLOCATION OF OVERACTUATED UAV PLATFORMS 3

Fig. 2: Hierarchical control structure for the overactuated UAV platform. The high-level position and attitude tracking controller gives u

u

uξ

and u

u

uνto the allocation. The whole-body input is then allocated as the desired thrusts and joint angles for each quadcopter. Each quadcopter

regulates its joint angles and thrust with an onboard low-level controller.

be found in [4], which uses FD to transform this nonlinear

mapping to a linear mapping problem. The thrust vector of

each quadcopter on the two-DOF gimbal can be expressed as

F

F

Fi="Fix

Fiy

Fiz #=Ti"sβi

−sαicβi

cαicβi#,(7)

and we deﬁne the combined thrust vector as

F

F

F=F

F

FT

1F

F

FT

2F

F

FT

3F

F

FT

4T(8)

Then Eq. (5) can be transformed into,

u

u

ud=B

B

B(α

α

α, β

β

β)T

T

T=W F

W F

W F (9)

where

W

W

W=

1 0 0 . . . 0 1 0

0 1 0 . . . −1 0 0

0 0 1 . . . 0 0 1

0 0 0 . . . 0 0 −l

0 0 −l . . . 0 0 0

0l0. . . 0l0

(10)

W

W

W∈R6×12 is a constant allocation matrix and it is in full

row rank because the UAV platform is overactuated. Therefore,

Moore–Penrose pseudoinverse W

W

W†can be applied such that

W

W

WW

W

W†=I

I

I6.

Then F

F

Fcan be calculated with the general form

F

F

F=W

W

W†u

u

ud+N

N

NWZ

Z

Z(11)

where N

N

NW∈R12×6is the nullspace of W

W

Wand Z

Z

Z∈R6×1is

an arbitrary vector. The least-squares solution is obtained by

setting Z

Z

Z= 0 to minimize the control effort. The inputs of

each individual quadcopter can be uniquely determined by

Ti=qF2

ix +F2

iy +F2

iz

αi=atan2(−Fiy, Fiz )

βi=asin(Fix

Ti

)

(12)

where atan2 (·,·)is the quadrant-corrected arc-tangent function

with two inputs. Therefore, this framework can provide a

feasible solution (T

T

T , α

α

α, β

β

β)to the control allocation problem

Eq. (5) deﬁned by Eqs. (11) and (12).

This FD-based allocation framework can be implemented

with high controller sampling frequency because of its sim-

plicity. It provides a least-square solution which minimizes the

control effort, and it is robust towards sampling frequency and

measurement noise. However, constraints such as thrust-force

saturation and maximum angular velocity of the tilting angle

cannot be implemented with this framework. When the plat-

form is tracking some challenging trajectory, this framework

could generate a desired thrust force greater than the motor

saturation value, leading to instability [15].

In addition, the FD-based framework cannot handle the

kinematic-singularity problem [16]. From Eqs. (7) and (12),

when βi=±π

2,Fiy and Fiz are zero, and αican be any

angle. Therefore, βi=±π

2is deﬁned as the kinematic singular

conﬁguration for the gimbal. Near this singular conﬁguration,

αiwill rapidly change with small perturbations on Fiy and Fiz ,

making the gimbal ill-conditioned. The singularity problem can

be resolved by limiting the maximum ˙αiin control allocation.

The QP-based allocation framework is motivated by addressing

the control saturation constraints and gimbal singularity issues

and is introduced next.

B. Quadratic Programming-Based Allocation Framework

The QP-based allocation framework for general control

allocation problem has been proposed to impose linear equality

and inequality constraints [6]. To avoid kinematic singularity

by directly having constraints on T

T

T,α

α

α,β

β

βand their derivatives,

this framework uses ﬁrst-order Taylor expansion to approx-

imate the nonlinear equality constraint by a linear equality

constraint. The nonlinear input mapping for the UAV platform

in Eq. (5) is linearly approximated as follows:

s

s

s+B

B

B(α

α

αo, β

β

βo)∆T

T

T+∂

∂α

α

α(B

B

B(α

α

α, β

β

β)T

T

T)α

α

α=α

α

αo

β

β

β=β

β

βo

T

T

T=T

T

To

∆α

α

α

+∂

∂β

β

β(B

B

B(α

α

α, β

β

β)T

T

T)α

α

α=α

α

αo

β

β

β=β

β

βo

T

T

T=T

T

To

∆β

β

β=u

u

ud−B

B

B(α

α

αo, β

β

βo)T

T

To

(13)

where T

T

To,α

α

αo,β

β

βoare values of T

T

T,α

α

α,β

β

βat the previous time

step, ∆[·]is the difference with respect to the previous time

step of a variable, and s

s

sis a slack variable.

Then a QP problem can be formulated to solve for the

optimal solution at each time step under the objective function

J

J

J(∆X

X

X, s

s

s) = ∆X

X

XTP

P

P∆X

X

X+s

s

sTR

R

Rs

s

s(14)

with X

X

Xdeﬁned as

X

X

X=T

T

TTα

α

αTβ

β

βTT(15)

where P

P

P,R

R

Rare constant gain matrices.

4 IEEE ROBOTICS AND AUTOMATION LETTERS. PREPRINT VERSION. ACCEPTED JULY, 2021

Fig. 3: Computing logic of three allocation frameworks. FD-based framework (dashed blue arrows) converts the nonlinear allocation problem

to a linear mapping, and acquires a least-square solution by setting Z

Z

Z= 0 in the general solution. QP-based framework (dotted orange

arrows) transforms the allocation problem to a constrained QP with Taylor expansion, but it only generates an approximate solution. The

nullspace-based framework (solid green arrows) formulates the constrained QP problem with extra constraints, and projects the approximate

solution onto the nullspace of the allocation matrix to obtain an exact solution.

The QP-based framework can also include inequality con-

straints to limit the value of a variable or its rate of change as

X

X

Xmin −X

X

Xo≤∆X

X

X≤X

X

Xmax −X

X

Xo(16)

∆X

X

Xmin ≤∆X

X

X≤∆X

X

Xmax (17)

with Eqs. (13) to (17), the optimal ∆X

X

Xcan be solved and the

desired inputs for the current time step can be determined by

X

X

X=X

X

Xo+ ∆X

X

X(18)

The ﬁrst-order linear approximation in every time step

will continuously introduce disturbances to the system by

the approximation error, which violates the nonlinear equality

constraint in Eq. (5). In addition, this framework is not robust

against controller sampling frequency and measurement noise,

as will be shown in Section IV-C, making its effectiveness on

hardware implementation uncertain.

C. Nullspace-Based Allocation Framework

To overcome the limitations of QP-based control allocation

frameworks discussed above while preserving its advantages,

we propose a novel nullspace-based allocation framework,

which eliminates the approximation error in two steps. In the

ﬁrst step, the QP problem (Eqs. (13) to (17)), is modiﬁed

and solved, where the equality constraint Eq. (13) is replaced

and additional term on the objective function is introduced

(step1). Then, the solution from step1 with the approximate

linear equality constraints is projected onto the nullspace of

the allocation space to eliminate the linear approximation error

and satisfy the nonlinear equality constraints (step2).

Instead of using Eq. (13), the general solution of the nominal

allocation strategy Eq. (11) can be approximated as a linear-

equality constraint,

s

s

s+F

F

F(T

T

To, α

α

αo, β

β

βo) + ∂F

F

F

∂α

α

αα

α

α=α

α

αo

β

β

β=β

β

βo

T

T

T=T

T

To

∆α

α

α+∂F

F

F

∂β

β

βα

α

α=α

α

αo

β

β

β=β

β

βo

T

T

T=T

T

To

∆β

β

β

+∂F

F

F

∂T

T

Tα

α

α=α

α

αo

β

β

β=β

β

βo

T

T

T=T

T

To

∆T

T

T=W

W

W†u

u

ud+N

N

NWZ

Z

Z

(19)

where Z

Z

Zis treated as an unknown variable to solve in this

modiﬁed QP problem. The objective function Eq. (14) is

replaced by,

J

J

J(∆X

X

X, s

s

s, Z

Z

Z) = ∆X

X

XTP

P

P∆X

X

X+s

s

sTR

R

Rs

s

s+Z

Z

ZTQ

Q

QZ

Z

Z(20)

This new QP problem still provides an approximate solution

for X

X

Xby Eq. (18), but its solution can be approximately

rewritten into the general solution form Eq. (11). If a solution

F

F

F(T

T

T , α

α

α, β

β

β)can be described by Eq. (11) with no error, it

is an exact solution. Therefore, using this equality constraint

Eq. (19) to replace Eq. (13) inside QP formulation can decrease

the error caused by linearization.

Then Z

Z

Z∗, which is the vector related to the nullspace of the

allocation matrix W

W

W, can be solved with

Z

Z

Z∗=N

N

N†

W(F

F

F(T

T

T , α

α

α, β

β

β)−W

W

W†u

u

ud)(21)

By substituting this into Eq. (11), the exact solution of the

desired force vector F

F

F∗can be found

F

F

F∗=W

W

W†u

u

ud+N

N

NWZ

Z

Z∗(22)

Then (T

T

T∗, α

α

α∗, β

β

β∗)can be solved from Eq. (12).

The modiﬁed QP problem imposes an increment of the

variables in both the objective function and equality constraint.

Introducing Z

Z

Z, a measure of distance between the approximate

solution F

F

F(T

T

T , α

α

α, β

β

β)and the least-square solution W

W

W†u

u

ud, in the

objective function allows weighting penalty on the distance.

In step2, the projection process (Eqs. (21) and (22)) brings

the approximate solution with linear equality constraint to

exact solution with nonlinear equality constraint. Thus we

have eliminated the approximation error that occurs in every

time step and acts as persistent disturbances to the control

system. This implies that the control system performance may

be improved.

On the other hand, there is no guarantee that the inequality

constraints (Eqs. (16) and (17)) are still satisﬁed by the

projected solution (T

T

T∗, α

α

α∗, β

β

β∗). The possible violations of the

linear inequality constraints, if persistent over a time duration,

may cause instability. Therefore, strategies to minimize the

possibility of such occurrence are called for. We suggest the

followings, and their effects will be presented in Section IV-B.

a) Put the constraints of ∆α

α

αon Eqs. (16) and (17) to avoid

the singularity. Increasing the weights on the terms related to

∆α

α

αin P

P

Pmatrix of the objective function Eq. (20), also sets a

higher priority to keep the solution away from the singularity

boundary.

b) Adjust the weights on Q

Q

Qin objective function Eq. (20)

so that Z

Z

Zis relatively small and Z

Z

Z≈Z

Z

Z∗. When Z

Z

Z∗is small,

F

F

Fis close to F

F

F∗. Therefore, when using Eq. (12) to solve

(T

T

T∗, α

α

α∗, β

β

β∗)from F

F

F∗, the constraints will be unlikely violated.

c) Set safety margins on the inequality constraints. Even if

these inequality constraints are violated after the projection,

the result can still be used as long as it is within the safety

margin.

SU et al.: NULLSPACE-BASED CONTROL ALLOCATION OF OVERACTUATED UAV PLATFORMS 5

IV. SIMULATION STUDY

A. Simulation Setup

A simulator of our UAV platform is built in Matlab Simulink

environment with Simscape module. The Simscape module

calculates the multi-body dynamics of the platform and con-

tains all physical properties, including gyroscopic effects and

others that are neglected in the dynamics model used for

controller design. Other system properties are also modeled,

including controller sampling frequencies, communication de-

lays, measurement noise, the dynamics of propeller motors,

and thrust-force saturation.

B. Parameter Study for Nullspace-based Framework

A parameter study based on the Monte Carlo method is

conducted to investigate the effect of ∆α

α

αmax and Q

Q

Qin the pro-

posed nullspace-based allocation framework when the platform

is near singularity. The study (Fig. 4) includes three different

cases of the nullspace-based allocation framework with differ-

ent ∆α

α

αmax and Q

Q

Qalong with the nominal FD-based allocation

as a reference. For each test, the joint angle α1(which is in sin-

gular conﬁguration) is calculated from sampled u

u

udand X

X

Xo.u

u

ud

is sampled as u

u

ud= [0,0,−mg, 0,0,0]T+δu, where δu∈R6×1

is a random vector with zero mean and standard variance

0.01.X

X

Xois sampled as X

X

Xo= [T

T

TT

o, α

α

αT

o, β

β

βT

o]T, where T

T

To=

[1

4mg, 1

4mg, 1

4mg, 1

4mg]T+δT,α

α

αo= [0,π

2,0,−π

2]T+δα,

β

β

βo= [π

2,0,−π

2,0]T+δβ. Computation is performed on 5000

points sampled from the random vectors δT, δα, δβ∈R4×1

with zero mean and standard variance of 0.001,0.01,0.01,

respectively.

10.56

21.86

67.58

<=0.1 0.1~0.3 >0.3

0

20

40

60

80

Percentage/%

(a) Nominal Allocation

12.82

83.20

3.98

<=0.1 0.1~0.3 >0.3

0

20

40

60

80

100

Percentage/%

(b) Nullspace-Based Allocation (∆αmax = 0.3,Q

Q

Q= 1e4×I6)

94.94

4.14 0.92

<=0.1 0.1~0.3 >0.3

0

20

40

60

80

100

Percentage/%

(c) Nullspace-Based Allocation (∆αmax = 0.1,Q

Q

Q=I6)

99.88

0.10 0.02

<=0.1 0.1~0.3 >0.3

0

20

40

60

80

100

Percentage/%

(d) Nullspace-Based Allocation (∆αmax = 0.1,Q

Q

Q= 1e4×I6)

Fig. 4: Parameter study for nullspace-based allocation framework

based on Monte Carlo method. (∆αmax = 0.3rad is the safety margin

on real hardware. Data points outside the margin are plotted in blue,

those violating QP constraints but inside the safety margin are plotted

in green, and those satisfying QP constraints are plotted in red.)

As shown in Fig. 4a, α1can change rapidly with the FD-

based allocation framework when the platform is near singu-

larity. For the nullspace-based allocation framework (Figs. 4b

to 4d), the distribution range of α1can be squeezed by con-

straining ∆α

α

αand adjusting weights in the Q

Q

Qmatrix, demon-

strating the effectiveness of the suggestions in Section III-C.

Although there are six points violating the QP constraints

in Fig. 4d, ﬁve of them are still inside the safety margin.

There is only one single point that violates the safety margin

(0.02% probability), and its magnitude is small (0.39 rad)

compared with the FD-based framework. Therefore, although

the nullspace-based framework does not guarantee that ∆α

α

α

is always within the designated boundary, this framework

effectively prevents the singularity effects of the platform and

improves the control performance.

C. Robustness Study to Compare Three Frameworks

The performance of the three allocation frameworks are

compared under different controller sampling frequencies and

measurement noise levels (Fig. 5). The platform is controlled

to repeatedly track the same reference trajectory with the

sampling frequency varying from 40–100 Hz (Fig. 5a) or with

the noise power (the height of power spectral density (PSD)

of the white noise) of position and attitude measurements

increased from 5e−9to 28×5e−9(Fig. 5b). For each test,

the RMS errors of position and attitude are plotted.

405060708090100

Controller Sampling Frequency/Hz

6

8

10

12

e (RMS) /m

10-3

0

0.01

0.02

0.03

0.04

0.05

e (RMS) /rad

F

Q

N

F

Q

N

(a) RMS Error under different sampling frequency

202122232425262728x5e-9

Measurement Noise/(rad, m)

0

0.05

0.1

e (RMS) /m

0

0.2

0.4

0.6

0.8

1

e (RMS) /rad

F

Q

N

F

Q

N

(b) RMS Error under different measurement noise

Fig. 5: Robustness comparison of three control allocation frameworks.

(F for FD-based framework, Q for QP-based framework, N for

nullspace-based framework)

As shown in both plots, the QP-based framework always

exhibits higher tracking error than other two frameworks,

which is caused by the approximate linear equality constraint.

The errors of the FD-based framework and the proposed

nullspace framework are almost identical, and controller sam-

pling frequency or measurement noise has little inﬂuence on

the tracking performance. However, the tracking error of QP-

based framework will increase signiﬁcantly when sampling

frequency is below 60 Hz or the measurement noise is larger

than 27×5e−9.

These two studies demonstrate that the developed nullspace-

based allocation framework is as robust as the FD-based

framework under various controller sampling frequencies and

6 IEEE ROBOTICS AND AUTOMATION LETTERS. PREPRINT VERSION. ACCEPTED JULY, 2021

0 5 10 15

Time (s)

-0.2

-0.1

0

0.1

0.2

Position(m)

xyz

(a) F: Position.

0 5 10 15

Time (s)

-0.2

-0.1

0

0.1

0.2

Position(m)

xyz

(b) Q: Position.

0 5 10 15

Time (s)

-0.2

-0.1

0

0.1

0.2

Position(m)

xyz

(c) N: Position.

0 5 10 15

Time (s)

-2

-1.5

-1

-0.5

0

0.5

Orientation (rad)

pitchref pitch

(d) F: Attitude.

0 5 10 15

Time (s)

-2

-1.5

-1

-0.5

0

0.5

Orientation (rad)

pitchref pitch

(e) Q: Attitude.

0 5 10 15

Time (s)

-2

-1.5

-1

-0.5

0

0.5

Orientation (rad)

pitchref pitch

(f) N: Attitude.

0 5 10 15

Time (s)

0

0.2

0.4

0.6

Thrust Forces(N)

T1

T3

T2

T4

(g) F: Thrust Forces.

0 5 10 15

Time (s)

0

0.2

0.4

0.6

Thrust Forces(N)

T1

T3

T2

T4

(h) Q: Thrust Forces.

0 5 10 15

Time (s)

0

0.2

0.4

0.6

Thrust Forces(N)

T1

T3

T2

T4

(i) N: Thrust Forces.

0 5 10 15

Time (s)

-2

-1

0

1

2

Tilting Angles (rad)

1

3

2

4

(j) F: Tilting Angles.

0 5 10 15

Time (s)

-2

-1

0

1

2

Tilting Angles (rad)

1

3

2

4

(k) Q: Tilting Angles.

0 5 10 15

Time (s)

-2

-1

0

1

2

Tilting Angles (rad)

1

3

2

4

(l) N: Tilting Angles.

0 5 10 15

Time (s)

-2

-1

0

1

2

Twisting Angles (rad)

1

3

2

4

(m) F: Twisting Angles.

0 5 10 15

Time (s)

-2

-1

0

1

2

Twisting Angles (rad)

1

3

2

4

(n) Q: Twisting Angles.

0 5 10 15

Time (s)

-2

-1

0

1

2

Twisting Angles (rad)

1

3

2

4

(o) N: Twisting Angles.

0 5 10 15

Time (s)

0

0.05

0.1

0.15

Allocation Error

eu1

eu2

(p) F: Allocation Error.

0 5 10 15

Time (s)

0

0.05

0.1

0.15

Allocation Error

eu1

eu2

(q) Q: Allocation Error.

0 5 10 15

Time (s)

0

0.05

0.1

0.15

Allocation Error

eu1(step1)

eu2(step1)

eu1(step2)

eu2(step2)

2 2.5 3

0

0.5

110-5

5 5.5 6

0

0.5

110-10

(r) N: Allocation Error.

Fig. 6: Simulation: Vertical rotation trajectory tracking performance comparison between three allocation methods on the overactuated UAV

platform. (F for FD-based framework, Q for QP-based framework, N for nullspace-based framework)

measurement noise levels. However, the performance of QP-

based framework deteriorates signiﬁcantly under low sampling

frequency or high measurement noise, demanding stricter

requirements on implementation than the other two frame-

works. This ﬁnding may partially explain the lack of real

implementation work using the QP-based framework.

V. SIMULATION AND EXPE RI ME NT RE SU LTS

A. Vertical Rotation Simulation

Before doing real world experiment, three allocation frame-

works are implemented in the simulation environment intro-

duced in Section IV to track the vertical rotation trajectory

(Fig. 6). The UAV platform is controlled to rotate around its

pitch axis from 0 to −π

2in 12 s, while maintaining the initial

states of the other ﬁve DOF. This vertical rotation scenario

is selected because the kinematic singularity (Section III-A)

appears at −π

2pitch.

We can easily ﬁnd in (Figs. 6d and 6j) that when the attitude

of the platform is close to −π

2pitch, the desired tilting angle

command α1and α3calculated by the FD-based allocation

framework change dramatically and thus the control of whole

platform becomes unstable. And for the case with QP-based

allocation framework, the desired thrust force keep oscillating

from 6 to 9 s (Fig. 6h), which dramatically degrades the

position and attitude control performance (Figs. 6b and 6e). Al-

though it controls the platform to −π

2pitch in the end, but this

SU et al.: NULLSPACE-BASED CONTROL ALLOCATION OF OVERACTUATED UAV PLATFORMS 7

behaviour in transition phase is unacceptable. The nullspace-

based allocation we proposed can solve the singularity problem

in the FD-based framework and improve the transient phase

performance in the QP-based framework, as shown in Figs. 6c

and 6f both position regulation and attitude tracking control

remain stable.

The position and attitude allocation errors in allocation

errors in Figs. 6p to 6r, are deﬁned by

e

e

eu1=

u

u

ureal(1 : 3) −u

u

ud(1 : 3)

2

e

e

eu2=

u

u

ureal(4 : 6) −u

u

ud(4 : 6)

2(23)

The allocation errors of the FD-based framework (Fig. 6p)

are zero before singularity happens, because of the exact

solution. For the QP-based framework, the allocation error

is not zero (Fig. 6q), due to the linearization approximation,

which makes the platform perform poorly. For the nullspace-

based framework, the allocation error after step1 (modiﬁed

QP) is already small, thanks to the penalty of Z

Z

Zin the

objective function, and remaining error is then eliminated in

step2 (projection) (Fig. 6r). Because the error after step1 is

already very small, the ﬁnal exact solution (T

T

T∗, α

α

α∗, β

β

β∗)still

satisfy the inequality constraints for (T

T

T , α

α

α, β

β

β)as discussed in

Section III-C, and avoids the singularity.

B. Experiment Setup

The overactuated UAV platform consists of four Crazyﬂie

2.1 quadcopters (Bitcraze), four 3D-printed gimbals, and a

cross-shaped carbon-ﬁber central frame. The maximum thrust

force generated by each quadcopter is 0.6 N, and the thrust can

only be generated in the positive direction due to the geometry

of the propellers. The high-level controller and the control-

allocation framework discussed in this work runs on a ground

PC, which has sufﬁcient computational power to implement the

optimization algorithms. The desired magnitude of thrusts and

joint angles are wirelessly sent to each quadcopter by Crazy

Radio PA antennas at 100 Hz. Each quadcopter is capable of

tracking these desired signals with all the necessary onboard

computation, sensing, and actuation. The communication struc-

ture is shown in Fig. 7.

Fig. 7: Communication setup of the platform in experiment. A ground

PC takes feedback from OptiTrack motion-capture system and runs

the high-level controller at 100 Hz. Each quadcopter receives signals

from the ground PC and runs low-level controller at 500 Hz

C. Vertical Rotation Experiment

Similar to Section V-A, three allocation frameworks are

implemented on the overactuated UAV platform in experiment

to track the vertical rotation trajectory as shown in Fig. 8.

Starting at 10 s, the FD-based allocation framework results

in instability. As the joint angles β1and β3approach ±π

2

(i.e., the second joint of the top and bottom gimbals), these

two gimbals become singular and ill-conditioned. For the QP-

based framework, the singularity problem is solved by adding

constraints on the rate of change of α

α

αangles, and the platform

is stable at −π

2pitch. However, the tracking performance is

worse with larger error in transition phase and oscillation in

steady state because of the approximate formulation and the

measurement noise (Section IV-C). For the nullspace-based

framework we proposed, the tracking performance is as good

as the FD-based allocation during the transition phase, and

the system is more stable at −π

2pitch. These results demon-

strate that the nullspace projection eliminates the perturbation

introduced by the linearization in the QP framework.

VI. CONCLUSION

The nullspace-based allocation framework we proposed in

this paper makes synergy of the existing Force Decomposition

and Quadratic Programming control-allocation methods for

overactuated UAV platforms while mitigating the limitations

of each method. The simulation and experimental results from

applying the three methods to our gimbal-based multirotor

platform has veriﬁed that the proposed nullspace-based frame-

work is as robust against controller sampling frequency and

measurement noise as the FD-based framework. Furthermore,

the proposed framework can handle hard constraints on tilting

angles and thrust forces like the QP-based framework to solve

kinematic-singularity. The proposed framework eliminates er-

rors caused by the ﬁrst order approximation of nonlinear

equality constraints in the QP-based framework by exploiting

the nullspace of the allocation matrix to ﬁnd the exact solution.

As demonstrated by our experiment, the proposed method

is viable for real-time computation and should be applicable

to the control allocation in the hierarchical control of other

overactuated UAVs.

ACKNOWLEDGMENT

The authors would like to thank Dr. Hangxin Liu, Mr.

Wenzhong Yan and Dr. Ankur Mehta for the access and

technical assistance in the motion capture system.

REFERENCES

[1] M. Furci, C. Nainer, L. Zaccarian, and A. Franchi, “Input allocation for

the propeller-based overactuated platform rospo,” IEEE Transactions on

Control Systems Technology, vol. 28, no. 6, pp. 2720–2727, 2020.

[2] R. Rashad, J. Goerres, R. Aarts, J. B. C. Engelen, and S. Stramigioli,

“Fully actuated multirotor uavs: A literature review,” IEEE Robotics

Automation Magazine, vol. 27, no. 3, pp. 97–107, 2020.

[3] M. Ryll, H. H. B¨

ulthoff, and P. R. Giordano, “A novel overactuated

quadrotor unmanned aerial vehicle: Modeling, control, and experimental

validation,” IEEE Transactions on Control Systems Technology, vol. 23,

no. 2, pp. 540–556, 2014.

[4] M. Kamel, S. Verling, O. Elkhatib, C. Sprecher, P. Wulkop, Z. Taylor,

R. Siegwart, and I. Gilitschenski, “The voliro omniorientational hexa-

copter: An agile and maneuverable tiltable-rotor aerial vehicle,” IEEE

Robotics & Automation Magazine, vol. 25, no. 4, pp. 34–44, 2018.

8 IEEE ROBOTICS AND AUTOMATION LETTERS. PREPRINT VERSION. ACCEPTED JULY, 2021

0 5 10 15

Time (s)

-0.2

-0.1

0

0.1

0.2

Position(m)

xyz

(a) F: Position.

0 5 10 15

Time (s)

-0.2

-0.1

0

0.1

0.2

Position(m)

xyz

(b) Q: Position.

0 5 10 15

Time (s)

-0.2

-0.1

0

0.1

0.2

Position(m)

xyz

(c) N: Position.

0 5 10 15

Time (s)

-2

-1.5

-1

-0.5

0

0.5

Orientation (rad)

pitchref pitch

(d) F: Attitude.

0 5 10 15

Time (s)

-2

-1.5

-1

-0.5

0

0.5

Orientation (rad)

pitchref pitch

(e) Q: Attitude.

0 5 10 15

Time (s)

-2

-1.5

-1

-0.5

0

0.5

Orientation (rad)

pitchref pitch

(f) N: Attitude.

0 5 10 15

Time (s)

0

0.2

0.4

0.6

Thrust Forces(N)

T1

T3

T2

T4

(g) F: Thrust Forces.

0 5 10 15

Time (s)

0

0.2

0.4

0.6

Thrust Forces(N)

T1

T3

T2

T4

(h) Q: Thrust Forces.

0 5 10 15

Time (s)

0

0.2

0.4

0.6

Thrust Forces(N)

T1

T3

T2

T4

(i) N: Thrust Forces.

0 5 10 15

Time (s)

-2

-1

0

1

2

Tilting Angles (rad)

1

3

2

4

(j) F: Tilting Angles.

0 5 10 15

Time (s)

-2

-1

0

1

2

Tilting Angles (rad)

1

3

2

4

(k) Q: Tilting Angles.

0 5 10 15

Time (s)

-2

-1

0

1

2

Tilting Angles (rad)

1

3

2

4

(l) N: Tilting Angles.

0 5 10 15

Time (s)

-2

-1

0

1

2

Twisting Angles (rad)

1

3

2

4

(m) F: Twisting Angles.

0 5 10 15

Time (s)

-2

-1

0

1

2

Twisting Angles (rad)

1

3

2

4

(n) Q: Twisting Angles.

0 5 10 15

Time (s)

-2

-1

0

1

2

Twisting Angles (rad)

1

3

2

4

(o) N: Twisting Angles.

(p) Vertical rotation trajectory tracking demonstrated by the “gimbal” platform using the proposed nullspace based allocation framework

Fig. 8: Experiment: Vertical rotation trajectory tracking performance comparison between three allocation methods on the overactuated UAV

platform. (F for FD-based framework, Q for QP-based framework, N for nullspace-based framework)

[5] Y. Su, “Compensation and control allocation with input saturation limits

and rotor faults for multi-rotor copters with redundant actuations,” Ph.D.

dissertation, University of California, Los Angeles, 2021.

[6] T. A. Johansen, T. I. Fossen, and S. P. Berge, “Constrained nonlinear

control allocation with singularity avoidance using sequential quadratic

programming,” IEEE Transactions on Control Systems Technology,

vol. 12, no. 1, pp. 211–216, 2004.

[7] M. Bodson, “Evaluation of optimization methods for control allocation,”

Journal of Guidance, Control, and Dynamics, vol. 25, no. 4, pp. 703–

711, 2002.

[8] T. A. Johansen, “Optimizing nonlinear control allocation,” in 2004

43rd IEEE Conference on Decision and Control (CDC) (IEEE Cat.

No.04CH37601), vol. 4, 2004, pp. 3435–3440 Vol.4.

[9] T. P´

eni, B. Vanek, G. Lipt´

ak, Z. Szab´

o, and J. Bokor, “Nullspace-based

input reconﬁguration architecture for overactuated aerial vehicles,” IEEE

Transactions on Control Systems Technology, vol. 26, no. 5, pp. 1826–

1833, 2018.

[10] J. Zhang, P. Bhardwaj, S. A. Raab, and F. Holzapfel, “Control allocation

framework with svd-based protection for a tilt-rotor vtol transition air

vehicle,” in AIAA Aviation 2019 Forum, 2019, p. 3265.

[11] M. J. Gerber and T.-C. Tsao, “Twisting and tilting rotors for high-

efﬁciency, thrust-vectored quadrotors,” Journal of Mechanisms and

Robotics, vol. 10, no. 6, 2018.

[12] F. Senkul and E. Altu˘

g, “System design of a novel tilt-roll rotor quadrotor

uav,” Journal of Intelligent & Robotic Systems, vol. 84, 11 2015.

[13] P. Yu, Y. Su, G. Gerber, L. Ruan, and T. Tsao, “A six degree-of-freedom

multi-rotor copter with unconstrained attitude angles and high thrust

force efﬁciency,” IEEE Robotics and Automation Letters, 2021.

[14] C. Pi, L. Ruan, P. Yu, Y. Su, S. Cheng, and T. Tsao, “A simple six

degree-of-freedom aerial vehicle built on quadcopters,” CCTA, 2021.

[15] L. Ruan, “Independent position and attitude control on multirotor aerial

platforms,” Ph.D. dissertation, Univ. of California, Los Angeles, 2020.

[16] O. Elkhatib, “Control allocation of a tilting rotor hexacopter,” Master’s

thesis, ETH Zurich, Zurich, 2017.