Testing Bench Design and Tilting Propeller System Identification for

Transcription

Testing Bench Design and Tilting Propeller System Identification for
Testing Bench Design and Tilting Propeller System
Identification for the Development and Control of a
Thrust-vectoring Hovercraft
by
Joan Jorquera Grau
A thesis submitted to the Graduate Office
in partial fulfillment of the requirements for the degree of
MASTER OF SCIENCE IN ELECTRICAL ENGINEERING
SOUTH DAKOTA SCHOOL OF MINES AND TECHNOLOGY
RAPID CITY, SOUTH DAKOTA
2012
Prepared by:
Degree Candidate - Joan Jorquera Grau
Approved by:
Major Professor - Charles R. Tolle, Ph.D.
Graduate Education Representative - Vojislav D. Kalanovic, Ph.D.
Committee Member - Jeff S. McGough, Ph.D.
Chairman, Department of Electrical Engineering - Kazem Sohraby, Ph.D.
Dean, Graduate Education - Douglas P. Wells, Ph.D.
To Marta
i
Abstract
Quadruple Rotor Unmanned Air Vehicles design and control is a fertile area of
research in the Control and Robotics fields. Alternative “Quadrotor” concepts that use
vector-thrusting through tilting propellers is becoming an area of interest. These devices
offer different challenges and potential advantages that are worth investigating. On the
other hand, it is necessary to build a theoretical foundation for the design and control of
such devices. System Identification is a crucial step towards the design of advanced MultiInput Multi-Output control systems such as Linear-Quadratic Regulator (LQR) or Model
Predictive Control (MPC). These control systems require a linearised model of the plant
to be controlled, which in turn requires a non-linear model capturing the dynamics of the
system.
The work here presented aims at developing a basis for the design of tilting-rotor
UAVs. This includes a thorough System Identification of a tilting propeller power-train
under the ground effect and the design, assembly, mathematical modelling and controller
design for a hovering platform with 3 Degrees of Freedom that makes use of the tilting
power-train.
In order to carry out the System Identification on the tilting power-train, a
testbed capable of measuring two force components and torque is designed and assembled.
Data is acquired under a range of different conditions. Then, a set of dynamic equations
characterizing the tilting power-train are derived using Least Square Estimator and other
techniques.
A hovering platform is designed and assembled, and a non-linear mathematical
model is derived. The non-linear model is linearised and used for the design of an informed
LQR controller. The controller is then tested in simulation using the non-linear model.
All the previous steps—testbed development, power-train system identification,
hovering platform development, mathematical model derivation, controller design and
simulation—lead to the development of a model for a tilting-propeller under the ground
effect and the successful control of a thrust-vectoring hovering platform in simulation.
ii
Acknowledgments
I would like to thank my thesis advisor, Dr. Charles R. Tolle, for his guidance
and help. I would also like to thank all the professors under whom I had the pleasure to
study during my stay at South Dakota School of Mines & Technology. Their dedication
and passion made this experience exceed my expectations.
I would also like to express my gratitude to James, Troy, Chad, Andrew and the
rest of the SDSMT Controls Group members, for their assistance and for making the time
I spent at the laboratory very enjoyable. Thanks to Ralph Grahek, who also helped me in
critical moments with my research.
Last but not least, I would like to thank my family and girlfriend for their support,
love and encouragement during this venture.
iii
Table of Contents
Abstract
i
Acknowledgments
ii
List of Figures
vi
List of Tables
ix
Nomenclature
x
1 Introduction
1.1 Background
1.2 Motivation
1.3 Objective .
1.4 Scope . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
3
3
2 Review of Related Literature
2.1 Introduction . . . . . . . . . . . . . . . . . . . . .
2.2 Propeller testing benches . . . . . . . . . . . . .
2.3 Common quadrotors and thrust-vectoring UAVs
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
6
8
11
3 Testing bench development
3.1 Introduction . . . . . . . . . . .
3.2 First designs . . . . . . . . . .
3.3 Final design . . . . . . . . . . .
3.3.1 Static analysis . . . . .
3.3.2 Frequency analysis . . .
3.4 Electric & electronic equipment
3.5 Testing bench characterization
3.6 Conclusions . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
14
15
17
20
26
26
29
32
.
.
.
.
.
.
.
.
.
.
.
.
34
34
35
36
40
40
42
43
45
48
49
51
54
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Power-train characterization
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Thrust vectoring platform . . . . . . . . . . . . . . . . . . . . .
4.3 Theoretical model . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 OGE Thrust as a function of speed controller command
4.3.2 Ground Effect Factor . . . . . . . . . . . . . . . . . . .
4.3.3 Vertical and Horizontal projection functions . . . . . . .
4.3.4 Time response to a step input in δ and α . . . . . . . .
4.4 Test design . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 Experimental results and Model adjustment . . . . . . . . . . .
4.5.1 Test 1: Thrust vs PWM, TOGE (δ) . . . . . . . . . . . .
4.5.2 Test 2: Ground Effect Factor, Γ(Z̄) . . . . . . . . . . . .
4.5.3 Test 3: Vertical and horizontal force projection, Fz/x (α)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
iv
4.6
4.5.4 Test 4: TIGE (t) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.5 Test 5: Torque versus tilt angle M (α) . . . . . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Thrust-vectoring hovercraft design,
5.1 Introduction . . . . . . . . . . . . .
5.2 Platform design & components . .
5.3 Non-linear model . . . . . . . . . .
5.4 Linear Time-Variant model . . . .
5.5 Linear Time-Invariant model . . .
5.6 Localization . . . . . . . . . . . . .
5.7 Conclusions . . . . . . . . . . . . .
.
.
.
.
.
.
.
62
62
63
66
71
73
78
86
6 Platform control
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Control design & validation through simulation . . . . . . . . . . . . . . . .
6.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
88
89
92
7 Conclusions
7.1 Direction of Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
95
References
98
Appendices
102
A Testing bench & Hovercraft 2D drawings
103
B Electric & electronic component
B.1 Load cell specifications . . . . .
B.2 Servo motor specifications . . .
B.3 Load cell amplification board .
model &
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
localization
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
55
59
60
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
specifications
119
. . . . . . . . . . . . . . . . . . . . . . . . . 119
. . . . . . . . . . . . . . . . . . . . . . . . . 120
. . . . . . . . . . . . . . . . . . . . . . . . . 121
C Testing bench characterization experimental points
D Matlab/Simulink code for the propeller
D.1 Simulink diagrams . . . . . . . . . . . .
D.2 Data acquisition . . . . . . . . . . . . .
D.2.1 Test 1 . . . . . . . . . . . . . . .
D.2.2 Test 2 . . . . . . . . . . . . . . .
D.2.3 Test 3 . . . . . . . . . . . . . . .
D.2.4 Test 4 (transient) . . . . . . . . .
D.2.5 Test 4 (frequency) . . . . . . . .
D.2.6 Test 5 . . . . . . . . . . . . . . .
D.3 Data post-processing . . . . . . . . . . .
D.3.1 Test 1 . . . . . . . . . . . . . . .
D.3.2 Test 2 . . . . . . . . . . . . . . .
D.3.3 Test 3 . . . . . . . . . . . . . . .
D.3.4 Test 4: transient and frequency .
D.3.5 Test 5 . . . . . . . . . . . . . . .
assembly
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
characterization
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
125
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
126
126
127
127
128
129
130
131
131
132
132
134
136
139
141
v
E Mathematical model matrices
143
F Matlab code for the platform localization
145
G Controller implementation on hovercraft
147
Vita
154
vi
List of Figures
1.1
Small Quadruple Rotor UAV or Quadrotor [1]. . . . . . . . . . . . . . . . .
2.1
2.2
2.3
2.4
2.5
2.6
2.7
Propeller testbench design in [2] . . . . . . . . . . . . . . . . . .
Ironbird tilt-propeller testbed for tilting-rotor UAVs [3]. . . . . .
Quadrotor UAV mounted on a Whitman training stand. . . . . .
Quadrotor UAV in [4] . . . . . . . . . . . . . . . . . . . . . . . .
Different wing configurations of the vehicle in [5], [6], [7] and [8].
Tilting rotor birotor UAV concept (left) and prototype (right). .
Bell Eagle Eye UAV in vertical flight configuration. . . . . . . . .
3.1
Propeller assembly 3D drawing. Main components are a servo motor (black),
a brushless AC motor (gold) and a propeller (grey disk). The the L-shaped
piece (grey) serves the function of attaching the brushless and servo motors.
“Black box” model of the propeller assembly. The system has two inputs
and three outputs, plus environmental conditions (ground effect, wind, flow
turbulence...). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
testing bench initial design. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Testing bench initial design finite element simulation. A traction force acting
on the propeller is applied, with a slight tilt angle . . . . . . . . . . . . . . .
Torquemeter for tilt-rotor testing bench. . . . . . . . . . . . . . . . . . . . .
Torquemeter half-section view. . . . . . . . . . . . . . . . . . . . . . . . . .
Testing bench final design. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fully assembled propeller testing bench. . . . . . . . . . . . . . . . . . . . .
Testing bench finite element mesh. . . . . . . . . . . . . . . . . . . . . . . .
Testbench static analysis forces (purple arrows) and boundary conditions
(green arrows). The boundary conditions consist on the bottom surfaces of
the central shaft and the bottom load cell holder being fixed. The base and
central pieces have been eliminated to reduce simulation time. . . . . . . . .
Wheatstone bridge electrical circuit. The voltage across points B and D
is zero in normal conditions. A variation in Rg’s resistance (strain gauge)
causes a voltage differential between the mentioned points, as per the above
equation. In this case, only R4 changes its resistance (G-bridge configuration).
However, the sensor can occupy two or four arms of the bridge. Image from
[9]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Load cell used in the testing bench [10]. . . . . . . . . . . . . . . . . . . . .
Stress results at F z load cell. . . . . . . . . . . . . . . . . . . . . . . . . . .
Stress results at M load cell. . . . . . . . . . . . . . . . . . . . . . . . . . .
Stress results at F x load cell. . . . . . . . . . . . . . . . . . . . . . . . . . .
Sensor and data acquisition subsystem. . . . . . . . . . . . . . . . . . . . . .
Roman-type scale mounted on a platform to lift the propeller. . . . . . . . .
Correlation between the voltage delivered by the load cells and the forces
Fx , Fy , and torque M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
4.1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
6
8
9
10
11
12
13
14
15
16
17
18
18
19
20
21
22
23
24
25
25
25
29
30
31
Thrust-vectoring platform concept. The top view (top) and rear view (bottom)
are illustrated in this figure. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
vii
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
5.1
5.2
5.3
Tandem rotor overlap induced power correction in hover as derived from
momentum theory and compared to measurements. Data sources: Dingeldein(1954)
and Stephnieski & Keys (1984). Figure from [11]. . . . . . . . . . . . . . . . 38
Torque caused by the center of mass displacement with respect to the tilting
axis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Comparison between Out of Ground Effect (left) and In Ground Effect
(right) situations. In the left picture, the wake is not significantly affected
by the ground, and hence the ground effect is small. In the right picture,
wake is compressed by the proximity of the ground, which in turn affects
the propeller by increasing the lifting force. Illustration from Leishman[11]. 41
Increase in rotor thrust versus distance from the ground for a variety of
helicopters (hovering). Illustration from Leishman[11]. Data sources: Fradenburgh
(1972) and Hayden (1976). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Influence of the k parameter on the Ground Effect coefficient curve. . . . . 43
a and τ parameter retrieval of a first order system. . . . . . . . . . . . . . . 45
Simulink software implementation on host side (PC). The block actuators
will give the predefined servo and speed controller signals, to be sent to the
board. The HID receive block receives the ADC data from the board, which
is then filtered (with a low pass filter, TC = 0.05), converted to force (g),
plotted and saved to a data file for posterior analysis. Sample rate is 0.02s.
46
Simulink software implementation on embedded Fio Std board, see Section
3.4. The blocks set up the ADC ports, the PWM outputs, the system clock
and the code compilation from Simulink. The HID Send block sends the
ADC data to the host side (PC). The HID Receive block receives the PWM
duty cycle values from the host side. Sample time is 0.02s. Note that a −1
sample rate in Simulink indicates that the block inherits the sample rate of
other blocks that are connected to it. . . . . . . . . . . . . . . . . . . . . . . 47
Experimental points and linear regression. . . . . . . . . . . . . . . . . . . . 50
Linear fit showing the 95% Confidence Intervals. . . . . . . . . . . . . . . . 51
Experimental data points, LSE fit and Cheeseman & Bennet model. . . . . 52
LSE fit with 95% confidence intervals and Cheeseman & Bennet model. . . 53
Data from test 3. Top figure shows Fz versus tilt angle. Bottom figure shows
Fx versus tilt angle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
95% confidence intervals of the traditional model with the experimental data. 56
20 experimental transient response tests superimposed. . . . . . . . . . . . . 57
Frequency analysis experimental data points. . . . . . . . . . . . . . . . . . 58
Frequency analysis mean values with 95% confidence intervals. . . . . . . . 59
Data from test 5, where torque values are displayed against the tilting angle
values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Model with 95% confidence intervals, computed with the experimental data.
Due to the small torque values, the signal-to-noise ratio is small on the
experimental data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Thrust-vectoring hovercraft design. . . . . . . . .
Hovercraft top view. The Center of Mass (CoM )
propeller assembly L are shown. . . . . . . . . .
Fully assembled thrust-vectoring hovercraft. . . .
. . . . . . . . . . . . . . .
and its distance to either
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
64
65
67
viii
5.4
5.5
5.6
5.7
6.1
6.2
6.3
Forces acting on the platform, axis, positive angles and main relevant platform
dimensions; top view (top picture), rear view (bottom picture). . . . . . . .
Estimated position by double integration of the accelerometer readings,
when the accelerometer is static. . . . . . . . . . . . . . . . . . . . . . . . .
Estimated position by double integration of the accelerometer readings,
when accelerometer is moved a small distance (30cm). . . . . . . . . . . . .
For a position change of 30 cm, the position estimate through both the
Kalman filter and the double integration of the accelerometer readings are
overlain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
79
80
83
Simulink simulation block diagram. The DKE (Dynamic-Kinematic Environment)
block contains the non-linear model. The sensor error block adds zero-mean
gaussian noise to the state variables. . . . . . . . . . . . . . . . . . . . . . . 90
Evolution of hovercraft state for a transition from x = (1 0 1 0 0)T ) to
x = (0 0 0 0 0)T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Hovercraft’s regulator control effort for a transition from x = (1 0 1 0 0)T )
to x = (0 0 0 0 0)T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
B.1 Load cell amplification board. . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2 Load cell amplification schematics, by A. Muxen. . . . . . . . . . . . . . . .
B.3 Load cell amplification board top view. Electronic components placement
is detailed. By A. Muxen. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4 Load cell amplification board bottom view. Electronic components placement
is detailed. By A. Muxen. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.5 Load cell amplification board bill of material (BOM), by A. Muxen . . . . .
121
122
123
123
124
D.1 Data acquisition Simulink block diagram (uploaded to the Fio board). . . . 126
D.2 Data acquisition Simulink block diagram (PC side). . . . . . . . . . . . . . 127
G.1 Simulink hovercraft control diagram with sensor data, Kalman filter, feedback
gain, and actuator output. A data logger records the time, state and inputs
of the system for later analysis. The schedule block disconnects all the inputs
after a specified amount of time, for safety in case of erratic operation. The
saturation block limits the maximum and minimum values of the controller
output to keep propeller blades from colliding with the surface. . . . . . . .
G.2 Hovercraft movement commands. . . . . . . . . . . . . . . . . . . . . . . . .
G.3 Hovercraft movement commands over time . . . . . . . . . . . . . . . . . . .
G.4 Hovercraft on friction-reducing surface. . . . . . . . . . . . . . . . . . . . . .
G.5 Test recorded x position, ψ angle, αR and αL , in solid lines. The position and
angle commands are represented with dotted lines on the first two subplots.
149
150
151
152
153
ix
List of Tables
3.1
3.2
3.3
3.4
Final testing bench design key points. . . . . . . . . . . . . . . . . . . . . .
Comparison between expected and resulting parameters. . . . . . . . . . . .
Main resonant modes of the testing bench. In the images, colors range from
dark blue, which implies little or no displacement, to red, which implies
maximum displacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Electric and electronic components . . . . . . . . . . . . . . . . . . . . . . .
19
26
27
28
5.1
Hovercraft mechanical, electrical & electronic components. . . . . . . . . . .
66
C.1 Testbed force characterization experimental points. . . . . . . . . . . . . . . 125
C.2 Testbed torque characterization experimental points. . . . . . . . . . . . . . 125
x
Nomenclature
• α: tilting angle. 0 corresponds to the vertical position.
• δ: speed controller (ESC) PWM duty cycle command, expressed in %.
• δservo : servo motor PWM duty cycle command, expressed in %.
• Fz : vertical component of the propeller’s thrust.
• Fx : horizontal component of the propeller’s thrust.
• M : reaction torque around the tilting axis.
• R: length of the propeller blade (i.e. radius of the propeller disk).
• z: distance between the propeller and the ground.
• Z̄: dimensionless distance between the propeller and ground: Z̄ =
z
R.
• t: time.
• T : total propeller thrust, dependent on δ, Z̄ and t.
• TOGE : total propeller thrust, out of the ground effect range (Z̄ > 3).
• TIGE : total propeller thrust, inside the ground effect range (Z̄ ≤ 3).
• c(t): time-domain transfer function between actual thrust and final (steady state)
T (t)
thrust: c(t) = T (t→∞)
.
• C(s): frequency-domain transfer function between actual thrust and final (steady
(s)
state) thrust: C(s) = T T(s=0)
.
• mP A : mass of the propeller assembly (propeller + brushless AC motor + motor-servo
union + servo motor).
• lP A−CoM : distance from the propeller assembly to the vehicle’s center of mass.
• Γ(Z̄): ground effect factor, dependent on Z̄.
• τ : first order system time constant.
• x: state variable.
• u: input variable.
• a: reciprocal of τ .
• Tr : first order system Rise Time.
• θ: Least Square Estimator parameter vector.
• A: Least Square Estimator basis function matrix or state space state matrix.
• y: Least Square Estimator output data or state space system output variables.
xi
• RM SE: Root Mean Square Error.
• W : Least Square Estimator Weight matrix or Kalman Filter measurement error
covariance matrix.
• V (α): vertical thrust projection function.
• H(α): horizontal thrust projection function.
• x, y, ψ, φ: thrust-vectoring hovercraft position coordinates, yaw angle and roll angle.
• Izz , Ixx : thrust-vectoring hovercraft’s moment of inertia around vertical and longitudinal
axis (i.e. hovercraft’s z and x local axis).
• H: distance between the hovercraft’s Center of Mass and the imaginary line that
goes from one propeller to the other.
• L: semi-distance between the two hovercraft’s propeller.
• TR , TL : total thrust of the right and left propellers, respectively.
• FRx , FLx : horizontal thrust component of the right and left propellers, respectively.
• FRz , FLz : vertical thrust component of the right and left propellers, respectively.
• αR , αL : tilting angle of the right and left propeller assembly, respectively.
• δR , δL : speed command for the right and left propeller assembly, respectively.
• x̄: state-space state variable vector.
• ū: state-space input variable vector.
• A, B, C: state-space state, input and output matrices.
• ax : thrust-vectoring hovercraft acceleration in the local x axis.
• TN (δN ): nominal thrust that corresponds to the nominal speed command.
• Ff : friction force.
• c: friction coefficient.
• F , G, H: state-space state, input and output matrices in the Kalman filter convention.
• x̂: state estimation through kalman filtering.
• z: sensor measurement vector.
• K: Kalman gain matrix.
• P : process state estimation error covariance matrix.
• V : model prediction error covariance matrix.
• Q: LQR controller state variables cost function weight matrix.
• R: LQR controller input variables cost function weight matrix.
1
1. Introduction
The present section describes the background, motivation, objective and scope of
the thesis project.
1.1
Background
Nowadays Unmanned Air Vehicles (UAVs) are popular devices in the Academic,
Civil and Military fields. They offer certain advantages over their manned counterparts,
such as safety, autonomy, effectiveness and, more importantly, cost. These devices offer
interesting challenges that encompass the fields of Computer Science and Electrical, Electronic,
Controls, Mechanical and Aeronautical Engineering.
For this very reason, there is a
significant amount of research and development being performed related to these devices.
In the academic area, Quadruple Rotor UAVs, or quadrotors as they are often
called, are common (Figure 1.1). The main reason for this is that they present increased
stability and ease of control when compared to traditional or untraditional bi-rotors [12][13].
Particularly, in the area of Robotics, Computer Science and Control, Quadrotors are the
perfect platform to test and develop algorithms for Control, Autonomous Decision and
Computer Vision. Other UAV typologies are being explored, with differing features that
can potentially increase UAV manoeuvrability and/or ease of control. One of these features
is thrust-vectoring through tilting-propellers.
1.2
Motivation
Alternative configurations in quadrotors, such as tilt-rotor quadrotors have not
been as thoroughly explored as their fixed-rotor counterparts. One of the reason for this
2
Figure 1.1: Small Quadruple Rotor UAV or Quadrotor [1].
is the considerable increase in complexity that arise in such devices. Therefore, a careful,
step by step thorough design and characterization of this type of device is needed.
Potentially, thrust-vectoring gives the aircraft the capability of changing their
attitude angles (roll, pitch and yaw) in a direct way that is not possible without it.
Likewise, forward movement can be directly obtained without a change in attitude. Such
advancements are particularly important for systems that deploy image-process elements.
In fixed-rotor quadrotors, for instance, attitude (roll and pitch) angles cannot
be modified without changing the UAV’s position and speed. Movement is achieved by
inclining the whole platform towards the desired direction of movement, which is contrary
to the stability of the aircraft. Moreover, it complicates the mapping of the environment
by the onboard sensors as their orientation change with the aircraft, for those systems that
need to perform Simultaneous Localization and Mapping or simple localisation. Conversely,
in tilting-rotor quadrotors, attitude angles can be modified without moving the platform.
Also, forward and reverse movements can be achieved by tilting the propellers instead of
3
the whole platform.
Additional benefits of thrust-vectoring tilt-rotors are the ability for them to
provide VTOL (Vertical Take-off and Landing) capabilities to airplane-type UAVs. This
results in devices that combine the benefits of both airplanes and helicopters: VTOL,
hovering flight (i.e. keeping a fixed position over the ground), efficient high-speed cruise
flight and increased mission flight [13].
1.3
Objective
The goal of this project is to build a theoretical and experimental foundation for
tilt-rotor subsystems. Such a tilt-rotor subsystem can be used to design next generation
UAVs. This will be accomplished by thoroughly characterizing the tilt-rotor subsystem
using a tilt-rotor power-train testing bench. The testing bench will allow the development
of the theoretical model and the actual controller for a reduced DOF (Degrees Of Freedom)
platform that uses those tilt-rotors. The platform is a hovercraft that is designed to move
on a frictionless surface, reducing the number of DOF to three, as opposed to the six DOF
of a tilt-rotor quadrotor UAV.
1.4
Scope
The primary goal of this work encompasses several secondary goals such as the
design and manufacture of a tilting-rotor testing bench and the hovering platform. The
following summarizes the goals of the project:
• Review of existing literature
• Tilt-rotor testing bench design
4
• Tilt-rotor testing bench 3D drawing
• Validation by simulation of the forces and torques in testing bench
• Tilt-rotor testing bench assembly and integration
• Tilt-rotor testing bench characterization (i.e., obtain a correlation function or table
between testing bench readings and actual forces and torque)
• Derivation of the theoretical equations for the tilting power-train forces and torque
as functions of the system inputs
• Experimental adjustment of the theoretical equations by means of tests performed
on the testing bench
• Hovering platform design
• Hovering platform 3D drawing
• Hovering platform assembly and integration
• Mathematical model derivation for the hovering platform, which makes use of the
tilting-power train model.
• Development of a simulator for the hovering platform
• Design of hovering platform controller using a linearised model
• Controller validation through simulation
Once each of these goals has been accomplished, the success of this effort will be evaluated
and possible future directions will be provided to the readers. What follows in Chapters
5
2-7 are the results of the research performed in the accomplishment of the above stated
goals.
6
2. Review of Related Literature
2.1
Introduction
This chapter reviews several projects related to propeller test benches, thrust-
vectoring, and tilting rotor UAVs. The differences between existing research and the work
here presented are outlined. The conclusions of this review bring the work presented here
in perspective of existing research, and clearly describe its contribution to this area of
research.
2.2
Propeller testing benches
The work in [2] presents a testing bench for a quadrotor propeller. It is acknowledged
that control of a quadrotor platform is a complex process, and therefore there is need to
undergo a detailed characterization of the propellers. The testbench design can be seen in
Figure 2.1.
Figure 2.1: Propeller testbench design in [2]
The testbench being designed within this project differs from the above test bench
in that [2]’s testbench could only measure the vertical force while this work’s testbench is
7
able to measure both vertical and horizontal force components plus torque, in a decoupled
fashion.
Another example of a testbench is presented in [3]. As it can be seen in Figure
2.2, the testing bench is suitable for tilting power-plants. The testbed is intended to
substantially shorten the testing stage in the development of a large-sized tilt-wing UAV.
The authors suggest that by performing a thorough characterization of the UAV’s power
plant, time (and therefore, economic resources) can be saved during the prototyping
stage. Note that the two tilting propeller assemblies mounted on the bench in Figure
2.2 are attached to the same tilting angle and hence they keep a common tilt angle at all
times. This is because they are designed to provide VTOL capabilities. The work here
presented studies the tilting propeller assemblies separately, so that they might be actuated
independently to achieve not only VTOL, but also other potential benefits described in
Section 1.2 (e.g. increased manoeuvrability).
As far as quadrotor UAV testing is concerned, Figure 2.3 shows a Whitman
training stand in use [14]. Although Whitman training stands are normally used for
practice with R/C helicopters, [14] used it to test the controller without any potential
damages to the quadrotor. A training stand is a convenient element to incorporate in the
development of a suitable controller for any type of UAV, as many iterations are usually
needed before a desired controller behaviour is attained. On the other side, the use of a
training stand may change the dynamics of the system; therefore it should be taken into
account if the results are to be applicable without the training. In the research presented
here, a friction-reducing table is used as a training stand, as it constrains the movement
of the hovercraft to a small area. Furthermore, the table is a key factor in defining the
system’s dynamics, by reducing the friction between the hovercraft and the surface (see
8
Figure 2.2: Ironbird tilt-propeller testbed for tilting-rotor UAVs [3].
Section 5.5).
2.3
Common quadrotors and thrust-vectoring UAVs
The dynamics of quadrotors are thoroughly formulated in [4]. It addresses the
mathematical modelling of a common quadrotor (Figure 2.4) from an aerodynamic standpoint
(taking into account wind disturbances) but also from an electric component standpoint,
by modelling torque and thrust delivered by the motors as a function of their operating
voltage and intensity.
There is a large number of research on quadrotor UAVs, but the vast majority
focus on controller design, localisation/mapping and formation flight [15][16][17]. As stated
previously, the goal of the work here presented is to characterize the dynamics of a tilting
propeller for its later use in small quadrotor platforms.
9
Figure 2.3: Quadrotor UAV mounted on a Whitman training stand.
Although there are a great number of quadrotor projects in the academic world,
there is a much smaller number which incorporate the concept of tilting propellers. Some
examples are presented in [5], [6], [7] and [8]. All four documents develop controllers for
the tilt-wing platform shown in Figure 2.5. A PID controller for the platform is developed
and implemented in [5]. An LQR controller for the same platform is developed in [6]. Also,
in [7] a robust position controller, which aims at controlling the UAV under the effect of
the wind disturbing effects, is introduced using PID controllers and a disturbance observer.
Finally, a dynamic model of the vehicle is derived both for vertical and horizontal flight
modes using a Newton-Euler formulation in [8].
The work presented here differs from the above in some key points. First, the
above cited work includes the development of a dynamical model of the vehicle, but not
10
Figure 2.4: Quadrotor UAV in [4]
a comprehensive tilting-propeller system identification. In the second place, the work
here presented focus also on the design of a testing bench for the tilting propellers and the
platform to be controlled. Finally, as in [3], each pair of the above design’s tilting propellers
tilt together, i.e., they have a common tilting axis, thereby keeping a zero relative tilt angle
at all times. The work here presented does not make this assumption.
Tilting rotors are more common in bi-rotor crafts. An academic development of
a tilting rotor UAV is presented in [12]. Here the authors designed and built a prototype
(Figure 2.6), derived a dynamic model and designed and tested a controller based on the
backstepping procedure [18]. However, while in [12] a mathematical model is developed, a
thorough system identification on the tilting propellers is not undertaken, as opposed to
the research here presented.
The Bell Eagle Eye UAV (Figure 2.7) is an industry prototype of a tilting rotor
bi-rotor UAV. The combination of tilting rotors and lifting surfaces gives versatility: it
is VTOL capable (Vertical Take-Off and Landing) but it can navigate like an airplane
11
Figure 2.5: Different wing configurations of the vehicle in [5], [6], [7] and [8].
by tilting its rotors 90 degrees from the vertical axis, giving it high forward speed and
efficiency [13]. This allows for longer mission times and greater distances but also increases
the aircraft size. The Bell Eagle Eye UAV is one more example of how tilting-rotors
are used to provide VTOL capabilities. However, as mentioned earlier, VTOL is not the
only advantage that is to be attained by future small tilting-rotor UAVs which have this
work’s results as a foundation; increased manoeuvrability is also key. In the case of VTOL
capable aircraft, vertical mode is only intended for take of and landing. The horizontal
mode delivers high speeds, making the aircraft impractical for indoor movement.
2.4
Conclusion
As shown above, there are examples of tilting-rotor UAV designs, and some testing
benches that are suitable for tilting-rotor power-trains. Nonetheless, to the extent of the
author’s knowledge, there is a lack of an exhaustive integrated development that begins
12
Figure 2.6: Tilting rotor birotor UAV concept (left) and prototype (right).
with the power-train modelling and system identification, continues with the design of an
intermediate platform with reduced DOFs, and finishes with the design and validation of
a controller on the mentioned platform.
Currently, most UAV research tries to design observers and controllers that are
suitable for an already assembled craft. Furthermore these projects do not usually study
the ground effect and its potential influence on the system dynamics. In contrast, this
project focuses on the development of a model that works both within ground effect and
out of it. The initial craft is a hovercraft. However, the models are extendible to traditional
quadrotor designs. The work here presented studies the ground effect influence, and finds
a model of the thrust-vectoring power-train as a previous step to the derivation of a full
dynamic model.
In conclusion, there has been and there are numerous research projects on tiltingpropeller UAV control, even though most of the research is still on fixed-rotor UAVs. This
work presents a different approach to the design and control of thrust-vectoring crafts:
a thorough process of power-train system identification and its use on the design, model
derivation, controller design and validation on a simulated tilting-rotor craft has been
13
Figure 2.7: Bell Eagle Eye UAV in vertical flight configuration.
pursued.
14
3. Testing bench development
3.1
Introduction
In this section the design, assembly, integration and characterization of the testing
bench is described.
As stated Chapter 1, the purpose of the testing bench is to characterize a tilting
propeller assembly. In other words, the goal is to obtain a transfer function from motor
speed command and tilt angle to thrust and torque. The propeller assembly is formed by
a brushless motor with a propeller attached to its axis, and a servomotor which tilts the
previous two components (see Figure 3.1).
Figure 3.1: Propeller assembly 3D drawing.
Main components are a servo motor (black), a
brushless AC motor (gold) and a propeller (grey disk). The the L-shaped piece (grey)
serves the function of attaching the brushless and servo motors.
If the propeller assembly is viewed as a black box, the purpose of the testing
bench is to determine the output as a function of the input: the two components of the
force, Fx , Fy , and the torque, M , as a function of the speed controller’s duty cycle, δ, servo
angular position, α, and environmental conditions such as the ground effect (see Figure
3.2). More information on the specifics of the propeller assembly characterization can be
15
found in Chapter 4.
Section 3.2 explains the first design considerations; Section3.3 shows the final
testing bench design and a Finite Element Analysis of it, including a static and a frequency
analysis; Section 3.4 presents the electric and electronic part of the testing bench; Section
3.5 describes the testing bench characterization process and results.
Figure 3.2: “Black box” model of the propeller assembly. The system has two inputs and three
outputs, plus environmental conditions (ground effect, wind, flow turbulence...).
3.2
First designs
The initial design of the testing bench (Figure 3.3), consisted of a single aluminium
bar attached to a metal plate for support. The bar had three narrowings along its large
dimension, with the purpose of having attached three strain gages. The narrowings serve
as a stress concentrators (i.e., stress along the piece is amplified at the narrowings, which in
turn increases the deformation, so that it can be easily measured by the load cells). With
the propeller assembly (motor + propeller + servo) attached to the other end of the bar,
the forces and torques originated by it deform the bar. In turn, the strain gages would be
able to register that strain. With a prior characterization of the testing bench, it would be
possible to use the testing bench for the propeller assembly characterization.
After a 3D drawing of the initial design was complete, the strain and stress
16
Figure 3.3: testing bench initial design.
acting on the testing bench were analized via the finite-element 3D simulator SolidWorks
Simulation, for a force of 5 Newtons (510 grams) and a tilt angle of 5 degrees. The estimated
strain field can be visually appreciated in Figure 3.4.
The results showed that the stresses, and therefore also the deformations, were
not large enough for the use of the strain gages. The strains at the horizontal and vertical
narrowings are 1.978 and 0.7734 respectively, well under the strain gages’ excitation range,
which is 1000 microdeformations (See Section 3.4 for more detail on the load cells). To
make these deformations large enough, the narrowings had to be redesigned. In order for
the deformation to cover the strain gage excitation range, their thickness had to be reduced
to less than 1 mm. These thickness values are not enough to ensure the structural integrity
of the testing bench, as the bar would deform due to its own structural weight.
Although the above reason was determinant in order to reject this particular
design, there is also the issue of having coupled deformations. In this design, each force/torque
can affect all three strain gages, thereby requiring a considerable amount of data postprocessing to decouple each strain gage deformation into a function of just a single force
for each axis.
Additional testing bench concepts were considered, having [2] as a starting point.
However, the testing bench in [2] was intended for measuring just the vertical propeller
17
Figure 3.4: Testing bench initial design finite element simulation. A traction force acting on the
propeller is applied, with a slight tilt angle
force. These designs added an additional degree of freedom to enable the use of a second
force/strain sensor and measure the horizontal component of the force. Nevertheless, the
designs still failed to provide a straight forward method of measuring torque.
3.3
Final design
After considering the above designs two important requirements for the testing
bench were identified:
1. It should enable the measurement of each of the three force/torque components
independently (i.e. as decoupled from each other as possible).
2. The design should be robust enough so that it is able to withstand repeated use,
including dynamic excitation due to a dynamic characterization of the propeller
assembly, storage, transportation, etc..
Based on the above requirements, it was chose to isolate torque measurements via
the design of a torque-meter assembly within the testing bench, shown in Figures 3.5 and
3.6. The torque-meter has two pieces that attach to each other through a free-rotating axis.
18
Figure 3.5: Torquemeter for tilt-rotor testing
bench.
Figure 3.6: Torquemeter half-section view.
The torquemeter is then inserted into the testing bench through points A and B in Figure
3.6. This configuration grants the torque-meter the additional degree of freedom needed to
isolate the rotational degree of freedom. This, combined with a load cell located within the
torque-meter as depicted in Figures 3.5 and 3.6, enables the decoupled measurement of the
torque. The rotational axis does not transmit the torque; however, it is able to transmit
the forces, thereby supporting the weight of the testing bench part as it is suspended in
air.
The horizontal component of the force, Fx , can be measured by giving the testing
bench freedom to spin around a vertical axis, and placing a force sensor at one of the edges,
see points D1 and D2 in Figure 3.7.
By combining the above considerations, along with the aforementioned torquemeter with a basic testing bench such as the one in [2], a two force and torque measuring
testing bench is obtained. A 3D drawing of the final design can be seen in Figure 3.7.
19
Figure 3.7: Testing bench final design.
This design uses the leveraging effects to increase the load cell excitation, which
was an issue in the first design. For instance, it has two possible locations, D1 and D2, for
the horizontal force (Fy ) load cell: one for large angular deflections of the propeller, and
the other for small deflections where the leverage ratio is increased.
Table 3.1 shows a description of the key points in Figures 3.5, 3.6 and 3.7.
Point
A
B
C
D1
D2
E
F
Function
Socket
Socket
Hinge
Load
cell
mountpoint
Load
cell
mountpoint
Rotational
joint
Tilting axis
Description
Junction between torquemeter and 1st half of the test bench
Junction between torquemeter and 2nd half of the test bench
Hinge granting a rotational DOF around the x axis.
Horizontal force load cell mounting position, with a force range
from 0 to 91.6 grams.
Horizontal force load cell mounting position, with a force range
from 0 to 567.8 grams.
Rotational joint around z (vertical) axis
Propeller + AC motor tilting axis, actuated by the servo.
Table 3.1: Final testing bench design key points.
There are in total 13 different types of pieces. These pieces are drilled and
machined from small blocks of aluminium. The 2D drawings of all the pieces can be
consulted in Appendix A. Figure 3.8 shows the fully assembled testing bench.
In order to validate the above design, and to identify possible testbed dynamics
that may affect the experimental tests, two analysis are carried out: a static analysis, where
20
Figure 3.8: Fully assembled propeller testing bench.
a constant force, similar to the ones that will be present during the experimental tests, will
be applied; and a frequency analysis, to identify the modes and their corresponding exciting
frequencies that could endanger the testing bench integrity.
3.3.1
Static analysis
Having a 3D drawing of the testbench, a finite-element simulation can be carried
out to identify critical points in the testbench, in terms of stress and strain, that could
force a redesign of the testbed or in any way affect the load cell force and torque readings.
A finite-element simulation divides an object into smaller elements taking into account
boundary conditions, and as a result creates a mesh where numerical methods can be used.
This permits solving problems with no known analytical solution. Figure 3.9 shows the FE
mesh of the testing bench.
When setting up a FE simulation, boundary conditions, contact between components
21
Figure 3.9: Testing bench finite element mesh.
and forces are of extreme importance. Great care must be put into defining them, as wrong
assumptions must be avoided in order for the results to correspond to reality. For instance,
axis within bearings must be given rotational freedom, despite being in contact with the
latter. Some pieces are solidly bound together, while others are just “close” to each other,
but not hold tightly.
The forces are applied to the point on the testing bench where the propeller and
AC motor will be. Their magnitude correspond to the worse-case scenario. Assuming a
maximum thrust of 4N, the vertical force Fz reaches 4N (408g) at a completely vertical
position, and the horizontal force Fx reaches 1.75N (179g), at a tilt angle of 25 degrees1
The contact conditions between components are of two types. On the one hand
there is rigid union, which implies that two components are solidly tied to each other,
and there is no relative movement between the two components along the union. Most of
the testing bench components are set to have this type of bounding within the simulation
environment. On the other hand, there is the pin connector union, which imposes contact
between two cylindrical faces from two different components, granting rotational freedom
along the axis and restricting translation along the same axis. This bounding condition
1
The maximum tilting angle is limited because collision between the propeller blades and the ground
must be avoided.
22
is imposed on the hinge, the torquemeter axis with the bearings, and the testing bench
central axis with the bearing.
The boundary conditions of the testing bench would, in principle, consist simply
on the bottom surface of the testing bench’s base being completely fixed (no displacements
allowed). This is assumed so because the testing bench will be set on a bigger surface (like
a table) and fixed with clamps. However, to reduce simulation time, the base and central
pieces are eliminated and instead the central axis and the bottom load cell holder are fixed,
as shown in Figure 3.10.
Figure 3.10: Testbench static analysis forces (purple arrows) and boundary conditions (green
arrows). The boundary conditions consist on the bottom surfaces of the central shaft
and the bottom load cell holder being fixed. The base and central pieces have been
eliminated to reduce simulation time.
In order to properly understand the results of the simulation, one must know how
the load cells work. Figure 3.11 shows the Wheatstone Bridge electrical circuit, on which
the load cells are based. The load cells use such an electrical circuit in order to register
deformations. However, they use the four arms of the Wheatstone bridge, instead of only
23
one (i.e. all four resistances values may vary due to deformation).
Figure 3.11: Wheatstone bridge electrical circuit. The voltage across points B and D is zero
in normal conditions. A variation in Rg’s resistance (strain gauge) causes a voltage
differential between the mentioned points, as per the above equation. In this case, only
R4 changes its resistance (G-bridge configuration). However, the sensor can occupy
two or four arms of the bridge. Image from [9].
The location of two of the Wheatstone branches is at 0.5 cm from the left edge
of the load cell (as seen in Figure 3.12), while the location of the other two is at 1 cm from
the right edge. The voltage at the output of the load cell will depend on the difference
of strain between these two groups of resistances. From now on, the load cells that are
mounted in the testing bench are named according to the force/torque they measure: Fz
for the vertical force load cell, Fx for the horizontal force load cell and M for the torque
load cell, mounted in the torquemeter.
The results are discussed from 3 points of view: displacements, stresses and
strains.
24
Figure 3.12: Load cell used in the testing bench [10].
With regard to the first, the only part of the testing bench that registers any
significant displacement is the motor holder, with 5.309 mm.
This is caused by the
deformation of the load cell, and so it was to be expected. On the other hand the load cell
deflection is 0.5258, 0.05254 and 0.09757 mm for the Fz , M and Fx load cells, respectively.
This displacements are well below the maximum load cell deflection given by the load cell
specifications [10], which is 1.905 mm.
The maximum stresses within the testing bench are in the load cells, which was
precisely the intent of this testing bench design: 573.5, 117.3 and 80.35 MPa for the Fz ,
M and Fx load cells respectively. Figures 3.13-3.15 show a zoom on the load cells, showing
the unitary stresses. The other critical points are the tilting axis with 51.26 MPa and the
torquemeter axis, with 50.30 MPa. The axes elastic modulus is high (Esteel ' 2.1·105 M P a)
so their deformations are small: 256.3 and 251.5 µ.
The deformations are, again, significant within the load cells. Table 3.2 shows
those deformations for the 3 load cells, for the 2 points on the load cell where the strain
gauges are. As seen in the table, the M load cell will not register anything from these static
forces (as there is virtually no difference in strain between the two strain gauge positions).
The other two load cells will work appropriately according to the results of this simulation.
In conclusion, the static analysis shows that the testing bench works as it was
25
Figure 3.13: Stress results at F z load cell.
Figure 3.14: Stress results at M load cell.
Figure 3.15: Stress results at F x load cell.
intended, with no significant stresses beside those of the load cells (which need to be
significant in order to be registered). Nonetheless, the last section of this chapter correlates
the actual forces and torques with the load cell readings, so no matter what are the
displacements of other parts of the testbench (which according to this analysis are negligible)
the real forces and torques should be obtained from them.
In the following section a frequency analysis is carried out, to check if the testbed
dynamics may affect the results.
26
Load cell
Fz
Fx
M
Strain at 0.5cm from
edge (µ)
2884
155.9
16.34
Strain at 1cm from
edge (µ)
152.7
6.063
15.02.
Table 3.2: Comparison between expected and resulting parameters.
3.3.2
Frequency analysis
With the same testing bench boundary and contact conditions applied in the
previous analysis, now a frequency analysis is undertaken. The estimated resonant modes
and frequencies are described in Table 3.3.
Mode 1 and mode 2 were to be expected (simple oscillations originating from
the torquemeter axis to the front of the testing bench). The resonant frequencies of the
testing bench can pose a problem when running the AC motor, as it is expected to work
precisely on the 0-12000 rpm range [19]. The polymeric propeller, on the other hand, can
only operate within the 0-6500 rpm range for structural safety [20]. Therefore, modes 3, 4
and 5 are not of concern for the safe operation of the testing bench. Resonant frequencies
for modes 1 and 2 have to be taken into account when designing the experimental tests, in
order to a) be totally avoided, or b) be only briefly excited when transitioning to higher
or lower frequencies. Also, experimental points close to those critical frequencies may be
granted a lower weight when obtaining a model.
The possible influence of these testbed dynamics over the power-train dynamics
is discussed in Section 4.5.4.
3.4
Electric & electronic equipment
In Section 3.3 the mechanical portion of the testing bench was discussed. In this
section, the electric and electronic equipment, consisting on the load cells, data acquisition
Up-down oscillation of the part of the testbed from the
torquemeter axis to the AC motor holder.
78.67
137.7
145.1
175.9
2
3
4
5
Image
Table 3.3: Main resonant modes of the testing bench. In the images, colors range from dark blue, which implies little or no displacement, to red,
which implies maximum displacement
In this mode, the front of the testbed presents a double
vertical oscillation, while the rear part presents a slight vertical
oscillation.
This mode presents greater complexity. The oscillation of
the same part referred to above is oblique (up-down and
right-left. The other half of the testbed presents up-down
oscillation. Note that vibrations are greatly exaggerated for
better visualization.
Left-to-right double oscillation of the same part of the testbed.
Description
Left-to-right-to-left movement of the part of the testbed from
the torquemeter axis to the AC motor holder.
Mode Frequency (Hz)
1
30.52
27
28
components and propeller assembly components, are discussed. These components are
listed and described in Table 3.4.
Component
Omega
LCL113/816g [10]
#
3
Load cell amplification boards
3
Aimagin 32
ARM
Fio
Board [21]
bit
Std
1
Hitec HS225-MG
Might Mini Metal
Gear servo [22]
AXI 2212 Gold
Line AC brushless
motor [19]
Jeti Advance 30
Pro electric speed
controller [23]
Hyperion CX-G3
Series 4000 mAh
Li-po battery [24]
1
1
1
1
Description
Load cell of up to 113 and 816 grams at maximum excitation. Two
816g load cells are used to measure the two components of the
propeller’s traction force, Fx and Fy . One 113g load cell is mounted
on the torquemeter to measure torque. See Appendix B for the full
specifications.
These boards interface the load cells. They amplify and filter the
incoming signal. The signal is then transmitted to the analogto-digital ports of the micro-controller. See Appendix B for the
schematics, design and bill of materials of the board, developed by
A. Muxen.
Micro-controller board, based on STM32F103RE ARM 32-bits
CortexTM M3 processor, capable of interfacing with Matlab.
The board can be programmed via Simulink and it is capable of
interfacing with a PC Simulink model in real time, for both data
transmission and reception.
Servo motor, used along two plastic gears to spin the axis that holds
the brushless motor, hence tilting the motor and propeller. See
Appendix B for the full specifications.
Brushless electric motor that drives the propeller, which in turn
produces the traction force.
The speed controller drives the brushless motor, by changing the
DC voltage and current provided by the battery into a three-phase
electric voltage and current.
7.4 V, 16.2 Wh Lithium-polymer battery.
Table 3.4: Electric and electronic components
The brushless motor drives an APC Slow-Flyer 1047 propeller [20], a 10 inch
diameter, 4.7 pitch propeller.
The components were chosen so that they could be easily obtained, implemented
and/or programmed, thereby focusing the efforts on system identification and control
design. For example the load cells consist of a functional strain gauge properly attached
to a thin metal beam, with ready to use mounting holes. Another example is the Fio Std
Board, which can be interfaced and programmed with Simulink rather than handwritten C
or C++ code. This is very convenient, as it reduces significantly the programming-testing
29
cycle, and enables the use of Simulink and Matlab’s high-level programming language and
powerful features (e.g. ease of programming, visual feedback, debugging tools and plotting
tools).
Figure 3.16 shows schematically the chain of components used to retrieve the
data from the characterization tests. The load cells are mounted into the testing bench
and connected to the amplification and filtering boards. The filtered, amplified analog
signals from the boards are connected are fed into the 12 bit, 1µs sampling rate Analog to
Digital Converter in the Fio Std Board. Finally, the Fio Std Board is connected via USB
cable to the PC, running the Simulink software that controls all the setup and saves and
visualizes the data acquired.
Figure 3.16: Sensor and data acquisition subsystem.
3.5
Testing bench characterization
Once the testbed has been assembled, it must be fully characterized. The signals
are read in the Simulink GUI via voltage levels. These levels indicate the excitation state
of the load cells, depending on the forces/torques being applied. Hence, it is necessary to
correlate the voltage values of each load cells to their corresponding forces or torque, for
different excitation levels.
With the use of a Roman-type scale2 and a platform, the testing bench can be
calibrated. The calibration setup is ahown in Figure 3.17. The propeller is lifted in the same
2
A Roman-type scale is a weight scale that hangs from an elevated position, and has a hook for hanging
the object to be weighted.
30
Figure 3.17: Roman-type scale mounted on a platform to lift the propeller.
point where the thrust force will be centred, the hub3 , thereby isolating the z (vertical)
axis force.
An equivalent procedure is followed to isolate the x (horizontal) axis force. In
this case, the platform and scale are moved in the horizontal plane, applying the force
perpendicularly to the hub rotation axis.
In the case of the torque, the force is applied to the tips of the propeller blades
positioned perpendicularly to the tilting axis, thereby producing a torque with respect to
the tilting axis
M = R · F,
where F is the force applied, and R is the propeller blade length (in this case R = 12.7cm).
In this fashion, different magnitudes of vertical and horizontal forces and torques
3
The lifting force will be produced along the propeller blade surfaces, but the sum of this distributed
force can be expressed as a single force applied to the central propeller point on the hub.
31
Figure 3.18: Correlation between the voltage delivered by the load cells and the forces Fx , Fy , and
torque M .
are applied and measured with the scale, and the corresponding voltage values are recorded.
Figure 3.18 shows the correlation between the forces and torque Fx , Fy and M and the
voltage of the corresponding load cell. The measurement points can be seen in Appendix
C.
The above correlation data is used together with Matlab’s interp1 function4 [25],
to interpolate and extrapolate the force/torque values corresponding to any load cell voltage
readings.
It is also necessary to correlate the servo motor duty cycle command with the
actual propeller tilt-angle α. According to the servo motor specifications B, the neutral
angle of the servo is obtained with a PWM signal of 1500µs on-time, which corresponds to a
4
The interp1 function takes the input and output data vectors and, with the cubic method option,
applies a cubic spline fit between every two points.
32
duty cycle of 1500/20000 · 100% = 7.5%, and the angle variation is 45◦ /400µs =
0.3927 rads
,
1%
therefore the angle-PWM relation is
α(δ) = 0.3927 · (δ − 7.5) rads
(3.1)
With the above relations found, the testing bench is completely ready to be used
for the propeller assembly characterization.
3.6
Conclusions
This chapter has described the design, assembly, integration and characterization
of the tilt-rotor testing bench. The design process has been outlined, including analysis and
redesign so that project goals were met. A static and frequency Finite Element Analysis
was carried out. All the components have been listed and described. The electronics
and data acquisition process has also been described. The testing bench load cell voltage
readings have been correlated to actual force and torque measures, and the propeller tilt
angle as a function of the servo command has also been found.
Mechanical design is an iterative process that must be undertaken carefully. An
appropriate amount of iteration and redesign with 3D Cad Drawing and Finite Element
Software tools is a convenient way to reduce iteration in the following, more expensive
step: actual manufacture and assembly. The analysis of the first design led to a necessary
redesign, in order to meet the testing bench requirements: robust design and decoupling
of force components and torque.
The static FEA validated the design, as the load cells presented significant strains
as required, and no other testing bench components presented unforeseen or critical stresses.
The frequency FEA showed that two of the testing bench modes can be excited within the
33
operation range of the propeller-motor assembly. Therefore, these modes must be taken
into account when designing the experimental tests.
There are many options regarding choices of electric and electronic equipment.
The approach followed in this work is the selection of components were the low-level issues
are already taken care of (e.g. Matlab-programmable micro-controller, fully assembled
full-bridge load cells). Therefore, focus can be placed in the main goals of the project.
34
4. Power-train characterization
4.1
Introduction
This chapter describes the characterization process of the tilt-rotor propeller
assembly. As it was stated in Chapter 3, the system to be characterized has two control
inputs, δ (speed controller duty cycle) and α (rotor tilt angle), plus environmental conditions
(ground effect, air flow conditions) and three outputs, Fz , Fy and M . This is visualized in
Figure 3.2.
The goal is to find Fz , Fy and M as functions of (potentially) the speed controller
duty cycle δ, the tilt angle α,the distance to the ground z and time:
Fx = f (δ, α, z, t)
(4.1)
Fy = f (δ, α, z, t)
(4.2)
M = f (δ, α, z, t).
(4.3)
These equations will allow for the control of the limited DOF platform. To this
end, the concept of a “gray box” modeling is applied. Gray box modeling makes use of
partial theoretical knowledge about the process to be modeled, and complements it with
experimental data. This concept differs from black box modeling, where no theoretical
knowledge is applied at all and the dynamics of the process are modeled with functions
such as polynomials. Instead, one assumes the form of the system equations and uses
experimental results to find constants within the model.
The reduced DOF platform is fully explained in Chapter 5. However, a brief
description is given in Section 4.2 so that the characterization tests can be designed in
accordance to it.
35
The theory behind the model is presented in Section 4.3. The experimental tests to
discover the unknowns are designed in Section 4.4. The test results and model adjustments
are presented in Section 4.5.
4.2
Thrust vectoring platform
As said in Chapter 1, a possible extension to this research may be the design and
control of a full quadrotor with tilting rotors. That is a challenging design problem, and
it is also a very difficult control problem – there are 6 degrees of freedom and up to 8
control variables (one for each rotor, plus an extra one for each of them that can tilt). It is
because of these complex interactions that an intermediate platform, with limited DOFs,
is a convenient prior to undertaking the full control problem.
Various possible platforms have been considered. One of them is an arm which
can rotate around a vertical axis and a horizontal axis (like a seesaw that can also rotate
around a vertical axis located at its center). The tilting rotors would be located at the
ends of the arms. Such a platform would have 2 DOFs and 3-4 control variables.
In the end, a hovering platform with two tilting rotors was chosen. The key
consideration of such platform is that the air cushion beneath it will provide stability in
the vertical axis, given the fact that the ground effect grows stronger the closer the propeller
is to the ground. There will be a stable altitude for which the ground effect augmented
lift force equals the weight of the platform. Also, it is to be expected that the air cushion
will provide increased stability for roll and pitch angles when compared to an off-ground
quadrotor, effectively eliminating these two degrees of freedom. Figure 4.1 shows the basic
concept behind the thrust-vectoring platform.
The hovercraft will then have 3 DOFs (x and y movements and rotation over
36
Figure 4.1: Thrust-vectoring platform concept. The top view (top) and rear view (bottom) are
illustrated in this figure.
the vertical axis, the yaw angle θ) and 4 control variables. Such a platform provides a
challenging thrust vectoring control problem, while being an adequate intermediate step
towards a future tilt-rotor quadrotor craft. The hovercraft design is detailed in Section 5.2.
4.3
Theoretical model
As it has been previously stated, the goal is to find a set of equations to express
the forces and the torque as functions of: speed controller PWM command, δ (in % duty
cycle); distance from the propeller to the ground, based on dimensionless altitude Z̄ =
z
R,
where R is the rotor diameter and z is the height above ground (i.e. Z̄ is the height above
grounds in number of rotor radius); tilt angle, α, as the angle between the propeller axis
and the vertical axis (in radians); time, t in seconds.
The intent now is to obtain a transfer function that can later be used to build a
state space model of the hovercraft, under the following assumptions:
37
1. The hovercraft will move at low speeds, thereby the model of ground effect under
axial flight will not need adjustments for the relative speed between hovercraft and
incoming air flow.
2. The friction reducing table air flow is significant enough to reduce friction between
the surface and the hovercraft’s bottom surface; however, due to the small flow and
low velocity its effect on the propeller’s wake aerodynamics is negligible.
3. The fact that the hovercraft’s twin propellers do not overlay, but are separated by
a few centimetres, renders the coupling effect in their aerodynamics negligible. As
can be seen in Figure 4.2, there is no increase in required power for two propellers in
tandem with no overlay.
4. The thrust will be modelled for varying conditions of δ, Z̄ and α in steady state. A
model that describes the transitory effect as a first-order system, with the steadystate model for t → ∞, captures the essential dynamics and more importantly, it can
be integrated into a linear state-space model of the hovercraft.
The starting point is the steady state, Out of Ground Effect (OGE)1 thrust, which
is only a function of δ,
T (δ, t → ∞, Z̄ > 3) = TOGE (δ).
(4.4)
To find TOGE (δ) will be the aim of Test 1.
In the second place, the effect of the ground proximity is introduced with the
ground effect factor, which is commonly defined as
Γ(Z̄) =
1
Conditions are OGE when Z̄ > 3.
TIGE
.
TOGE
(4.5)
38
Figure 4.2: Tandem rotor overlap induced power correction in hover as derived from momentum
theory and compared to measurements.
Data sources:
Dingeldein(1954) and
Stephnieski & Keys (1984). Figure from [11].
The steady state, In Ground Effect (IGE) thrust can then be written as
T (δ, Z̄) = Ts.s. = TOGE (δ) · Γ(Z̄).
(4.6)
To find Γ(Z̄) is the aim of Test 2. The ground effect will be further discussed in Section
4.3.2
In the third place, to obtain the vertical and horizontal components of the thrust,
the thrust must be projected onto the hovercraft’s plane of movement. The projection
functions are defined as V (α) for the vertical projection and H(α) for the horizontal
projection (in OGE conditions, V (α) and H(α) would obviously be cos(α) and sin(α)
respectively).
Fz (δ, Z̄, α) = TOGE (δ) · Γ(Z̄) · V (α)
(4.7)
Fx (δ, Z̄, α) = TOGE (δ) · Γ(Z̄) · H(α)
(4.8)
39
Test 3 will be carried out to find the two projection functions V and H, in the case that
the projections cannot be described by the usual sine-cosine projection.
The time response will be modelled as a first-order system for a step input in
α. A first-order system can be easily expressed as a first order differential equation in
the state-space formulation, which is convenient for the design of a MIMO (Multi-Input
Multi-Output) controller, as
1
1
ẋ = − · x + · u,
τ
τ
(4.9)
where u is the system’s driving force and τ is the model’s time constant. In other words, u
is the steady-state thrust Ts.s. that needs to be reached. The system reaches it for t → ∞.
This is, every time the thrust changes as a consequence of a change in α, it does so with
a certain inertia. Test 4 will be carried out to find the time constant τ , which defines the
first-order model.
The subsections that follow expand each of the above equation components in
greater depth.
Figure 4.3: Torque caused by the center of mass displacement with respect to the tilting axis.
The torque M is originated by the fact the center of mass of the tilting portion
40
of the propeller assembly (brushless motor and propeller) will be displaced every time the
tilt changes. Assuming that the center of mass is not aligned with the tilting axis, there
will be a torque. From the the representation in Figure 4.3, it can be easily deduced that
the torque will follow the relation
M (α) = mP A · g · lP A−CoM · sin(α) ,
(4.10)
where mP A is the propeller assembly’s mass and lP A−CoM is the distance from the tilting
axis to the propeller assembly’s center of mass. The only unknown in the above equation
is the distance lP A−CoM . A test will be performed to determine its value, see Section 4.5.5.
4.3.1
OGE Thrust as a function of speed controller command
Because there is no prior knowledge of what the relation between speed command
and thrust may be, in this case a “black box” modelling approach will be taken, expressing
TOGE as a line, a second or third degree polynomial.
The coefficients will be found by means of a Least Squares Estimator (LSE)[26].
This method is described in section 4.5, where it is used to estimate the above coefficients.
Depending on the results, the degree of the polynomial will be chosen, depending on which
one gives a smaller RMSE (Root Mean Square Error) when compared to the experimental
data.
4.3.2
Ground Effect Factor
The ground effect is the phenomenon in which the lift force of a propeller is
increased by the proximity of the ground. This is an important effect in helicopters, in
which this effect is used for taxi maneuvers (i.e., maneuvering inside an heliport/aeroport)
41
Figure 4.4:
Comparison between Out of Ground Effect (left) and In Ground Effect (right)
situations. In the left picture, the wake is not significantly affected by the ground,
and hence the ground effect is small. In the right picture, wake is compressed by the
proximity of the ground, which in turn affects the propeller by increasing the lifting
force. Illustration from Leishman[11].
as well as for normal and emergency landings. The ground effect is illustrated in Figure
4.4.
Due to the turbulent nature of the wake created by the propeller, it is a difficult
phenomenon to study. However, some theoretical models that characterize this phenomenon
have been developed [27],[28].
The Cheeseman & Benett model [29] consist on the following equation:
Γ(Z̄) =
1
TIGE (Z̄)
=
, k = 2,
TOGE
1 + ( 41Z̄ )k
(4.11)
where TOGE is the Out of Ground Effect thrust and TIGE is the In Ground Effect thrust,
dependent on the altitude. The above equation is expressed in terms of the dimensionless
altitude Z̄ =
z
R,
with R being the propeller radius, and z being the height above ground.
Figure 4.5 shows how the thrust rate Γ changes with the distance to the ground.
As it can be seen, the above Cheeseman & Benett equation essentially captures this effect.
However, the experimental results can vary substantially depending on the helicopter.
For this reason, a Gray Box modelling approach is used here to modify equation 4.11 by
42
Figure 4.5: Increase in rotor thrust versus distance from the ground for a variety of helicopters
(hovering). Illustration from Leishman[11]. Data sources: Fradenburgh (1972) and
Hayden (1976).
adjusting the k parameter within the model to match the experimental results:
Γ(Z̄) =
1
1 + ( 41Z̄ )k
(4.12)
Figure 4.6 shows how the Γ function curve is modified by changes in k.
4.3.3
Vertical and Horizontal projection functions
The sine-cosine projections of the thrust force should be validated. Although it
is undoubtedly valid for Out of Ground Effect conditions, does the ground effect have a
distorting influence on this projection? For instance, the inclination of the propeller may
cause the effective distance to the ground to change from the expected value. Such an effect
would make it necessary to make additional modifications to equations 4.7 and 4.8. For
instance the effective α could result in an increase effect instead of the expected decrease.
43
Figure 4.6: Influence of the k parameter on the Ground Effect coefficient curve.
4.3.4
Time response to a step input in δ and α
The time response will be modelled as a first-order system for a step input in
both δ and α separately. As mentioned before, the reason for modelling the response as
a first-order system is that it can be easily expressed as a first order differential equation
in the state-space formulation, which is convenient for the design of a MIMO (Multi-Input
Multi-Output) controller:
1
1
ẋ = − · x + · u,
τ
τ
(4.13)
where u is the system’s driving force and τ is the model’s time constant. The hypothesis
is made that any higher order dynamics can be neglected and a first-order model can still
capture the essential system’s dynamics. Nonetheless, once the model has been obtained,
it will be compared to experimental data to assess its validity.
44
The time constant τ is all that is needed to find a first order model for the transient
behaviour of Fz and Fy , for changes in speed command δ and tilting angle α separately.
The time constant can be found experimentally via two methods:
1. Measuring the time it takes for the system to reach 63% of its final steady state value
(or the time it takes to go down to 37% of its initial value, if it is an exponential
decay).
2. By measuring the reciprocal of the initial rate of change at t = 0 (i.e. τ = a1 , where
a is the inital slope of the exponential rise/decay) [30].
3. By measuring the Rise Time Tr : Tr is the time it takes to reach 90% of the final value
minus the time to reach 10% of the final value. The time constant is then computed
as τ =
Tr
2.2 .
The first-order transfer function in the time domain, c(t), is
t
c(t) = 1 − e− τ = 1 − e−a·t .
(4.14)
In order to validate and better adjust the model, an analysis in the frequency
domain will also be carried out. This will be done by testing the system against sinusoidal
inputs of different frequencies: 0.1, 1, 2 ,4, 6, 8 and 10 rad/s.
A magnitude and phase bode plot will then be plotted using the first-order
frequency domain transfer function
C(s) =
1
τs + 1
and the experimental points will be plotted on top to verify and adjust the model. This
will ensure that a valid model has been obtained, if it applies to both the frequency and
time domains.
45
Figure 4.7: a and τ parameter retrieval of a first order system.
4.4
Test design
The software side of the tests was developed in Simulink, as previously discussed
(see Section 3.4). There is a host side and a target side software implementation. The
target side software implementation (Figure 4.9) consists of
(a) reading from three ADC ports, where the signals feed into the load cells,
(b) outputting two PWM signals, to control the servo motor and the brushless motor
speed controller, and
(c) two-way data transmission with the host side (PC).
The host side software implementation (Figure 4.8) consists of
(a) filtering,
(b) plotting and saving the load cell data received from the board, and
46
(c) sending the servo and speed controller commands to the target board.
Figure 4.8: Simulink software implementation on host side (PC). The block actuators will give the
predefined servo and speed controller signals, to be sent to the board. The HID receive
block receives the ADC data from the board, which is then filtered (with a low pass
filter, TC = 0.05), converted to force (g), plotted and saved to a data file for posterior
analysis. Sample rate is 0.02s.
Taking into account the platform typology discussed in Section 4.2, models 4.7,
4.8 and 4.10 will be adjusted via the characterization tests that follow:
1. Thrust versus PWM. Out of Ground Effect Thrust2 as a function of speed controller
command, TOGE (δ). Maintaining a constant tilt angle at the vertical position (α =
0◦ ), the speed controller duty cycle δ is varied to cover the thrust range 100g - 400g.
2. Ground Effect Factor versus altitude. For a specific speed command δ, and
with the propeller assembly in the vertical position (α = 0◦ ), the thrust at different
altitudes z is divided by the Out of Ground Effect thrust (where z → ∞) to obtain
2
In order to test the Out of Ground Effect thrust, the propeller must not have any surface close below.
47
Figure 4.9: Simulink software implementation on embedded Fio Std board, see Section 3.4. The
blocks set up the ADC ports, the PWM outputs, the system clock and the code
compilation from Simulink. The HID Send block sends the ADC data to the host
side (PC). The HID Receive block receives the PWM duty cycle values from the host
side. Sample time is 0.02s. Note that a −1 sample rate in Simulink indicates that the
block inherits the sample rate of other blocks that are connected to it.
the Ground Effect Factor at different Z̄, between Z̄ = 0.5 and Z̄ = 3.25 (this last
value is well outside the effect region of the ground effect [27] [28]). This is repeated
for 3 different thrusts: 57g, 119g and 379g. One of the data sets will be used for
validation of the obtained model.
3. Cosine-sine decomposition under the ground effect, Fz and Fx with α 6= 0◦ . α
is varied between 0 and 16 degrees, and δ is kept constant. The force measured force
projections will be measured and compared to the expected values (those obtained
with sine-cosine projection).
4. Time-response of the output variables Fz and Fx with respect α. The time response
will be studied by giving a step input for α separately with a constant δ, α is given
48
a 25 degree step input. The transitory responses of both forces are measured. The
results are validated/adjusted with a complementary frequency analysis, where a
sinusoidal input in the tilting-angle is given at different frequencies, and a bode-plot
is built from the results. The test frequencies are 0.1, 1, 2, 4, 6, 8 and 10 Hz.
5. Constant component of the torque, M (α). With the brushless motor off, α is
varied between 0 and 25 degrees, and the torque value is measured in order to solve
for the l parameter in equation 4.10.
For all the above tests, enough repetitions will be carried out to extract a statistical
hypothesis. An LSE will be used to extract a model from all the data. The standard
deviation of the data and regression coefficients will be obtained.
In test 3 the distance of the propeller assembly to the ground will be the same
one as in the hovercraft configuration (z = 9.5cm), so that the characterization can directly
apply to the platform. Test 2 has the goal of characterizing the ground effect by adjusting
the k parameter in equation 4.12.
It is worth noting that test 3 is only needed because of the ground effect, as
stated in Section 4.3.3. Without its distorting effects, Fz and Fx could surely be obtained
by simple sine/cosine projection.
4.5
Experimental results and Model adjustment
This section presents the results of the testbed tests and the adjustment of the
theoretical model developed in Section 4.3 to fit the experimental data.
49
4.5.1
Test 1: Thrust vs PWM, TOGE (δ)
Test 1 was carried out as indicated in Section 4.4. The force is measured within
the δ range 6.0-7.0 % duty cycle. In order to extract an statistical hypothesis, the test is
repeated 20 times. A Least Squares Estimator [26] is used to perform a linear regression
of the data,
θ = (AT · A)−1 · AT · y ,
(4.15)
where θ is a column vector containing the parameters to be found (θ = [a, b]T ), y is the
column vector containing the output variable values (thrust), and A is the basis function
matrix, made up of 1, and δ terms.
In order to fully define the above components, the model is expressed in the form
y =A·θ .
(4.16)
The experimental data points (T1 , δ1 ), (T2 , δ2 ) · · · (Tm , δm ) can be expressed as
T1 = a + b · δ1
T2 = a + b · δ2
..
.
(4.17)
Tm = a + b · δm
These equations can then be rewritten in matrix form as:

  
 T1  1 δ1
  
  
 T  1 δ
 2 
2
 =
 .  
..
 .  
.
 .  
  
  
Tm
1 δm
| {z } |
{z
Y
A

  

 a
  
·  ,
  

b

 | {z }

θ
}
(4.18)
50
which then fully defines Y , A and θ terms in equation 4.16.
The terms in 4.18 applied to the LSE equation (4.27) result in coefficients
  

a −2076
 

θ=
 =

b
359.9
(4.19)
for the linear fit.
Hence, the model of TOGE (δ) is
TOGE (δ) = −2076 + 359.9 · δ.
(4.20)
Figure 4.10 shows all the data points from all the tests and the resulting linear
regression.
Figure 4.10: Experimental points and linear regression.
Next, the standard deviation for every duty cycle δk is computed taking into
account all the tests:
s
σ(δk ) =
PN
i
(Ti,k − T (δk ))2
,
N −1
(4.21)
51
where in this case N = 20 experimental tests. Figure 4.11 shows a plot of the linear
regression with error bars that show the 95% confidence interval.
Figure 4.11: Linear fit showing the 95% Confidence Intervals.
The correlation coefficient of the above data is computed as
PN xK
X̄)(Yi − Ȳ )
i=1 (Xi − q
r = qP
.
PN xK
N xK
2
2
i=1 (Xi − X̄)
i=1 (Yi − Ȳ )
(4.22)
The computed correlation coefficient is r2 = 0.9869.
4.5.2
Test 2: Ground Effect Factor, Γ(Z̄)
In this section, the results of test 2 from Section 4.4, are reported.
Equation 4.12 cannot be directly used in the LSE, as it is a non-linear function.
However, it is an intrinsically linear function [26], as it can be manipulated to obtain a
52
Figure 4.12: Experimental data points, LSE fit and Cheeseman & Bennet model.
linear expression. Taking equation 4.12,
Γ=
1
1+( 41Z̄ )k
→ Γ· 1+
1 k
4Z̄
Γ−1=Γ·
1 k
4Z̄
1 k
4Z̄
=1 → Γ+Γ·
→
Γ−1
Γ
1 k
4Z̄
=
=1 →
(4.23)
.
The last step is to apply a natural logarithm to obtain a linear equation:
ln
Γ−1
Γ
= k · ln
1
4Z̄
.
(4.24)
As before, the above equation is then applied to the m available experimental
data points,


Γ1 −1
 ln( Γ1 ) 


1
 ln( 4Z̄1 ) 

 

 


 ln( Γ2 −1 )   ln( 1 ) 



Γ2
4Z̄2 

=
·k ,

 

..
..

 

.
.
 



 


 

−1
1
ln( Γm
)
ln(
)
Γm
4Z̄
m
(4.25)
53
Figure 4.13: LSE fit with 95% confidence intervals and Cheeseman & Bennet model.
and so the LSE result can be obtained using the following definitions:


Γ1 −1
 ln( Γ1 ) 




 ln( Γ2 −1 ) 


Γ2
,
y=


.


..






−1
)
ln( Γm
Γm


1
 ln( 4Z̄1 ) 




 ln( 1 ) 

4Z̄2 
,
A=


.


..






ln( 4Z̄1 )
θ=k .
(4.26)
m
The ground effect mathematical model is of uttermost importance to predict the
ground effect when close to the ground, whereas it will have negligible effects on crafts
far from the ground. It is preferable that the model approximates the phenomenon more
closely for those data points with lower distance to the ground. For the above reasons, it
was decided that a Weighted LSE method should be applied instead of the regular LSE
[26]:
54
θ = (AT · W · A)−1 · AT · W · y,
(4.27)
where W is chosen as
W = diagonal(1/z1 , 1/z2 , ...1/zm ),
i.e. a diagonal matrix with the inverse of the dimensionless altitudes in its diagonal terms.
This way, a data point is given a weight inversely proportional to its distance to the ground.
The test is run 10 times, and the WLS is applied. The parameter is found to be
k = 1.902. As it turns out, it is close to the Cheeseman & Bennet model. Nonetheless, by
setting the k parameter to the new found value, the model fits better the propeller that is
being used:
Γ(Z̄) =
1
.
1 + ( 41Z̄ )1.902
(4.28)
Figure 4.12 shows the experimental data points, the fitted model and the Cheeseman &
Bennet model. Figure 4.13 shows the WLS model with 95% confidence intervals at the
experimental points. Note the proximity between the Cheeseman & Bennet model and the
WLS model.
4.5.3
Test 3: Vertical and horizontal force projection, Fz/x (α)
Test 3 is carried out as indicated in Section 4.4, with 15 repetition so that the
results have statistical significance. The recorded data is presented in Figure 4.14. In the
same figure, the data is compared to the regular cosine and sine projection of the total
thrust force. As seen in the figure, there is no significant variation between the data and
the cosine-sine models, despite the noise caused by vibration and the turbulent nature of
the wake. The close proximity of the ground apparently does not have an effect on how
55
Figure 4.14: Data from test 3. Top figure shows Fz versus tilt angle. Bottom figure shows Fx
versus tilt angle.
these components are obtained. Thus, the sine and cosine functions can be used to obtain
the projections of the thrust.
4.5.4
Test 4: TIGE (t)
As mentioned in Section 4.3.4 both a time-domain and a frequency-domain analysis
is carried out. In the time-domain analysis, the time response and a parameters can be
retrieved from the experimental data as the time it takes for the system to reach 63% of
the final value. The frequency analysis will help to further adjust and validate the model.
Model validation is a result of developing the model in one domain and checking it in the
other. The time domain technique is a transient response method, while the frequency
domain technique is a steady state method. In the work here presented, the former is used
and the later is predicted for validation.
56
Figure 4.15: 95% confidence intervals of the traditional model with the experimental data.
For the transient response method, 20 test were run to get a statistical hypothesis.
With a constant thrust, a tilt angle step change is the input to the system, and the change
in horizontal force is the output. Figure 4.16 presents the 20 tests superimposed, showing
the time response to a step input. The time constant, identified as the mean time to reach
63% of the steady state value computed from the above tests, is τ = 0.0884 ± 0.0052,
for a confidence interval of 95%. Therefore, the above transient response, modelled as a
first-order system transfer function, is
C(s) =
1
.
0.0884s + 1
(4.29)
Note that the behaviour of the step time response, as seen in Figure 4.16, would be more
accurately modelled by a second-order system, as there is overshoot and oscillation in
such time response. Nonetheless, as discussed earlier, a first-order model is convenient for
integration into a linear state-space model of the hovercraft.
57
Figure 4.16: 20 experimental transient response tests superimposed.
To validate if this model does indeed capture the essential dynamics of the system,
the frequency test is carried out 10 times for each of the following frequencies: 0.1, 1, 2, 4, 6,
8 and 10 rad/s. Figure 4.17 shows the experimental data points for the tested frequencies,
for both magnitude and phase bode plots. Figure 4.18 shows the mean value of the data
points, for each frequency, and the 95% confidence intervals.
Note that there is significant variance in the experimental data, as seen in Figure
4.17. The reason for the disparity between the different data points is that the noise could
not be filtered out in order not to alter the data itself. In consequence, the noise has an
effect on the amplitude and phase determination. Despite this, when looking at the mean
values of Figure 4.18, it can be clearly noticed that the experimental data correlates with
the first-order system as modelled. As discussed in Section 4.3.4, a first-order modelled was
preferred for ease of implementation in a linear controller. Moreover, the hypothesis was
made that a first-order system would capture the essential dynamics of the system despite
58
Figure 4.17: Frequency analysis experimental data points.
neglecting possible high order dynamics. The fact that the experimental data correlates to
the model seems to confirm this hypothesis.
Now that the time constant of the model is known, it can be determined if the
testbed’s dynamics, which were analysed in Section 3.3.2, could be coupled with those that
have been found above. From Table 3.3, the resonant frequencies of the testbed are, in
Hz, 30.52, 78.67, 137.7, 145.1 and 175.9 for modes 1 to 5 respectively. From the first order
model depicted in Equation 4.29, one can identify the pole as
s1 =
1
1
=
= 11.31 rad/s = 1.800 Hz .
τ
0.0884
(4.30)
The lowest resonant frequency is 30.52 Hz, which is more than an order of magnitude
higher than the model’s pole, which is 1.800 Hz. In conclusion, according to the testbed
analysis performed in the previous chapter, the testbed’s dynamics do not have an impact
on the results obtained above, as its natural frequencies are well above the model’s pole.
59
Figure 4.18: Frequency analysis mean values with 95% confidence intervals.
4.5.5
Test 5: Torque versus tilt angle M (α)
Test 5 is carried out as indicated in Section 4.4, to find M as a function of α.
The test is repeated 20 times so that the results have statistical significance. The recorded
data is presented in Figure 4.19 (red dots). As it can be observed, the torque values are
small. As indicated in Section 4.3, the torque as a function of tilt angle follows equation
4.10, from which the only unknown parameter is lP A−CoM : the distance from the propeller
assembly’s Center of Mass and the tilting axis.
To find this parameter, equation 4.10 is fitted to the experimental data in Figure
4.19 (blue line). The result is lP A−CoM = −1.170 · 10−4 , which indicates that the propeller
assembly’s CoM is almost aligned with the tilting axis.
The found torque model is
displayed in Figure 4.15 with the corresponding 95% confidence intervals, computed from
the experimental data. As it can be seen, the data presents significant noise, because the
signal that is being read (torque) is small, and thus the signal-to-noise ratio is smaller than
60
Figure 4.19: Data from test 5, where torque values are displayed against the tilting angle values.
in other tests.
4.6
Conclusion
In this chapter, the propeller assembly characterization was carried out, obtaining
a set of equations describing the forces and the torque that the propeller assembly produces
given certain speed command, tilt angle and distance to the ground. The hovering platform
was briefly described. The theoretical model describing the forces and the torque in the
propeller assembly was presented. The experimental tests were outlined. The results were
presented and the parameters to adjust the theoretical models were found.
The gray box approach had satisfactory results, in that the theoretical models
were good starting models that needed experimental adjustment. In the case of the ground
effect factor, the Cheeseman & Benett model proved to be applicable to this project’s
propeller assembly, with a slight adjustment of its k parameter.
Furthermore, the Matlab code that was developed for the system identification of
61
Figure 4.20: Model with 95% confidence intervals, computed with the experimental data. Due to
the small torque values, the signal-to-noise ratio is small on the experimental data.
the propeller assembly can be seen in Appendix D.
The propeller assembly force and torque equations are:






Fz (δ, α, Z̄) = T (δ) · Γ(Z̄) · cos(α)





Fx (δ, α, Z̄) = T (δ) · Γ(Z̄) · sin(α)









= mP T · g · l · sin(α),
M (α)
(4.31)
where
T (δ) = a + b · δ ,
Γ(Z̄) =
(4.32)
1
1+
(4.33)
( 41Z̄ )kGEF
and the five experimentally found parameters are:



 a = −2076
T (δ) :
,
M (α) : l = −1.170 · 10−4 ,


 b = 359.9
kGEF = 1.902,
τ = 0.0884 .
62
5. Thrust-vectoring hovercraft design, model & localization
5.1
Introduction
The final goal of this project, as discussed in Chapter 1, is to implement an
experimental and theoretical basis for a future development of a thrust-vectoring hovercraft.
This requires the development of a controller and, if needed, a full state observer for the
thrust-vectoring platform. Such a system will allow the hovercraft to move around a
friction-reducing surface with significant accuracy (limited only by the observability of the
system and the on-board sensor’s accuracy). In order to achieve this goal, focus should
be put on the design, model and the state feedback (localization) of the reduced DOF
platform.
Section 5.2 presents the design of the platform, including a description of the
mechanical, electrical and electronic components and their integration. Section 5.3 shows
the derivation of a non-linear model of the vector-thrusting hovercraft, that makes use
of the tilting propeller assembly derived in Chapter 4. Section 5.4 derives a linear timevariant model from the non-linear model under a set of assumptions: small pitch angle,
aligned Center of Mass and constant altitude. Section 5.5 derives a linear time-invariant
model from the non-linear model by finding the Jacobian of the model A and B matrices.
Finally, Section 5.6 discusses the localization of the platform. This includes the use of an
Inertial Measurement Unit (IMU) fused with an observer, to provide the system with a
dead reckoning estimate of its location.
63
5.2
Platform design & components
As discussed earlier, the platform moves on a friction-reducing surface. The
system is thereby restricted to 3 degrees of freedom: the spatial coordinates x and y
and the yaw attitude angle Ψ. The way in that the design of the platform is addressed is
the following: find a simple but effective design, that will allow the platform to move freely
within its 3 degrees of freedom on the frictionless table by the use of 2 thrust vectoring
propellers. Key design considerations are presented below:
1. For the sake of greater stability, the center of mass of the vehicle must be aligned
with the propellers1 . If this holds, then the total force lift is applied directly on the
center of mass, thereby producing no torque around the y local axis (See Figure 5.4
in Section 5.3).
2. The IMU (Inertial Measurement Unit) must be located as far as possible from the
electromagnetic disturbance caused by the brushless motors. Such disturbances can
potentially affect the accuracy of the magnetometer.
3. The airflow coming from the propellers should to be minimally blocked by any of the
hovercraft’s structure, thereby reducing the hovercraft’s effect on the air wake.
A conceptual 3D drawing of the hovercraft is presented in Figures G.4 and 5.2. The
components are listed and described in Table 5.1. Three pieces need to be manufactured
to obtain such a platform: a base where all components are placed, and two aluminium
L-shaped brackets that join the servo motors with the brushless motor.
The fully assembled thrust-vectoring hovercraft is shown in Figure 5.3.
1
This implies that the center of mass must be on the imaginary line that goes from the rotationg axis
of one propeller to the rotating axis of the other propeller.
64
Figure 5.1: Thrust-vectoring hovercraft design.
After the hovercraft is assembled, the weight was found to be MT = 705 g.
Furthermore, it is necessary to find the vehicle’s moment of inertia around the vertical
axis, Izz . Normally, this would be computed as
Izz =
N
X
mi · ri2 ,
(5.1)
i=1
where mi and ri are the mass and distance to the CoM of the ith hovercraft component.
The term ri2 indicates that elements that are farther from the inertia axis have a major
contribution on the total inertia, as opposed to those elements that are close to it. Therefore,
it is reasonable to assume that most of the hovercraft’s Izz inertia comes from the tilting
propeller assemblies, that weight 145 g (each) and are a distance L = 17.145cm from the
center of mass. Both distance L and the position of the Center of Mass are shown in Figure
5.2. Other components might weigh more but are situated near the center of mass (e.g.,
the battery weights 180 g, but is situated right on the vehicle’s center of mass, and hence
its contribution to the total vehicle inertia is minor).
With this considerations taken into account, the total Izz is estimated as
Izz = 2 · mP A · rP2 A−CoM · k
(5.2)
65
Figure 5.2: Hovercraft top view. The Center of Mass (CoM ) and its distance to either propeller
assembly L are shown.
where k = 1.2. k is used to account for the other element’s contribution to the inertia,
which is estimated to be 20% of the propeller assemblies contribution to the inertia.
By substituting in mP A = 145g and rP A−CoM = 0.1715m, the inertia estimation
becomes
Izz = 0.01023 Kg · m2 .
(5.3)
The same reasoning and assumptions are applied for the computation of Ixx (i.e.
the moment of inertia around the x axis, as shown in Figure 5.2). Again, most of the inertia
comes from the two propeller assemblies. The rest of components are significantly closer
to the x axis and hence their contribution to Ixx is minor. In this case, it is estimated to
be 10% of the contribution of the two propeller assemblies. Equation 5.2 is applied for Ixx ,
with k = 1.1. The result is
Ixx = 0.009377 Kg · m2 .
(5.4)
66
Item
A
B
C
D
E
F
G
H
I
5.3
Model
AXI 2212 Gold
Line AC brushless
motor [19]
Motor-servo union
Hitec HS225-MG
Might Mini Metal
Gear servo [22]
APC
Slow-Flyer
1047 propellers [20]
Base
Jeti Advance 30
Pro electric speed
controller [23]
Hyperion CX-G3
Series 4000 mAh
Li-po battery [24]
Aimagin 32 bit
ARM
Fio
Std
Board [21]
Sparkfun’s Razor 9DOF IMU [31]
Description
Brushless electric motor that drives the propeller, which in turn
produces the lifting force.
Aluminium junction between torquemeter and 2nd half of the test
bench. Their 2D drawings can be seen in Appendix A.
Servo motor, used along two plastic gears to spin the axis that
holds the brushless motor, hence tilting the motor and propeller.
See Appendix B for the full specifications.
10 inch diameter, 4.7 pitch, clockwise and counter-clockwise
propellers.
Hard wood structure supporting the rest of components, see
Appendix A.
The speed controller drives the brushless motor, by changing the
DC voltage and current provided by the battery into a three-phase
electric voltage and current.
7.4 V, 16.2 Wh Lithium-polymer battery.
Micro-controller board, based on STM32F103RE ARM 32-bits
CortexTM M3 processor
Sensor board with 3-axis magnetometer, 3-axis gyroscope and 3axis accelerometer. Suitable for use as an AHRS (attitude and
reference heading system.
Table 5.1: Hovercraft mechanical, electrical & electronic components.
Non-linear model
Consider the forces acting on the hovercraft as shown in Figure 5.4. One can
obtain the hovercraft dynamical equations by applying the following simplifying assumptions:
• Fx (θ) << Fx (α): the forward force due to the pitch angle θ is very small when
compared to the forward force due to the power-train tilt angle α. Also, because it
is assumed that θ << 1.
• H ≈ 0: the Center of Mass (CoM) is on the line that crosses the platform from FR
to FL . This is actually a design decision (see Figure 5.4).
• Z̄ ≈ ct.: the platform altitude remains constant.
67
Figure 5.3: Fully assembled thrust-vectoring hovercraft.
Using these assumptions, one obtains the dynamic equations below. Note that all
equations are obtained for the hovercraft local coordinates shown in Figure 5.4. As it can
be deduced from the top view in Figure 5.4, the forward movement is obtained by summing
the forward component of the right and left forces, indicated as FRx and FLx respectively:
mẍ = FRx + FLx .
(5.5)
The rear view in Figure 5.4 shows that the sideways movement comes from the
projection of the vertical component of the thrust forces onto the y axis, due to the roll
angle φ:
mÿ = −(FRz + FLz )sin(φ).
(5.6)
68
Figure 5.4:
Forces acting on the platform, axis, positive angles and main relevant platform
dimensions; top view (top picture), rear view (bottom picture).
Note the negative sign in 5.6 comes from the fact that a positive φ angle gives a negative
force projection onto the local y axis, as per the designated coordinate basis given in Figure
5.4.
Likewise, the yaw angular movement is found in a similar fashion. One can define
the yaw of a differential drive vehicle as:
Izz ψ̈ = L(FRx − FLx ),
(5.7)
where Izz is the moment of inertia around the vertical z axis given in equation 5.3.
In addition, the roll angular movement is given by
Ixx φ̈ = L(FRz − FLz ),
(5.8)
69
where Ixx is the moment of inertia around the horizontal x axis, that crosses the platform
from front to rear.
To sum up, the set of non-linear dynamic equations of the hovering platform,
subject to the assumptions made above, is




1


(FRx + FLx )
ẍ = m








ÿ = − 1 (FRz + FLz )φ

m




ψ̈










φ̈
=
L
Izz (FRx
− FLx )
=
L
Ixx (FRz
− FLz )
(5.9)
It is useful to rewrite the above equations in the non-linear state space form
¯ = f (x̄, ū),
ẋ
(5.10)
where x̄ and ū are the vectors containing the system states and the system inputs, respectively
(i.e. as a series of 1st order differential equations). But because the equations in 5.9 are
second-order differential equations one must first convert the 4 second-order equations into
8 first-order equations. Consider the following state variables used to obtain the set of 8
first-order differential equations:






 x = x1
y = x3
,
,




 ẋ = x2
ẏ = x4



ψ = x5


ψ̇ = x6
,



φ = x
7
.
(5.11)


φ̇ = x8
Also, the power-train force equations G.1 obtained in Chapter 4, can be expressed in terms
of the system input variables:
δR = u1 ,
δL = u2 ,
αR = u3 ,
αL = u4 .
70
as






FRx (u1 , u3 ) = T (u1 ) · Γ(Z̄) · sin(u3 )








FRz (u1 , u3 ) = T (u1 ) · Γ(Z̄) · cos(u3 )





FLx (u2 , u4 )









FLz (u2 , u4 )
= T (u2 ) · Γ(Z̄) · sin(u4 )
= T (u2 ) · Γ(Z̄) · cos(u4 )
The resulting equations are






ẍ = Γ(mZ̄) [T (u1 ) · sin(u3 ) + T (u2 ) · sin(u4 )]








Z̄)

ÿ = −Γ(
· φ · [T (u1 ) · cos(u3 ) + T (u2 ) · cos(u4 )]
m




ψ̈










φ̈
(5.12)
=
L·Γ(Z̄)
Izz
[T (u1 ) · sin(u3 ) − T (u2 ) · sin(u4 )]
=
L·Γ(Z̄)
Ixx
[T (u1 ) · cos(u3 ) − T (u2 ) · cos(u4 )]
(5.13)
Finally, introducing the state variables from equation 5.11, the non-linear state space
equation system is obtained as:





ẋ1










ẋ2









ẋ3









ẋ4




ẋ5










ẋ6










ẋ7









ẋ8
= x2
=
Γ(Z̄)
m
[T (u1 ) · sin(u3 ) + T (u2 ) · sin(u4 )]
= x4
=
−Γ(Z̄)
m
· x7 · [T (u1 ) · cos(u3 ) + T (u2 ) · cos(u4 )]
(5.14)
= x6
=
L·Γ(Z̄)
Izz
[T (u1 ) · sin(u3 ) − T (u2 ) · sin(u4 )]
= x8
=
L·Γ(Z̄)
Ixx
[T (u1 ) · cos(u3 ) − T (u2 ) · cos(u4 )]
71
The above equations are used for the derivation of a linear time-variant and linear-time
variant models in the following two sections. They are also used in the simulation step,
described in Chapter 6. The observational characteristics of the model are discussed in
Section 5.6.
5.4
Linear Time-Variant model
Recall from Chapter 4, that the linear model of the thrust as a function of speed
controller command, δR/L , equation G.2:





TR (u1 ) = a + bu1
(5.15)




TL (u2 ) = a + bu2
and their derivatives are expressed as TR/L 0 (u1/2 ),




R (u1 )

TR 0 (u1 ) = ∂T∂u
=b
1




TL 0 (u2 )
=
∂TL (u2 )
∂u2
(5.16)
= b.
Equation set 5.16 is needed in order to obtain the Jacobians of the A and B matrices.
The LTV (Linear Time-Varying) state space model has the following form:





x̄˙ = A(t) · x̄ + B(t) · ū




ȳ
= C(t) · x̄
72
with
 
x
 
 
 
 ẋ 
 
 
 
y 
 
 
 
 ẏ 
 
x̄ =   ,
 
ψ 
 
 
 
ψ̇ 
 
 
 
φ
 
 
 
φ̇


 δR 
 
 
δ 
 L

ū = 
  .
 
αR 
 
 
αL
where A, B and C matrices vary with time. A linear time-varying model is often used
to describe systems whose dynamics slowly change with time (e.g. as a cruising airplane
burns fuel, its mass changes with time, m(t)). Furthermore, LTV models are often used as
a way to linearise a non-linear model over time. At every time step, the Jacobian matrices
of the non-linear functions with respect to the state and input variables can be computed
to obtain a linear model from the non-linear system at that time step. Then, a control
law may be computed at every time step to provide one-step-ahead adaptive control. This
concept can be implemented using a Model Predictive Controller [32][33].
The matrices A and B are computed as the Jacobian matrices of the non-linear
functions in 5.14 with respect to x̄ and ū as


∂f1
 ∂x1
A8x8


 ∂f2
 ∂x1
=
 .
 .
 .


∂f8
∂x1
∂f1
∂x2
···
∂f2
∂x2
···
..
.
..
∂f8
∂x2
···
.
∂f1
∂x8 

∂f1
 ∂u1




 ∂f2
∂f2 


∂x8
 , B8x4 =  ∂u1
 .

.. 
 .
. 
 .




∂f8
∂x8
∂f8
∂u1
∂f1
∂u2
∂f1
∂u3
∂f2
∂u2
∂f2
∂u3
..
.
..
.
∂f8
∂u2
∂f8
∂u3

∂f1
∂u4 


∂f2 
∂u4 
 .
.. 

. 


(5.17)
∂f8
∂u4
The resulting A, B and C matrices are defined as the linear time-variant state-space model
73
in local coordinates as

0



0



0



0

A=

0



0



0



0

1 0 0 0 0
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 1
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0
0



0
0



0
0



Γ
− m [C(u3 )TR (u1 ) + C(u4 )TL (u2 )] 0

,

0
0



0
0



0
1



0
0
(5.18)


0




1
 S(u3 )TR 0 (u1 ) m




0



1
−x7 C(u3 )TR 0 (u1 ) m
B = Γ



0



 S(u3 )TR 0 (u1 ) L

Izz



0



C(u3 )TR 0 (u1 ) IL
xx
0
0
1
S(u4 )TL 0 (u2 ) m
1
C(u3 )TR (u1 ) m
0
0
1
−x7 C(u4 )TL 0 (u2 ) m
1
x7 S(u3 )TR (u1 ) m
0
0
−S(u4 )TL 0 (u2 ) ILzz
C(u3 )TR (u1 ) ILzz
0
0
−C(u4 )TL 0 (u2 ) IL
xx
−S(u3 )TR (u1 ) IL
xx
0



1 
C(u4 )TL (u2 ) m





0


1 

x7 S(u4 )TL (u2 ) m

 ,


0



L 
−C(u4 )TL (u2 ) Izz 



0



L
S(u4 )TL (u2 )) Ixx
(5.19)
where C(u) and S(u) are cos(u) and sin(u) respectively. The A and B matrices with the
numeric values can be seen in Appendix E.
5.5
Linear Time-Invariant model
Finally, an additional set of assumptions must be made in order to obtain an
LTI (Linear Time-Invariant) model for which an LQR controller can be developed. These
assumptions are as follows:
74
1. Roll angle is negligible,
φ ≈ 0,
φ̇ ≈ 0.
(5.20)
2. A constant nominal speed command (and hence thrust) is used in both propellers,
δ = ct = δN .
(5.21)
which also implies that the sideways displacement (in local coordinates) is not controlled:
y = 0,
ẏ = 0.
(5.22)
αR , αL << 1 rad.
(5.23)
3. Small tilt angles are used,
Based on the above assumptions, the following simplifications can be made. Assumptions
1 and 2 reduce the number of state variables to 4, as opposed to the 8 in the non-linear
and linear time-variant models. Per assumption 3, the projection of the thrust into the
horizontal direction can be approximated as
sin(αR/L ) ≈ αR/L .
(5.24)
The movement of the thrust-vectoring craft can now be fully described with equations 5.5
and 5.7:
mẍ =FRx + FLx
Izz ψ̈ =L(FRx − FLx ).
(5.25)
(5.26)
Recall that the position x of the craft is defined as the displacement along the
local x axis, as shown in Figure 5.4.
75
The dynamics that were found by time frequency response analysis in Section
4.5.4 can be introduced by means of equation 4.13:
ẋ = −a · x + a · u.
As discussed in Chapter four, equation 4.13 describes a first-order system in the state-space
formulation, with the above u being the desired state and a being the reciprocal of the
time constant, which in this case was found to be τ = 0.0884. Thereby,
1
1 1
ȧx = − · ax + · (FRx + FLx )
τ
τ m
(5.27)
describes the first-order dynamics of the acceleration change due to tilt angle, as it was
found in Section 4.5.4.
In order to obtain a set of state-space equations, the variable changes
x = x1 , ẋ = x2 , ψ = x3 , ψ̇ = x4
(5.28)
are introduced. However, because the hovercraft’s sensor package is an IMU with a 3-axis
accelerometer (see Section 5.2), x and ẋ cannot be directly observed, only ẍ can. So the
acceleration along the local x axis, is chosen as another state variable, ax = x5 . This results
in the set on linear state space equations






ẋ1 = x2










ẋ2 = x5





ẋ3 = x4









ẋ4 = ILzz TN (αR − αL )










ẋ5 = − τ1 · x5 + τ1 · TmN (αR + αL ).
(5.29)
76
where the nominal thrust is computed with equations G.2 and G.3 as
TN = T (δN ) · Γ(Z̄).
(5.30)
As previously stated, a friction-reducing surface is used. Ideally there would be
no friction between the thrust-vectoring platform and the table. However, even though
most of the friction can be removed, it is not possible to totally eliminate it. Enough
remained that it became necessary to introduce a small friction force term into the system
of equations,
Ff = −c · ẋ.
(5.31)
The magnitude of this friction force model is proportional to the velocity ẋ and a friction
constant c. This term was added into the x direction velocity equation as shown below:






ẋ1 = x2








c


x2
ẋ2 = x5 − m





(5.32)
ẋ3 = x4









ẋ4 = ILzz TN (αR − αL )










ẋ5 = − τ1 · x5 + τ1 · TmN (αR + αL ),
resulting in the system matrices

1
0


0 − c

m


A=
0
0



0
0


0
0

0 0
0 0
0 1
0 0
0 0
0 


1 



0 
,



0 


− τ1
(5.33)
77


 0


 0



B=
 0


L
 Izz TN


1 TN
τ m
0



0 



0 
.



− ILzz TN 


(5.34)
1 TN
τ m
The value of the c parameter was chosen so that the actual distance covered by the
hovercraft matched the distance estimated by the observer (see Section 5.6), given a
distance command of 1.5m in the positive x direction. This was found to be c = 0.25.
The A and B matrices with the numeric values are shown in Appendix E.
The above model must be checked for controllability. A system is controllable if
the controllability matrix
Co = B AB A2 B · · · An B ,
(5.35)
where n is the number of state variables, is full rank[34]. Substituting the parameter
numeric values into Equations E.3 and E.4 and computing the controllability matrix gives
78
as a result


0
0
41.85
40.07 
 0






0
0
0
−41.85
40.07








40.07
41.85
0
−453.3 
 0






 0
40.07 −41.85
0
−453.3 






 40.07 −467.5
0
0
5128 


T
Co = 
.


 40.07 −467.5
0
0
5128 






−467.5
5294
0
0
−58009






−467.5

5294
0
0
−58009






 5294 −59886
0
0
656210 






5294 −59886
0
0
656210
(5.36)
The above matrix has condition number 22425, and is full rank (rank = 5). Therefore, the
system is controllable.
5.6
Localization
As a final step in the implementation of the hovercraft, it is necessary to address
the localization problem. A way of estimating the position and attitude with respect to
a fixed reference, as accurate as possible, is needed before undertaking the control of the
platform.
The core to this problem is the 9-degree of freedom IMU. It uses a magnetometer,
a gyroscope and an accelerometer, to measure the craft’s accelerations, attitude angles and
angular speed changes. However, the linear speed and the position cannot be directly
measured. Thus, the only measurable system variables are ψ, ψ̇ and ax . The other
state variables must be reconstructed. The hovercraft’s position and velocity must be
79
reconstructed from the available measurements.
A first approach to localization would be to take ax and integrate it once to get
the linear speed and twice to get the position. However, this method obtains impractical
results, as the error in the accelerometer measurements is integrated twice, thereby allowing
noise errors to accumulate rapidly within the position estimate. The fact that accelerometers
are inherently not very accurate only makes matter worse. One can demonstrate this by
simply integrating the measurements of a static IMU. Figure 5.5 shows such an experiment.
Notice how the accelerometer readings can be integrated twice to get speed and position.
However, also notice how this results in the estimated position drifting away rapidly, even
though the accelerometer is completely static. Figure 5.6 shows the same result for the
case when the accelerometer is moved 30cm on a flat surface.
Figure 5.5: Estimated position by double integration of the accelerometer readings, when the
accelerometer is static.
A better approach is to implement an observer. An observer is a dynamic system
80
Figure 5.6:
Estimated position by double integration of the accelerometer readings, when
accelerometer is moved a small distance (30cm).
whose state variables are the estimates of the state variables of another system. For
any observable linear system, an observer can be designed having the property that the
estimation error converges to zero with arbitrary speed[35]. In other words, it uses the
available system dynamics model to fuse measurements with model predictions to better
estimate the plant’s state. Between all available observers, a Kalman Filter is a sensible
choice, because it offers some key features [36][37]:
1. It is an optimal observer: assuming zero-mean gaussian error, and the use of precise
system and measurements error covariance matrices, the Kalman filter gives the best
possible estimate.
2. It keeps track of both the estimated state x̂ and the estimate error covariance matrix
P (i.e. it estimates the vehicles state within a Gaussian distribution centered at x̂
81
with covariance P ).
3. It can be easily adapted to Non-Linear models. This variation of the Kalman filter
is known as the Extended Kalman Filter.
The Kalman Filter algorithm is presented below. This presentation is derived from the
description given in [37]:
x̂k|k−1 = Axk−1|k−1 + Buk
(5.37)
Pk|k−1 = Ak Pk−1|k−1 ATk + Ck
(5.38)
Kk = Pk|k−1 C T (Ck Pk|k−1 CkT + Wk )−1
(5.39)
x̂k|k = x̂k|k−1 + Kk (zk − Cxk|k−1 )
(5.40)
Pk|k = (I − Kk Ck )Pk|k−1
(5.41)
The first step is to define the system’s C matrix (observation matrix), depending on the
observable outputs of the system. Defining the measurement vector as z = (ψ, ψ̇, ax )T =
(x3 , x4 , x5 )T and the state vector as x = (x1 , x2 , x3 , x4 , x5 )T , the measurements can be
expressed as
z = C · x,
(5.42)
with the observation matrix being


0 0 1 0 0





V = 0 0 0 1 0
.




0 0 0 0 1
(5.43)
The A and B matrices are equations E.3 and E.4 respectively.
The measurement error covariance matrix, W , is computed experimentally as is
discussed next. The covariance of the ax , ψ and ψ̇ measurement noise is measured by
82
leaving the IMU in a static position and taking readings over a period of 20 seconds for
each of the three measurements. Once these measurements have been taken, the covariance
is computed for each measurement using equation 5.44,
σ2 =
N
X
1
·
(x(i) − x̄)2 ,
N −1
(5.44)
i=1
where x̄ is the expected value of the variable, estimated using equation 5.45.
x̄ =
N
X
xi .
(5.45)
i=1
Assuming negligible non-diagonal terms, the resulting W matrix is obtained:


−5
2.613 · 10


W =
0



0
0
0
4.564 · 10−4
0
0
0.04479



.



(5.46)
The model error covariance matrix, V , is selected ad-hoc with the following
criteria:
• The position estimate x̂ converges (as opposed to when it is obtained by simply
ˆ must
integrating the acceleration twice). This implies that the velocity estimate ẋ
also converge.
• The state is estimated within an error of 10% in position (e.g. if the vehicle moves
1m, the error is 10cm or less) and within a ±10 degree error in orientation.
Again, assuming negligible non-diagonal terms, V3,3 and V4,4 are chosen to be the equal to
W3,3 and W4,4 respectively. This means that the model is assumed to be as accurate as the
measurements. On the other hand, the model error covariance corresponding to the states
that can be directly or indirectly measured with the accelerometer measurements is chosen
to be significantly lower than the measurement covariance, as to adjust the observer to the
83
fact that measurements coming from the accelerometer are very unreliable, and thereby,
emphasis must be given to the model. The resulting V matrix is a diagonal matrix with
V1,1 = V2,2 = V5,5 = 0.0001,
V3,3 = W1,1 ,
V4,4 = W2,2 .
(5.47)
As it can be seen, the localization for the linear position, velocity and acceleration relies
mostly (but not exclusively) on the model, while the localization for the angular position
and speed relies on both the model and the sensor measurements.
The implementation of the above Kalman filter greatly improves the localization
of the thrust-vectoring craft, making the control loop practical, as opposed to the case of
localizing by simple integration of the accelerometer results. This is illustrated in Figure
5.7, where the hovercraft was moved 30cm, and both the Kalman estimate and the double
integration estimate were recorded and plotted.
Figure 5.7: For a position change of 30 cm, the position estimate through both the Kalman filter
and the double integration of the accelerometer readings are overlain.
Before implementation one must analize the system’s observability. This tells
84
if the system’s states can be reconstructed via the available measurements. A system is
observable [34] if the observability matrix


 C





 C ·A 







2
Ob =  C · A 





.


..






C · An−1
(5.48)
is full rank. Taking The A, B, and C matrices in section 5.5, and substituting the parameter
values, the following observability matrix is obtained:
0
0

0

0

0

0

0

0

0

0

0


0

O = 0

0

0

0

0

0

0

0

0

0

0

0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0 

0
0 

1
0 

0
1 

0
0 

0
0 

1
0 

0
0 

0 −11.31

0
0 


0
0 

0
0 .

0
0 

0 128.0 

0
0 

0
0 

0
0 

0
0 

0 −1448 

0
0 

0
0 

0
0 

0
0 
0 16375
(5.49)
The condition number of the above matrix is infinite (i.e. it is singular), and its rank is
3, therefore it is not full rank. It is concluded that the system is non-observable. In order
85
to tell what variables are not observable, the Jordan form of the system is analized, where
the new state variables are completely decoupled. First, the matrix A is transformed into
the Jordan form:

0
0 0
−8.333


 0
−0.3546 0 0



J = Â = V −1 AV = 
0
0 0
 0



0
0 0
 0


0
0
0 0

0


0



0




1


0
where the transformation matrix V is


 0.01504 −0.3534 0.3384 0 0




−0.1253 0.1253
0
0 0







V =
0
0
0
1 0
.






0
0
0
0 1





1
0
0
0 0
(5.50)
(5.51)
The new state space variables relate to the original variable through the inverse of the V
matrix, as
x̂ = V −1 x →
  
  
0
0 0 1 x1 
x̂1   0
  
  
  
  
 
x̂   0
7.978 0 0 1
 x2 
 2 
  
  
  
  
x̂  = 2.955 8.333 0 0 1 · x  .
  3
 3 
  
  
  
  
  
  
0
1 0 0 x4 
x̂4   0
  
  
  
  
x5
0
0
0 1 0
x̂5
(5.52)
By examination of the above equation, it can be seen that x̂1 is the acceleration, x̂2 is a
combination between acceleration and velocity, and x̂3 is a combination of the acceleration,
86
the velocity and the position. Now, by looking at the new observation matrix Ĉ:


0 0 0 0 0




0 0 0 0 0







Ĉ = CV = 0 0 0 1 0







0 0 0 0 1




1 0 0 0 0
(5.53)
it can be seen that only x̂1 , x̂4 and x̂5 can be observed. These variables correspond to the
acceleration, the angular position and the angular velocity. Note that these are precisely
the state variables that are measured by the IMU.
The implication of the above analysis is the following: the uncertainty of the
system estimation will not converge (the estimate error covariance P diverges)[37]. In
other words, because the x position and the ẋ velocity of the hovercraft cannot be directly
observed, the uncertainty of their estimation cannot be reduced with time (the estimate
error covariance P diverges)[37].
Nonetheless, for this project the implication is that the hovercraft cannot operate
during long time periods without accumulating large state uncertainty (at time t = 0 the
uncertainty of the robot’s state is 0, thereby every time the operation is reset, so does the
estimate uncertainty P ).
The Matlab implementation of the above Kalman filter can be seen in Appendix
F.
5.7
Conclusions
In this chapter the thrust-vectoring hovercraft design was detailed. A non-linear
model was developed, as a base for the derivation of linear models and for its later use in
87
simulation. A Linear Time-Varying model was derived from the non-linear model. A linear
time-invariant model was also derived from the non-linear model. Finally, the localization
of the hovercraft was implemented with the design of a Kalman filter, its parameters were
found and the observability of the system was discussed.
By using a 3D drawing software, a hovercraft concept was straightforward to
design and then to assemble, as it helped to position every component so that the CoM
would be on the desired position: aligned with the propellers.
Having developed a thorough mathematical model of the tilting propeller assembly,
it was straightforward to obtain a complete non-linear model of the thrust-vectoring craft.
The non-linear model was developed for two reasons:
1. To derive from it a linear model that captures the essential dynamics of the system
and then use it in the design of a linear Kalman filter and an LQR controller.
2. The non-linear model is useful in the implementation of a simulator for testing the
control algorithms (see Chapter 6).
As discussed in the previous subsection, the non-observability of this system limits
the time duration of the hovercraft operation. Although this is not an inconvenience for
this project, the implementation of a measurement method that grants a fully observable
system is discussed as possible future work in Chapter 7.
88
6. Platform control
6.1
Introduction
This chapter describes the design, validation and implementation process of a
controller that uses a physical model of the plant for the thrust-vectoring hovercraft. The
process of designing a controller has been to:
1. Design the plant.
2. Develop a model.
3. Design an observer.
4. Design the controller.
5. Validate the controller through simulation.
Step 1-3 where accomplished in earlier chapters. This chapter focuses on steps 45. The above steps are the “ideal” process. The true implementation involves a significant
amount of iteration, because each step affects the other. The controller was redesigned
several times according to simulation results; likewise the simulation was debugged on the
process, which implied revalidating results obtained earlier; etc. Nevertheless, the results
are presented in a linear fashion here.
Additionally, Appendix G shows an actual implementation of a LQR controller
on the actual hovercraft, with a slightly different model than the one derived in Chapter
51 .
In the following section, the controller design and its validation through simulation
is presented.
1
The parameters in this model were re-derived after corrections were made to the thesis. The revised
model is the one presented and used in Chapters 4-6.
89
6.2
Control design & validation through simulation
As said in the beginning of the chapter, the design and implementation of the
controller was an iterative process. Two type of controllers were designed and tested via
simulation: pole-placement and Linear Quadratic Regulator (LQR). In the end, LQR was
chosen because better results were obtained with it.
The design of an LQR controller was carried out using the Matlab function lqr,
which given the system model (i.e. A and B matrices) computes a state-feedback gain
matrix
K = −R−1 B T P
(6.1)
that ideally delivers the performance specified by the Q and R matrices, by finding P that
satisfies the Riccati equation [34]
− Ṗ = AT P + P A − P BR−1 B T P + Q.
(6.2)
The A and B matrices are taken from the linear model derived in Section 5.5, equations
E.3 and E.4.
A hovercraft simulator was developed by closing the loop on the non-linear model
with the addition of the sensor and controller dynamics. Figure 6.1 shows the simulation
Simulink block diagram.
The non-linear model developed in Section 5.3 is used (equation set 5.9).
There are two tunable matrices in an LQR controller, an n by n Q matrix and an
m by m R matrix, where n is the number of states and m the number of inputs. In this
case, n = 5 and m = 2. Roughly, Q and R regulate the weight of the states with respect
to the input variables within the loss function[34]:
1
L(x, u) = (xT Qx + uT Ru),
2
(6.3)
90
Figure 6.1: Simulink simulation block diagram. The DKE (Dynamic-Kinematic Environment)
block contains the non-linear model. The sensor error block adds zero-mean gaussian
noise to the state variables.
giving more importance to the former or the latter. It is enough to maintain a constant R
and tune the controller by modifying just Q. Hence R is chosen to be the identity matrix.
The resulting values below were obtained through repeated tests via simulation.


0
0
0
1 0




0 0.5 0


0
0






1 0
, R = 
,
Q=
0
0
0.1
0
0






0 1




0 0.01 0
0 0




0 0
0
0
0
(6.4)
The lqr Matlab function was used to obtain the corresponding feedback gain matrix K:


0.1017 0.04958
0.7071 0.6593 0.2236
.
K=


0.7071 0.6593 −0.2236 −0.1017 0.04958
(6.5)
With an initial state of x = (1 0 1 0 0)T ), the simulation results are shown in
Figures 6.2 and 6.3. Note that in this case, the desired final state is x = (0 0 0 0 0)T .
The controller successfully brings the plant to the desired state.
91
Figure 6.2: Evolution of hovercraft state for a transition from x = (1 0 1 0 0)T ) to x = (0 0 0 0 0)T .
Figure 6.3: Hovercraft’s regulator control effort for a transition from x = (1 0 1 0 0)T ) to x =
(0 0 0 0 0)T .
92
6.3
Conclusions
In this Chapter, the controller for the hovercraft was designed using the linear
time-invariant mathematical model derived in Chapter 5. Then it was tested with a
hovercraft simulator using the non-linear model derived in Chapter 5.
The results show that the model was accurate enough to get good localization
and control of the thrust-vectoring platform, thus reinforcing the linearisation assumptions
made in Section 5.5. Moreover, the hovercraft tracked the movement commands with great
accuracy, rapidly converging to the desired solution.
93
7. Conclusions
In this work, a thrust-vectoring 3-DOF platform on a friction-reducing surface
was developed. To this end, a tilting-rotor testing bench was designed and built. Then
it was used to perform system identification on the tilting propeller assembly. The tiltrotor hovercraft was designed and built. Non-linear and linear mathematical models were
developed. An observer based on the linear Kalman filter was designed and implemented.
Finally, an LQR controller was designed and tested in a simulator using the non-linear
model of the hovercraft.
The first step involved building a testing bench capable of measuring two components
of force and a torque simultaneously. A literature search showed that, to the extent of
the author’s knowledge, there is a lack of testing benches with these characteristics, where
tilting propeller assemblies can be fully characterized and properly integrated within thrustvectoring platforms.
After a complete 3D drawing and finite element analysis that led to a redesign,
the testing bench was capable of obtaining decoupled measurements of the two force
components and the torque, and perform both static and dynamic tests (i.e. time and
frequency domain tests). The testing bench was successfully integrated with the electric
and electronic components, which were selected for simplicity of implementation and use,
so focus could be placed on the main goals of the project. Finally, the testing bench was
characterized to correlate the load cell voltage readings with the actual forces and torque.
A correlation between servo motor tilt angle and servo PWM was also obtained.
After the design, manufacture and characterization of the testing bench were
complete, several tests with the tilting propeller assembly were carried out:
94
• The speed controller PWM vs. thrust curve was identified.
• The model for the ground effect factor was validated.
• A model for the projection of the thrust into their vertical and horizontal terms,
under the ground effect, was identified.
• The thrust dynamic responses against input changes in speed controller command
and tilting angle, separately, were identified. The dynamics were modelled as a firstorder system through frequency domain analysis as well as a time-domain analysis.
• The position of the propeller’s assembly center of mass by looking at the torque at
different tilting angles was found.
After the tests were complete, a set of equations describing the behaviour of the tiltingpropeller assembly thrust components and torque were obtained.
The third step in developing the hovercraft was the design and assembly of a
thrust-vectoring platform, capable of manoeuvring on a friction-reducing surface. The
key components used in this test bed were the Fio Std board and the fully characterized
propeller assembly. With the set of equations for the tilting-rotor in hand, a non-linear
model of the hovercraft was derived. From this non-linear model, it was straightforward
to introduce a set of assumptions to obtain linear time-variant and linear-time invariant
models of the hovercraft.
The localization of the thrust-vectoring platform was a key point in this project. A
naive approach was first used to estimate the position directly by double integration of the
accelerometer readings. This approach proved to be unsuccessful for the reasons discussed
in Section 5.6. Clearly, the hovercraft position estimation could not rely exclusively on
sensor reading. Having thoroughly developed a model for the propeller assemblies and the
95
hovercraft, an observer could be implemented successfully. A Kalman filter was chosen as
the observer, to enable the position estimation to rely not only on the sensors, but also on
the linear model, in an effective manner. The Kalman filter was designed and implemented,
obtaining a much improved localization system.
The final step aimed for the design of a LQR controller for the Hovercraft. To
this end, the K feedback matrix was computed using the previously derived linear model.
Then, it was validated with a simulation, using the non-linear model of the hovercraft.
In conclusion, with the goal of developing a novel thrust-vectoring platform, a
thorough system identification process on the platform’s intended power-train was key in
obtaining an accurate model of the new device. An accurate non-linear model is essential
to the following project points:
1. Obtaining accurate linearised models.
2. Be able to design a Kalman filter that can accurately estimate position and orientation.
3. Be able to design a viable LQR controller.
All goals outlined in Section 1.4 were achieved.
7.1
Direction of Future Work
Localization remains a key issue. Although a successful observer was implemented
in this work, it has the shortcoming of diverging error covariance on the position estimate.
This implies that the thrust-vectoring platform cannot operate indefinitely without the
error in position becoming increasingly large. Therefore an absolute positioning system
which makes the system observable would be a sensible extension to this work.
96
One of such possible localization systems could rely on absolute sensor measurements such as infrared or ultrasound sensors, which give an absolute distance to the closest
obstacles. Such measurements would help eliminate the covariance of the estimate error
on the position estimation given by the IMU. Aircrafts use a similar system: they combine
ground beacon signals—which give an absolute position reference—with the on-board IMU
to get a more accurate position estimation.
Another possible, more advanced system would be a computer vision localization
system, consisting on cameras recording the operation of the vehicle, and computing its
position relative to an absolute reference. The vehicle would have a tag, easily identifiable
by a computer vision system. The research in [38] is an example of such approach.
A linear Kalman filter was designed in this project. An extended Kalman filter
could be implemented by using the non-linear model instead (see Section 5.6).
A linear-time variant model was developed in Chapter 5. This model could be
used in a controller such as Model Predictive Control, that accepts time-varying model
matrices A(t), B(t) and C(t), and computes a control law in real-time (i.e. each time
step the computed control law u(x̄) changes)[33]. This way, 4 degrees of freedom could be
controlled, and also, constraints could be placed on any states or control inputs1 .
As it was suggested in Chapter 1, the work presented here constitutes a basis for
the development of tilt-rotor quadrotors. The design, assembly and control of a thrustvectoring quadrotor can be made significantly easier by the models and methodology
presented here. The development of the reduced degree of freedom thrust-vectoring platform
here presented can be extended to a full 6 degrees of freedom quadrotor. If the same tilting
propeller assembly is used in the quadrotor design, the equations in Chapter 4 can be
1
Being able to explicitly define constraints on states and inputs is one of the key features of Model
Predictive Control[32].
97
directly applied (the ground effect term would possibly have a lesser effect). If different
propeller assembly components are used (e.g. different brushless AC motor), the testing
bench can be used to repeat the tests in chapter 4 and find the new values of the propeller
assembly equation coefficients (Section 4.6).
By having an accurate model of the tilting-propeller assembly, successful localization and control algorithms can be designed for the full quadrotor tilting propeller design.
The hovercraft design can be modified by adding two more propeller assemblies to get a
quad-rotor platform. The use of the same electric and electronic components would be a
sensible choice, as they have been tested in this work. Then, the same methodology can be
applied to design a suitable controller: develop a non-linear mathematical model for the
quadrotor, derive from it a linear model, design and validate a controller using a quadrotor
simulator. The friction-reducing surface used in the hovercraft can be used as a training
stand for the quadrotor to achieve stability in the horizontal plane, as an intermediate step
to achieve full stability in the 6 spatial DOFs.
98
References
[1] D. Industry,
“Quadrotor VTOL civilian UAV.” [Online]. Available:
http:
//www.directindustry.com/industrial-manufacturer/quadrotor-uav-86139.html
[2] C. Cheron, A. Dennis, V. Semerjyan, and Y. Chen, “A Multifunctional HIL Testbed
for Multirotor VTOL UAV Actuator,” 2004.
[3] S. Hwang and S. Choi, “Ironbird Ground Test for Tilt Rotor Unmanned Aerial
Vehicle,” 2010.
[4] G. M. Homann, H. Huang, S. L. Waslander, and C. J. Tomlin, “Quadrotor Helicopter
Flight Dynamics and Control: Theory and Experiment,” 2007.
[5] K. T. Oner, E. Cetinsoy, E. Sirimoglu, C. Hancer, T. Ayken, and M. Unel,
“Mathematical modeling and vertical flight control of a tilt-wing UAV,” 2011.
[6] ——, “LQR and SMC Stabilization of a New Unmanned Aerial Vehicle,” 2009.
[7] K. T. Oner, E. Cetinsoy, E. Sirimoglu, C. Hancer, and M. Unel, “Robust Position
Control of a Tilt-Wing Quadrotor,” 2010.
[8] K. T. Oner, E. Cetinsoy, M. Aksit, I. Kandemir, K.Gulez, and M. Unel, “Dynamic
Model and Control of a New Quadrotor Unmanned Aerial Vehicle with Tilt-Wing
Mechanism,” 2008.
[9] Omega, “The Strain Gauge.” [Online]. Available: http://www.omega.com/literature/
transactions/volume3/strain2.html
[10] I. Omega Engineering, “Full-bridge thin-beam load cells specifications.” [Online].
Available: http://www.omega.com/Pressure/pdf/lcl.pdf
99
[11] J. Leishman, Principles of Helicopter Aerodynamics.
Cambridge University Press,
2000.
[12] F. Kendoul, I. Fantoni, and R. Lozano, “Modeling and control of a small autonomous
aircraft having two tilting rotors,” in Conference on Decision and Control, 2005.
[13] D. Wyatt, “Bell Eagle Eye UAV Pocket Guide,” 2004.
[14] S. D. Hanford, L. N. Long, and J. F. Horn, “A Small Semi-Autonomous Rotary-Wing
Unmanned Air Vehicle (UAV),” September 2005.
[15] T. Dierks and S. Jagannathan, “Output feedback control of a quadrotor UAV using
neural networks,” IEEE Transactions on Neural Networks, vol. 21, pp. 50–66, 2010.
[16] E. Altug, J. P. Ostrowski, and C. J. Taylor, “Quadrotor control using dual camera
visual feedback,” in International Conference on Robotics and Automation, vol. 3,
2003, pp. 4294–4299.
[17] S. Griffiths, J. Saunders, A. Curtis, B. Barber, T. Mclain, and R. Beard, “Maximizing
miniature aerial vehicles,” IEEE Robotics & Automation Magazine, vol. 13, pp. 34–43,
2006.
[18] R. Sepulchre, M. Jankovic, and P. Kokotovic, “Constructive nonlinear control,” 1997.
[19] M. Motors, “AXI 2212/12 Gold Line brushless motor specifications.” [Online].
Available: http://www.modelmotors.cz/index.php?page=61&product=2212&serie=
12&line=GOLD
[20] A. P. Composites, “1047 Slow Flyer propeller specifications.” [Online]. Available:
http://www.apcprop.com/ProductDetails.asp?ProductCode=LP10047SF
100
[21] Aimagin,
“32 bits arm fio std board specifications.” [Online]. Available:
https://www.aimagin.com/fio-std.html
[22] Hitec, “HS-225MG Might Mini Metal gear servo specifications.” [Online]. Available:
http://www.lynxmotion.com/images/data/hs225mg.pdf
[23] J. Model, “Jeti Advance 30 Pro electric speed controller specifications.” [Online].
Available: http://www.modelmotors.cz/index.php?page=61&product=2212&serie=
12&line=GOLD
[24] Hyperion, “CX G3 4000 mAh 25C battery specifications.” [Online]. Available:
http://hyperion-world.com/products/product/HP-LG325-4000-2S
[25] C. D. Boor, “A Practical Guide to Splines,” 1972.
[26] J.-S. R. Jang, C.-T. Sun, and E. Mizutani, Neuro-Fuzzy and Soft Computing. Prentice
Hall, 1997.
[27] I. C. Cheeseman and W. E. Bennett, “The Effect of the Ground Effect on a Helicopter
Rotor in Forward Flight,” 1955.
[28] J. S. Hayden, “The Effect of the Ground on Helicopter Hovering Power Required,”
1976.
[29] Cheeseman, Bennett, Leishman, and S. Newman, “Modelling Ground Effect,” 2011.
[30] N. S. Nise, Control Systems Engineering.
[31] Sparkfun,
Wiley, 2011.
“9-DOF Razor IMU specifications.” [Online]. Available:
//www.sparkfun.com/products/10736
https:
101
[32] L. Wang, Model Predictive Control System Design and Implementation Using Matlab.
Sringer, 2009.
[33] J. Jorquera-Grau, “Study of the application of Model Predictive Control technology
in planetary rovers. Case study on Moonhound rover.” June 2011.
[34] R. L. Williams and D. A. Lawrence, Linear State-Space Control Systems.
Wiley,
2007.
[35] B. Friedland, Control System Design. An Introduction to State-Space Methods.
McGraw-Hill, 1986.
[36] S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics.
The MIT Press, 2005.
[37] H. Choset, K. Lynch, S. Hutchinson, G. Kantor, W. Burgard, L. Kavraki, and
S. Thrun, Principles of Robot Motion-Theory, Algorithms, and Implementation. The
MIT Press, 2005.
[38] J. Liu, “CLAM: Collaborative Localization and Mapping Using Fiducial System and
Exchangeable Range Sensors,” in progress.
102
Appendices
103
A. Testing bench & Hovercraft 2D drawings
The following pages in this appendex show the 2D drawings of the testing bench
and the hovercraft.
D
C
B
A
1
245,400
215,400
183,400
175,400
75,400
15,400
7,400
1
2
C
32 0.1
2
B
16
16
97
0.1
x2
Q.A
MFG
APPV'D
CHK'D
DRAWN
NAME
FINISH:
A
SIGNATURE
UNLESS OTHERWISE SPECIFIED:
DIMENSIONS ARE IN MILLIMETERS
SURFACE FINISH:
TOLERANCES:
LINEAR:
0. 25
ANGULAR:
3,7
1
6 0.
6,75
5
,19
22 ,095
22
24
24
6,900 0.1
3,797 0.1 x2
A
3
DATE
WEIGHT:
MATERIAL: AL-6061
4
DEBUR AND
BREAK SHARP
EDGES
SCALE:1:2
DWG NO.
TITLE:
REVISION
SHEET 1 OF 1
arm1
DO NOT SCALE DRAWING
5
6
A4
C
B
A
104
D
C
B
B
A
1
73,800
54,500
37,500
37 0.1
A
8,650
11
21
23,350
16
32 0.1
2
2
R1
8
,58
C
3
3 0.1
2x
Q.A
MFG
APPV'D
CHK'D
DRAWN
NAME
FINISH:
SIGNATURE
UNLESS OTHERWISE SPECIFIED:
DIMENSIONS ARE IN MILLIMETERS
SURFACE FINISH:
TOLERANCES:
LINEAR:
0. 25
ANGULAR:
DATE
4
WEIGHT:
MATERIAL: AL-6061
DEBUR AND
BREAK SHARP
EDGES
79,500 0.1
37 0.1
5,105 0.1 THRU ALL
9,779 X 82°
3,454 0.1 THRU ALL
8-32 UNC THRU ALL
7 0.1
1
SCALE:1:1
DWG NO.
TITLE:
A
REVISION
SHEET 1 OF 1
arm2
DO NOT SCALE DRAWING
5
6
A4
C
B
A
105
29
D
C
B
A
R 10
R6
,32
8
5
15
12
8
63 0,1
58,700
50
10,200
1
15
32
12,660
12,610
23,350
2,400
29,600
32
48°
41,
2
C
B
16
8,650
0,5
A
3
15
Q.A
MFG
APPV'D
CHK'D
DRAWN
NAME
FINISH:
SIGNATURE
UNLESS OTHERWISE SPECIFIED:
DIMENSIONS ARE IN MILLIMETERS
SURFACE FINISH:
TOLERANCES:
LINEAR:
0. 25
ANGULAR:
4 0,1
A
3
4,700
4,700
2
DATE
15 0,1
WEIGHT:
MATERIAL:
2,400
4
AL-6061
4
1
DEBUR AND
BREAK SHARP
EDGES
SCALE:1:1
DWG NO.
TITLE:
88
6
REVISION
SHEET 1 OF 1
arm3b
DO NOT SCALE DRAWING
A4
2,261 THRU ALL
4-40 UNC THRU ALL
2x
4,496 THRU ALL
12-24 UNC THRU ALL
R 1,5
2,400
5
C
B
A
106
D
C
B
1
B
250
A
2
230
2
22
5
A
1
Q.A
MFG
APPV'D
CHK'D
DRAWN
NAME
FINISH:
4x
SIGNATURE
UNLESS OTHERWISE SPECIFIED:
DIMENSIONS ARE IN MILLIMETERS
SURFACE FINISH:
TOLERANCES:
LINEAR:
0.25
ANGULAR:
200
129
71
3
DATE
WEIGHT:
MATERIAL:
AL-6061
DEBUR AND
BREAK SHARP
EDGES
6,756 THRU ALL
12,878 X 82°
C
4
SCALE:1:5
DWG NO.
TITLE:
REVISION
SHEET 1 OF 1
base2
DO NOT SCALE DRAWING
5
6
A4
C
B
A
107
D
C
B
1
C
B
C
A
70
64
43
10
A
1
2
2
15
Q.A
MFG
APPV'D
CHK'D
DRAWN
NAME
FINISH:
SIGNATURE
UNLESS OTHERWISE SPECIFIED:
DIMENSIONS ARE IN MILLIMETERS
SURFACE FINISH:
TOLERANCES:
LINEAR:
0.25
ANGULAR:
4x
5,105 0.1 THRU ALL
1/4-20 UNC THRU ALL
230,500
223
215,500
3
DATE
WEIGHT:
MATERIAL:
AL-6061
4
DEBUR AND
BREAK SHARP
EDGES
SCALE:1:2
DWG NO.
TITLE:
4x
20
13,4
70
13,3
REVISION
SHEET 1 OF 1
center
DO NOT SCALE DRAWING
3,797 0.1 THRU ALL
7,087 X 82°
5
6
A4
C
B
A
108
6
D
C
1
B
C
13
B
A
R6
7
5
3
8
3,500
3
A
1
2
24,45
11,500
15
7,500
2
° 1
Q.A
MFG
APPV'D
CHK'D
DRAWN
NAME
SIGNATURE
FINISH:
2x
0.1
UNLESS OTHERWISE SPECIFIED:
DIMENSIONS ARE IN MILLIMETERS
SURFACE FINISH:
TOLERANCES:
0.25
LINEAR:
ANGULAR:
0
3,10
3
DATE
WEIGHT:
MATERIAL:
AL-6061
DEBUR AND
BREAK SHARP
EDGES
3,797 0.1 THRU ALL
4
REVISION
6
SCALE:2:1
SHEET 1 OF 1
load_cell_holder
DWG NO.
TITLE:
DO NOT SCALE DRAWING
5
A4
C
B
A
109
D
C
B
1
A
R1 3 ,
8,750
750
3
R4
3,500
A
2
2
B
B
Q.A
MFG
APPV'D
CHK'D
NAME
FINISH:
SIGNATURE
UNLESS OTHERWISE SPECIFIED:
DIMENSIONS ARE IN MILLIMETERS
SURFACE FINISH:
TOLERANCES:
LINEAR:
0,25
ANGULAR:
DRAWN
6,119 6,119
3,500
7
3
DATE
5,153
5,153
3,797 0.1 TO NEXT
10-24 UNC TO NEXT
7
7,267
7,267
1
WEIGHT:
MATERIAL:
AL-6061
4
DEBUR AND
BREAK SHARP
EDGES
SCALE:2:1
DWG NO.
TITLE:
REVISION
SHEET 1 OF 1
motor_holder
DO NOT SCALE DRAWING
SECTION B-B
5
6
A4
C
B
A
110
D
C
B
1
B
A
5 0.1
1,495
2
2,500
2
3,505
13,500
6
A
1
Q.A
MFG
APPV'D
CHK'D
DRAWN
NAME
SIGNATURE
FINISH:
DATE
WEIGHT:
MATERIAL:
3,048 THRU ALL
UNLESS OTHERWISE SPECIFIED:
DIMENSIONS ARE IN MILLIMETERS
SURFACE FINISH:
TOLERANCES:
LINEAR:
0.25
ANGULAR:
C
3
AL-6061
4
DEBUR AND
BREAK SHARP
EDGES
SCALE:2:1
DWG NO.
TITLE:
REVISION
SHEET 1 OF 1
pin
DO NOT SCALE DRAWING
5
6
A4
C
B
A
111
18,500
5 0.1
D
C
B
A
1
1
A
2
2
13,500
13,450
Q.A
MFG
APPV'D
CHK'D
DRAWN
NAME
FINISH:
SIGNATURE
UNLESS OTHERWISE SPECIFIED:
DIMENSIONS ARE IN MILLIMETERS
SURFACE FINISH:
TOLERANCES:
LINEAR:
0.25
ANGULAR:
3
DATE
WEIGHT:
MATERIAL:
AL-6061
4
DEBUR AND
BREAK SHARP
EDGES
SCALE:1:1
DWG NO.
TITLE:
REVISION
SHEET 1 OF 1
shaft_base
DO NOT SCALE DRAWING
5
6
A4
C
B
A
112
9,525
9,475
50
36,300
D
C
B
1
2,150
0,350
0
59 0
6, ,39
R 6
2
2
5 0,1
52,500
C
15
Q.A
MFG
APPV'D
CHK'D
DRAWN
NAME
15
FINISH:
30
SIGNATURE
UNLESS OTHERWISE SPECIFIED:
DIMENSIONS ARE IN MILLIMETERS
SURFACE FINISH:
TOLERANCES:
LINEAR:
0. 25
ANGULAR:
A
88
R1,5
5,105 0.1 TRHU ALL
2x
1/4-20 UNC THRU ALL
19,650
DATE
6
WEIGHT:
MATERIAL: AL-6061
5
,17
R3
6
7,500
B
4
62,500
21
3
DEBUR AND
BREAK SHARP
EDGES
DO NOT SCALE DRAWING
15,650
REVISION
70
29
6
SCALE:1:1
SHEET 1 OF 1
torque_piece1a
DWG NO.
TITLE:
C
5
7,100
7,000
17 0.1
A
1
A4
C
B
A
113
9
D
C
B
29
1
15,650
C
2
2
A
C
7,100
7,000
17
6
21
62,500
Q.A
MFG
APPV'D
CHK'D
DRAWN
NAME
15
24
SIGNATURE
FINISH:
15
30
5
7,500
17
R3
,
UNLESS OTHERWISE SPECIFIED:
DIMENSIONS ARE IN MILLIMETERS
SURFACE FINISH:
TOLERANCES:
LINEAR:
0. 25
ANGULAR:
B
3
70
DATE
19,650
WEIGHT:
MATERIAL: AL-6061
DEBUR AND
BREAK SHARP
EDGES
R 6,590
6,39
0
2,150
DO NOT SCALE DRAWING
0,350
5
REVISION
6
SCALE:1:1
SHEET 1 OF 1
torque_piece1b
DWG NO.
TITLE:
6,756 0.1 THRU ALL
2x
8
8
5
,
R1
4
9
5 0,1
52,500
A
1
A4
C
B
A
114
D
C
B
1
0,350
9
5 0,1
31,200
0
59 0
6, ,39
R 6
2
A
C
Q.A
MFG
APPV'D
CHK'D
DRAWN
NAME
FINISH:
15
SIGNATURE
UNLESS OTHERWISE SPECIFIED:
DIMENSIONS ARE IN MILLIMETERS
SURFACE FINISH:
TOLERANCES:
LINEAR:
0,25
ANGULAR:
15
30
7,500
R1
,58
8
3
DATE
6
2x
7,588
WEIGHT:
MATERIAL:
19,650
2,150
2
B
62,500
AL-6061
DEBUR AND
BREAK SHARP
EDGES
17
DO NOT SCALE DRAWING
15,650
5
6
29
7,100
7,000
REVISION
70
SCALE:1:1
SHEET 1 OF 1
torque_piece2a
DWG NO.
TITLE:
6,756 0.1 THRU ALL
5
,17
R3
4
21
A
1
A4
C
B
A
115
D
C
B
A
1
70
29
A
2
15,650
62,500
75
R3
,1
C
CALID.
FABR.
APROB.
VERIF.
DIBUJ.
NOMBRE
15
15
FECHA
30
8
4
19,650
PESO:
MATERIAL: AL-6061
,58
R1
22,500
ACABADO:
6
FIRMA
SI NO SE INDICA LO CONTRARIO:
LAS COTAS SE EXPRESAN EN MM
ACABADO SUPERFICIAL:
TOLERANCIAS:
0,25
LINEAL:
ANGULAR:
5,105 0,1 THRU ALL
2x
1/4-20 UNC THRU ALL
7,100
7,000
17
3
21
2
REBARBAR Y
ROMPER ARISTAS
VIVAS
C
REVISIÓN
31,200
6
ESCALA:1:1
HOJA 1 DE 1
torque_piece2b
N.º DE DIBUJO
TÍTULO:
NO CAMBIE LA ESCALA
0,350
R 6,
6, 59
39 0
0
2,150
5
5 0,1
9
1
A4
C
B
A
116
117
C
90
A
100
0
R1
190
250
30
30
100
B
290
SI NO SE INDICA LO CONTRARIO:
LAS COTAS SE EXPRESAN EN MM
ACABADO SUPERFICIAL:
TOLERANCIAS:
LINEAL: 0.25
ANGULAR:
NOMBRE
REBARBAR Y
ROMPER ARISTAS
VIVAS
ACABADO:
FIRMA
FECHA
NO CAMBIE LA ESCALA
REVISIÓN
TÍTULO:
DIBUJ.
VERIF.
APROB.
FABR.
CALID.
MATERIAL:
PESO:
N.º DE DIBUJO
ESCALA:1:5
base
HOJA 1 DE 1
A4
118
0.1
0.1
0.1
C
38,100
R2
38,100
32,400
22,500
12,600
9,500
3,500
C
B
27,500
19,750
7,750
5,250 0.1
13,750 0.1
22,250 0.1
3,175
4x
19,869 0.1
13,750
7,631 0.1
4x
1,497
1,397 THRU ALL
3,400
3,200 THRU ALL
UNLESS OTHERWISE SPECIFIED:
DIMENSIONS ARE IN MILLIMETERS
SURFACE FINISH:
TOLERANCES: 0.25 mm
LINEAR:
ANGULAR:
NAME
DATE
0.1
29,267
0.1
16,847
22
0.1
DEBUR AND
BREAK SHARP
EDGES
FINISH:
SIGNATURE
14,733
27,153
0.1
B
DO NOT SCALE DRAWING
REVISION
TITLE:
DRAWN
CHK'D
APPV'D
MFG
Q.A
MATERIAL: ALUMINIUM
WEIGHT:
motor-servo_union4A4
DWG NO.
SCALE:1:1
SHEET 1 OF 1
119
B. Electric & electronic component specifications
B.1
Load cell specifications
FULL-BRIDGE THIN-BEAM LOAD CELLS
FOR LOADS 0-113 g to 0-18 kgf
LCL Series
All Models
75
$
⻬ Measures Force
or Displacement
⻬ Thermally Matched,
Fully Active, Full-Bridge
Gage for Optimal
Temperature Tracking
When frequent small-load
measurements are required,
OMEGA® LCL Series thin-beam
load cells are the answer. The LCL
Series is designed to measure
many different parameters found in
medical instrumentation, home
appliances, process control,
robotics, automotive, and other
high-volume applications.
A specially developed integrated
strain gage includes all balancing,
compensating, and conductive
elements and is laminated to the
beam to provide excellent stability
and reliability.
Shown
actual size.
LCL-454G, $75.
LCL-010, $75.
L
High Ranges 2 to 18 kgf
Dimensions:
mm (in)
31.75
(1.25)
9.525 REF.
(0.375)
6.35
(0.25)
7.925
(0.312)
1.575 R.
(0.062) TYP
19.05
(0.750)
66
(0.26)
30.5
(1.20) 20.3
(0.80)
1.0
(0.04)
6.4 (0.25)
mm
(in)
1.5 RAD
(2 PLCS)
(0.06)
3.1 DIA.
(0.12)
3.175 DIA.
(0.125) TYP.
WIRING CODE
RED = +EXC.
BLACK = -EXC.
GREEN = +SIGNAL WHITE = -SIGNAL
CL
t
MODEL NO.
LCL-113G
t
0.15
MODEL NO.
LCL-454G
t
0.28
MODEL NO.
t
LCL-005
0.56
MODEL NO.
LCL-020
t
1.12
LCL-227G
0.23
LCL-816G
0.38
LCL-010
LCL-040
1.6
SPECIFICATIONS
Excitation: 5 Vdc, 12V max
Rated Output: 2 mV/V ±20%
(to minimize ±20% tolerance, end user
must calibrate with a known weight)
Zero Balance: 0.3 mV/V
Combined Error: 0.25% FS
Operating Temperature: -54 to 93°C
(-65 to 200°F)
Compensated Temperature:
-7 to 49°C (20 to 120°F)
Temperature Effects: Zero balance
0.02% FS/°F; output 0.02%/°F
Resistance (Input and Output):
1200 ±300 Ω
Insulation Resistance: 1000 @ 50 Vdc
Seal: Urethane coated
Safe Overload: 150% FS
Full Scale Deflection: 0.25 to 1.27 mm
(0.010 to 0.050")
Lead Wire: 9" shielded PVC
4-conductor 30 AWG
Material:
>816 gf (2 lb): 301 SS
≤816 gf (2 lb): Beryllium copper
Low Ranges 113 to 816 g
0.79
MOST POPULAR MODELS HIGHLIGHTED!
To Order (Specify Model Number)
CAPACITY
113 gf
0.25 lb
227 gf
0.5 lb
454 gf
1 lb
816 gf
2 lb
2.27 kgf
5 lb
4.54 kgf
10 lb
9.07 kgf
20 lb
18.14 kgf 40 lb
MODEL NO.
LCL-113G
LCL-227G
LCL-454G
LCL-816G
LCL-005
LCL-010
LCL-020
LCL-040
PRICE
$75
75
75
75
75
75
75
75
COMPATIBLE METERS*
DP2000S5, DP25B-S, DPiS
DP2000S5, DP25B-S, DPiS
DP2000S5, DP25B-S, DPiS
DP2000S5, DP25B-S, DPiS
DP2000S5, DP25B-S, DPiS
DP2000S5, DP25B-S, DPiS
DP2000S5, DP25B-S, DPiS
DP2000S5, DP25B-S, DPiS
* See section D for compatible meters.
MOUNTING HARDWARE
MODEL NO.
PRICE
LCL-CL1
$17
LCM-CL1
32
MOUNTING BRACKETS
For LCL-113G through LCL-816G
For LCL-005 through LCL-040
Ordering Examples: LCL-113G, beam, LCL-CL1, mounting bracket, $75 + 17 = $92.
LCL-020, beam lead cell, and LCM-CL1, mounting bracket, $75 + 32 = $107.
F-67
120
Servo motor specifications
ANNOUNCED SPECIFICATION OF
HS-225MG MIGHT MINI METAL GEAR SERVO
:+PULSE WIDTH CONTROL 1500usec NEUTRAL
:4.8V TO 6.0V
:-20 C TO +60 C
:AT 4.8V
AT 6.0V
:0.14sec/60 AT NO LOAD
0.11sec/60 AT NO LOAD
:3.9kg.cm(54.15oz.in)
4.8kg.cm(66.65oz.in)
:45 /ONE SIDE PULSE TRAVELING 400usec
:CLOCK WISE/PULSE TRAVELING 1500 TO 1900usec
:8mA/IDLE AND 300mA NO LOAD RUNNING
:8usec
:300mm(11.81in)
:32.4x16.8x31mm(1.27x0.66x1.22in)
:31g (1.09oz)
23.8
31
14.3
1.TECHNICAL VALUES
CONTROL SYSTEM
OPERATING VOLTAGE RANGE
OPERATING TEMPERATURE RANGE
TEST VOLTAGE
OPERATING SPEED
STALL TORQUE
OPERATING ANGLE
DIRECTION
CURRECT DRAIN
DEAD BAND WIDTH
CONNECTOR WIRE LENGTH
DIMENSIONS
WEIGHT
32.4
44
39
3
8
1
16.8
4
2
B.2
2.FEATURES
3-POLE FERRITE MOTOR
LONG LIFE POTENTIOMETER
1-OILITE BUSHING AND 1-BALL BEARING
INDIRECT POTENTIOMETER DRIVE
3-METAL GEARS
HYBRID I.C
3.APPLICATIONS
AIRCRAFT UP TO 10 POUNDS
STEERING SERVO FOR ON-ROAD 1/12TH 1/10 ELECTRIC
FAST ELELTRIC BOATS
121
B.3
Load cell amplification board
The following pages show the schematics, designs and bill of materials for the load
cell amplification board in Figure B.1, designed by A. Muxen.
Figure B.1: Load cell amplification board.
D
C
GND
1
P0C102 P0C101
GND
P0U101
1
R2
3.3k
GND
Tol: <_1%
P0R202
P0R201
P0C202 P0C201
GND
1
Vi
2
GND
GND
P0U401
GND
2
P0U202
10 uF
P0R102
P0R101
REFADJ
P0U5012
REF
P0U5013
GND
11
AGND
AGNDS
P0U5011
10 P0U5010
AIN
12
MAX1169
DGND
P0U5014
unk
P0R602
unk
R6
P0R702
GND
3
0.1uF
GND
P0C601 P0C602
C6
1.0uF
14
P0U5033
SDA P0U502
2
SCL
ADD3
5
P0U305
C5
3
2
P0U303
P0U302
1
P0C501 P0C502
P0U507 7
DVDDP0U506
6
ADD0P0U505
5
ADD1P0U504
4
ADD2
GND
C4
1.0uF
AVDD
P0U508
U5
R8
20k
0.1uF
P0U301
R5
240
Tol: <_1.0%
P0C301 P0C302
R4
240
C3
P0J305
J5
J6
U3
AD621AR
GND
or AD623ARZ
P0U306
N0UNFILTEREDSIG
6 UnfilteredSig
8
P0U308
P0R601
P0R701
J7
1
2
A_OUT
P0J402
P0J401
J4
J9
P0R1302
R13 24
P0R1301
4
P0R1202
R12 24
P0R1201
GND
R9
1k
R11
C13
0.10uF
GND
P0R1102
P0C1301 P0C1302
I2C_IO
1
P0J202 2
J2
P0J201
R10
1k
820
P0R1101
C14
unk
C11
Cap
.1uF
J10
C10
180pF
Fc: 1666.6
GND
P0C1101 P0C1102
Figure B.2: Load cell amplification schematics, by A. Muxen.
0.1 uF
8
13
P0C801 P0C802
P0C901 P0C902
C9
GND
N0FIVEVOLT
3 FiveVolt
P0U403
C8
LM385M3-2.5
P0U201
1
3 P0U203
NC
U2
Common
Vo
TLE2426-TO-92
P0R802
P0R801
U4
2
P0R402 P0J304
P0R401
R7
7
4
B
power
12.5-20 V
P0U307
P0U304
N0TENVOLT
TenVolt
P0J501
P0J102
P0J502
P0J101
P0J601
1
2
P0J602
LM317AEMP (or PX)
P0U1022
3 P0U103
IN
OUT
ADJ
C1
R1
C2
470
1.0uF
0.1uF
Tol: <_1.0%
U1
P0J701
J1
1
2
3
P0J503
P0J702
P0U402
1-shield, 2-neg_exc, 3-pos-_exc, 4-neg_sig, 5-pos_sig
1
2
3
P0J603
P0J901
J3
4
P0C1401 P0C1402
3
1
2
3
P0J703
P0J902
P0J301 1
P0J302 2
3
4
5
9
1
2
3
P0J903
P0J303
P0C402 P0C401
P0U509
P0R902
P0R901
P0R502
1
P0R1002
P0R1001
2
P0J1001
P0R501
P0U501
P0C1001 P0C1002
P0J1002
5
VDD
U6
P0U604
P0U603
3
MAX7410
GND
P0U608
8
CLK
2 P0U602
IN
4
OS
COM
OUT
6
1
P0U606
P0U601
5
7
P0U605
P0U607
SHDN
5
Date:
File:
B
Size
Title
.1uF
C12
GND
P0C1201 P0C1202
GND
6
1
2
J8
P0J802
P0J801
Revision
Note: Filtered Analog Signal
N0FILTEREDSIG
FilteredSig
6
1/30/2012
Sheet of
C:\Documents and Settings\..\LoadCellAmp-v1.SchDoc
Drawn By:
Number
Note: select between filter and non-filter
GND
1
2
3
P0J1003
A
1
D
C
B
A
122
123
Figure B.3: Load cell amplification board top view. Electronic components placement is detailed.
By A. Muxen.
Figure B.4: Load cell amplification board bottom view.
detailed. By A. Muxen.
Electronic components placement is
Figure B.5: Load cell amplification board bill of material (BOM), by A. Muxen
124
125
C. Testing bench characterization experimental points
Vertical force component
Horizontal force component
Gram Volts
Grams Volts
0
3.3
0
2.43
85
2.58
25
2.28
140
2.01
40
2.23
200
1.13
50
2.15
225
0.66
75
2.01
270
0.38
105
1.85
285
0
135
1.685
Table C.1: Testbed force characterization experimental points.
N.m
Volts
-0.0282
3.093
-0.0113
2.287
0
1.71
0.0113
1.217
0.0282
0.710
Table C.2: Testbed torque characterization experimental points.
126
D. Matlab/Simulink code for the propeller assembly
characterization
This Appendix presents the code developed for Chapter 4 for data acquisition
and data post-processing. It also includes the Simluink diagrams used to program the Fio
board for data acquisition with the testing bench.
D.1
Simulink diagrams
Figure D.1: Data acquisition Simulink block diagram (uploaded to the Fio board).
127
Figure D.2: Data acquisition Simulink block diagram (PC side).
D.2
Data acquisition
This section presents the Matlab code for the data acquisition.
D.2.1
Test 1
%% C h a r a c t e r i z a t i o n t e s t #1a
N = 2 0 ; % Number o f t e s t s
TC = 0 . 2 5 ;
alpha = 0 ;
actuators = [
% % Validation
% actuators = [
%
5 , alpha
%
15 , a l p h a
%
15 , a l p h a
%
25 , a l p h a
%
25 , a l p h a
%
];
0 ,
5 ,
65
70
];
alpha
alpha
, alpha
, alpha
, 5.1 ;
, 6 ;
, 7 ;
, 5.1
0 , alpha , 5 ;
, 5.8 ;
, 5.8 ;
, 6.2 ;
, 6.2 ;
, 5
128
TIME = a c t u a t o r s ( s i z e ( a c t u a t o r s , 1 ) , 1 ) ;
for k = 1 :N,
simOut = sim ( ’ c h a r a c t e r i z a t i o n h o s t ’ ) ;
save ( [ ’ r e s u l t s 1 / t e s t ’ num2str ( k ) ] )
figure
subplot ( 2 , 1 , 1 )
plot ( data . s i g n a l s ( 1 , 1 ) . v a l u e s )
grid
subplot ( 2 , 1 , 2 )
plot ( a c t . s i g n a l s ( 1 , 2 ) . v a l u e s )
grid
end
D.2.2
Test 2
%% C h a r a c t e r i z a t i o n t e s t #2
% D e l t a and a l p h a a r e m a i n t a i n e d c o n s t a n t ( a l p h a = 90 ,
delta hover ) .
% Repeated runs a t d i f f e r e n t d i s t a n c e s from t h e ground .
TC = 0 . 2 5 ;
N = 1 0 ; % Number o f t e s t s
d = 6 . 3 ; % d : speed c o n t r o l duty cycle ,
actuators = [
0 ,
3 ,
13
16
];
0 , 5 ;
0 , d ;
, 0 , d ;
, 0 , 5 ;
TIME = a c t u a t o r s ( s i z e ( a c t u a t o r s , 1 ) , 1 ) ;
for k = 1 :N,
simOut = sim ( ’ c h a r a c t e r i z a t i o n h o s t ’ ) ;
save ( [ ’ r e s u l t s 2 / t e s t 0 6 8 ’ num2str ( k ) ] )
%testOGE
test275−
test200−
test125−
test068−
figure
plot ( data . s i g n a l s ( 1 , 1 ) . v a l u e s )
grid
129
end
D.2.3
Test 3
%% C h a r a c t e r i z a t i o n t e s t #3
% The s p e e d c o n t r o l l e r i s a c o n s t a n t , which d e l i v e r s t h e power
needed t o
% make t h e p l a t f o r m h o v e r . Alpha i s v a r i e d t o c h a r a c t e r i z e t h e
forces
% under t h e ground e f f e c t . D i s t a n c e from p r o p e l l e r t o t h e ground
s h a l l be
% t h e same as i n t h e h o v e r c r a f t . S m al l d e f l e c t i o n .
TC = 0 . 1 ;
N = 1 5 ; % Number o f t e s t s
d = 6 . 3 ; % d : speed c o n t r o l duty cycle ,
% z = 3 . 7 5 ∗ 2 . 5 4 ; % d i s t a n c e t o ground = 9 . 5 2 5 cm
actuators = [
%
% % Validation
%
%
%
%
%
%
0 ,
3 ,
6 ,
27
0 , 5 ;
0 , d ;
0 , d ;
, 25 , d ; % r e v i e w max . d e f l e c t i o n a n g l e and
delta
30 , 25 , d ;
33 , 0 , 5 ] ;
27
37
37
47
59
];
,
,
,
,
,
15 , d ;
15 , d ;
7.5 , d ;
7.5 , d ;
0 , 5
TIME = a c t u a t o r s ( s i z e ( a c t u a t o r s , 1 ) , 1 ) ;
for k = 1 :N,
simOut = sim ( ’ c h a r a c t e r i z a t i o n h o s t ’ ) ;
save ( [ ’ r e s u l t s 3 / t e s t ’ num2str ( k ) ] )
figure
subplot ( 3 , 1 , 1 )
plot ( data . s i g n a l s ( 1 , 1 ) . v a l u e s )
grid
subplot ( 3 , 1 , 2 )
plot ( data . s i g n a l s ( 1 , 3 ) . v a l u e s )
130
grid
subplot ( 3 , 1 , 3 )
plot ( a c t . s i g n a l s ( 1 , 1 ) . v a l u e s )
grid
end
D.2.4
Test 4 (transient)
%% C h a r a c t e r i z a t i o n t e s t #4 ( t r a n s i e n t )
% The t r a n s i e n t r e s p o n s e o f T a g a i n s t a s t e p a l p h a i n p u t and a
constant
% d e l t a i s measured .
% This t e s t might r e q u i r e t h e a d d i t i o n o f w e i g h t t o t h e
powertrain
TC = 0 ;
alpha = 25;
alpha ini = 0;
delta = 6.4;
N = 20;
actuators = [
0 ,
1 ,
3 ,
6 ,
6 ,
9 ,
9 ,
12
];
alpha ini , 5 ;
alpha ini , 5 ;
alpha ini , delta ;
alpha ini , delta ;
alpha , d e l t a ;
alpha , d e l t a ;
alpha , 5 ;
, alpha ini , 5 ;
TIME = a c t u a t o r s ( s i z e ( a c t u a t o r s , 1 ) , 1 ) ;
for k = 1 1 :N,
simOut = sim ( ’ c h a r a c t e r i z a t i o n h o s t ’ ) ;
save ( [ ’ r e s u l t s 4 / t e s t T r a n s ’ num2str ( k ) ] )
figure
subplot ( 2 , 1 , 1 ) ; plot ( data . s i g n a l s ( 1 ) . v a l u e s ) ; grid
subplot ( 2 , 1 , 2 ) ; plot ( data . s i g n a l s ( 3 ) . v a l u e s ) ; grid
end
131
D.2.5
Test 4 (frequency)
%% C h a r a c t e r i z a t i o n t e s t #4 ( f r e q u e n c y )
% The f r e q u e n c y r e s p o n s e o f T a g a i n s t a s i n u s o i d a l a l p h a o f
d i f f e r e n t f r e q u e n c i e s and a c o n s t a n t
% d e l t a i s measured .
close a l l
clear a l l
TC = 0 . 0 0 ;
alpha = 10;
delta = 6.2;
freq vector = [0.1 ,1 ,2 ,4 ,6 ,8 ,10];
Nt = 1 ;
for k =1:20 ,
% Repeat N t i m e s
f o r i =1:7 ,%i = 2 : l e n g t h ( f r e q v e c t o r ) ,
frequencies
freq = freq vector ( i ) ;
TIME = Nt ∗ 2∗ pi / f r e q ;
% For a l l
actuator = [ 0 5;
1 5;
2 delta ;
3 delta ;
TIME+3 d e l t a ;
TIME+3 0 ;
TIME+5 0 ] ;
simOut = sim ( ’ b o d e b h o s t ’ ) ;
save ( [ ’ r e s u l t s 4 / t e s t ’ num2str ( k ) ’ f r e q ’ num2str ( f r e q ) ’ .
mat ’ ] )
figure
subplot ( 2 , 1 , 1 ) ; plot ( data . s i g n a l s ( 3 ) . v a l u e s ) ;
grid
subplot ( 2 , 1 , 2 ) ; plot ( a c t u a t o r s . s i g n a l s ( 1 ) . v a l u e s ) ; grid
end
end
D.2.6
Test 5
%% C h a r a c t e r i z a t i o n t e s t #5
clear a l l
TC = 0 . 5 ;
132
delta = 5;
N = 7;
actuators = [
% % Validation
%
%
%
%
%
%
%
0 ,
5 ,
50
55
90
90
, 0
, 0
50
60
60
70
70
80
];
,
,
,
,
,
,
,
,
,
,
10
10
45
45
80
80
delta
delta
delta
delta
,
,
,
,
,
,
;
;
;
];
delta
delta
delta
delta
delta
delta
;
;
;
;
;
TIME = a c t u a t o r s ( s i z e ( a c t u a t o r s , 1 ) , 1 ) ;
for k = 1 :N,
simOut = sim ( ’ c h a r a c t e r i z a t i o n h o s t ’ ) ;
save ( [ ’ r e s u l t s 5 / t e s t ’ num2str ( k ) ] )
figure
subplot ( 2 , 1 , 1 ) ; plot ( data . s i g n a l s ( 2 ) . v a l u e s ) ;
subplot ( 2 , 1 , 2 ) ; plot ( a c t . s i g n a l s ( 1 ) . v a l u e s ) ;
grid
grid
end
D.3
Data post-processing
This section presents the data for the post-processing of the data acquired.
D.3.1
Test 1
% Test 1 a n a l y s i s : L e a s t S q u a r e s E s t i m a t i o n o f Thrust as a
function of the speed
% c o n t r o l l e r command ( d u t y c y c l e ’ d e l t a ’ )
% The model t o be a d j u s t e d i s F( d ) = A
close a l l
N = 20;
t i = 820;
t f = 3250;
for i =1:N,
+ B∗d
133
load ( [ ’ r e s u l t s 1 / t e s t ’ num2str ( i ) ’ . mat ’ ] , ’ data ’ , ’ a c t ’ )
data = data . s i g n a l s ( 1 , 1 ) . v a l u e s ( t i : t f ) ;
d a t s { i } = data ;
end
act = act . s i g n a l s (1 ,2) . values ( t i : t f ) ;
% f o r i =1:N,
%
anaplot ( dats { i } , act )
% end
% Least Squares Estimation
f = dats {1};
for i =2:N,
f = [ f ; dats { i } ] ;
end
Y = f;
A = [ o n e s ( s i z e ( act , 1 ) ∗N, 1 )
repmat ( act , N, 1 )
];
th = (A’ ∗A) \A’ ∗ Y
model = th ( 1 ) + th ( 2 ) . ∗ a c t ;
m o d e l o l d = −3102 + 6 5 2 . 5 . ∗ a c t − 2 1 . 6 7 . ∗ a c t . ˆ 2 ;
% f o r i =1:N,
% Successive p l o t s of the t e s t s
%
anaplot ( dats { i } , act )
%
s u b p l o t ( 2 , 1 , 1 ) ; h o l d ; p l o t ( model , ’ k − − ’ , ’ LineWidth ’ , 2 )
% end
f i g u r e ; grid ; hold
plot ( act , model , ’ k ’ , ’ LineWidth ’ , 2 . 5 ) ;
for i =1:N,
plot ( act , d a t s { i } , ’ r : ’ )
end
legend ( ’ LS model ’ , ’ Data ’ )
ylabel ( ’ $T˜ ( g ) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
xlabel ( ’ $\ d e l t a ˜(\%) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
for k=1: s i z e ( d a t s { 1 } , 1 ) ,
SE = 0 ;
f o r i = 1 :N,
SE = SE + ( d a t s { i } ( k ) − model ( k ) ) ˆ 2 ;
b e t w e e n model and 1 s e r i e s o f d a t a
end
STD( k ) = (SE / (N−1) ) ˆ . 5 ;
end
% Squared e r r o r
f i g u r e ; errorbar ( a c t ( 1 : 1 0 0 : s i z e ( model , 1 ) ) , model ( 1 : 1 0 0 : s i z e ( model
, 1 ) ) , 1 . 9 6 ∗STD( 1 : 1 0 0 : s i z e ( model , 1 ) ) , ’ k ’ , ’ LineWidth ’ , 2 ) ; grid
xlim ( [ 6 . 2 5 7 ] ) ; ylabel ( ’ $T˜ ( g ) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’
latex ’ )
xlabel ( ’ $\ d e l t a ˜(\%) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
134
% Correlation c o e f f i c i e n t
meanX = mean( a c t ) ;
meanY = mean( f ) ;
sumXY = 0 ;
sumXX = 0 ;
sumYY = 0 ;
for k=1: s i z e ( d a t s { 1 } , 1 ) ,
f o r i = 1 :N,
sumXY = sumXY + ( a c t ( k ) − meanX) ∗ ( d a t s { i } ( k ) − meanY) ;
sumXX = sumXX + ( a c t ( k ) − meanX) ˆ 2 ;
sumYY = sumYY + ( d a t s { i } ( k ) − meanY) ˆ 2 ;
end
end
r = sumXY / (sumXXˆ . 5 ∗sumYY ˆ . 5 ) ;
r 2 = r ˆ2
% L e a s t S q u a r e s E s t i m a t i o n (2 nd d e g r e e p o l y n o m i a l )
Y = f;
A = [ o n e s ( s i z e ( act , 1 ) ∗N, 1 )
repmat ( act , N, 1 )
repmat ( act , N, 1 )
.ˆ2 ] ;
th = (A’ ∗A) \A’ ∗ Y
D.3.2
Test 2
% A n a l y s i s 2 : L e a s t S q u a r e s E s t i m a t i o n o f ground e f f e c t t h r u s t
factor .
% The g o a l i s t o f i n d k1 and k1 as c o n s t a n t s t h a t a d j u s t t h e
theoretical
% model t o t h e e x p e r i m e n t a l d a t a .
% Heights :
% 1: 34.5/12.5 = 2.75
% 2: 25/12.5 = 2.0
% 3: 16/12.5 = 1.25
% 4: 8.5/12.5 = 0.68
clear a l l
close a l l
N = 10;
t i = 250;
t f = 600;
z = [];
tau = [ ] ;
135
for i =1:N,
load ( [ ’ r e s u l t s 2 /testOGE ’ num2str ( i ) ’ . mat ’ ]
data = data . s i g n a l s ( 1 , 1 ) . v a l u e s ( t i : t f ) ;
meanOGE( i ) = sum( data ) / ( t f −t i )
load ( [ ’ r e s u l t s 2 / t e s t 2 7 5 ’ num2str ( i ) ’ . mat ’ ]
data = data . s i g n a l s ( 1 , 1 ) . v a l u e s ( t i : t f ) ;
mean275 ( i ) = sum( data ) / ( t f −t i )
load ( [ ’ r e s u l t s 2 / t e s t 2 0 0 ’ num2str ( i ) ’ . mat ’ ]
data = data . s i g n a l s ( 1 , 1 ) . v a l u e s ( t i : t f ) ;
mean200 ( i ) = sum( data ) / ( t f −t i )
load ( [ ’ r e s u l t s 2 / t e s t 1 2 5 ’ num2str ( i ) ’ . mat ’ ]
data = data . s i g n a l s ( 1 , 1 ) . v a l u e s ( t i : t f ) ;
mean125 ( i ) = sum( data ) / ( t f −t i )
load ( [ ’ r e s u l t s 2 / t e s t 0 6 8 ’ num2str ( i ) ’ . mat ’ ]
data = data . s i g n a l s ( 1 , 1 ) . v a l u e s ( t i : t f ) ;
mean068 ( i ) = sum( data ) / ( t f −t i )
, ’ data ’ , ’ a c t ’ )
, ’ data ’ , ’ a c t ’ )
, ’ data ’ , ’ a c t ’ )
, ’ data ’ , ’ a c t ’ )
, ’ data ’ , ’ a c t ’ )
tau = [ tau ; [ mean068 ( i ) ; mean125 ( i ) ; mean200 ( i ) ; mean275 ( i ) ]
/ meanOGE( i ) ] ;
z = [ z ; [0.68; 1.25; 2.0; 2.75]];
end
% f o r i =1:N,
%
figure ;
p l o t ( z , tau { i } , ’ r ’ ) ;
%
p l o t ( z , model )
% end
grid ; hold
%% L e a s t S q u a r e s E s t i m a t i o n
Y = log ( ( tau − 1 ) . / tau )
A = [ log ( 1 . / ( 4 . ∗ z ) ) ]
W = diag ( 1 . / z ) ;
th = (A’ ∗W∗A) \A’ ∗W∗Y
th = (A’ ∗A) \A’ ∗Y
%
z = 0.5:0.1:3;
model = a r r a y f u n (@( x ) ( 1 / ( 1 − ( 1 / ( 4 ∗ x ) ) ˆ 2 ) ) , z ) ;
new model = a r r a y f u n (@( x ) ( 1 / ( 1 − ( 1 / ( 4 ∗ x ) ) ˆ th ) ) , z ) ;
f i g u r e ; plot ( z , tau , ’ ko ’ ) ; grid ; hold
plot ( z , model , ’ k−− ’ , ’ LineWidth ’ , 2 )
plot ( z , new model , ’ k : ’ , ’ LineWidth ’ , 2 )
legend ( ’ E x p e r i m e n t a l p o i n t s ’ , ’ Cheeseman−Benett ’ , ’LSE Model ’ )
ylabel ( ’ $\Gamma$ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
xlabel ( ’ $z /R$ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
136
meanPoints = a r r a y f u n (@( x ) ( 1 / ( 1 − ( 1 / ( 4 ∗ x ) ) ˆ th ) ) , [ 0 . 6 8 ; 1 . 2 5 ;
2.0; 2.75]) ;
t h e o r y P o i n t s = a r r a y f u n (@( x ) ( 1 / ( 1 − ( 1 / ( 4 ∗ x ) ) ˆ 2 ) ) , [ 0 . 6 8 ; 1 . 2 5 ;
2.0; 2.75]) ;
%
for k=1: s i z e ( meanPoints , 1 ) ,
SE = 0 ;
f o r i = 1 :N,
SE = SE + ( tau ( 4 ∗ ( i −1)+k ) − meanPoints ( k ) ) ˆ 2 ;
%
Squared e r r o r b e t w e e n model and 1 s e r i e s o f d a t a
end
STD( k ) = (SE / (N−1) ) ˆ . 5 ;
end
f i g u r e ; grid ; hold
plot ( z , model , ’ k−− ’ , ’ LineWidth ’ , 2 )
plot ( z , new model , ’ k : ’ , ’ LineWidth ’ , 2 )
errorbar ( [ 0 . 6 8 ; 1 . 2 5 ; 2 . 0 ; 2 . 7 5 ] , meanPoints , 1 . 9 6 ∗ STD, ’ k . ’ , ’
LineWidth ’ , 2 ) ;
legend ( ’ Cheeseman−Benett ’ , ’LSE model ’ )
ylim ( [ 1 1 . 4 ] )
ylabel ( ’ $\Gamma$ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
xlabel ( ’ $z /R$ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
D.3.3
Test 3
% A n a l y s i s 3 : L e a s t S q u a r e s E s t i m a t i o n o f t i l t −r o t o r model .
% The g o a l o f t h i s a n a l y s i s i s t o c h e c k i f t h e s i n e −c o s i n e t h r u s t
% d e c o m p o s i t i o n i n t o Fz and Fx h o l d s v a l i d under t h e ground
effect .
close a l l
% load t e s t 3 data
N = 15;
t i = 301;
t f = 1351;
w = 8 0 ; % w e i g h t from : motor (57 g )+p r o p e l l e r+hub+t e s t b e d arm3b
correction = 7.5;
factor = 0.85;
Fx correction = 5;
for i =1:N,
load ( [ ’ r e s u l t s 3 / t e s t ’ num2str ( i ) ’ . mat ’ ] , ’ data ’ , ’ a c t ’ )
dataZ = data . s i g n a l s ( 1 , 1 ) . v a l u e s ( t i : t f ) ;
dataX = data . s i g n a l s ( 3 ) . v a l u e s ( t i : t f ) ;
datsZ { i } = dataZ ;
137
datsX { i } = dataX ;
end
act = act . s i g n a l s (1) . values ( t i : t f ) ;
% f o r i =1:N,
%
anaplotXZ ( d a t s Z { i } , datsX { i } , a c t )
% end
%
Fz tot = [ ] ;
Fx tot = [ ] ;
alpha tot = [ ] ;
for i =1:N,
Fz = datsZ { i } ;
Fx = datsX { i } ;
F z t o t = [ F z t o t ; Fz ] ;
F x t o t = [ F x t o t ; Fx ] ;
a l p h a = −f a c t o r ∗ 2 2 . 5 . ∗ ( act −7.1) ;%−18.53 . ∗ a c t + 1 3 1 . 5 ;
a l p h a t o t = [ a l p h a t o t ; alpha ] ;
delta = 6.2;
T = sum( datsZ { 5 } ( 1 : 5 ) ) / 5 ; % t o t a l t h r u s t
%
% F z t h e o r y = T . ∗ a r r a y f u n (@( x ) ( c o s d ( x ) ) , max ( 0 , a l p h a ) ) ;
% F x t h e o r y = T . ∗ a r r a y f u n (@( x ) ( s i n d ( x ) ) , max ( 0 , a l p h a ) ) ;
Fz theory = T . ∗ cosd ( alpha ) ;
Fx theory = T . ∗ sind ( alpha ) ;
Fz model = T . ∗ a r r a y f u n (@( x ) ( c o s d ( x ) ) ,max( 0 , alpha−c o r r e c t i o n
));
Fx model = T . ∗ a r r a y f u n (@( x ) ( s i n d ( x ) ) ,max( 0 , alpha−c o r r e c t i o n
));
%
figure
%
s u b p l o t ( 2 , 1 , 1 ) ; p l o t ( a l p h a , Fz , ’ r : ’ ) ; g r i d ; h o l d
%
p l o t ( a l p h a , F z t h e o r y ) ; %x l i m ( [ 0 2 5 ] )
%%
p l o t ( a l p h a , Fz model , ’ g ’ ) ; %x l i m ( [ 0 2 5 ] )
%
ylim ([100 250])
%
s u b p l o t ( 2 , 1 , 2 ) ; p l o t ( a l p h a , Fx , ’ r : ’ ) ; g r i d ; h o l d
%
p l o t ( a l p h a , F x t h e o r y ) ; %x l i m ( [ 0 2 5 ] )
%
p l o t ( a l p h a , Fx model , ’ g ’ ) ; %x l i m ( [ 0 2 5 ] )
end
Fx tot = Fx tot − Fx correction ;
% Correcting i n i t i a l bias of
load c e l l reading
figure
subplot ( 2 , 1 , 1 ) ; plot ( a l p h a t o t , F z t o t , ’ k . ’ , ’ M a r k e r S i z e ’ , 0 . 2 5 ) ;
grid ; hold
plot ( alpha , F z t h e o r y , ’ k ’ , ’ LineWidth ’ , 2 . 5 ) ; xlim ( [ 0 1 6 . 5 ] )
% l e g e n d ( ’ Data ’ , ’ Model ’ )
138
ylabel ( ’ $F z ˜ ( g ) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
xlabel ( ’ $\ a l p h a ˜ ( ˆ\ c i r c ) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
%
p l o t ( a l p h a , Fz model , ’ g ’ ) ; %x l i m ( [ 0 2 5 ] )
ylim ( [ 1 6 0 2 5 0 ] )
subplot ( 2 , 1 , 2 ) ; plot ( a l p h a t o t , Fx tot , ’ k . ’ , ’ M a r k e r S i z e ’ , 0 . 2 5 ) ;
grid ; hold
plot ( alpha , Fx theory , ’ k ’ , ’ LineWidth ’ , 2 . 5 ) ; xlim ( [ 0 1 6 . 5 ] )
% l e g e n d ( ’ Data ’ , ’ Model ’ )
ylabel ( ’ $F x ˜ ( g ) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
xlabel ( ’ $\ a l p h a ˜ ( ˆ\ c i r c ) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
%x l i m ( [ 0 2 5 ] )
for k=1: s i z e ( datsZ { 1 } , 1 ) ,
SE = 0 ;
f o r i = 1 :N,
SE = SE + ( datsZ { i } ( k ) − F z t h e o r y ( k ) ) ˆ 2 ;
e r r o r b e t w e e n model and 1 s e r i e s o f d a t a
end
STDz( k ) = (SE / (N−1) ) ˆ . 5 ;
end
for k=1: s i z e ( datsX { 1 } , 1 ) ,
SE = 0 ;
f o r i = 1 :N,
SE = SE + ( datsX { i } ( k ) − F x t h e o r y ( k ) ) ˆ 2 ;
e r r o r b e t w e e n model and 1 s e r i e s o f d a t a
end
STDx( k ) = (SE / (N−1) ) ˆ . 5 ;
end
% Squared
% Squared
figure ;
subplot ( 2 , 1 , 1 ) ;
errorbar ( a l p h a ( 1 : 1 0 0 : s i z e ( alpha , 1 ) ) , F z t h e o r y ( 1 : 1 0 0 : s i z e (
F z t h e o r y , 1 ) ) , 1 . 9 6 ∗ STDz ( 1 : 1 0 0 : s i z e ( Fz model , 1 ) ) , ’ k ’ , ’ LineWidth
’ , 2 ) ; grid
ylim ( [ 1 6 0 2 5 0 ] ) ; xlim ( [ 0 1 6 ] )
ylabel ( ’ $F z ˜ ( g ) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
xlabel ( ’ $\ a l p h a ˜ ( ˆ\ c i r c ) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
subplot ( 2 , 1 , 2 ) ;
errorbar ( a l p h a ( 1 : 1 0 0 : s i z e ( alpha , 1 ) ) , F x t h e o r y ( 1 : 1 0 0 : s i z e (
F z t h e o r y , 1 ) ) , 1 . 9 6 ∗STDx ( 1 : 1 0 0 : s i z e ( Fz model , 1 ) ) , ’ k ’ , ’ LineWidth
’ , 2 ) ; grid
xlim ( [ 0 1 6 ] )
ylabel ( ’ $F x ˜ ( g ) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
xlabel ( ’ $\ a l p h a ˜ ( ˆ\ c i r c ) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
139
D.3.4
Test 4: transient and frequency
%% Test 4 b : Frequency and t r a n s i e n t a n a l y s i s
close a l l
clear a l l
N = 1 0 ; %Number o f t e s t s
tau = 0 . 0 8 8 4 ;
sigma = 1 0 0 ;
% o f f s e t = −10;
N p v e c t o r = [ 0 , 0 , 0 , 0 , 2 , 2 , 3 ] ; % Number o f p e r i o d s b e f o r e s t e a d y
state
f r e q v e c t o r = [ 0 . 1 , 1 , 2 , 4 , 6 , 8 , 1 0 ] ; %rad / s
C = t f ( 1 , [ tau 1 ] ) ;
k=1; %#t e s t
results all = [];
phases all = [ ] ;
for k=1:N
maxes = [ ] ;
phases = [ ] ;
f o r i =1: length ( f r e q v e c t o r ) ,
load ( [ ’ r e s u l t s 4 / t e s t ’ num2str ( k ) ’ f r e q ’ num2str (
f r e q v e c t o r ( i ) ) ’ . mat ’ ] )
T = 2∗ pi / f r e q v e c t o r ( i ) ;
t i = 3 / 0 . 0 2 + N p v e c t o r ( i ) ∗T/ 0 . 0 2 ;
mask = f s p e c i a l ( ’ g a u s s i a n ’ , [ 1 , 9 ] , sigma ) ;
d a t s = conv ( data . s i g n a l s ( 3 ) . v a l u e s ( t i : end ) , mask , ’ same ’ ) ;
a c t = a c t u a t o r s . s i g n a l s ( 1 ) . v a l u e s ( t i : end ) ;
time = data . time ( t i : end ) − 2 . 9 8 ;
% Substract i n i t i a l
t r a n s i t i o n time
[ x , i n d ] = min( d a t s ) ;
phs = time ( i n d ( 1 ) ) ∗ f r e q v e c t o r ( i ) ;
%
w h i l e phs >= 2∗ pi , phs = phs − 2∗ p i ; end
while abs ( phs > pi ) ,
i f phs > 0 ,
phs = phs − 2∗ pi ;
else
phs = phs + 2∗ pi ;
end
end
p h a s e s = [ p h a s e s −phs ∗180/ pi ] ;
maxes = [ maxes 0 . 5 ∗ (max( d a t s )−min( d a t s ) ) ] ;
%
figure
%
subplot (2 ,1 ,1) ;
p l o t ( time , d a t s ) ;
grid
%
subplot (2 ,1 ,2) ;
p l o t ( time , a c t ) ;
grid
end
maxes = maxes −3;
140
%
%
%
%
%
%
%
%
end
p h a s e s = p h a s e s + abs ( p h a s e s ( 1 ) ) ; %S u b s t r a c t c t d e l a y t h a t i s
not from dynamics
r e s u l t s = 20 ∗ log10 ( maxes / maxes ( 1 ) ) ;
f r e q v e c t o r ( 1 ) =0.101;
% Move p o i n t so t h a t i t a p p e a r s on
plot
results all = [ results all results ];
p h a s e s a l l = [ p h a s e s a l l phases ] ;
figure
bodemag (C, { 0 . 1 , 1 0 0 } , ’ k ’ ) ; g r i d ; h o l d ; y l i m ([ −10 1 ] )
p l o t ( f r e q v e c t o r , r e s u l t s , ’ ko ’ , ’ LineWidth ’ , 2 )
% Phase p l o t
figure
bode (C, { 0 . 1 , 1 0 0 } , ’ k ’ ) ; g r i d ; h o l d ; y l i m ([ −90 1 0 ] )
p l o t ( f r e q v e c t o r , phases , ’ ko ’ , ’ LineWidth ’ , 2 )
for k=1: length ( r e s u l t s ) ,
SE = 0 ; s e p h a s e s = 0 ;
meanBode ( k ) = 0 ;
meanPhase ( k ) = 0 ;
f o r i = 1 :N,
meanBode ( k ) = meanBode ( k ) + r e s u l t s a l l ( ( i −1)∗7+k ) ;
meanPhase ( k ) = meanPhase ( k ) + p h a s e s a l l ( ( i −1)∗7+k ) ;
end
meanBode ( k ) = meanBode ( k ) /N;
meanPhase ( k ) = meanPhase ( k ) /N;
f o r i = 1 :N,
SE = SE + ( r e s u l t s a l l ( ( i −1)∗7+k ) − meanBode ( k ) ) ˆ 2 ;
Squared e r r o r b e t w e e n model and 1 s e r i e s o f d a t a
s e p h a s e s = s e p h a s e s + ( p h a s e s a l l ( ( i −1)∗7+k ) −
meanPhase ( k ) ) ˆ 2 ;
end
stdBode ( k ) = (SE / (N−1) ) ˆ . 5 ;
stdPhase ( k ) = ( s e p h a s e s / (N−1) ) ˆ . 5 ;
end
figure
semilogx ( repmat ( f r e q v e c t o r , [ 1 , N ] ) , r e s u l t s a l l , ’ ko ’ , ’ LineWidth ’
, 2 ) ; ylim ([ −10 1 ] ) ; grid ; hold
bode (C, { 0 . 1 , 1 0 0 } , ’ k ’ ) ; grid ;
plot ( repmat ( f r e q v e c t o r , [ 1 , N ] ) , p h a s e s a l l , ’ ko ’ , ’ LineWidth ’ , 2 ) ;
ylim ([ −90 1 0 ] )
figure
errorbar ( f r e q v e c t o r , meanBode , 1 . 9 6 ∗ stdBode , ’ ko ’ , ’ LineWidth ’ , 2 ) ;
ylim ([ −10 1 ] ) ; grid ; hold
bode (C, { 0 . 1 , 1 0 0 } , ’ k ’ ) ; grid ;
%
141
errorbar ( f r e q v e c t o r , meanPhase , 1 . 9 6 ∗ stdPhase , ’ ko ’ , ’ LineWidth ’ , 2 ) ;
ylim ([ −90 1 0 ] )
%% T r a n s i e n t a n a l y s i s
N = 20;
sigma = 1 0 ;
window length = 3 ;
t i = 302;
tend = 3 5 0 ;
tau = zeros (N, 1 ) ;
f i g u r e ; hold ; grid ; ylim ( [ 0 1 6 0 ] )
for k = 1 :N,
load ( [ ’ r e s u l t s 4 / t e s t T r a n s ’ num2str ( k ) ] , ’ data ’ )
mask = f s p e c i a l ( ’ g a u s s i a n ’ , [ 1 , window length ] , sigma ) ;
d a t s = conv ( data . s i g n a l s ( 3 ) . v a l u e s ( t i : tend ) , mask , ’ same ’ ) ;
time = data . time ( t i : tend ) − ( t i −1) ∗ 0 . 0 2 ;
plot ( time ( 1 : 4 5 ) , d a t s ( 1 : 4 5 ) , ’ k : ’ , ’ LineWidth ’ , 0 . 5 )
s s v a l u e = sum( d a t s ( 3 5 : 4 5 ) ) / 1 1 ;
%Find time t o r e a c h 63% o f f i n a l v a l u e
i =1;
while d a t s ( i ) < 0 . 6 3 ∗ s s v a l u e ,
i = i +1;
end
d i f f 1 = dats ( i ) − 0.63∗ s s v a l u e ;
d i f f 2 = d a t s ( i ) − d a t s ( i −1) ;
t i m e d i f f = 0.02 ∗ d i f f 1 / d i f f 2 ;
tau ( k ) = time ( i ) − t i m e d i f f ;
end
ylabel ( ’ $F x ˜ ( g ) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
xlabel ( ’ $ t ˜ ( s ) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
tau
tau mean = mean( tau )
t a u s t d = std ( tau )
CI = 1 . 9 6 ∗ t a u s t d
D.3.5
Test 5
%% Test 5
close a l l
N = 20;
t i = 251;
t f = 2501;
c o r r e c t i o n = −0.75 e −4;
for i =1:N,
load ( [ ’ r e s u l t s 5 / t e s t ’ num2str ( i ) ’ . mat ’ ] , ’ data ’ , ’ a c t ’ )
d a t s { i } = data . s i g n a l s ( 2 ) . v a l u e s ( t i : t f ) ;
142
end
act = act . s i g n a l s (1) . values ( t i : t f ) ;
% f o r i =1:N,
%
anaplot ( dats { i } , act )
% end
f = dats {1};
for i =2:N,
f = [ f ; dats { i } ] ;
f = f − correction ;
end
%% I d e n t i f i c a t i o n o f ’ l ’ parameter
m = 0.09;
g = 9.81;
Y = f;
A = [m∗g ∗ s i n d ( repmat ( act , N, 1 ) ) ] ;
th = (A’ ∗A) \A’ ∗Y
M model = m∗ g∗ s i n d ( a c t ) ∗ th ;
figure
plot ( repmat ( act , N, 1 ) , f , ’ k . ’ , ’ M a r k e r S i z e ’ , 0 . 5 ) ; grid ; hold
plot ( act , M model , ’ k ’ , ’ LineWidth ’ , 2 . 5 ) ;% x l i m ( [ 0 1 6 . 5 ] )
% h = l e g e n d ( ’ E x p e r i m e n t a l data ’ , ’ Model ’ ) ;
% s e t (h , ’ FontSize ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
ylabel ( ’$M˜ (N.m) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
xlabel ( ’ $\ a l p h a ˜ ( ˆ \ c i r c ) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
legend ( ’ LS model ’ , ’ Data ’ )
for k=1: s i z e ( d a t s { 1 } , 1 ) ,
SE = 0 ;
f o r i = 1 :N,
SE = SE + ( d a t s { i } ( k ) − M model ( k ) ) ˆ 2 ;
% Squared
e r r o r b e t w e e n model and 1 s e r i e s o f d a t a
end
STD( k ) = (SE / (N−1) ) ˆ . 5 ;
end
figure ;
errorbar ( a c t ( 1 : 1 0 0 : s i z e ( act , 1 ) ) , M model ( 1 : 1 0 0 : s i z e ( act , 1 ) ) , 1 . 9 6 ∗
STD( 1 : 1 0 0 : s i z e ( act , 1 ) ) , ’ k ’ , ’ LineWidth ’ , 2 ) ; grid
ylabel ( ’$M˜ (N.m) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
xlabel ( ’ $\ a l p h a ˜ ( ˆ \ c i r c ) $ ’ , ’ F o n t S i z e ’ , 1 4 , ’ i n t e r p r e t e r ’ , ’ l a t e x ’ )
ylim ([ −4 3 ] ∗ 1 e −4) ; xlim ( [ 0 9 0 ] )
143
E. Mathematical model matrices
This appendix shows the mathematical model matrices developed in Chapter 5.
Linear Time-Variant model

0



0



0



0

A=

0



0



0



0

1 0 0 0 0
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 1
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0



0
0



0
0



−1.620 [C(u3 )TR (u1 ) + C(u4 )TL (u2 )] 0

,

0
0



0
0



0
1



0
0

B=
0
(E.1)

0
0
0
0








0
0
0
0
1.620S(u4 )TL (u2 )
1.620S (u3 )TR (u1 )
1.620S (u4 )TL (u2 ) 
 1.620S(u3 )TR (u1 )








0
0
0
0






0
0
0
0
−1.620x7 C(u3 )TR (u1 ) −1.620x7 C(u4 )TL (u2 ) −1.620x7 C (u3 )TR (u1 ) −1.620x7 C (u4 )TL (u2 )



 ,




0
0
0
0






0
0
0
 19.14S(u3 )TR 0 (u1 )

−19.14S(u
)T
(u
)
19.14S
(u
)T
(u
)
−19.14S
(u
)T
(u
)
4
2
3
1
4
2
L
R
L








0
0
0
0






0
0
0
0
20.90C(u3 )TR (u1 )
−20.90C(u4 )TL (u2 )
20.90C (u3 )TR (u1 )
−20.90C (u4 )TL (u2 ))
where TR/L (u1/2 ) are Equation set G.2.
(E.2)
144
Linear Time-Invariant model


1
0 0
0 
0




0 −0.3546 0 0

1







A = 0
0
0 1
0 
,






0
0 0
0 
0




0
0
0 0 −11.31

(E.3)

0 
 0




 0
0 







B= 0
0 
.






34.27 −34.27




24.17 24.17
(E.4)
145
F. Matlab code for the platform localization
The Kalman filter implementation in Matlab is presented below. The code is
embedded in a Matlab function Simulink block, which in turn is integrated in the thrustvectoring platform control loop.
Kalman filter
function x e s t i m = f c n ( a raw , yaw raw , Dyaw raw , u , x , p a r a m e t e r s )
p e r s i s t e n t F G H V W P;
i f isempty (F) ,
% I n i t i a l i z e matrices
m = parameters (1) ;
L = parameters (2) ;
I z z = parameters (3) ;
T = parameters (4) ;
dt = p a r a m e t e r s ( 5 ) ;
c = parameters (6) ;
% Process matrix
F = single ([
1
dt 0
0
0
0
1−c /m∗ dt
0
0
0
1
dt 0
0
0
0
1
0
0
0
0
0
0
% Input matrix
G = single ([
0
0
0
dt ∗L/ I z z ∗T
T/m
% Observation matrix
H = single ([
0
0
1
0
0
0
0
0
0
% Model e r r o r c o v a r i a n c e
V = s i n g l e ( eye ( 5 ) ∗ 0 . 0 0 0 1 ) ;
;
0
dt
;
;
;
]) ;
0
;
0
;
0
;
−dt ∗L/ I z z ∗T ;
T/m ] ) ;
0
1
0
0
0
1
% 5 x5
;
;
]) ;
146
V( 3 , 3 ) = 2 . 6 1 3 e −5;
V( 4 , 4 ) = 4 . 5 6 4 e −4;
% Measurement e r r o r c o v a r i a n c e
W = s i n g l e ( eye ( 3 ) ) ;
W( 1 , 1 ) = s i n g l e ( 2 . 6 1 3 e −5) ;
W( 2 , 2 ) = s i n g l e ( 4 . 5 6 4 e −4) ;
W( 3 , 3 ) = s i n g l e ( 0 . 0 4 4 7 9 ) ;
% Covariance o f
acceleration observation
P = s i n g l e ( zeros ( 5 , 5 ) ) ;
covariance
% I n i t i a l estimate error
end
%
x
x
K
A l l o c a t e space
p r e d = s i n g l e ( zeros ( 5 , 1 ) ) ;
e s t i m = s i n g l e ( zeros ( 5 , 1 ) ) ;
= s i n g l e ( zeros ( 5 , 3 ) ) ;
% Measurement v e c t o r
z = [ yaw raw ; Dyaw raw ; a raw ] ;
%
x
P
K
x
P
Kalman a l g o r i t h m
pred = F ∗ x + G ∗ u ;
= F ∗ P ∗ F ’ + V;
= P ∗ H’ / (H ∗ P ∗ H’ + W) ;
estim = x pred + K ∗ ( z − H ∗ x pred ) ;
= ( eye ( 5 ) − K ∗ H) ∗ P ;
147
G. Controller implementation on hovercraft
This appendix presents the implementation of an LQR controller on the built
hovercraft platform, similar to the LQR designed in Chapter 6. This LQR controller
was designed in the same manner, but with a system modelled defined by the following
equations:





Fz (δ, α, Z̄)
= T (δ) · Γ(Z̄) · V (α)




Fx (δ, α, Z̄)
= T (δ) · Γ(Z̄) · H(α),
(G.1)
where
T (δ) = a + b · δ + c · δ 2 ,
Γ(Z̄) =
(G.2)
1
1 + ( 41Z̄ )kGEF
(G.3)
and





V (α)
= ac + bc · α2 + cc · α4 + dc · α6




H(α)
= as + bs · α2 + cs · α4 + ds · α6 + es · α8 + fs · α10
,
where the 15 experimentally found parameters are:




a = −3102




,
M (α) : l = −9.8547 · 10−4 ,
T (δ) :
b = 652.5






 c = −21.67
kGEF = 2.0,
(G.4)
148
V (α) :




ac = 1







 bc = −9.574 · 10−6
,
H(α) :



cc = −2.074 · 10−7







 dc = 1.484 · 10−10




as = 6.251 · 10−5









bs = 6.843 · 10−5







 cs = −9.170 · 10−8
.



ds = −2.199 · 10−10









es = 7.100 · 10−13







 fs = −5.138 · 10−16
The above model results in the following K feedback matrix:


0.1074 0.0692
0.7071 0.6927 0.2236
.
K=


0.7071 0.6927 −0.2236 −0.1074 0.0692
(G.5)
Thanks to the use of the Fio Std board, the implementation of the controller was
a straightforward process. The control loop was coded in Simulink (Figure G.1). It consists
on the following key parts:
1. Sensor data reception (sensor measurements).
2. Kalman filter.
3. Feedback gain matrix K.
4. Controller outputs to the servo motors (plant inputs).
A data logger was added in order to record the results in a microSD storage card for
later analysis. Furthermore, a scheduler is also added to safely limit the operation time
of the hovercraft if operation went wrong. Once the Simulink model was complete, it
was directly compiled and loaded into the board via the Matlab’s Embedded Real-Time
Workshop toolbox and C compiler.
propeller blades from colliding with the surface.
for safety in case of erratic operation. The saturation block limits the maximum and minimum values of the controller output to keep
time, state and inputs of the system for later analysis. The schedule block disconnects all the inputs after a specified amount of time,
Figure G.1: Simulink hovercraft control diagram with sensor data, Kalman filter, feedback gain, and actuator output. A data logger records the
149
150
Figure G.2: Hovercraft movement commands.
The initial position of the hovercraft on the friction-reducing surface can be seen
in Figure G.4. The controller is tested for the following sequence of commands:
1. Turn 90 degrees to the right with a step input.
2. Move forward 1.5m with a step input.
3. Turn about, 180 degrees to the left with a ramp input.
4. Move forward 1.5m with a step input.
5. Turn 90 degrees to the right.
The above path leaves the Hovercraft in the initial position after executing all the commands.
An scheme of the Hovercraft movement commands can be seen in Figure G.2. Also, the
commands over time can be seen in Figure G.3.
During the execution of the path commands, the Hovercraft state estimate and
inputs over time were recorded. The state variables were then plotted against the desired
151
Figure G.3: Hovercraft movement commands over time
path in Figure G.5. In order to avoid collision between the propeller blades and the surface,
the tilt angles were limited to a maximum of 12 degrees. This results in the controlling
effort being saturated at some moments, as seen in Figure G.5. The thrust-vectoring
platform executes the commands with great precision, according to the hovercraft state
estimate. In reality, the state estimate and the actual position and angle are very close:
less than 10% error in position and 15 degrees in orientation.
152
Figure G.4: Hovercraft on friction-reducing surface.
the first two subplots.
Figure G.5: Test recorded x position, ψ angle, αR and αL , in solid lines. The position and angle commands are represented with dotted lines on
153
154
Vita
Joan Jorquera Grau was born to Carmen Grau Pellicer and Juan I. Jorquera Nieto in 1987
in Valencia, Spain. He graduated from High School at L’Ametlla del Valles (Barcelona) in
2005. He received his Aerospace Higher Engineering degree from the Polytechnic University
of Catalonia (UPC) in 2011. During his studies at UPC, he worked as an intern in Nissan
Motor Iberica, as a simulation developer for the motor calibration department. He also
worked as an intern in the Advanced Space Systems & Technology department at GMV
Aerospace & Defence. Joan’s work in the area of robotics in GMV led him to pursue a
Master’s Degree in Electrical Engineering, with focus on robotics, at South Dakota School
of Mines & Technology. During his studies at SDSMT, Joan worked as a Graduate Teaching
Assistant in Mechatronics.
Positions
Graduate Teaching Assistant in Mechatronics, August 2011 - December 2012
Internship at GMV Aerospace & Defence, July 2010 - June 2011
Internship at Nissan Motor Ibrica, July 2009 - December 2009
Publications
“Comparison of Angles Only Initial Orbit Determination Algorithms for Space Debris
Cataloguing”, 22nd International Symposium on Space Flight Dynamics, February 2011.