ThesisPDF Available

Compensation and Control Allocation with Input Saturation Limits and Rotor Faults for Multi-Rotor Copters with Redundant Actuations

Authors:
  • Beijing Institute for General Artificial Intelligence

Abstract

Multirotor copters with full six DoF maneuvering are often overactuated with redundancy. By having redundant actuation, the multirotors can have better fault-tolerance, energy-efficiency, and payload carrying capability. And they can have an infinite number of solutions when doing control allocation due to their redundancy. However, how to take full advantage of input redundancy to improve control performance of overactuated UAV under some constraints is still an open problem. And insufficient usage of input redundancy may dramatically influence the control performance of overactuated UAV in some cases. For example, (i) on tilt-rotor quadcopter platform, the maximum range of attitude is limited caused by input saturation. (ii) the twist and tilt rotor quadcopter platform cannot track a vertical rotation trajectory due to kinematic-singularity. The contributions of this dissertation are addressing the important issues in the copter's redundant actuator control: Firstly, an add-on controller is designed which utilizes the auxiliary inputs at low-level control to do dynamic compensation, thus it can attenuate unknown disturbance and track the reference trajectory with faster response and better performance. Secondly, a novel nullspace based allocation framework is proposed in high-level control, which can take input constraints and explore the nullspace of the allocation matrix to find exact solutions. It is also very robust about controller sampling frequency and measurement noise. Lastly, a fault-tolerant control (FTC) is designed which takes advantage of input redundancy in both high-level and low-level control, and can maintain the stability of whole platform under propeller failure. All these works are validated in both simulation and real-world experiment.
UNIVERSITY OF CALIFORNIA
Los Angeles
Compensation and Control Allocation with Input Saturation Limits and Rotor Faults for
Multi-Rotor Copters with Redundant Actuations
A dissertation submitted in partial satisfaction
of the requirements for the degree
Doctor of Philosophy in Mechanical Engineering
by
Yao Su
2021
©Copyright by
Yao Su
2021
ABSTRACT OF THE DISSERTATION
Compensation and Control Allocation with Input Saturation Limits and Rotor Faults for
Multi-Rotor Copters with Redundant Actuations
by
Yao Su
Doctor of Philosophy in Mechanical Engineering
University of California, Los Angeles, 2021
Professor Tsu-Chin Tsao, Chair
Multirotor copters with full six Degree of Freedom (DoF) maneuvering are often overactuated
with redundancy. By having redundant actuation, the multirotors can have better fault-
tolerance, energy-efficiency, and payload carrying capability. And they can have an infinite
number of solutions when doing control allocation due to their redundancy. However, how
to take full advantage of input redundancy to improve control performance of overactuated
Unmanned Aerial Vehicle (UAV) under some constraints is still an open problem. And
insufficient usage of input redundancy may dramatically influence the control performance
of overactuated UAV in some cases. For example, (i) on tilt-rotor quadcopter platform, the
maximum range of attitude is limited caused by input saturation. (ii) the twist and tilt rotor
quadcopter platform cannot track a vertical rotation trajectory due to kinematic-singularity.
The contributions of this dissertation are addressing the important issues in the copter’s
redundant actuator control: Firstly, an add-on controller is designed which utilizes the auxil-
iary inputs at low-level control to do dynamic compensation, thus it can attenuate unknown
disturbance and track the reference trajectory with faster response and better performance.
Secondly, a novel nullspace based allocation framework is proposed in high-level control,
which can take input constraints and explore the nullspace of the allocation matrix to find
ii
exact solutions. It is also very robust about controller sampling frequency and measurement
noise.
Lastly, a fault-tolerant control (FTC) is designed which takes advantage of input redun-
dancy in both high-level and low-level control, and can maintain the stability of whole
platform under propeller failure.
All these works are validated in both simulation and real-world experiment.
iii
The dissertation of Yao Su is approved.
Song-Chun Zhu
Tetsuya Iwasaki
Lieven Vandenberghe
Tsu-Chin Tsao, Committee Chair
University of California, Los Angeles
2021
iv
To my parents and all my friends. . .
Life isn’t fair,
but no matter your circumstances,
you have to give it your all.
v
TABLE OF CONTENTS
List of Figures ...................................... x
List of Tables ....................................... xv
Acknowledgments .................................... xvi
Vita .............................................xvii
1 Introduction ...................................... 1
1.1 Under Actuated UAV Platform . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Fully Actuated UAV Platform . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Existing Control Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Dissertation Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Dynamics and Nominal Control of Multirotor Aerial Platform with Pas-
sive Joints ......................................... 6
2.1 Introduction.................................... 6
2.2 Platform Introduction and Dynamics Review of Hinge Version . . . . . . . . 7
2.2.1 Platform Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 Quadcopter as Actuators . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.3 Dynamics of Whole System . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Nominal Controller of Hinge Version Platform . . . . . . . . . . . . . . . . . 12
2.3.1 Hierarchical Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.2 Position and Attitude Control . . . . . . . . . . . . . . . . . . . . . . 13
2.3.3 Nominal Allocation by Force Decomposition . . . . . . . . . . . . . . 14
vi
2.3.4 Quadcopter Low Level Control . . . . . . . . . . . . . . . . . . . . . 16
2.3.5 Experiment of Hinge Version with Nominal Controller . . . . . . . . . 17
2.4 Platform Introduction and Dynamics Review of Gimbal Version . . . . . . . 19
2.4.1 Platform Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.2 Whole Body Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5 Nominal Controller of Gimbal Version Platform . . . . . . . . . . . . . . . . 21
2.5.1 Hierarchical Control Architecture . . . . . . . . . . . . . . . . . . . . 21
2.5.2 Position and Attitude Control . . . . . . . . . . . . . . . . . . . . . . 22
2.5.3 Quadcopter Low Level Control . . . . . . . . . . . . . . . . . . . . . 23
2.5.4 Nominal Allocation by Force Decomposition . . . . . . . . . . . . . . 24
2.5.5 Singularity Prevention . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.6 Experiment of Gimbal Version with Nominal Controller . . . . . . . . 27
3 Attitude Control Algorithm of Tiltable Actuator Aerial Platform Using
Inputs Redundancies .................................. 30
3.1 Introduction.................................... 30
3.2 Add-on Attitude Compensator with Auxiliary Inputs . . . . . . . . . . . . . 31
3.2.1 Method .................................. 31
3.2.2 Discussion................................. 33
3.3 Simulation and experiment setup . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.1 SimulationSetup ............................. 34
3.3.2 ExperimentSetup............................. 36
3.4 Simulation and Experiment results . . . . . . . . . . . . . . . . . . . . . . . 36
3.4.1 Preliminary Experiment Test . . . . . . . . . . . . . . . . . . . . . . 36
3.4.2 Disturbance Rejection Comparison . . . . . . . . . . . . . . . . . . . 37
vii
3.4.3 Trajectory Tracking Comparison . . . . . . . . . . . . . . . . . . . . . 44
3.4.4 Discussion................................. 44
3.5 Conclusion..................................... 47
4 Nullspace Based Input Allocation Framework for Overactuated UAV Plat-
forms ............................................ 48
4.1 Introduction.................................... 48
4.2 Control Allocation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2.1 Sequential Quadratic Programming Based Framework . . . . . . . . . 51
4.2.2 Nullspace Based Allocation Framework . . . . . . . . . . . . . . . . . 52
4.2.3 Implementation on Hinge Version UAV Platform . . . . . . . . . . . . 54
4.3 SimulationStudy ................................. 54
4.3.1 SimulationSetup ............................. 54
4.3.2 Robustness Comparison about Control Frequency . . . . . . . . . . . 57
4.3.3 Robustness Comparison about Measurement Noise . . . . . . . . . . 57
4.3.4 Discussion................................. 58
4.4 Experiment .................................... 59
4.4.1 Vertical Rotation Simulation on Gimbal Version . . . . . . . . . . . . 59
4.4.2 Vertical Rotation Experiment on Gimbal Version . . . . . . . . . . . 66
4.4.3 Trajectory Tracking Experiment on Hinge Version . . . . . . . . . . . 70
4.5 Conclusion..................................... 70
5 Fail-Safe Control of Overactuated UAV Platform Using Quadcopters and
Passive Joints ....................................... 71
5.1 Introduction.................................... 71
5.2 Robust Control Under Propeller Failure . . . . . . . . . . . . . . . . . . . . . 73
viii
5.2.1 OnePropellerFail ............................ 74
5.2.2 TwoPropellerFail ............................ 78
5.2.3 Failure Detection with Imu Measurement . . . . . . . . . . . . . . . . 79
5.2.4 Fail-Safe Controller Architecture . . . . . . . . . . . . . . . . . . . . 80
5.3 Simulation..................................... 81
5.3.1 SimulationSetup ............................. 81
5.3.2 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.4 ExperimentResult ................................ 85
5.4.1 ExperimentSetup............................. 85
5.4.2 Experiment Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.5 Conclusion..................................... 95
6 Conclusion ....................................... 96
Bibliography ....................................... 98
ix
LIST OF FIGURES
2.1 Prototype of hinge version UAV platform. Four commercial quadcopters are
passively hinged on the central frame to generate thrust force in 2D space [Rua20] 8
2.2 Control architecture [PRY+]............................. 13
2.3 Quadcopter onboard controller . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Software architecture of the platform [Rua20] . . . . . . . . . . . . . . . . . . . 17
2.5 Trajectory tracking experiment of hinge platform with nominal controller . . . . 18
2.6 Photograph of the prototype and coordination system of the overactuated UAV
platform with 4 normal quadcopters each mounted on a 2-DoF gimbal (left), and
a detailed view of the gimbal mechanism (right). . . . . . . . . . . . . . . . . . . 19
2.7 Hierarchical control structure for the overactuated UAV platform. High-level
position and attitude tracking controller outputs udto the allocation. This whole-
body input is then allocated as the desired thrusts and tilting angels for each
quadcopter. And each quadcopter will regulate its tilting angle and thrust with
onboard low-level controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.8 Experiment communication setup for gimbal or hinge version platform. A ground
PC runs at 100 Hz the high-level controller of the whole platform with measure-
ments from OptiTrack motion-capture system. Control signals are sent to each
quadcopter that runs low-level controller at 500 Hz . . . . . . . . . . . . . . . . 28
2.9 Six-dof trajectory tracking experiment on the gimbal version platform with nom-
inalcontroller..................................... 29
x
3.1 Hierarchical control structure for the overactuated UAV platform. High-level
position and attitude tracking controller outputs u
u
udto the allocation. This whole-
body input is then allocated as the desired thrusts and tilting angels for each
quadcopter. And each quadcopter will regulate its tilting angle and thrust with
onboard low-level controller. Add-on attitude compensator is utilized to improve
attitude control performance with auxiliary inputs . . . . . . . . . . . . . . . . . 33
3.2 Simulator of Hinge Version Platform . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Details of hinge version platform simulator . . . . . . . . . . . . . . . . . . . . . 35
3.4 Preliminary test setup and video clips . . . . . . . . . . . . . . . . . . . . . . . 37
3.5 Case1: Trajectory tracking comparison when other five DoFs are fixed (E for
experiment, Mx for with add-on attitude compensation loop) . . . . . . . . . . . 38
3.6 Case2: Disturbance rejection performance without add-on attitude compensation
loop. (S for simulation, N for nominal control) . . . . . . . . . . . . . . . . . . . 39
3.7 Case2: Disturbance rejection performance with add-on attitude compensation
loop. (S for simulation, Mx for with add-on attitude compensation loop) . . . . 40
3.8 Case2: Disturbance rejection performance without add-on attitude compensation
loop. (E for experiment, N for nominal control) . . . . . . . . . . . . . . . . . . 41
3.9 Case2: Disturbance rejection performance with add-on attitude compensation
loop. (E for experiment, Mx for with add-on attitude compensation loop) . . . . 42
3.10 Video clips of disturbance rejection test without add-on attitude compensation
loop .......................................... 43
3.11 Video clips of disturbance rejection test with add-on attitude compensation loop 44
3.12 Case3: Trajectory tracking performance without add-on attitude compensation
loop.(Eforexperiment)............................... 45
3.13 Case3: Trajectory tracking performance with add-on attitude compensation loop.
(E for experiment, Mx for with add-on attitude compensation loop) . . . . . . . 46
xi
4.1 Computing logic of three allocation frameworks. Force decomposition based
framework (blue) converts nonlinear allocation problem to a linear mapping by
changing variables, and acquires a least-square solution by setting Z
Z
Z= 0 in
general solution. QP based framework (orange) transforms nonlinear constraint
to a linear one with Taylor expansion, and takes input constraints, but it only
generates approximate solution. Nullspace based framework (green) formulates
constrainted QP problem with extra constraint, and projects the approximate
solution onto the nullspace of allocation matrix to find exact solution. . . . . . . 53
4.2 Simulator of Gimbal Version Platform . . . . . . . . . . . . . . . . . . . . . . . 54
4.3 Gimbal Version Platform Simulator in Matlab . . . . . . . . . . . . . . . . . . . 55
4.4 Robustness comparison of three control allocation frameworks about control fre-
quency. (Normal for nominal force decomposition based framework, QP for QP
based framework, Null for nullspace based framework) . . . . . . . . . . . . . . 56
4.5 Robustness comparison of three control allocation frameworks about measure-
ment noise. (Normal for nominal force decomposition based framework, QP for
QP based framework, Null for nullspace based framework) . . . . . . . . . . . . 58
4.6 Simulation: Vertical rotation trajectory tracking on the gimbal version platform.
(F for force decomposition based framework) . . . . . . . . . . . . . . . . . . . . 60
4.7 Simulation: Vertical rotation trajectory tracking on the gimbal version platform.
(Q for quadratic programming based framework) . . . . . . . . . . . . . . . . . 61
4.8 Simulation: Vertical rotation trajectory tracking on the gimbal version platform.
(N for nullspace based framework) . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.9 Experiment: Vertical rotation trajectory tracking on the gimbal version platform.
(F for force decomposition based framework) . . . . . . . . . . . . . . . . . . . . 63
4.10 Experiment: Vertical rotation trajectory tracking on the gimbal version platform.
(Q for quadratic programming based framework) . . . . . . . . . . . . . . . . . 64
xii
4.11 Experiment: Vertical rotation trajectory tracking on the gimbal version platform.
(N for nullspace based framework) . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.12 Video clips of vertical rotation test with force decomposition based allocation . . 66
4.13 Video clips of vertical rotation test with quadratic programming based allocation 67
4.14 Video clips of vertical rotation test with nullspace based allocation . . . . . . . 67
4.15 Experiment: Trajectory tracking performance comparison on hinge version plat-
form (F for force decomposition based framework) . . . . . . . . . . . . . . . . . 68
4.16 Experiment: Trajectory tracking performance comparison on hinge version plat-
form (N for nullspace based framework) . . . . . . . . . . . . . . . . . . . . . . 69
5.1 Failure Detection from Imu Signal Spikes . . . . . . . . . . . . . . . . . . . . . . 80
5.2 Fail-Safe Controller Architecture. Each quadcopter has its own failure detection
and onboard servo control modules. When propeller failure happens, failure de-
tection module will communication with onboard controller to change low level
control strategy, and it will also send a signal to the nullspace-based control al-
location module to adjust the thrust distribution of four quadcopters at high
level control. Compensation loop will use auxiliary inputs to compensate for the
disturbance torque introduced by the failure. . . . . . . . . . . . . . . . . . . . 81
5.3 Simulation: Trajectory tracking performance comparison on hinge version plat-
form with low-level adjustment strategy (5.5) under propeller failure . . . . . . 83
5.4 Trajectory tracking performance comparison on hinge version platform with low-
level adjustment strategy (5.7) under propeller failure . . . . . . . . . . . . . . . 84
5.5 Experimental setup. A host PC runs at 100 Hz the high-level controller of the
whole platform with measurements from OptiTrack motion-capture system. Con-
trol signals are sent to each quadcopter that runs low-level controller at 500 Hz. 86
5.6 Case1: Trajectory tracking performance comparison on hinge version platform
with no failure (T34tmax) ............................. 87
xiii
5.7 Case1: Trajectory tracking performance comparison on hinge version platform
with nominal control and low level adjustment under one propeller failure (T3
4tmax) ......................................... 88
5.8 Case1: Trajectory tracking performance comparison on hinge version platform
with fail-safe controller under one propeller failure (T34tmax) ......... 89
5.9 Case2: Trajectory tracking performance comparison on hinge version platform
with nominal control and low level adjustment under one propeller failure (T3
4tmax) ......................................... 91
5.10 Case2: Trajectory tracking performance comparison on hinge version platform
with fail-safe controller under one propeller failure (T34tmax) ......... 92
5.11 Case3: Trajectory tracking performance comparison on hinge version platform
with nominal control and low level adjustment under two propeller failure . . . 93
5.12 Case3: Trajectory tracking performance comparison on hinge version platform
with fail-safe controller under two propeller failure . . . . . . . . . . . . . . . . . 94
xiv
LIST OF TABLES
3.1 Physical and Software Properties in Simulation . . . . . . . . . . . . . . . . . . 36
4.1 Physical and Software Properties in Simulation . . . . . . . . . . . . . . . . . . 57
5.1 Controllability of Propeller Failure Combinations . . . . . . . . . . . . . . . . . 78
5.2 Propeller Failure Combinations Detection from IMU Signal Spikes . . . . . . . . 79
5.3 Physical and Software Properties in Simulation . . . . . . . . . . . . . . . . . . 82
xv
ACKNOWLEDGMENTS
My deepest gratitude goes first and foremost to my advisor, Professor Tsu-Chin Tsao, for
his constant encouragement and guidance. He is not only a master of control theory but also
a nice person. He is kind and patient, and I learn so much from him in the past five years.
Without his patient instruction, insightful criticism and expert guidance, the completion of
this dissertation would not have been possible. It is a great journey in my life to be his
student.
I also owe a special debt of gratitude to Professor Song-Chun Zhu. It was a wonderful
experience for me, to work with him during my internship in his company. He showed me
a fantastic world of AI and robotics, which encouraged me a lot to continue my research in
robotics.
I would like to express my heartfelt gratitude to my friends and collaborators at UCLA,
Mr. Pengkang Yu, Dr. Lecheng Ruan, Dr. Hangxin Liu, Mr. Xuan Lin, and Dr. Matt
Gerber for their help and contribution in our research project. They are all very talented
researchers, and I learned a lot through collaborating with them. I also want to thank all
other members in UCLA MacLab, especially Dr. Yu-Huis Lee, for their suggestions and
supports in my study and research.
In addition, I deeply appreciate to all my friends in China and Los Angeles. Life is hard,
I am so lucky to have these friends. Particularly, I would like to thank Miss. Hongqi Zhang,
Miss. Yujie Ren, Mr. Yang Yu, Miss. Rong Wu, Mr. Jinjin Xu, Mr. Jiacheng Xu and Mr.
Jiaxiang Guo, for their encouragement when I went into trouble.
Last my thanks would go to my beloved parents, all my relatives and my dog Pipi, for
their loving considerations and great confidence in me through all these years.
xvi
VITA
2017–present Ph.D. Student, Mechanical Engineering, University of California, Los An-
geles
2020–present Research Assistant/Teaching Assistant, University of California, Los An-
geles
2016–2017 M.S., Mechanical Engineering, University of California, Los Angeles
2012–2016 B.E with Honor, Mechanical Design, Manufacture and Automation, Harbin
Institute of Technology
xvii
CHAPTER 1
Introduction
1.1 Under Actuated UAV Platform
Multirotor Unmanned Aerial Vehicles (UAVs) have obtained great attention in both in-
dustry and academia due to their mechanical simplicity, high agility, and the capability to
vertically take off and land. And they have been applied in various fields, including photog-
raphy, delivery, agriculture, construction and surveillance [LCH+14].
However, standard multirotor UAVs (e.g. quadcopter) suffer from the underactuation
in dynamics. As they have only four inputs but six outputs, the control of position and
attitude are coupled for quadcopters. This limits the use of quadcopters in the complicated
space, where certain attitude trajectories are required to avoid possible collision, and also
the interaction with the environment. As quadcopters are becoming increasingly popular, it
is significant to investigate the underactuation problem.
1.2 Fully Actuated UAV Platform
To overcome the limitations of common commercially available multirotors while preserv-
ing their advantages, researchers have developed several overactuated UAV platforms, and
they can be divided into two major categories.
For the first type, regular multirotors with at least six propellers are modified by fixing each
propeller at a non-parallel direction to provide a wrench of six DoF. By choosing different
fixed tilting angle of each propeller, the platform can achieve fully actuation [RMP+17,
RCS19]. This strategy preserves mechanical simplicity, but the maximum inclination angle
1
of the platform is limited. Furthermore, the cancellation of thrust vectors is inherent to the
design, which limits the energy efficiency and maximum flight duration.
The second category of UAVs can actively change thrust direction of each propeller with
additional motors and mechanism. Some quadcopter platforms add one rotational DoF to
each propeller [MMC15, ABML19, NK14], named as tilting-rotor quadcopter. This config-
uration has the capability to decouple position and attitude control, and is experimentally
verified. However this configuration does not show a good thrust efficiency, thus it has
a limited range of rotation and it can not achieve some challenging movement like verti-
cal or upside-down rotation. Other quadcopter platforms add two rotational DoF to each
propeller [KNK+17, SA15]. This type of design enables full directional authority of each
propeller to overcome the effects of low thrust efficiency. However, the additional linkages
and actuators increase the complexity and total weight of whole platform, and the internal
torques generated by the actuators must be addressed as disturbance or be included in the
dynamics model which will make the control system complicated.
In [NPPL18], the idea of using norm quadcopters as rotating thrust generators was first
innovated. With a spherical joint serving as the connector, quadcopters can be connected to
a common main body to provide fully actuation of the system. However, due to the limited
range of commercial spherical joints, the motion of quadcopters cannot be too aggressive.
And this constraint also needs to be handled carefully in the controller design aspect, which
also improves the complexity of the control system. In control and modeling aspect, this
passive spherical joint actually introduces a distance between quadcopter and main body,
which is undesired in controller design.
In previous work, a novel UAV platform with passive hinge and quadcopters was proposed
[Rua20,PRY+]. This platform is mechanically simple and it can also achieve fully actuation.
And it will not have the interacting torque that is caused by the tilting mechanism, and no
wiring from the central frame is required because each quadcopter uses self-contained power,
sensing and communication. Another version of this type of UAV is proposed in [YSG+21],
which has a better thrust efficiency, so it can accomplish more challenging tasks, like perching.
2
These different overactuated designs significantly increase the scope of UAV applications,
such as carrying out more challenging inspection tasks and generating complex, uninter-
rupted movements of an attached camera.
1.3 Existing Control Methods
Many studies have been conducted in the past two decades to control different overactuated
UAV platforms. For example, Ryll et al. implemented a control algorithm on a tilt-rotor
quadcopter platform and proposed an optimized allocation strategy that considers input
redundancy [RBG12]. However, this allocation framework relies on taking the derivative
of the dynamics, which requires accurate acceleration measurements or estimation which is
hard to acquire.
Another control solution presented by Kamel et al. on a tilt-rotor hexacopter platform.
They used force decomposition to transform the nonlinear allocation problem into a linear
one [KVE+18], 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 ar-
bitrary input constraint into consideration (e.g. input saturation), and this would lead to
instability when tracking challenging trajectories. Similar approach can be found in [GT18]
implemented on a twist and tilt rotor quadcopter platform, and it will have the kinematic-
singularity problem when the platform is tilting at 90 degree.
In [AML20], a model reference adaptive controller (MRAC) is proposed, and the center
of mass (COM) position and inertia parameter of the platform is treated as unknown to
be adapted, so the platform is able to have a good trajectory tracking performance with
varying mass and inertia. In [AA18], a Hcontroller is designed to do disturbance rejection
and [SKRK17] proposes a sliding mode controller to improve the robustness of the system.
[DKMK20] presents a reinforcement learning based controller and verified with a realistic
tilt-rotor quadcopter simulator.
However, all these existing works are proposed for standard tilt-rotor UAV platforms.
3
As a new type of overactuated platform with passive joints and quadcopters, it has input
redundancy in both high-level trajectory tracking control and low-level individual quadcopter
control. And the usage of its input redundancy has not been fully investigated yet. With
these redundant inputs in both high-level and low-level control, the control performance can
be significantly improved for different purposes.
1.4 Dissertation Organization
This dissertation first introduces the dynamics and nominal control strategy of two over-
actuated UAV platforms in Chapter 2, and their performance are verified with real-world
experiments. Then it investigates the usage of input redundancy of overactuated platforms,
proposes new methods to improve the control performance mainly in three aspects. And
they are verified on two overactuated platforms with quadcopters and passive hinges (hinge
version) or passive gimbals (gimbal version).
Firstly, on the hinge version platform, a novel control strategy is proposed in Chapter 3,
which makes use of the unique auxiliary torque inputs to improve attitude control perfor-
mance. An optimization problem is formulated to solve these unique auxiliary torque inputs.
And they are utilized to create an add-on compensation loop. With this compensation loop,
the platform can achieve a faster response for attitude tracking, which is helpful to improve
trajectory tracking performance and disturbance rejection capability.
Secondly, Chapter 4 presents a novel nullspace based allocation framework for overactu-
ated UAV platforms. Two existing control allocation frameworks are analysed at first: (i)
the classic force decomposition based framework provides a least-norm solution and is robust
and easy to implement, but it does not allow for input constraints. (ii) quadratic program-
ming based framework can take input constraints, however, it will introduce approximation
error and it is not well studied and has not been implemented on any hardware. Similar
to the quadratic programming based framework, the proposed method can take input con-
straints and it can eliminate the error introduced by the approximation. It is also robust
4
against control sampling frequency and measurement noise like the force decomposition-
based framework. Thus this framework can be implemented (i) on the hinge version to
handle input-saturation and (ii) on the gimbal version to solve kinematic-singularity.
Lastly, a fault-tolerant control (FTC) algorithm is proposed in Chapter 5 for hinge version
platform for the scenario that some of propellers on one quadcopter are fail (bad quadcopter),
while other three quadcopters are still working properly (good quadcopters). This FTC al-
gorithm has three main parts. On the low-level control side, the thrust force distribution
on that bad quadcopter is adjusted to maintain the control of tilt angle and thrust force.
By doing this, the interacting torque between mainframe and bad quadcopter will not be
zero anymore, and this interacting torque can be attenuated by taking advantages of aux-
iliary inputs on other three good quadcopters. And finally, the nullspace based allocation
framework is implemented to adjust desired thrust forces of four quadcopters, therefore the
thrust force requirement on bad quadcopter can be smaller which is helpful to maintain the
stability of low-level control, and the magnitude of the interacting torque disturbance will
also be smaller.
The works of this dissertation are concluded in Chapter 6.
5
CHAPTER 2
Dynamics and Nominal Control of Multirotor Aerial
Platform with Passive Joints
2.1 Introduction
Quadcopters have been generally explored for the highlights of high dexterity, mechanical
straightforwardness and ability of vertical take off and landing(VTOL). They are applied
in various fields, including exploration, rescue, delivery and aerial manipulation [KPL+20]
[SNTW19] [LST+18]. Notwithstanding, one significant disadvantage of quadcopters lies in
its underactuation in dynamics. As they have only four inputs but six outputs, only position
and body frame yaw angle can be independently controlled. This restricts the utilization
of quadcopters in the confounded space, where certain attitude trajectories needed to keep
away from conceivable crash, and furthermore the interaction with the environment. As
quadcopters are getting progressively well known, it is important to research the underactu-
ation issue.
Many mechanical adjustments are propelled to take care of this issue. One type of work de-
ployed additional thrusting actuators in different directions [RMP+17] [PLA+18] [RRBF15].
They keep up the mechanical simplicity yet are not adaptable for different tasks. Another
type of adjustment adds extra actuators on a normal quadcopter to actively change the
direction of thrusting force during the flight. Some of them add one rotational Dof of each
propeller [CER19] [VCEd19] [FGA13], while others add two Dof of each propeller [DRB14a]
[SA15]. These platforms accomplish full actuation, with the cost of expanded mechanical
intricacy and no-load weight for actuator tilting mechanisms. Furthermore, the tilting actu-
6
ators will create internal torques between quadcopter main body and the propellers, which
introduces additional disturbance to the platform.
In the previous work of my Lab, [Rua20,PRY+] proposed a novel aerial platform, where
commercial quadcopters with passive hinges are exploited as actuators for both thrusting
and tilting (hinge version). The platform is similar to tilt rotor quadcopter in [RBG13]
and [AML20], but it keeps mechanical simplicity and avoids operational disturbance torques
during flight. And another version was proposed in [YSG+21], where commercial quadcopters
are connected to the mainframe by a 2-DoF passive gimbal mechanism (gimbal version).
This platform has similar high-level dynamics compared with twist and tilt rotor quadcopter
platforms in [GT18] and [SA13], which has high thrust efficiency in different body attitudes
thus it can achieve any arbitrary attitude in real-world experiment.
This chapter introduces the dynamics and nominal control architecture of hinge version
and gimbal version overactuated UAV platforms. Section 2.2 reviews the dynamics of the
hinge version platform related to this dissertation. Nominal controller of hinge version plat-
form and experimental results are introduced in Section 2.3. Section 2.4 presents the dynam-
ics of the gimbal version platform. And related nominal controller and experimental results
of gimbal version are introduced in Section 2.5.
2.2 Platform Introduction and Dynamics Review of Hinge Version
2.2.1 Platform Introduction
As demonstrated in Figure 2.1, this overactuated tilting-angle quadcopter platform con-
sists of one main frame which is built with two carbon fiber tubes and one 3D printed cube,
and four commercial quadcopters are passively hinged on the tubes with equivalent distance.
From the dynamics perspective, this platform has similar high level dynamics compared with
the tilting-rotor quadcopters in [RBG14] and [AML20].
But this platform still has several differences from standard tilting-rotor quadcopter plat-
forms. First, it is very easy to build, the quadcopters used on this platform can be any
7
Figure 2.1: Prototype of hinge version UAV platform. Four commercial quadcopters are
passively hinged on the central frame to generate thrust force in 2D space [Rua20]
well-developed commercial quadcopter. The design process of main frame and passive hinge
is quite straightforward. Second, almost every tilting-rotor platform uses additional motors
to actuate the tilting mechanism which will increase the complexity and total weight of whole
platform, but this platform uses standard quadcopter to provide thrust and rotating torque
simultaneously. Additionally, this tilting mechanism will introduce internal torques between
main frame and propellers, which is treated as disturbance in the controller design side, but
will degrade the control performance for sure. However on this platform, the tilting mecha-
nism is a passive hinge, so one quadcopter can be used for both thrust force generation and
8
tilting control and that disturbance torque is eliminated. Last, in this platform the required
thrust and tilting torque is provided by a quadcopter which has 4 DoF more than required (2
DoF). So, this design actually gives more control inputs into the system at low-level control,
which can be used to improve the control performance in some aspects.
2.2.2 Quadcopter as Actuators
For a standard quadcopter as shown in Figure 2.1 (bottom), the control problem is already
well studied. Each propeller can generate a thrust force fjand a torque tjalong the z-axis,
with magnitude
fj=KTω2
j(2.1)
and
tj=Kτω2
j(2.2)
where ωjrepresents the propeller angular velocity, KTand Kτare constants related to
propeller specification and aerodynamics.
The control of normal quadcopter can be transformed into a linear mapping problem, as
shown in (2.3), where Tiis the thrust force and Mx
i,My
i,Mz
iare torque in x,y and z-axis
of ith quadcopter. After having desired thrust force and torque vector, the related angular
velocities of each propeller can be easily solved through this linear mapping relationship.
Ti
Mx
i
My
i
Mz
i
=
KTKTKTKT
aKT
2aKT
2
aKT
2
aKT
2
aKT
2aKT
2aKT
2
aKT
2
KτKτKτKτ
ω2
i,0
ω2
i,1
ω2
i,2
ω2
i,3
(2.3)
This equation also shows that if a normal quadcopter is connected to the main body with
rigid connection, it can be used as a 1 dimensional thrust generator and 3 torques will be
passed to the main body. However, the quadcopter is connected to the main frame with a
passive joint (hinge/gimbal), it can be used as a 2/3 dimensional thrust generator, and the
9
torques generated by the quadcopter can be used to change the direction of thrust.
2.2.3 Dynamics of Whole System
2.2.3.1 Multi-Body Dynamics from Euler-Lagrangian Method
Taking advantage of Euler-Lagrangian Method as shown in [DRB14b], a multi-body dy-
namics model of the overall system can be acquired, which is in the form of
M(q)¨q+C( ˙q, q) + G(q) = J(α)TT(2.4)
where M(q) is the inertia matrix, C( ˙q, q) is the Coriolis and centrifugal force matrix, G(q)
is the gravitational force vector, J(α) is the Jacobian matrix of related input force vector
and T is thrust force vector of four quadcopters. However, in real implementation, most of
the researchers use the simplified dynamics to do controller design, which is easier to handle
with.
2.2.3.2 Simplified Dynamics
If the gyroscopic term in the multi-body equation of motion is neglected, and treat the
platform as one rigid body, a simplified and decoupled dynamic model can be acquired to
do controller design [RBG12]. Then the translational dynamics will be
¨
ξ=
0
0
g
+1
m
WRBJξ(α)T(2.5)
with
Jξ(α) =
sin α00 sin α20
0sin α10 sin α3
cos α0cos α1cos α2cos α3
(2.6)
10
where ¨
ξis the linear acceleration of main body in world frame, m is the total mass of whole
platform, WRBis the ration matrix from world frame to body-fix frame, and αiis tilting
angle for i-th quadcopter, and
T=hT0T1T2T3iT
(2.7)
The rotational dynamics will be
˙
ν
ν
ν=I
I
I1(ν
ν
ν×(
Iν
Iν) + τ
τ
τ) (2.8)
where ˙νis the angular acceleration in body-fixed frame, Iis the inertia matrix of whole
platform, τ
τ
τR3is the total external torque exerted on the platform and is calculated as
τ
τ
τ=τ
τ
τT+τ
τ
τM.(2.9)
Here
τ
τ
τT=J
J
JνT
T
T(2.10)
where
Jν(α) = l
cos α00 cos α20
0 cos α10cos α3
sin α0sin α1sin α2sin α3
(2.11)
lis the distance from main body center to passive joint position, and
τ
τ
τM=
3
X
i=0
BR
R
RQiM
M
Mi,(2.12)
where
BR
R
RQi=N
N
NiR
R
Ri,(2.13)
11
with
N
N
Ni=
c(π
2i)s(π
2i) 0
s(π
2i)c(π
2i) 0
0 0 1
,R
R
Ri=
i0i
0 1 0
i0i
.(2.14)
and
M
M
Mi=hMx
i0Mz
iiT
.(2.15)
M
M
Miis the auxiliary input of the system, normally M
M
Miis commanded as 0, and the gyroscopic
term ν
ν
ν×(
Iν
Iν) is neglected, then (2.8) can be rewritten as,
˙
ν
ν
ν=I
I
I1J
J
JνT
T
T(2.16)
Then, the simplified dynamics can be written into matrix form as
¨
ξ
ξ
ξ
˙
ν
ν
ν
=
1
m
WR
R
RB0
0
0
0
0
0I
I
I1
J
J
Jξ
J
J
Jν
T
T
T+
G
G
G
0
0
0
(2.17)
2.3 Nominal Controller of Hinge Version Platform
2.3.1 Hierarchical Architecture
The control architecture of hinge platform is shown in Figure 2.2. It follows a hierarchical
structure [GT18] [RBG14]. The outer loop position and attitude controllers Cξand Cηcal-
culate the desired total external torque and force required to track the reference trajectories
based on tracking errors. The allocation mapper Mmaps the desired total force and torque
onto each quadcopter as desired thrust force Td
iand tilting angle αi, which are then sent to
individual quadcopters and tracked by onboard controllers.
12
Cη
Cξ
M
η
η
ηd
ξ
ξ
ξd
e
e
eη
e
e
eξ
τ
τ
τd
F
F
Fd
CαMSMPPQi
αd
i
Td
i,Mxd
i
eαiMy
if
f
fiu
u
ui
αi
Ti
αi
i= 0,1,2,3.
α
α
αd
T
T
TdP
α
α
α
T
T
T
η
η
η
ξ
ξ
ξ
ξ
ξ
ξ
η
η
η
Figure 2.2: Control architecture [PRY+]
2.3.2 Position and Attitude Control
Feedback linearization strategy is implemented and the high level trajectory tracking con-
troller is designed in this way
u
u
ud=
mWR
R
RT
B0
0
0
0
0
0I
I
I
u
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(2.18)
Plugging this controller back into (2.17), the dynamics will become a double integrator,
¨
ξ
ξ
ξ
˙
ν
ν
ν
=
u
u
uξ
u
u
uν
(2.19)
where u
u
uξand u
u
uνare virtual inputs for position and attitude control separately. They can be
calculated by a conventional second-order tracking controller
u
u
uξ=¨
ξ
ξ
ξd+Kξ1˙
e
e
eξ+Kξ2e
e
eξ+Kξ3Ze
e
eξdt, (2.20)
u
u
uν=˙
ν
ν
νd+Kν1e
e
eν+Kν2e
e
eη+Kν3Ze
e
eηdt. (2.21)
where ηis the Euler angles of the platform, Kξi and Kν i are constant gain matrices. e
e
eξis
the position error, e
e
eηis the attitude error, and e
e
eνis the angular velocity error. The errors
13
are defined in [LLM10] as
e
e
eξ=ξ
ξ
ξdξ
ξ
ξ, (2.22)
˙
e
e
eξ=˙
ξ
ξ
ξd˙
ξ
ξ
ξ,
e
e
eη=1
2[R
R
R(η
η
η)TR
R
R(η
η
ηd)R
R
R(η
η
ηd)TR
R
R(η
η
η)],
e
e
eν=R
R
R(η
η
η)TR
R
R(η
η
ηd)ν
ν
νdν
ν
ν.
Here, R
R
R[·] is the transformation from Euler angles to rotation matrix, and [·]is the mapping
from SO(3) to R3.
2.3.3 Nominal Allocation by Force Decomposition
The allocation problem is fundamentally to solve desired tilting angle αand thrust force
Tfrom (2.18), which is a nonlinear mapping problem. One intuitive solution can be found
in [KVE+18], which uses force decomposition to transform this nonlinear mapping to a linear
mapping problem. We can define
F
F
F=hFs0. . . Fs3Fc0. . . Fc3iT
,(2.23)
where
Fsi =iTi, Fci =iTi.(2.24)
Then (2.18) can be rewritten as,
u
u
ud=B
B
B(α)T
T
T=W
W
WF
F
F(2.25)
14
where W
W
Wis a constant allocation matrix
W
W
W=
1 0 1 0 0 0 0 0
0 1 0 10000
0 0 0 0 1 1 1 1
0 0 0 0 l0l0
0 0 0 0 0 l0l
l l l l 0 0 0 0
(2.26)
with full row rank, thus having the Moore-Penrose pseudo inverse W
W
Wsuch that
W
W
WW
W
W=I
I
I6.(2.27)
Then F
F
Fcan be calculated with this general form
F
F
F=W
W
Wu
u
ud+N
N
NWZ
Z
Z(2.28)
where N
N
NWis the nullspace of W
W
Wwith dimension 8 ×2, and Z
Z
Zis an arbitrary vector with
dimension 2 ×1. And a least-square solution can be acquired by taking Z
Z
Z= 0 which can
minimize the control effort. Then the real inputs of the platform Tiand αican be uniquely
determined by
Ti=qF2
si +F2
ci,(2.29)
and
αi= atan2(Fsi, Fci ) (2.30)
for
αi[π, π).
15
2.3.4 Quadcopter Low Level Control
Onboard controller for each quadcopter is designed to track desired tilting angle αid and
Ti. The tracking controller of αiis a PID loop,
My
i=Jy
i¨αid =k˙eα+kP α eα+kZeαdt (2.31)
where k[·]αare constant PID gains, and
eα=αid αie (2.32)
where αid is the desired tilting angle calculated by allocation, and αie is real measurement
of tilting angle from onboard IMU sensor.
Then the angular velocity of each propeller can be decided by,
ω2
i,0
ω2
i,1
ω2
i,2
ω2
i,3
=
KTKTKTKT
aKT
2aKT
2
aKT
2
aKT
2
aKT
2aKT
2aKT
2
aKT
2
KτKτKτKτ
1
Ti
0
My
i
0
(2.33)
This equation is getting from (2.3), by setting Mx
i= 0 and Mz
i= 0. This angular velocity
command will be converted into PWM signal and sent to each motor, the whole onboard
controller structure is shown in Figure 2.3.
Figure 2.3: Quadcopter onboard controller
16
2.3.5 Experiment of Hinge Version with Nominal Controller
2.3.5.1 Experiment Setup
Figure 2.4: Software architecture of the platform [Rua20]
The hinge platform prototype is shown in Figure 2.1. The central frame consists of two
perpendicular carbon fiber tubes rigidly connected at the geometric center. The quadcopters
are connected with the central frame by light-weighted 3D-printed hinge, which has no
limitation of rotation angle. Crazyflie 2.1 quadcopter is used as the quadcopter module.
The weight of Crazyflie 2.1 is 27 g and the maximum total payload is 60 g, meaning the
maximum thrust is 0.59 N. In the experiment, the maximum thrust given from ground PC
controller is limited to be 0.55 N, leaving enough margin for hinge angle regulation. The
weight of the platform is 160 g in total.
In the experiment, Optitrack motion capture system is utilized to measure the position
and attitude of the central frame. The measurements are transmitted to a ground PC,
where the high-controller for the central frame is running. This controller calculates the
desired thrust and hinge angle for each quadcopter. The desired values, along with the
attitude of the central frame, are sent to each quadcopter by Crazy Radio PA antennas.
Each quadcopter is embedded with onboard IMU module, and it can estimate the hinge
17
rotation angle knowing the attitude of central frame. Then the onboard controller regulates
the hinge angle and thrust to the desired values. The measurement rate of the Optitrack, the
ground PC controller rate and the data communication rate with each quadcopter are set
to 100 Hz. The onboard controller of quadcopter is set to 500 Hz to ensure faster low-level
response. The software architecture is shown in Figure 2.4.
2.3.5.2 Experiment Result
0 5 10 15 20 25 30 35
Time (s)
-1
-0.5
0
0.5
1
1.5
Position(m)
xref
x
yref
y
zref
z
(a) Position.
0 5 10 15 20 25 30 35
Time (s)
-1
-0.5
0
0.5
Orientation (rad)
rollref
roll
pitchref
pitch
yawref
yaw
(b) Attitude.
0 5 10 15 20 25 30 35
Time (s)
0.2
0.3
0.4
0.5
0.6
Thrust Forces(N)
T0T1T2T3
(c) Thrust Forces.
0 5 10 15 20 25 30 35
Time (s)
-1
-0.5
0
0.5
1
Tilting Angles (rad)
0123
(d) Tilting Angles.
Figure 2.5: Trajectory tracking experiment of hinge platform with nominal controller
A six-dof trajectory is used to test the trajectory tracking performance of hinge platform
with nominal controller, and the results are plotted in Figure 2.5. As we can see, the nominal
controller can stabilize the platform along whole trajectory as shown in Figures 2.5a and 2.5b,
18
and related thrust force and tilting angle commands are plotted in Figures 2.5c and 2.5d.
2.4 Platform Introduction and Dynamics Review of Gimbal Ver-
sion
2.4.1 Platform Introduction
This gimbal version overactuated UAV platform consists of 4 normal quadcopters, each
connected with the central frame by a 2-DoF gimbal. A gimbal consists of two passive rota-
tional joints that are perpendicular with each other, and the joint angles are independently
controlled by torques of each quadcopter itself. Under the control framework in this work,
each normal quadcopter provides thrust force with variable magnitude and direction, where
the direction of thrust is defined by the 2-DoF gimbal. Thus each normal quadcopter with
gimbal provides 3 DoF to the UAV platform, and the UAV platform has 12 DoF in total.
Definition of coordinate frames are shown in Figure 2.6.
Figure 2.6: Photograph of the prototype and coordination system of the overactuated UAV
platform with 4 normal quadcopters each mounted on a 2-DoF gimbal (left), and a detailed
view of the gimbal mechanism (right).
19
In Section 2.2, a novel UAV that consists of four traditional quadrotors hinged to a main
frame is introduced (hinge version). The hinges are passive with a single unconstrained
rotational DoF. The system was shown through experiment to be capable of achieving
full actuation without a significant increase in hardware complexity or the introduction of
internal torques. However, each quadcopter on this platform could only generate thrust on a
two-dimensional surface and therefore the overall platform suffered from a reduced attitude
configuration space. Furthermore, the mechanical design of the previously presented platform
included an offset between the platform’s center of mass and rotational axis, resulting in a
pendulum effect when controlling the tilt angle.
On this gimbal version platform, that offset between quadcopter CoM and rotational
axis is eliminated, and each quadcopter can generate thrust force on a three-dimensional
sphere with the passive gimbal mechanism. Thus the thrust efficiency of whole platform is
dramatically improved. And it has the capability to achieve perching and flipping which are
impossible for hinge version platform with the same thrust force saturation.
2.4.2 Whole Body Dynamics
The dynamic model of this UAV platform is similar to twist and tilt rotor quadcopter
platforms in [GT18] and [SA15], and it can be written as
¨
ξ
ξ
ξ
˙
ν
ν
ν
=
1
m
B
WR
R
R0
0
0
0
0
0I
I
I1
J
J
Jξ
J
J
Jν
T
T
T+
G
G
G
0
0
0
,(2.34)
where G
G
Gis gravitational acceleration in FW
J
J
Jξ=
122344
112334
11223344
(2.35)
20
J
J
Jν=l
022044
110330
11223344
(2.36)
T
T
T=hT1T2T3T4iT
(2.37)
where lis the identical distance from each quadcopter center to the center of central frame,
αiand βiare joint angles of the ith gimbal, and Tiis the magnitude of thrust force generated
by the ith quadcopter.
2.5 Nominal Controller of Gimbal Version Platform
2.5.1 Hierarchical Control Architecture
The controller has a hierarchical structure, containing three different parts. A high-level
controller is built based on the rigid body dynamics model, giving the desired force and
torque inputs for the overall platform. A control allocation is designed to map the overall
inputs to the desired inputs of joint angles and thrusts for individual quadcopters with
gimbals. Low-level controller is designed for each quadcopter with the gimbal mechanism to
track the desired inputs. The control diagram is shown in Figure 2.7.
Figure 2.7: Hierarchical control structure for the overactuated UAV platform. High-level
position and attitude tracking controller outputs udto the allocation. This whole-body
input is then allocated as the desired thrusts and tilting angels for each quadcopter. And
each quadcopter will regulate its tilting angle and thrust with onboard low-level controller.
21
2.5.2 Position and Attitude Control
Feedback linearization is implemented to obtain the desired control input u
u
udas
u
u
ud=
mB
WR
R
RT0
0
0
0
0
0I
I
I
u
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(2.38)
where
α
α
α=hα1α2α3α4iT
(2.39)
and
β
β
β=hβ1β2β3β4iT
(2.40)
With the feedback linearization controller (2.38) and the platform dynamics (2.34), the
system becomes
¨
ξ
ξ
ξ
˙
ν
ν
ν
=
u
u
uξ
u
u
uν
(2.41)
where u
u
uξand u
u
uνare virtual inputs for position and attitude control separately. A conven-
tional second-order tracking controller is designed as
u
u
uξ=¨
ξ
ξ
ξd+Kξ1˙
e
e
eξ+Kξ2e
e
eξ+Kξ3Ze
e
eξdt, (2.42)
u
u
uν=˙
ν
ν
νd+Kν1e
e
eν+Kν2e
e
eη+Kν3Ze
e
eηdt. (2.43)
where ηis the Euler angles of the platform, Kξi and Kν i are constant gain matrices. e
e
eξis
the position error, e
e
eηis the attitude error, and e
e
eνis the angular velocity error. Error terms
are defined in [LLM10].
22
2.5.3 Quadcopter Low Level Control
The onboard microprocessor on each quadcopter is responsible for tracking the desired
magnitude of thrust and joint angles in the low-level control loop. The desired thrust Tid
directly feeds into quadcopter motor command. While the desired joint angles αid and βid
are controlled by the torque generated by the quadcopter. Because direct measurements of
the joint angles are unavailable on the passive gimbal, an estimation scheme is developed.
The attitude of the overall platform W
BRis sent to each quadcopter. The onboard IMU
provides attitude measurements of the quadcopter. The reference frame of the IMU is
calibrated at startup to be aligned with FW, so that the attitude W
iRis available for each
quadcopter. Thus the rotation matrix can be estimated,
Bi
iR=
i0i
iiiii
iiiii
= (W
BRB
BiR)TW
iR
(2.44)
From (2.44), an estimate of αiand βican be obtained by
αie = atan2(Bi
iR32,Bi
iR22)
βie = atan2(Bi
iR13,Bi
iR11)
(2.45)
where Bi
iRij indicates the matrix element of the ith row and jth column from (2.44) [YSG+21].
The joint angles are controlled by separate PID controllers based on the error dynamics
as
¨αid =k˙eα+kP α eα+kZeαdt
¨
βid =k˙eβ+kP β eβ+kIβ Zeβdt
(2.46)
23
where k[·]αand k[·]βare constant PID gains, and
eα=αid αie
eβ=βid βie
(2.47)
are error terms. And related torque command can be determined by
τix =BIix ¨αidi
τiy =BIiy ¨
βid
τiz =BIix ¨αidi
(2.48)
Then the angular velocity of each propeller can be uniquely determined by this linear map-
ping as,
ω2
i,0
ω2
i,1
ω2
i,2
ω2
i,3
=
KTKTKTKT
aKT
2aKT
2
aKT
2
aKT
2
aKT
2aKT
2aKT
2
aKT
2
KτKτKτKτ
1
Tid
τix
τiy
τiz
(2.49)
2.5.4 Nominal Allocation by Force Decomposition
The allocation problem is aimed to solve the desired joint angles α,βand thrust forces T
from (2.38), which is a nonlinear mapping. One intuitive solution can be found in [KVE+18],
which uses force decomposition to transform this nonlinear mapping to a linear mapping
problem. The thrust vector of each quadcopter on the 2-DoF gimbal can be expressed as
F
F
Fi=
Fix
Fiy
Fiz
=Ti
i
ii
ii
,(2.50)
24
and define the combined thrust vector as
F
F
F=hF
F
FT
1F
F
FT
2F
F
FT
3F
F
FT
4iT
(2.51)
The desired control input u
u
udis equivalent to the combination of all thrust vectors as
u
u
ud=W F
W F
W F (2.52)
where W
W
WR6×12 is a constant allocation matrix and is independent of joint angles or
magnitude of thrusts.
W
W
W=
1 0 0 0 1 0 1 0 0 0 1 0
0 1 0 1 0 0 0 1 0 1 0 0
0 0 1 0 0 1 0 0 1 0 0 1
0 0 0 0 0 l0 0 0 0 0 l
0 0 l0 0 0 0 0 l0 0 0
0l0 0 l0 0 l0 0 l0
(2.53)
W
W
Wis in full row rank because the UAV platform is overactuated, and the Moore-Penrose
pseudo inverse W
W
Wcan be applied such that
W
W
WW
W
W=I
I
I6.(2.54)
Then F
F
Fcan be calculated with the general form
F
F
F=W
W
Wu
u
ud+N
N
NWZ
Z
Z(2.55)
where N
N
NWR12×6is the nullspace of W
W
W, and Z
Z
ZR6×1is an arbitrary vector. Least-square
solution is obtained by setting Z
Z
Z= 0 to minimize the control effort. The inputs of each
25
individual quadcopter Ti,αi,βican be uniquely determined by
Tid =qF2
ix +F2
iy +F2
iz
αid = atan2(Fiy, Fiz)
βid = asin(Fix
Tid
)
(2.56)
where atan2 is the quadrant-corrected arctangent function with two inputs.
This force decomposition based allocation framework can be implemented with high con-
trol frequency because of its simplicity. It provides a least-square solution which minimizes
the control effort, and it is robust about control frequency and measurement noise. How-
ever, constraints such as thrust force saturation and maximum angular velocity of tilting
angle cannot be implemented with this framework. When the platform is tracking some
challenging trajectory, this framework will generate a desired thrust force larger than the
motor saturation value, which will leads to instability [Rua20].
2.5.5 Singularity Prevention
The force decomposition based control allocation scheme does not always render viable
results. Under certain configurations the gimbal can fall into a singularity in which it will
lose one DoF in Cartesian space. The singularities are revealed by analyzing the gimbal
kinematics using Jacobians as follows. From (2.50), the normalized thrust vector is defined
as
ˆ
Fi=
id
idid
idid
(2.57)
26
Taking derivatives, the rate of change can be written as
˙
ˆ
Fi=I(αid, βid )
˙αid
˙
βid
=
0id
idid id id
idid id id
˙αid
˙
βid
(2.58)
where J(αid, βid ) is the Jacobian matrix that maps the desired rate of change of the thrust
vector and joint angles. The desired rates of change of the joint angles are represented by
˙αid
˙
βid
=J(αid, βid )˙
ˆ
Fi(2.59)
Thus,
˙αid
˙
βid
=
c2βid 0
0 1
1
JT(αid, βid )˙
ˆ
Fi(2.60)
It is obvious that when βid =±π/2, Jis ill-conditioned (the gimbal is in singularity).
From (2.60) it can also be noticed that in the near-singularity configuration, ˙αid will be much
larger than ˙
βid given that c2βid is close to zero. The maximum joint speeds are limited by the
gimbal dynamics and the motor saturation, and the attempts of tracking large joint speeds
will result in failure of the whole platform.
2.5.6 Experiment of Gimbal Version with Nominal Controller
2.5.6.1 Experiment Setup
The overactuated UAV platform consists of four Crazyflie 2.1 quadcopters from Bitcraze,
four 3D-printed gimbal and a carbon-fiber central frame. The controller for the central
frame as well as the control allocation framework discussed in this work are run on a ground
PC, which has enough computational power to implement different optimization algorithms.
27
Figure 2.8: Experiment communication setup for gimbal or hinge version platform. A ground
PC runs at 100 Hz the high-level controller of the whole platform with measurements from
OptiTrack motion-capture system. Control signals are sent to each quadcopter that runs
low-level controller at 500 Hz
The desired magnitude of thrusts and joint angles are wirelessly sent to each quadcopter
by Crazy Radio PA antennas at 100 Hz rate. Each quadcopter is capable of tracking these
desired signals with all the necessary onboard computation, sensing and actuation. Optitrack
motion capture system is used to measure the position and attitude of the central frame. The
controller rate of the ground PC is set to 100 Hz, while the onboard controller of quadcopter
is set to 500 Hz to ensure faster low-level response.
2.5.6.2 Experiment Result
A six-DoF trajectory is used to test the trajectory tracking performance of gimbal platform
with nominal controller, and the results are plotted in Figure 2.9. As we can see, the nominal
controller can stabilize the platform along whole trajectory as shown in Figures 2.9a and 2.9b,
and related thrust force and tilting angle commands are plotted in Figures 2.9c, 2.9d and
28
2.9e.
0 10 20 30 40 50
Time (s)
-0.5
0
0.5
1
Position (m)
xref
x
yref
y
zref
z
(a) Position.
0 10 20 30 40 50
Time (s)
-1.5
-1
-0.5
0
0.5
1
1.5
2
Orientation (rad)
rollref
roll
pitchref
pitch
yawref
yaw
(b) Attitude.
0 10 20 30 40 50
Time (s)
0.2
0.3
0.4
0.5
0.6
Thrust Forces (N)
T1T2T3T4
(c) Thrust Forces.
0 10 20 30 40 50
Time (s)
-1
-0.5
0
0.5
1
1.5
Tilting Angles (rad)
1
d
1
2
d
2
3
d
3
4
d
4
(d) Tilting Angles.
0 10 20 30 40 50
Time (s)
-1
-0.5
0
0.5
1
1.5
Twisting Angles (rad)
1
d
1
2
d
2
3
d
3
4
d
4
(e) Twisting Angles.
Figure 2.9: Six-dof trajectory tracking experiment on the gimbal version platform with
nominal controller
29
CHAPTER 3
Attitude Control Algorithm of Tiltable Actuator
Aerial Platform Using Inputs Redundancies
3.1 Introduction
Control algorithms for tiltable actuator aerial platforms were heavily investigated in recent
years. A hierarchical controller with least square allocation was proposed in [KVE+18]. It is
computationally effective, but can not take any constraints into consideration, for example
thrust force saturation. The controller in [PRY+] gives smooth input trajectories, however
is conservative and in this manner slow for aggressive maneuverings. And the maximum
achievable tilting angle of whole platform is relatively small. Online optimization was ap-
plied in [RBG14] and [JFB04b] to manage input saturation. [RBG14] takes derivative of
platform dynamics model to do controller design thus it needs angular and linear accelera-
tion measurement of the platform which is difficult to get in real experiments. [JFB04b] uses
first order Taylor extension to approximately transfer the nonlinear equality constraint to
a linear one, and then formulate a quadratic programming problem to solve desired thrust
forces and tilting angles at each time step. It has high requirements for computation and
only has some simulation results on a simplified dynamics model. It was also mentioned
in [Rua20] that the unique auxiliary torque input from each quadcopter, which was set to
zero for simplicity, can be explored to improve control performance, as it is a zero relative
order system and is supposed to have much faster responses in contrast with the tilting
actuation. Subsequently, these additional inputs can be utilized to improve the trajectory
tracking performance or handle unknown disturbance.
30
This chapter proposes a novel control strategy for the overactuated aerial platform pro-
posed in [PRY+], in order to improve attitude tracking performance with the auxiliary in-
puts. The auxiliary torque inputs are used to formulate an add-on compensation loop to
dynamically compensate for attitude error, as it has lower order than the nominal controller
and thus it has faster responses. This control strategy is validated by both simulation and
experiments.
The remainder of this chapter is organized as following. Section 3.2 shows the add-on
compensation loop formulated by the auxiliary torque inputs. The simulation and experi-
ment setup is shown in Section 3.3. Both simulation and experiment results are presented
in Section 3.4. This chapter is concluded in Section 3.5.
3.2 Add-on Attitude Compensator with Auxiliary Inputs
3.2.1 Method
As mentioned in (2.15), the unique dynamics of hinge platform allows for independent
auxiliary inputs M
M
Mi, which can be utilized to improve control specifications. Here a sep-
arate loop is formulated, as an add-on compensator of the nominal controller, to improve
tracking accuracy or attenuate unknown disturbance. Notice that the add-on loop can only
compensate for the attitude controller.
The dynamics with respect to the auxiliary inputs M
M
Miis shown as
˙
ν
ν
ν=I
I
I1(ν
ν
ν×ν
ν
ν+
3
X
i=0
BR
R
RQiM
M
Mi).(3.1)
As Mz
iare generated by the drag effect of propellers, and are usually much smaller than
Mx
i, so we can set
Mz
i= 0.(3.2)
31
In addition, the gyroscopic effect is neglected, and the dynamics can be simplified as
˙
ν
ν
ν=I
I
I1J
J
JMM
M
Mx,(3.3)
where
J
J
JM=
0020
0103
0123
,(3.4)
M
M
Mx=hMx
0Mx
1Mx
2Mx
3iT
.(3.5)
Define
u
u
uc=I
I
I1J
J
JMM
M
Mx,(3.6)
then (3.3) can be rewritten as
˙
ν
ν
ν=u
u
uc.(3.7)
Design controller
u
u
uc=˙
ν
ν
νd+Kc1e
e
eν+Kc2e
e
eη+Kc3Ze
e
eηdt, (3.8)
then the auxiliary inputs M
M
Mxare calculated by the optimization
mins
s
sTP
P
Ps
s
s, (3.9)
subject to the saturation constraints
0
KTKTKTKT
aKT
2aKT
2
aKT
2
aKT
2
aKT
2aKT
2aKT
2
aKT
2
KτKτKτKτ
1
Ti
Mx
i
My
i
0
ω2
m·1
1
1 (3.10)
32
Figure 3.1: Hierarchical control structure for the overactuated UAV platform. High-level
position and attitude tracking controller outputs u
u
udto the allocation. This whole-body input
is then allocated as the desired thrusts and tilting angels for each quadcopter. And each
quadcopter will regulate its tilting angle and thrust with onboard low-level controller. Add-
on attitude compensator is utilized to improve attitude control performance with auxiliary
inputs
for i= 0,1,2,3 and the matching constraint
u
u
uc=I
I
I1J
J
JMM
M
Mx+s
s
s. (3.11)
Here Tiand My
iare known from the nominal controller, ωmrefers to the maximum spinning
speed of each propeller of the commercial quadcopter. Kc1,Kc2and Kc3are controller
tuning parameters, and P
P
Pis the weighting matrix. The total control architecture with this
compensation loop is shown in Figure 3.1, where the compensation loop is plotted in the
gray region.
3.2.2 Discussion
Another idea to utilize these four auxiliary inputs is doing input allocation for all 12 inputs
together, as
u
u
ud=
J
J
Jξ
J
J
Jν
T
T
T+J
J
JMM
M
Mx(3.12)
And then directly solve α
α
α,T
T
Tand Mx
Mx
Mxfrom the virtual input u
u
ud. However, in this case the
change of variables strategy (2.23) (2.24) is not applicable to transform the nonlinear alloca-
33
tion problem to a linear one, because Mx
Mx
Mxis also coupled with α
α
αthrough the multiplication
with J
J
JM.
So finally, it was decided to use the auxiliary inputs to formulate a compensation loop,
which will not affect the control allocation part of the main controller, thus it can work
together with any existing main controller that may have different allocation strategies.
3.3 Simulation and experiment setup
3.3.1 Simulation Setup
Figure 3.2: Simulator of Hinge Version Platform
A realistic simulator is developed in Maltab Simulink/Simscape environment, as shown in
Figure 3.2, to test the control performance before doing the real experiment. This simulator
includes all the characteristics of the real hardware system, such as physical parameters
obtained from system identification, control frequencies, communication delays and noise,
34
(a) Simulator control structure.
(b) Dynamics model of the platform in Simscape environment
Figure 3.3: Details of hinge version platform simulator
dynamics of propeller motors, thrust force saturation. The communication structure of this
simulator is plotted in Figure 3.3a and the detail of Simscape model is plotted in Figure
3.3b. Table 3.1 summarizes the physical and software properties included in the simulation.
In this simulator, the dynamics of whole platform is multi-body dynamics calculated by the
Simscape, thus the inertia matrix of whole platform is changing when the quadcopter is tilted
although in controller design process we assume that whole platform has a constant inertia
matrices. It also has a distance between quadcopter CoM and rotation axis, which has a
pendulum effect to influence tilting angle control of each quadcopter, this part of dynamics
35
is also neglected in controller design.
Parameter Value
mframe 0.028kg
mi0.033kg
Iframe diag([3e43e44.5e4])kg ·m2
Iidiag([1.6e51.6e52.9e5])kg ·m2
l0.14m
Max thrust of motor 0.147N
Communication delay 0.02sec
Host PC controller rate 100Hz
Onboard controller rate 500Hz
Table 3.1: Physical and Software Properties in Simulation
3.3.2 Experiment Setup
The experiment setup is already introduced in Section 2.3.5.1.
3.4 Simulation and Experiment results
In this section, the performance of add-on attitude compensation loop is presented in three
cases: (1) preliminary test: pitch reference trajectory tracking comparison when other five
DoFs are fixed (2) disturbance rejection performance comparison between with and without
add-on attitude compensati