FLIGHT CONTROL AND HARDWARE DESIGN OF
MULTI-ROTOR SYSTEMS
by
Nathan M. Zimmerman, B.S.
W
IE
EV
A Thesis Submitted to the Faculty of the Graduate School
Marquette University,
PR
in Partial Fulfillment of the Requirements for
the Degree of Master of Science
Milwaukee, Wisconsin
August 2016
Pro Q ue st Num b e r: 10141216
All rig hts re se rve d
INFO RMATIO N TO ALL USERS
The q ua lity o f this re p ro d uc tio n is d e p e nd e nt up o n the q ua lity o f the c o p y sub m itte d .
In the unlike ly e ve nt tha t the a utho r d id no t se nd a c o m p le te m a nusc rip t
a nd the re a re m issing p a g e s, the se will b e no te d . Also , if m a te ria l ha d to b e re m o ve d ,
a no te will ind ic a te the d e le tio n.
W
IE
EV
Pro Q ue st 10141216
Pub lishe d b y Pro Q ue st LLC (2016). Co p yrig ht o f the Disse rta tio n is he ld b y the Autho r.
All rig hts re se rve d .
PR
This wo rk is p ro te c te d a g a inst una utho rize d c o p ying und e r Title 17, Unite d Sta te s Co d e
Mic ro fo rm Ed itio n © Pro Q ue st LLC.
Pro Q ue st LLC.
789 Ea st Eise nho we r Pa rkwa y
P.O . Bo x 1346
Ann Arb o r, MI 48106 - 1346
ABSTRACT
FLIGHT CONTROL AND HARDWARE DESIGN OF
MULTI-ROTOR SYSTEMS
Nathan M. Zimmerman, B.S.
Marquette University
This thesis overviews crucial concepts involved in achieving quadcopter
flight such as orientation estimation and control system implementation. This
thesis also presents researchers with comprehensive hardware and software
specifications for a quadcopter system. The primary application for this system
would be for research with regards to the implementation of advance control
techniques as well as data acquisition. Key constructs of this system include
hardware software specifications for a flight controller, the radio system, and the
sensorless brushless motor controllers.
W
Firstly, the thesis starts by developing a reference frame and a mathematical
model for the quadcotper system. Next, flight orientation estimation is
determined through an assortment of MEMS sensors such as an accelerometer,
IE
gyroscope, and magnetometer. Each sensor will be individually addressed as to
its strengths and weaknesses with regards to orientation estimation. An
algorithm will then be proposed for the data fusion of these various sensors. This
fused data will then be fed into a control system that will efficiently stabilize the
EV
quadcopter.
Finally, this thesis will overview methods of integrating lidar data directly into
the quadcopter’s control system. Real-world lidar data is used and a
computational geometry algorithm, ICL, is employed to translate the point cloud
PR
data into relevant control parameters.
ii
ACKNOWLEDGEMENTS
Firstly, I would like to thank my parents who cultivated my passion for
engineering and provided endless encouragement. Secondly, I would like to thank
my advisor, Dr. Cris Ababei, who provided a TA-scholarship and academic
support which made this thesis possible. I also would like to thank my other
committee members, Dr. Susan Schneider and Dr. Ronald Brown, for taking the
time to review this thesis and provide feedback.
I would also like to thank all of the engineers who significantly invested in
me during my development as an engineer. Specifically, I would like to thank
Brian Booth from John Deere who invested in teaching me fundamentals of
hardware engineering. Likewise, I would like to thank Bradly Schleusner and
Nicholas Butts from Appareo Systems who taught me vital fundamentals of
writing embedded software. In addition, I would like to thank Dr. James Richie
for an incredibly useful antenna theory class which made the RF portions of this
thesis possible. I would also like to thank Kellen Carrey for his feedback as well
W
as assistance in developing the RF controller. Finally, I would like to thank my
fellow lab mates, Milad Ghorbani and Wenkai Guan, who managed to put up
with the noise this thesis generated as well provide useful feedback and support.
IE
EV
PR
iii
TABLE OF CONTENTS
ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
ACKNOWLEDGEMENTS . . . . . . . . . . . . . . . . . . . . . . . . . ii
TABLE OF CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . iii
LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
CHAPTER 1 Problem Statement, Objective and Contributions . 1
1.1 Problem statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Previous Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
W
1.4 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Thesis Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
IE
CHAPTER 2 Quadcopter Background Information . . . . . . . . . 6
2.1 Common Quadcopter Motor Types . . . . . . . . . . . . . . . . . . 7
EV
2.2 Quadcopter Configurations and Frame Design . . . . . . . . . . . . 9
2.3 Quadcopter System Architecture . . . . . . . . . . . . . . . . . . . 10
CHAPTER 3 Control Goals and Orientation Establishment . . . 12
PR
3.1 Quadcopter’s Reference Frame . . . . . . . . . . . . . . . . . . . . . 12
3.2 Control Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Purpose of Mathematical Derivation . . . . . . . . . . . . . . . . . 14
3.4 Mathematical Model . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4.1 Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4.2 Torques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.5 Inertia and Angular Acceleration . . . . . . . . . . . . . . . . . . . 20
CHAPTER 4 Flight Orientation Estimation . . . . . . . . . . . . . 23
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 3 Axis Accelerometer . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2.2 3D MEM Accelerometer . . . . . . . . . . . . . . . . . . . . 24
iv
4.2.3 Accelerometer Orientation Equations . . . . . . . . . . . . . 26
4.2.4 Accelerometer Drawbacks . . . . . . . . . . . . . . . . . . . 26
4.3 3 Axis Gryoscope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.2 MEMS Gyro . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.3 MEMS Gyro Drift . . . . . . . . . . . . . . . . . . . . . . . 30
4.4 3 Axis MEMS Magnetometer . . . . . . . . . . . . . . . . . . . . . 30
4.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.4.2 Hard-Iron and Soft-Iron Interference . . . . . . . . . . . . . 31
4.4.3 Magnetometer Tilt Compensation . . . . . . . . . . . . . . . 34
4.4.4 Magnetometer Drawbacks . . . . . . . . . . . . . . . . . . . 34
W
4.5 Sensor Fusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
IE
4.6 Orientation Estimation Conclusion . . . . . . . . . . . . . . . . . . 40
CHAPTER 5 Control System Implementation . . . . . . . . . . . . 42
EV
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2 PID Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3 PID Software Implementation . . . . . . . . . . . . . . . . . . . . . 44
PR
5.4 GUI and PID Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.5 Software Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 48
CHAPTER 6 Radio Frequency System Implementation . . . . . . 50
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.2 Selecting a Frequency Band . . . . . . . . . . . . . . . . . . . . . . 51
6.3 Creating a link budget with Friis transmission . . . . . . . . . . . . 53
6.4 2.4GHz Microstrip and Coplanar Waveguide Transmission Line . . . 54
6.5 RF Baluns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.6 RF Packet Structure and Collision Avoidance . . . . . . . . . . . . 57
6.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
CHAPTER 7 Hardware Implementations . . . . . . . . . . . . . . . 62
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
v
7.2 Flight Controller Hardware . . . . . . . . . . . . . . . . . . . . . . . 63
7.3 Remote Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
7.4 Electronic Speed Controller Hardware . . . . . . . . . . . . . . . . . 68
7.4.1 Brushless Motor Operation . . . . . . . . . . . . . . . . . . . 70
7.4.2 Introduction to BEMF Zero Cross Driving . . . . . . . . . . 71
7.4.3 Brush-less Motor Driving Hardware . . . . . . . . . . . . . . 71
7.4.4 ESC Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 75
CHAPTER 8 ICL and Lidar Integration . . . . . . . . . . . . . . . . 76
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
8.2 Lidar use for positioning . . . . . . . . . . . . . . . . . . . . . . . . 77
8.3 Method of parsing Lidar Data . . . . . . . . . . . . . . . . . . . . . 79
W
8.4 Iterative Closest Line . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.5 Lidar Integration with Quadcopter Control System . . . . . . . . . 84
IE
8.6 Control System Testing, Simulation and Conclusion . . . . . . . . . 85
CHAPTER 9 Conclusion and Future Work . . . . . . . . . . . . . . 87
EV
9.1 Flight Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
9.2 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
9.3 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
PR
REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
APPENDIX A Hardware schematics and PCBs . . . . . . . . . . . 95
A.1 Hardware Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . 95
A.2 Flight Controller Schematic . . . . . . . . . . . . . . . . . . . . . . 96
A.3 Flight Controller Schematic . . . . . . . . . . . . . . . . . . . . . . 97
A.4 Flight Controller Schematic . . . . . . . . . . . . . . . . . . . . . . 98
A.5 Flight Controller Schematic . . . . . . . . . . . . . . . . . . . . . . 99
A.6 ESC Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
A.7 ESC Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
A.8 ESC Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
A.9 RF Controller Schematic . . . . . . . . . . . . . . . . . . . . . . . . 103
A.10 RF Controller Schematic . . . . . . . . . . . . . . . . . . . . . . . . 104
vi
A.11 RF Controller Schematic . . . . . . . . . . . . . . . . . . . . . . . . 105
A.12 ESC Dev Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
A.13 ESC Dev Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
APPENDIX B Transmission Line Calculations . . . . . . . . . . . . 108
B.1 Microstrip Line Zo Calculation . . . . . . . . . . . . . . . . . . . . . 108
B.2 Coplanar Waveguide Zo Calculation . . . . . . . . . . . . . . . . . . 109
W
IE
EV
PR
vii
LIST OF TABLES
6.1 Title 47 part 15.245 ISM Bands. . . . . . . . . . . . . . . . . . . . . . . 52
8.1 Specifications of the two lidars from Fig.8.2. . . . . . . . . . . . . . . . 78
W
IE
EV
PR
viii
LIST OF FIGURES
2.1 Examples of quadcopter implementations [1],[2],[3],[4]. . . . . . . . . . 6
2.2 Examples of sensored(a) and sensor-less(b) brush-less permanent mag-
net motors [5],[6]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Example of ESC [7]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 (a): X, (b): H, (c): + configuration quadcopters. In this figure, arrows
represent propeller direction, wires represent rigid frame, and the center
represents the quadframe body. . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Marq Drone electrical architecture. . . . . . . . . . . . . . . . . . . . . 10
3.1 Quadcopter reference frame. . . . . . . . . . . . . . . . . . . . . . . . 12
W
3.2 Mechanical dimensions of quadcopter. l represents the length of the
quadcopter and h represents the height. . . . . . . . . . . . . . . . . . 15
IE
3.3 Quadcopter free body diagram. . . . . . . . . . . . . . . . . . . . . . . 16
3.4 Grams thrust (Ti ) per duty cycle input. Duty cycle input represents
power percentage of a 3 cell lipo battery. . . . . . . . . . . . . . . . . . 17
EV
4.1 2D macro scale spring accelerometer. . . . . . . . . . . . . . . . . . . . 24
4.2 Accelerometer MEMs image [8]. . . . . . . . . . . . . . . . . . . . . . . 25
PR
4.3 Accelerometer noise before and during motor operation. . . . . . . . . . 27
4.4 Classical gyroscope or gyrostat. . . . . . . . . . . . . . . . . . . . . . . 29
4.5 MEMS 3 Axis Gyroscope [9]. . . . . . . . . . . . . . . . . . . . . . . . 29
4.6 MEMS 3 Axis Magnetometer [10]. . . . . . . . . . . . . . . . . . . . . 31
4.7 Milli-Gauss (mG) output of an uncalibrated magnetometer when ro-
tated in 3 dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.8 Output of a calibrated and normalized magnetometer when rotated in
3 dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.9 Plot demonstrating successful tilt compensation of magnetometer read-
ings. Here θ and φ are actuated without significant change in ψC . . . . 35
4.10 Demonstration of magnetic intensity (M ), magnetic inclination (δ), and
magnetic declination (σ). . . . . . . . . . . . . . . . . . . . . . . . . . . 36
ix
4.11 Global variation in: (a) magnetic intensity, (b) magnetic declination,
(c) magnetic inclination [11]. . . . . . . . . . . . . . . . . . . . . . . . 36
4.12 Complementary filter acting on raw accelerometer and gyro inputs. . . 37
4.13 Complementary filter with magnetometer integration. . . . . . . . . . . 38
4.14 Code snippet of 9DOF fusion filter. . . . . . . . . . . . . . . . . . . . . 39
4.15 Complementary filter validation test measuring and computing roll. . . 40
4.16 Complementary filter validation test measuring and computing pitch. . 40
4.17 Complementary filter validation test measuring and computing yaw. . . 41
5.1 Diagram of quadcopter plant and control system. . . . . . . . . . . . . 43
5.2 Expanded view of quadcopter’s control system. . . . . . . . . . . . . . 44
5.3
5.4
W
Code snippet of PID controller. . . . . . . . . . . . . . . . . . . . . . .
Code snippet for calculating PID results. . . . . . . . . . . . . . . . . .
45
45
IE
5.5 Code snippet of pitch, roll, and yaw thrust calculations. . . . . . . . . . 46
EV
5.6 Code snippet of open loop throttle control. . . . . . . . . . . . . . . . . 47
5.7 Code snippet of control loop. . . . . . . . . . . . . . . . . . . . . . . . 47
5.8 Quadcopter javascript GUI. . . . . . . . . . . . . . . . . . . . . . . . . 48
PR
5.9 High level quadcopter software flow chart. . . . . . . . . . . . . . . . . 49
6.1 RF Marq Drone hardware: (a) Flight controller, (b) Radio controller . 50
6.2 Block diagram of Marquette Drone RF system . . . . . . . . . . . . . . 51
6.3 PCB transmission lines: (a) Microstrip line, (b) Coplanar waveguide. . 55
6.4 Plot of how r changes with respect to frequency [12]. . . . . . . . . . . 55
6.5 PI tuning network example located on the RF controller. . . . . . . . . 56
6.6 RF Baluns: (a) Integrated Balun [13], (b) Discrete Balun [14]. . . . . 58
6.7 RF packet implementation. . . . . . . . . . . . . . . . . . . . . . . . . 58
6.8 RF packet implementation observed on an oscilloscope by probing the
balun voltage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.1 Block diagram of flight controller . . . . . . . . . . . . . . . . . . . . . 64
x
7.2 Image of Marq Drone flight controller. . . . . . . . . . . . . . . . . . . 65
7.3 Block Diagram of flight controller. . . . . . . . . . . . . . . . . . . . . . 66
7.4 Image of Marq Drone remote. . . . . . . . . . . . . . . . . . . . . . . . 66
7.5 LiPo under voltage, over current, over charge, reverse bias, and backfeed
protection circuit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.6 Block Diagram of Marq ESC. . . . . . . . . . . . . . . . . . . . . . . . 69
7.7 Picture of ESCs: (a) Marq ESC, (b) Marq ESC Dev board. . . . . . . 69
7.8 Diagram of brushless motor and 6 driving switches. . . . . . . . . . . . 72
7.9 6 step trapezoidal commutation sequence. . . . . . . . . . . . . . . . . 72
7.10 Software block diagram of zero cross brushless motor driving. . . . . . 73
W
7.11 Brushless motor phase voltage (yellow) and zero cross detection com-
parator (green). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
IE
8.1 Lidar plot of room . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.2 (a) Hokuyo UTM-30LX lidar used in [15] . (b) Neato XV-11 lidar device
EV
used in this project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
8.3 Lidar moved to the left by ≈ 600mm . . . . . . . . . . . . . . . . . . . 79
8.4 ICP Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
PR
8.5 ICP iteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8.6 Pseudocode of the ICL algorithm . . . . . . . . . . . . . . . . . . . . . 83
8.7 ICP and ICL integration results acting on dataset in Fig. 8.3. . . . . . 84
8.8 Quadcopter control diagram with lidar and sonar inputs added. . . . . 85
8.9 (a) Quadcopter simulation with external disturbance. (b) Plot of posi-
tional drift elimination. . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
9.1 Roll performance in hover test of quadcopter . . . . . . . . . . . . . . . 87
9.2 Pitch, roll, and yaw performance during hover test of quadcopter. . . . 88
xi
Acronym Definition
BEMF: Back Electro-Motive Force.
CPWG: CoPlanar WaveGuide.
EMF: Electro-motive Force.
FPU: Floating Point Unit.
ESC: Electronic Speed Controller.
FET: Field Effect Transistor.
FSK: Frequency Shift Keying.
W
ICP: Iterative Closest Point.
ICL: Iterative Closest Line.
IE
IMU: Inertial Measurement Unit.
ISM: Industrial Scientific Medical.
EV
I/O: Input / Output.
LiDAR: Light Detection And Range.
PR
LiPo: Lithium-ion Polymer.
MCU: Micro-Controller Unit.
MEMS: MicroElectroMechanical System.
PID: Proportional Integral Derivative.
PPM: Pulse Position Modulation.
QFN: Quad Flat No-leads.
RF: Radio Frequency.
xii
SPI: Serial Peripheral Interface.
UART: Universal Asynchronous Receive Transmit.
UHF: Ultra High Frequency.
USB: Universal Serial Bus.
Math/symbol Definition
θ Pitch
φ Roll
W
ψ Yaw
x̂ Estimate of x
IE
x̄ Unit vector of x direction
· Scalar product
EV
× Cross product
U P P ERCASE Matrix
PR
A−1 Inverse of matrix A
|x| Absolute value of x
atan2() Four quadrant arc tangent function
atan() Traditional two quadrant arc tangent function
1
CHAPTER 1
Problem Statement, Objective and Contributions
1.1 Problem statement
This thesis proposes quadcopter control theory, inertial measurement unit
(IMU) orientation fusion, and provides a comprehensive software/hardware
platform. To establish a reference frame, this thesis specifies a mathematical
W
coordinate system and then uses this system to determine control goals. The
remainder of the thesis focuses on how to meet the proposed control goals. An
IE
overview of existing IMU sensors is presented as well as their trade-offs with
EV
respect to quadcopter flight. An algorithm is then proposed to overcome existing
sensor limitations by fusing IMU data to obtain orientation. Once known
orientation is established, this thesis then focuses on specifying multi-rotor
PR
kinematics, software, and hardware involved in flight control. Finally, this thesis
explores means of autonomous control with a lidar sensor.
The primary problem this thesis attempts to solve is in reducing
barriers to entry for advance control techniques. When building a multi-rotor
vehicle (drone), designers are faced with the choice of paying for a custom
designed aerial vehicle, building their own vehicle from scratch, or sacrificing
controllability for a inexpensive off-the-shelf system. While numerous inexpensive
off-the-shelf multi-rotor platforms are available, they often consist of proprietary
modules even when advertised as open-source. Common examples of these
2
black-box modules are sensor-less brushless motor controllers, flight controllers,
and radios. These modules are often proprietary and have limited hardware
specifications [16],[17]. Consequently for a researcher, the control and the
modifiability of these modules is limited.
1.2 Objectives
A main objective of this work is to provide researchers with a functional,
fully specified, and stabilized quadcopter. This system will be specified from
W
scratch hardware and software with the intent of eliminating as many black box
components as possible. In addition, this flight system will have an emphasis on
IE
theoretical control as well as IMU data collection making it a prime candidate for
EV
future research.
1.3 Previous Work
PR
Admittedly, much work has been done in the area of advance control of
multi-rotor systems and these works are too numerous for a comprehensive
listing. Consequently, key examples will be provided that were used as a
reference for the development of this thesis. For example, Robert Mahony
presents a comprehensive method for modeling, orientation, and control of a
quadcopter with state space methods [18]. Another example of advance control is
where researchers at University of Zurich implemented a quadcopter with a
model predictive control were able to perform extreme acrobatic maneuvers
[19],[20]. Numerous other control techniques have been applied to quadcopters as
3
well such as PID, LQR, LQR-PID, and H∞ [21], [22].
With regards to open source multi-rotor systems, Open Pilot and Clean Flight
are perhaps two of the most popular open software flight controller systems
[16],[17]. These frameworks support a broad range of multi-rotor vehicles from
tri-copters to octo-copters. With regards to open source software and hardware
systems, the Pixhawk and Sparky systems feature an open source flight
controllers [23],[24]. While these systems feature some open hardware and
software, they integrate with systems that are proprietary.
W
In regards to indoor autonomous control, this is an active area of research for all
types of remote vehicles. Mapping of unknown environments has been conducted
IE
with mutli-rotor vehicles utilizing lidar and employing the iterative closest point
EV
(ICP) algorithm [15],[25],[26]. However, in these cases the multi-rotor vehicle was
operated by a human. A team at MIT achieved autonomous indoor control of an
aerial vehicle by combining lidar data and IMU data with an extended Kalman
PR
filter as well as a Gaussian particle filter [27]. However, in this case the
environment had been pre-mapped and pre-determined trajectories were used.
Comprehensive simultaneous mapping and control is still an ongoing area of
research.
1.4 Contributions
This thesis developd a functional quadcopter system with a higher level of
integration than most other open source options. In addition, this thesis develops
a computationally efficient lidar parsing algorithm. The key contributions of this
4
flight system are as follows:
• Provides open source software / hardware files for a functional stabilized
auto-leveling flight controller
• Provides open source software / hardware files for a remote control system
• Offers practical design insights for other researchers attempting to
construct their own aerial vehicles
• Proposes a computationally efficient implementation of ICL for lidar data
W
translation
IE
1.5 Thesis Organization
EV
Chapter 2 presents fundamental background information and terminology
associated with multi-rotor systems that will be used throughout this thesis.
PR
Chapter 3 overviews the the mathematical reference frame for the multi-rotor
system and specifies control objectives. Chapter 4 describes sensors used for
quadcopter orientation estimation as well as a fusion algorithm to combine
various sensors. Chapter 5 proposes a control system to achieve auto-leveling
flight. This chapter also overviews the software architecture used in order to
execute the desired control system. Chapter 6 overviews the quadcopter’s radio
system and introduces applicable theory required for its design and construction.
Chapter 7 describes other hardware components of the quadcopter such as the
flight controller and electronic speed controllers. Chapter 8 overviews lidar
integration with a quadcopters control system. This chapter also specifies an
5
algorithm for parsing lidar data under significant processing and memory
constraints. Finally, Chapter 9 overviews the findings of this thesis, presents
flight data, and discusses future work.
W
IE
EV
PR
6
CHAPTER 2
Quadcopter Background Information
In order to provide context for future chapters, this chapter introduces the
basic inputs and outputs common to a quadcopter system. As the name
quadcopter implies, a quadcopter is a multi-rotor aircraft with four propellers.
Beyond the similarity of four propellers, there is significant design diversity. This
design diversity includes but is not limited to motor type and frame design.
W
Examples of various quad-copter implementations are shown in Fig. 2.1.
IE
EV
(a) (b)
PR
(c) (d)
Figure 2.1: Examples of quadcopter implementations [1],[2],[3],[4].
The quadcopters in Fig. 2.1 are referenced throughout this chapter as
demonstrations of different types of design. A defining aspect of these
quadcopters is the motor type that they utilize. Consequently, the next section
will overview the common types of quadcopter motors.
7
2.1 Common Quadcopter Motor Types
Low-cost commercial quadcopters generally use electric DC motors such as
brushed and brushless permanent magnet motors. In contrast to gas motors,
there exist small electric motors that are light-weight, low-cost, and of simple
construction. These features make small electric motors ideal for low-cost
commercial quadcopters. Among these electric motors, two common types of DC
electric motors exist which are brushed and brushless motors. As the name
implies, brushed DC motors are mechanically commutated with a brush, are
W
powered by DC, and are explained in detail in [28]. The control simplification
and cost of brushed DC motors makes them a popular choice for micro-size
IE
quadcopters such as the Turnigy Micro-X shown in Fig. 2.1(d). However, the
EV
brush which mechanically commutates the motor results in friction losses as well
as limited motor life span. Consequently, larger quadcopters often use brushless
permanent magnet DC motors which are electronically commutated. Brushless
PR
motors are also split into two common types which are sensored and sensor-less
motors. Examples of these two motor types are illustrated in Fig. 2.2.
(a) (b)
Figure 2.2: Examples of sensored(a) and sensor-less(b) brush-less permanent
magnet motors [5],[6].
8
In order to electronically commutate a permanent magnet motor, the rotor’s
position must be known. This can be achieved by using Hall effect sensors or by
using sensor-less driving techniques. Sensored motor operation simplifies driving
complexity but results in heavier and more exspensive motor as seen in Fig. 2.2.
Instead of using sensors, sensor-less techniques such as back electro-motive force
(BEMF) zero-cross detection and field oriented control can be implemented
[29],[30]. Sensor-less driving will be discussed in more detail in Chapter 7.
Sensor-less operation is desired since sensor-less motors have reduced weight,
cost, and complexity. As a result of this, sensor-less brushless motors are
W
common in quadcopters. However, in order to drive these motors, a DC to AC 3
IE
phase sensor-less motor driver is needed. In terms of popular multi-rotor
vernacular, these are commonly referred to as electronic speed controllers (ESC).
EV
PR
Figure 2.3: Example of ESC [7].
These ESCs represent an integral part of the quadcopter system architecture
since their output controls the orientation of the quadcopter by varying the speed
of the propellers. These devices will be discussed in greater detail in Chapter 7.
9
2.2 Quadcopter Configurations and Frame Design
Quadcopters have various configurations though the most common types are the
X configuration, the H configuration, and the + configuration. These various
configurations are illustrated in Fig. 2.4.
(a) (b)
W (c)
IE
Figure 2.4: (a): X, (b): H, (c): + configuration quadcopters. In this figure,
arrows represent propeller direction, wires represent rigid frame, and the center
represents the quadframe body.
EV
Each type of configuration offers advantages and disadvantages. The X
PR
configuration is the most commonly utilized motor configuration since it is simple
to construct, ideal for a forward facing camera, and is symmetrical. Quadcopters
in Fig. 2.1(a,b,c) are using this type of configuration. A disadvantage of this
configuration is an increase in control complexity. In contrast to the X
configuration, the + configuration is the simplest to mathematically model and
control. However, this configuration is least ideal for a forward facing camera.
Consequently, very few commercial drones are sold in this configuration and they
generally only appear in research or DIY projects. Finally, the H configuration is
sometimes built for mechanical convenience as seen in Fig. 2.1(d). In contrast,
the DJI Inspire in Fig. 2.1(c) was designed as a H configuration quadcopter to
10
achieve improved camera perspective [31]. While this configuration can be ideal
for forward facing cameras, it is also not symmetrical about its center. This lack
of symmetry should be taken into account and will be discussed later in this
thesis. These three configurations including minor deviations represent the
majority of quadcopter configurations in common use today.
2.3 Quadcopter System Architecture
A final step in presenting necessary background information for this quadcopter
W
thesis is to briefly overview the electrical architecture. A block diagram of the
architecture unique to the quadcopter designed in this thesis is shown in Fig. 2.5.
IE
EV
Motor 2 Motor3
3 Phase AC
PR
ESC2 ESC1
Remote
Flight Controller
PPM UART Lidar
Battery 2.4GHz
IMU SPI MCU SPI Radio Radio
3C LIPO 2FSK
PPM
FRONT
USB USB 2.0 PPM Sonar
ESC3 ESC4
Motor 1 Motor 4
Figure 2.5: Marq Drone electrical architecture.