path planning, guidance and control for a uav forced landing
TRANSCRIPT
Path Planning, Guidance and Controlfor a
UAV Forced Landing
by
Pillar C. S. EngBEng (AeroAv)(Hons1), GradIEAust
A thesis submitted in fulfillment of the requirementsfor the degree of
Doctor of Philosophy
at the
Australian Research Centre for Aerospace AutomationSchool of Engineering Systems
Queensland University of Technology
2011
Statement of Authorship
The work contained in this thesis has not been previously submitted to meet require-
ments for an award at this or any other higher education institution. To the best
of my knowledge and belief, the thesis contains no material previously published or
written by another person except where due reference is made.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Author
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Date
iii
“There are two critical points in every aerial flight — its beginning and its end.”
Alexander Graham Bell, 1906
v
Abstract
A forced landing is an unscheduled event in flight requiring an emergency landing,
and is most commonly attributed to engine failure, failure of avionics or adverse
weather. Since the ability to conduct a successful forced landing is the primary in-
dicator for safety in the aviation industry, automating this capability for unmanned
aerial vehicles (UAVs) will help facilitate their integration into, and subsequent rou-
tine operations over civilian airspace. Currently, there is no commercial system
available to perform this task; however, a team at the Australian Research Cen-
tre for Aerospace Automation (ARCAA) is working towards developing such an
automated forced landing system. This system, codenamed Flight Guardian, will
operate onboard the aircraft and use machine vision for site identification, artificial
intelligence for data assessment and evaluation, and path planning, guidance and
control techniques to actualize the landing. This thesis focuses on research specific
to the third category, and presents the design, testing and evaluation of a Trajectory
Generation and Guidance System (TGGS) that navigates the aircraft to land at a
chosen site, following an engine failure.
Firstly, two algorithms are developed that adapts manned aircraft forced landing
techniques to suit the UAV planning problem. Algorithm 1 allows the UAV to select
a route (from a library) based on a fixed glide range and the ambient wind conditions,
while Algorithm 2 uses a series of adjustable waypoints to cater for changing winds.
A comparison of both algorithms in over 200 simulated forced landings found that
using Algorithm 2, twice as many landings were within the designated area, with
an average lateral miss distance of 200 m at the aimpoint. These results present a
baseline for further refinements to the planning algorithms.
A significant contribution is seen in the design of the 3-D Dubins Curves planning
algorithm, which extends the elementary concepts underlying 2-D Dubins paths to
account for powerless flight in three dimensions. This has also resulted in the devel-
opment of new methods in testing for path traversability, in losing excess altitude,
and in the actual path formation to ensure aircraft stability. Simulations using this
algorithm have demonstrated lateral and vertical miss distances of under 20 m at
the approach point, in wind speeds of up to 9 m/s. This is greater than a tenfold
improvement on Algorithm 2 and emulates the performance of manned, powered
aircraft.
The lateral guidance algorithm originally developed by Park, Deyst, and How
(2007) is enhanced to include wind information in the guidance logic. A simple
assumption is also made that reduces the complexity of the algorithm in following
a circular path, yet without sacrificing performance. Finally, a specific method of
supplying the correct turning direction is also used. Simulations have shown that
this new algorithm, named the Enhanced Nonlinear Guidance (ENG) algorithm,
vii
ABSTRACT
performs much better in changing winds, with cross-track errors at the approach
point within 2 m, compared to over 10 m using Park’s algorithm.
A fourth contribution is made in designing the Flight Path Following Guidance
(FPFG) algorithm, which uses path angle calculations and the MacCready theory to
determine the optimal speed to fly in winds. This algorithm also uses proportional-
integral-derivative (PID) gain schedules to finely tune the tracking accuracies, and
has demonstrated in simulation vertical miss distances of under 2 m in changing
winds.
A fifth contribution is made in designing the Modified Proportional Navigation
(MPN) algorithm, which uses principles from proportional navigation and the ENG
algorithm, as well as methods specifically its own, to calculate the required pitch to
fly. This algorithm is robust to wind changes, and is easily adaptable to any aircraft
type. Tracking accuracies obtained with this algorithm are also comparable to those
obtained using the FPFG algorithm.
For all three preceding guidance algorithms, a novel method utilising the geo-
metric and time relationship between aircraft and path is also employed to ensure
that the aircraft is still able to track the desired path to completion in strong winds,
while remaining stabilised.
Finally, a derived contribution is made in modifying the 3-D Dubins Curves
algorithm to suit helicopter flight dynamics. This modification allows a helicopter
to autonomously track both stationary and moving targets in flight, and is highly
advantageous for applications such as traffic surveillance, police pursuit, security or
payload delivery.
Each of these achievements serves to enhance the on-board autonomy and safety
of a UAV, which in turn will help facilitate the integration of UAVs into civilian-
airspace for a wider appreciation of the good that they can provide. The automated
UAV forced landing planning and guidance strategies presented in this thesis will
allow the progression of this technology from the design and developmental stages,
through to a prototype system that can demonstrate its effectiveness to the UAV
research and operations community.
viii
Acknowledgments
Firstly, I wish to thank my supervisors Prof. Rodney Walker, A/Prof. Duncan
Campbell, Dr. Luis Mejias-Alvarez and Dr. Daniel Fitzgerald at ARCAA for the
guidance and support they provided throughout my candidature, and the constant
incitement to push myself further. In particular, I wish to thank Dr. Mejias for
being a valuable sounding board for my ideas, and for patiently sitting with me to
work through some of the more difficult problems encountered.
I am also grateful to my fellow peers Dr. Paul Wu and Dr. Troy Bruggemann for
their advice, as well as for allowing me to learn and even to benefit from their own
research experiences, and to Mr. Richard Glassock and Mr. Scott McNamara for
providing great technical support during flight trials — all of whom are also great
friends.
Further, I am indebted to Prof. Pascual Campoy, Mr. Ivan Mondragon, Mrs.
Carol Martınez and Mr. Miguel Olivares-Mendez for affording me the invaluable
opportunity to work with their wonderful team at the Universidad Politecnica de
Madrid (UPM), and for the great hospitality they extended to me during my three-
and-a-half months research stay in Spain.
Finally, I would like to thank my family for their love, support and understand-
ing. This thesis would not have been possible without them.
The work carried out in this thesis was sponsored by the Australian Postgraduate
Award, the QUT Vice-Chancellor Scholarship Top-Up Award and the CSIRO Top-
Up Scholarship, and partly by the Australian Academy of Science International
Research Staff Exchange Scheme (IRSES) award.
ix
Contents
Statement of Authorship iii
v
Abstract vii
Acknowledgments ix
List of Figures xxi
List of Tables xxiii
List of Algorithms xxv
1 Introduction 1
1.1 Research Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Research Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.1 Phase 1 - Literature Review . . . . . . . . . . . . . . . . . . . 7
1.2.2 Phase 2 - Forced Landing Simulation Environment . . . . . . 7
1.2.3 Phase 3 - Development of Path Planning and Guidance Algo-
rithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.4 Phase 4 - Testing and Verification . . . . . . . . . . . . . . . 9
1.3 Contributions of the Research . . . . . . . . . . . . . . . . . . . . . . 9
1.3.1 Primary Contributions . . . . . . . . . . . . . . . . . . . . . . 9
1.3.2 Derived Contribution . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 Related Work 15
2.1 Path Planning Techniques . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1 Global Path Planning Techniques . . . . . . . . . . . . . . . . 16
2.1.1.1 Graph Search Algorithms . . . . . . . . . . . . . . . 16
2.1.1.2 Evolutionary Algorithms . . . . . . . . . . . . . . . 23
2.1.2 Local Path Planning Techniques . . . . . . . . . . . . . . . . 25
2.1.2.1 Heuristic-based Path Planning . . . . . . . . . . . . 25
2.1.2.2 Trajectory Generation Techniques . . . . . . . . . . 25
2.1.2.3 Dealing with Wind . . . . . . . . . . . . . . . . . . 35
2.2 Guidance Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3 Manned Aircraft Forced Landing Procedures . . . . . . . . . . . . . 41
2.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
xi
CONTENTS
3 Path Planning for a Fixed-Wing UAV 47
3.1 Algorithms based on Piloted Forced Landing Procedures . . . . . . . 47
3.1.1 Algorithm 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1.2 Algorithm 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2 3-D Dubins Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.2.1 The 2-D Dubins Path . . . . . . . . . . . . . . . . . . . . . . 55
3.2.1.1 Determining Path Traversability . . . . . . . . . . . 58
3.2.2 The 3-D Dubins Path . . . . . . . . . . . . . . . . . . . . . . 62
3.2.2.1 Dealing with Excess Altitude . . . . . . . . . . . . . 64
3.2.2.2 Additional Waypoint for Post-Approach Point Gliding 67
3.2.2.3 Replanning . . . . . . . . . . . . . . . . . . . . . . . 68
3.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4 Guidance and Control for a Fixed-Wing UAV 71
4.1 Great-Circle Navigation, Guidance and Control . . . . . . . . . . . . 71
4.1.1 Waypoint Navigation . . . . . . . . . . . . . . . . . . . . . . . 72
4.1.2 Wind Correction . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.1.3 Waypoint Tracking . . . . . . . . . . . . . . . . . . . . . . . . 74
4.1.4 Flight Control . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.2 3-D Nonlinear Guidance and Control . . . . . . . . . . . . . . . . . . 76
4.2.1 The Enhanced Nonlinear Guidance (ENG) Algorithm . . . . 77
4.2.1.1 Line Following . . . . . . . . . . . . . . . . . . . . . 78
4.2.1.2 Arc Following . . . . . . . . . . . . . . . . . . . . . 80
4.2.1.3 Calculating Roll Angle from Acceleration . . . . . . 81
4.2.1.4 Determining the Correct Turning Direction . . . . . 82
4.2.2 The Flight Path Following Guidance (FPFG) Algorithm . . . 83
4.2.3 The Modified Proportional Navigation (MPN) Algorithm . . 84
4.2.4 Ensuring Smooth Transition between Waypoints . . . . . . . 89
4.2.5 Control for Flight Stability . . . . . . . . . . . . . . . . . . . 90
4.2.5.1 Lateral Control . . . . . . . . . . . . . . . . . . . . . 91
4.2.5.2 Longitudinal Control . . . . . . . . . . . . . . . . . 95
4.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5 The Forced Landing Simulation Environment 101
5.1 Aerosonde UAV Model . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.2 Boomerang UAV model . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
xii
CONTENTS
6 Flight Experiment Setup 107
6.1 Overview of the Unmanned Aircraft System . . . . . . . . . . . . . . 107
6.2 Hardware Description . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.3 Software Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6.4 Procedures for Testing the Forced Landing Software in Flight . . . . 118
6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7 Discussion of Results 123
7.1 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.1.1 Results from Algorithms based On Piloted Forced Landing
Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.1.2 Results from Algorithms based on Nonlinear Planning and
Guidance Techniques . . . . . . . . . . . . . . . . . . . . . . . 127
7.1.2.1 Initial Results obtained using the 3-D Dubins Curves,
ENG and FPFG Algorithms . . . . . . . . . . . . . 127
7.1.2.2 Improved Results obtained using the 3-D Dubins Curves,
ENG and MPN Algorithms . . . . . . . . . . . . . . 132
7.1.2.3 Results demonstrating Path Replanning using the 3-
D Dubins Curves, ENG and MPN Algorithms . . . 134
7.1.3 Results from Simulations using the HORIZONmp Simulator . 135
7.2 Results from Flight Experiments . . . . . . . . . . . . . . . . . . . . 137
7.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
8 Conclusions 143
8.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
9 149
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
A State-Space Model of Boomerang UAV 157
A.1 Lateral Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
A.2 Longitudinal Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
B MATLAB® Simulink Models 163
B.1 The Aerosonde UAV Model . . . . . . . . . . . . . . . . . . . . . . . 163
B.2 The Boomerang UAV Model . . . . . . . . . . . . . . . . . . . . . . 164
C Path Planning for Target Tracking Using an Autonomous Heli-
copter 165
C.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
C.2 Path Planning for Target Tracking . . . . . . . . . . . . . . . . . . . 168
xiii
CONTENTS
C.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
C.3.1 Simple Path Following . . . . . . . . . . . . . . . . . . . . . . 171
C.3.2 Replanning with Shifting Target . . . . . . . . . . . . . . . . 171
C.3.3 Replanning with Moving Target . . . . . . . . . . . . . . . . 172
C.3.4 Further Work . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
xiv
List of Figures
1.1 The Flight Guardian automated UAV forced landing system architec-
ture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Stages of flight in a UAV forced landing . . . . . . . . . . . . . . . . 7
2.1 Schematic diagram showing how a flight trajectory is generated using
Pettersson and Doherty’s method . . . . . . . . . . . . . . . . . . . . 18
2.2 Example of Frazzoli’s RRT two-dimensional tree-expansion proce-
dure. Note that the paths have already been smoothed (Source: Fraz-
zoli, Dahleh, & Feron, 2002) . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 Visual example of Frazzoli’s manoeuvre generation system (Source:
Frazzoli, Dahleh, & Feron, 2005) . . . . . . . . . . . . . . . . . . . . 21
2.4 Griffith’s collision avoidance manoeuvre (Source: Griffiths et al., 2006) 21
2.5 Overview of evolutionary search algorithms . . . . . . . . . . . . . . 23
2.6 (a) Potential field contour plot (b) Skeleton (Source: Barraquand et
al., 1992) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.7 Simple 2-D Dubins curves showing both CSC and CCC type paths.
Initial and target headings are indicated by ωi and ωt respectively. . 29
2.8 3-D CSC Dubins curves constructed using Hota’s analytical method.
Initial and target headings are indicated by the red and black arrows
respectively. (Source: Hota and Ghose, 2010) . . . . . . . . . . . . . 30
2.9 Examples of clothoid curves or Cornu spirals. . . . . . . . . . . . . . 31
2.10 Smooth trajectory formed by a symmetrical clothoid arc used to tran-
sition between arcs and lines in a Dubins path (Source: Liu et al.,
2007) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.11 Flyable paths and their curvature profiles (Source: Shanmugavel et
al., 2009) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.12 A lane change manoeuvre using paths of minimum curvature and
sharpness (Source: Wilde, 2009) . . . . . . . . . . . . . . . . . . . . 33
2.13 Four quintic PH splines solving a planning problem. The most ap-
propriate solution is the curve with the least bending energy (solid
black line). (Source: Bruyninckx and Reynaerts, 1997) . . . . . . . . 34
2.14 3-D Pythagorean-hodograph space curve with bounded climb angle
(Source: Neto and Campos, 2009) . . . . . . . . . . . . . . . . . . . 35
2.15 Path planning with sliding surface control and virtual target - (a)
Forming the virtual target, (b) Example ground path created through
multiple waypoints (Source: McGee & Hedrick, 2006) . . . . . . . . 37
xv
LIST OF FIGURES
2.16 (a) Strategy 1 - Arctan nonlinear control, (b) Strategy 2 - Velocity
ratio control (Source: Frew et al., 2004) . . . . . . . . . . . . . . . . 39
2.17 Illustration of the curve to be tracked and the connecting contour
(Source: Rathinam et al., 2006) . . . . . . . . . . . . . . . . . . . . . 40
2.18 Illustrating the vector field concept for linear and circular path fol-
lowing. The desired course of the UAV is specified by the direction
of the vector field. (Source: D. R. Nelson et al., 2007) . . . . . . . . 41
2.19 The forced landing circuit pattern (Source: Civil Aviation Safety Au-
thority of Australia (CASA), 2007) . . . . . . . . . . . . . . . . . . . 43
2.20 Path planning on final approach (Source: Brandon, 2007) . . . . . . 43
3.1 Determination of glide range and waypoints for a forced landing . . 48
3.2 Standard RHC forced landing pattern . . . . . . . . . . . . . . . . . 49
3.3 Modified RHC forced landing pattern . . . . . . . . . . . . . . . . . 51
3.4 State transition diagram for Algorithm 1 . . . . . . . . . . . . . . . . 52
3.5 Altitude prediction for Algorithm 2 . . . . . . . . . . . . . . . . . . . 53
3.6 State transition diagram for Algorithm 2 . . . . . . . . . . . . . . . . 54
3.7 Speed polar diagram for a Boomerang-60 UAV using simulated data,
showing how the best glide speed Vbg is obtained. . . . . . . . . . . . 57
3.8 Speed polar diagram for a Boomerang-60 UAV using flight data, show-
ing how the best glide speed Vbg is estimated from a smooth curve
fitted to the data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.9 (a)Step 1 of generating the 2-D path. (b)Step 2 of generating the 2-D
path. (c) Step 3 of generating the 2-D path. Four plausible paths are
obtained; the optimal path is path no.1 . . . . . . . . . . . . . . . . 59
3.10 Diagram showing how path traversability is determined from the geo-
metric construction of the 2-D Dubins curve, and the initial and final
positions of the UAV . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.11 Relationship between elements of the generated 3-D flight path. The
generated path is Γarc0 ∪ Γline ∪ Γarcf . . . . . . . . . . . . . . . . . . 63
3.12 Forced landing flight path example showing the use of extra helix
spirals, Γex and a connecting contour Γjoin to form a feasible path. . 66
3.13 Derivation of an additional waypoint to track to improve path follow-
ing performance in strong headwinds . . . . . . . . . . . . . . . . . . 67
3.14 Forced landing flight path example showing path replanning. Path 2
is the new path that connects to the breaking point at Point C, where
the unflown portion of the original path (CB) is removed from Path 1. 68
4.1 Wind triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
xvi
LIST OF FIGURES
4.2 Flight path tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.3 Simple lateral controller for the Aerosonde UAV . . . . . . . . . . . 75
4.4 Simple longitudinal controller for the Aerosonde UAV . . . . . . . . 75
4.5 Lateral controller response for the Aerosonde UAV, showing good
tracking of the commanded roll angle, φcmd. The yaw angle, ψ changes
synchronously with the roll angle, φ to provide a coordinated response
with a minimal side slip, β. Both the ailerons and rudder are working
synchronously to provide a coordinated turn. . . . . . . . . . . . . . 76
4.6 Airspeed controller for the Aerosonde UAV, showing the desired Vbg
of 19 m/s is able to be maintained throughout the forced landing
descent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.7 Diagram showing the lateral guidance law . . . . . . . . . . . . . . . 78
4.8 Vehicle kinematics for straight line following, showing (a) the rela-
tionship between the aircraft velocity V and the expected/average
wind velocity W , and (b) the relationship between the aircraft bear-
ing ψ(t), the path bearing ψ12 , the wind bearing ψw , and the angle
η. In addition, the relationship between the cross-track error d, the
hypotenuse d1 and the look-ahead distance L1 is also shown. . . . . 79
4.9 Vehicle kinematics for circular path following . . . . . . . . . . . . . 80
4.10 Vehicle kinematics showing how roll angle is derived from acceleration 82
4.11 Geometric relationship between aircraft and path . . . . . . . . . . . 83
4.12 Using the speed polar diagram to determine the required speed-to-fly
while gliding in winds (Source: Brandon, 2007) . . . . . . . . . . . . 85
4.13 Cross-sectional view of vehicle kinematics for vertical path tracking . 85
4.14 Components of vehicle kinematics for vertical path tracking . . . . . 86
4.15 Diagram showing the relative position between the aircraft and the
start of the second arc in the Dubins path. The relative position is
used for more accurate path following. . . . . . . . . . . . . . . . . . 90
4.16 Root locus plot of the Boomerang lateral control autopilot using just
the ailerons. The pole locations indicate a very well-damped response. 91
4.17 Transfer function of the washout filter for the Boomerang-60 UAV
showing the magnitude response . . . . . . . . . . . . . . . . . . . . 92
4.18 Root locus plot of the Boomerang lateral control autopilot using both
the ailerons and rudder. The pole and zero locations indicate a very
well-damped response. . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.19 Aileron controller response of the Boomerang-60 UAV to a 15 deg roll
command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.20 Rudder controller response of the Boomerang-60 UAV to a 15 deg roll
command, showing negligible sideslips . . . . . . . . . . . . . . . . . 93
xvii
LIST OF FIGURES
4.21 Simulated lateral controller for the Boomerang UAV, showing a two-
stage control process for the roll angle, and a yaw damper to correct
for any undesirable aircraft yawing motion. The same controller is
employed by both the FPFG and MPN algorithms. . . . . . . . . . . 94
4.22 Good tracking of commanded roll during a simulated forced landing,
with negligible sideslips . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.23 Root locus plot of the Boomerang longitudinal control autopilot using
elevators to control pitch. The pole and zero locations indicate a very
well-damped response. . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.24 Elevator controller response of the Boomerang-60 UAV to a -6 deg
pitch command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.25 Longitudinal controller for the FPFG algorithm - the reference signal
is selected from either θde or θdewind and passed to a lower-level pitch-
to-elevator controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.26 Longitudinal controller for the MPN algorithm - the reference signal is
chosen from a velocity-to-pitch angle lookup table before being passed
to a lower-level pitch-to-elevator controller. . . . . . . . . . . . . . . 97
4.27 Good tracking of commanded pitch during a simulated forced landing
with constant manoeuvring . . . . . . . . . . . . . . . . . . . . . . . 98
5.1 Screen capture of a simulated forced landing in FlightGear, showing
the planned path (orange), the incident wind vector and the desired
landing site. The generic Cessna skin with an actual model of an
Aerosonde aircraft is used. The model is constructed using the classic
coefficient build-up method (Nelson, 1998) and is available inside the
MATLAB® AeroSim blockset. . . . . . . . . . . . . . . . . . . . . . 102
5.2 Simplified Simulink model of Aerosonde UAV . . . . . . . . . . . . . 103
5.3 Model of simulation world . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4 Wind components (WN : Blue, WE : Green, WD: Red). These com-
ponents were used to compute the resultant wind vector incident on
the UAV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.5 An example of simulated wind turbulence experienced by the aircraft
during a forced landing, with gusting applied in the longitudinal,
lateral and vertical directions. . . . . . . . . . . . . . . . . . . . . . . 105
5.6 Simplified Simulink model of Boomerang UAV . . . . . . . . . . . . 106
6.1 Boomerang-60 avionics architecture . . . . . . . . . . . . . . . . . . . 108
6.2 Clockwise from top: The MicroPilot autopilot box; the flight com-
puter stack and interface plate; location of avionics inside the fuselage.112
xviii
LIST OF FIGURES
6.3 Location of avionics outside the Boomerang UAV . . . . . . . . . . . 113
6.4 PID loop structure of the MicroPilot MP2128g autopilot (Source: Mi-
croPilot Autopilot Installation & Operation, Stony Mountain, Mani-
toba Canada, 2008) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.5 Diagram showing how the Pitch From Airspeed and Roll From Head-
ing PID loops of the MicroPilot autopilot interface with the aircraft
flight control system . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.6 Plot showing the relationship between the desired (black) and actual
(blue) pitch values over one second. The actual pitch values were
obtained using a linear mapping of the airspeed to a pitch value. . . 117
6.7 Aerial view of the Burrandowan test site. The two candidate landing
sites are labeled as Site A and Site B, and have their preferred di-
rection of approach indicated by the blue arrows. Shown also is the
reference point for translating between different coordinate systems,
the approach point and aimpoint for each site, as well as the starting
waypoint for all forced landing descents (Source: Google Earth). . . 119
6.8 Schematic diagram of the procedures followed in conducting the UAV
forced landing flight tests . . . . . . . . . . . . . . . . . . . . . . . . 120
6.9 Screen capture of the Horizonmp simulator program. This simula-
tor allows an operator on the ground to keep track of the aircraft
throughout the flight, as well as issue any telecommands if required. 121
7.1 Forced landing results for a single case, for (A)-Algorithm 1, and
(B)-Algorithm 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7.2 Monte Carlo simulation results — Algorithm 2 produces more land-
ings within the designated landing site and closer to the aim point
(≤ 200m) than Algorithm 1 (≤ 400m) . . . . . . . . . . . . . . . . . 126
7.3 Path planning and following for a forced landing from a high initial
altitude in nil wind conditions . . . . . . . . . . . . . . . . . . . . . . 129
7.4 Path planning and following in ambient winds, showing (a) Aircraft
response in 6 m/s wind from SSW; (b) Aircraft response in 0-9 m/s
changing winds from NNE and SSW; (c) Horizontal and vertical track
errors for case a; and (d) Horizontal and vertical track errors for case b.130
7.5 Input winds for the scenario in Figure 7.4b, showing changes in wind
speed over time, and the errors between the expected (cyan) and
actual (magenta) north and east wind component values. . . . . . . 131
7.6 Wind turbulence for the scenario in Figure 7.4b, showing examples of
gusts and lulls in the longitudinal, lateral and vertical directions. . . 131
xix
LIST OF FIGURES
7.7 Path planning and following for a forced landing from a high initial
altitude in nil wind conditions, with improved path planning and
tracking algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
7.8 Path planning and following in ambient winds using improved plan-
ning and tracking algorithms, showing (a) Aircraft response in 0-9
m/s changing winds from NNE and SSW; and (b) Horizontal and
vertical track errors for case a. . . . . . . . . . . . . . . . . . . . . . 134
7.9 Path replanning and tracking in ambient winds using improved plan-
ning and tracking algorithms, showing (a) Top view of the aircraft
response in 0-9 m/s changing winds from the NNE and SSW; and (b)
An oblique view of the same. . . . . . . . . . . . . . . . . . . . . . . 135
7.10 Path replanning and tracking in nil winds using the HORIZONmp
Simulator, showing (a) Top view of the aircraft response, and (b)
An oblique view of the same. These results are comparable to those
obtained using the MATLAB® Simulink models. . . . . . . . . . . . 136
7.11 Aircraft control response from a simulated forced landing descent in
the HORIZONmp Simulator, showing good tracking of the input com-
mands in (a) Roll and (b) Pitch. . . . . . . . . . . . . . . . . . . . . 136
7.12 Flight activities. Clockwise from top: The Boomerang-60 UAV in
flight; the pilot, who is on standby for takeoff and landing, as well
as any emergencies; the ground operator, who communicates with
the pilot via UHF radio and constantly monitors the progress of the
flight, and finally, the MOC which houses the ground operator and
associated computing and communications equipment. . . . . . . . . 138
7.13 Results from flight test example 1. (a) Top view of flight path; (b)
Oblique view of the same; (c) Roll performance; (d) Pitch performance139
7.14 Results from flight test example 2. (a) Top view of flight path; (b)
Oblique view of the same; (c) Roll performance; (d) Pitch performance141
B.1 Simulink diagram of the Aerosonde UAV model . . . . . . . . . . . . 163
B.2 Simulink diagram of the Boomerang UAV model . . . . . . . . . . . 164
C.1 Helipad target used for obtaining the image homographies. (Source:
CVG Image Repository) . . . . . . . . . . . . . . . . . . . . . . . . . 166
C.2 Rotomotion electric helicopter UAV used for pose estimation flight
experiments. The helicopter is carrying an Xscale-based flight com-
puter, a pan-tilt camera system and a VIA mini-ITX 1.5 GHz on-
board computer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
xx
LIST OF FIGURES
C.3 UAV on-board visual control system employing a dynamic look-and-
move architecture. (Source: CVG Image Repository) . . . . . . . . . 167
C.4 Relationship between the helipad, camera and UAV coordinate sys-
tems (Source: CVG Image Repository) . . . . . . . . . . . . . . . . . 168
C.5 Desired and actual helicopter flightpath while tracking a stationary
target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
C.6 Desired and actual helicopter flightpath while tracking a shifting tar-
get, showing (a) Top view of the aircraft response, and (b) An oblique
view of the same. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
C.7 Desired and actual helicopter flightpath while tracking a moving tar-
get, showing (a) Top view of the aircraft response, and (b) An oblique
view of the same. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
xxi
List of Tables
2.1 Suitability of various PRM planners to different types of regions . . 17
3.1 Standard RHC Waypoint Coordinates . . . . . . . . . . . . . . . . . 50
3.2 Sink rates at different airspeeds for the Boomerang-60 UAV . . . . . 57
4.1 Look-up table relating commanded airspeed to desired pitch angle for
Boomerang UAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.1 Power budget for avionics (The power consumptions are under typical
operating conditions) . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1 Sample test data for the path planning and guidance algorithms. Ta-
ble 7.1a shows the desired initial and final aircraft positions and atti-
tudes for a descent from 1640 ft to 500 ft in nil wind conditions, while
Table 7.1b presents the desired initial and final aircraft positions and
attitudes for a descent from 850 ft to 500 ft in winds. . . . . . . . . . 128
C.1 Initial conditions for autonomous helicopter path planning . . . . . . 170
xxiii
List of Algorithms
3.1 Determining Path Traversability . . . . . . . . . . . . . . . . . . . . . 61
4.1 Determining the Correct Turning Direction . . . . . . . . . . . . . . . 84
xxv
Nomenclature
AGL The altitude Above Ground Level
API Application Programming Interface
ARCAA Australian Research Centre for Aerospace Automation
CASA The Civil Aviation Safety Authority of Australia
CSSS Candidate Site Selection System
EA The Evolutionary Algorithm
ENG The Enhanced Nonlinear Guidance algorithm
ENU The East-North-Up coordinate reference frame
FPFG The Flight Path Following Guidance algorithm
GA General Aviation
GIS Graphical Information System
GPS Global Positioning System
ICPUAS International Cooperative Program for Unmanned Aircraft Systems
INS Inertial Navigation System
LIDAR Light Detection and Ranging
MDMS Multi-Criteria Decision Making System
MOC Mobile Operations Centre
MPC The Model Predictive Control guidance algorithm
MPN The Modified Proportional Navigation algorithm
NAS National Airspace System
NED The North-East-Down coordinate reference frame
PBVS Position-Based Visual Servoing
PID Proportional-Integral-Derivative control
PRM The Probabilistic Roadmap planning algorithm
PWM Pulse Width Modulated
xxvii
NOMENCLATURE
QUT Queensland University of Technology
RC Radio-controlled
RDT The Rapidly exploring Dense Tree planning algorithm
RF Radio Frequency
RRT The Rapidly exploring Random Tree planning algorithm
SDK Software Development Kit
TAS True Airspeed
TCP Transmission Control Protocol
TGGS Trajectory Generation and Guidance System
UAS Unmanned Aircraft System
UAV Unmanned Aerial Vehicle
UDP User Datagram Protocol
UPM Universidad Politecnica de Madrid
xxviii
1Introduction
IN recent years, unmanned aerial vehicles (UAVs) have been widely used in com-
bat, and their potential applications in civil and commercial roles are also receiv-
ing considerable attention by industry and the research community. There are nu-
merous, published reports of UAVs used in earth science missions (Cobleigh, 2006),
fire-fighting (Velinov, 2008) and border security (Wise, 2009; Tyrrell, 2008) trials,
with other speculative deployments including applications in agriculture, communi-
cations and traffic monitoring (Wong, 2001). The use of UAVs, with their unique
flexibility and response time, not only reduces costs compared to existing methods
(such as with manned aircraft or satellites), but also enables information to be ac-
quired in a time frame previously unrealisable (Wegener et al., 2004). In addition,
ongoing advancements in control and communications, manufacturing and propul-
sion technologies mean that UAVs have a very promising future, with a recent Teal
Group study estimating the worldwide UAV market to exceed $USD54 billion by
2017 (Corporation, n.d.).
Yet, despite these seeming advantages, a significant challenge remains - that of in-
tegrating UAVs within the national airspace system (NAS) (see report by DeGarmo
(2004)). Since many of the proposed missions for civilian UAVs will involve flying
over populated areas and in airspace occupied by manned aircraft, UAVs flying in
such areas must be able to interact with these aircraft and air traffic control (ATC),
as well as manage flight plans and handle emergency situations. They must possess
a higher degree of onboard autonomy to replicate certain capabilities of a human
pilot, such as navigation and decision making. In fact, it has been stipulated by the
Federal Aviation Authority (FAA) and other civil aviation regulatory bodies around
the world, including Australia, that UAVs must demonstrate an equivalent level of
safety (ELOS) to that of manned aircraft (DeGarmo, 2004; Fitzgerald, Mejias, Eng,
& Liu, 2007). This is due to the fact that UAV/NAS policy makers are conscious
of the repercussions that a major UAV accident could have on public acceptance of
this technology. This may be arguably the main factor which has prevented these
1
CHAPTER 1. Introduction
UAV trials from becoming full-scale commercial operations, as well as restricted
operations of civilian UAVs to only within segregated airspace. In light of this,
much research is underway in developing technologies to enhance UAV autonomy
and safety, including collision avoidance (Debadeepta, Geyer, Singh, & Digioia, July
14-15, 2009; Geyer, Debadeepta, & Singh, May, 2009; Lai, Mejias, & Ford, 2010),
health monitoring (Bethke, How, & Vian, 2008; Tanwer, Hussain, & Reel, 2010),
mission management (McManus, 2004; Wu, 2009) and more recently, forced landing
systems (Fitzgerald, 2007; Eng, Mejias, Fitzgerald, & Walker, 2007; Eng, Mejias,
Walker, & Fitzgerald, 2010).
A forced landing is an unscheduled event in flight which requires the aircraft to
perform an emergency landing, and is most commonly attributed to engine failure
and adverse weather. There must still be some degree of flight control so that the
aircraft is able to manoeuvre to a desired landing site. During a piloted forced
landing, a complex decision trade-off must be continously made on the airspeed,
angle of attack and descent rate for continued flight. This is further complicated by
the fact that the pilot must locate a suitable landing site within the gliding range
of the aircraft, which is constantly affected by changing wind conditions, and with
limited time to make decisions. On final approach to land, the pilot must also avoid
trees, power lines, buildings and other obstacles in the descent path which may or
may not have been detected from the air. The landing itself is a controlled descent
that, if successful, results in no harm to the pilot, aircraft or persons and property
on the ground (CASA, 2007).
To date, the most commonly employed method to allay the severity of a UAV
forced landing is the use of parachutes or parafoils to retard the rate of descent,
while still providing some degree of controllability for the aircraft (Redelinghuys,
2007). Whilst this concept is attractive in that it still enables limited vehicle con-
trollability even when both the engine and control surfaces have failed, it is highly
susceptible to wind gusts and other atmospheric effects which may adversely affect
the final impact point. Having a parachute or parafoil onboard also adds to the
weight and complexity of the aircraft. Another solution which has seen recent op-
eration at the 2009 UAV Outback Challenge held in Australia requires the UAV to
deflect its control surfaces such that the aircraft will spiral into the ground, follow-
ing an engine or communications failure (Airborne Delivery Challenge and Search
and Rescue Challenge: Mission, Rules and Regulations, Judging and Scoring Cri-
teria, 2009). Although this solution has been proven to successfully terminate the
flight and also contain the crash site within a limited area, it is hardly desirable
for operations over populated areas. Other safety systems currently available allow
the UAV to fly towards a pre-defined safe ditching area selected from a database of
such, known locations (D. R. Nelson, Barber, McLain, & Beard, 2007). To date,
2
the only reported successful UAV forced landing involves the U.S. Air Force Global
Hawk, which performed a gliding descent under remotely-piloted control (RPC) to
an emergency airstrip in 2006 (Froeschner, n.d.).
As the ability to execute a successful forced landing remains the primary in-
dicator for safety in the manned aviation industry, automating this capability for
UAVs will facilitate their integration into, and subsequent routine operations over
civilian airspace. Currently, there is no commercial system available to perform this
task; however, a team at the Australian Research Centre for Aerospace Automation
(ARCAA) is working towards developing such an automated forced landing system.
This system, codenamed Flight Guardian, will operate onboard the aircraft and will
use a natural sensing modality that aims to emulate human pilot performance (Eng
et al., 2007; Fitzgerald et al., 2007; Fitzgerald, 2007). Primarily, this includes the
use of machine vision for navigation and guidance, as well as artificial intelligence for
data assessment and evaluation. More specifically, there are three main components
of an onboard forced landing system which will need to operate seamlessly together
for a successful landing. These include:
1. A Candidate Site Selection System (CSSS) responsible for identifying areas
on the ground that are large enough for the aircraft to land, are free of ob-
stacles and whose surface types can be accurately classified. A commercially
viable approach for small UAVs (similar to those used for flight testing in
this research) is the use of video camera data to enhance a priori graphical
information system (GIS) raster maps. This will produce an accurate map of
the landing area, from which hazards and safe landing locations can be iden-
tified. The benefits of using machine vision, rather than sensing systems such
as those employing radar or light detection and ranging (LIDAR) techniques,
are that cameras are much smaller, lighter, have lower power consumption
and are significantly cheaper. As such, they can be easily integrated with
existing onboard navigation systems such as the global positioning system
(GPS) and the aircraft inertial navigation system (INS). Of course, given a
larger aircraft capable of lifting heavier loads, the use of radar and LIDAR
will need to be considered since these are more accurate sensors that also add
a measure of safety to the costly payloads likely to be housed onboard.
2. A Multi-Criteria Decision Making System (MDMS) that assesses multiple
attributes, such as wind velocity and the geometry of the landing site, to
identify the most suitable landing area, while simultaneously attempting to
satisfy as many of the mission objectives as possible. These objectives are
arranged in order of priority and include minimizing human casualty and
property damage, as well as maximizing both aircraft and payload survival.
3
CHAPTER 1. Introduction
In many cases these objectives may be conflicting, and thus compromises
must be made such that the most critical objective is achieved, and finally,
3. A Trajectory Generation and Guidance System (TGGS) that navigates the
aircraft to land at the chosen site. The inputs to this system are the desired
approach and landing GPS coordinates, as calculated by the MDMS, as well
as the current aircraft position. This system assesses the variable wind con-
ditions which can greatly affect an unpowered aircraft descent, and attempts
to output the most feasible trajectory to the landing site that is within the
limits of the aircraft dynamics. Should the proposed trajectory be unsuit-
able due to various reasons, the system can also output alternate paths in
real-time. Finally, due to uncertainties in a priori information concerning
the operating environment and uncertainties in the aircraft state, this sys-
tem may also need to utilise information from an additional sensor, such as
a video camera or laser scanner to provide more accurate, real-time updates
of the outside aircraft environment and to augment coarse GIS data.
Since current UAVs in operation are heavily reliant on remote monitoring and
control by human pilots, having an onboard system will greatly enhance UAV auton-
omy and reduce the need for human intervention. This in turn decreases operational
cost, operator workload and susceptibility to loss of aircraft due to communications
failure.
1.1 Research Problem
A conceptual UAV forced landing system is depicted in Figure 1.1. Note that the
Secondary System (shown in green in Figure 1.1), to be deployed should the aircraft
become uncontrollable, has been included merely for completeness and will not be
the focus of any of the forced landing research described above at this stage, since
these studies are mainly concerned with the “heart” of the forced landing problem,
that is, the precision landing of a UAV on an identified safe location.
The selection of candidate landing sites and multi-criteria decision making are
currently under investigation by Daniel Fitzgerald, Luis Mejias and Xi Liu at AR-
CAA (Fitzgerald, 2007; Fitzgerald et al., 2007; Mejias, Fitzgerald, Eng, & Liu,
2009), and it is assumed that these algorithms will function as designed for the UAV
forced landing problem. This thesis deals with the problem of generating the de-
scent trajectory for a UAV forced landing, and will address the following key research
questions:
1. Can an automated, reconfigurable flight path be generated that accounts for
4
1.1. RESEARCH PROBLEM
Figure 1.1: The Flight Guardian automated UAV forced landing system architecture
the dynamics of the gliding aircraft during the forced landing descent?
The research will mainly deal with fixed-wing UAVs, as these platforms repre-
sent the most difficult forced landing planning problem (there are more options for
a fixed-wing than a rotary-wing aircraft forced landing). However, this does not
exclude the fact that the research outcomes can also be applied to rotary-wing or
even hybrid aircraft, such as a tiltrotor. The term ”reconfigurable” implies that
the planned trajectory can be adjusted to accommodate unforeseen events, such as
favourable wind conditions at a lower altitude which could facilitate the descent
plan. In addition, the dynamic and structural limitations of the aircraft can be
accommodated by imposing geometric constraints on the planned path. To further
limit the research scope, the descent trajectory will only be generated from the point
of failure to final approach, that is, from an upper altitude limit of 10000 ft above
ground level (AGL) to where the aircraft will be at a nominal altitude of 500 ft
AGL, aligned with the length of the runway/landing site and approximately 0.5 nm
out from the runway/landing site threshold. The 10000 ft limit represents the upper
bound of Class G airspace, which is the highest altitude that general aviation (GA)
and recreational aircraft (and possibly UAVs for the near future) are allowed to fly
in uncontrolled airspace (CASA, 2007). For this research, it is assumed that GPS,
a low quality inertial navigation system (INS), air data and a magnetometer are
available, and that there are feasible landing areas that can be physically attained
by the aircraft. It is also assumed that the terrain is generally flat, although possi-
bly containing natural and man-made obstacles such as trees, fences and powerlines.
The objective is that the proposed trajectory generation method will operate inde-
pendently of human input and will always find a viable solution within realistic wind
change conditions. In addition, the flight trajectories flown by human pilots when
5
CHAPTER 1. Introduction
conducting a forced landing will be analysed to see how they can be incorporated
into a machine-flown trajectory.
Seeing that wind conditions will ultimately have the greatest impact on the
success or failure of a forced landing, regardless of how well-planned the initial
trajectory is, this research will also consider a second question:
3. Can automated guidance algorithms be designed that would enable the gliding
aircraft to intercept the desired path and follow it with acceptable cross-track
errors in winds?
Once an automated path is formed, suitable guidance strategies must be em-
ployed which will allow continuous path following regardless of the ambient wind
conditions. It is assumed that the aircraft primary flight control surfaces (ailerons,
elevators, rudder) are still intact even though the engine has failed, meaning that
the gliding aircraft is still fully controllable. In addition, it is assumed that no ob-
stacles are to be avoided during descent to the approach point, and that the aircraft
is aligned with the longest portion of the selected landing site and facing into the
wind at this point. The desired bearing, airspeed and position of the aircraft at
the approach point (such that the preceding conditions are fulfilled) is determined
beforehand by the MDMS using GIS and other available sensor data, and is passed
as an input into the planning algorithm. Once past the approach point however,
the aircraft may need to deal with obstacles such as those described in Question 1,
however, this problem is beyond the scope of this research. Finally, it is assumed
that wind velocities can be estimated using onboard instruments such as a compass,
a GPS unit and the INS, and that this estimation is accurate enough to create a
robust guidance algorithm. Perhaps a more accurate estimate of the wind conditions
can be obtained by building a statistical model from meteorological data, and aug-
mented by updates from onboard wind estimates and weather forecasts. However,
a thorough investigation into this area is once again outside the research scope, and
it is expected that the robustness of the algorithm to be employed would negate
the need for these alternative methods in most cases. Finally, for test purposes,
the required path following performance will be specified as having a horizontal
(lateral) and vertical (longitudinal) cross-track error at the approach point of no
greater than 10 m (approximately 30 ft), and a maximum vertical and horizontal
deviation of no greater than 30 m (approximately 100 ft) on average. These upper
and lower bounds are commonly accepted as the performance standard for general
aviation aircraft (CASA, 2007).
By addressing the two research questions defined above, this thesis will provide a
significant contribution to the field of UAV forced landing research, as well as supply
6
1.2. RESEARCH METHODOLOGY
a methodological framework model for future research in this area. Figure 1.2 depicts
the various stages of flight in a UAV forced landing, including that investigated in
this research (shown shaded). Note that the Landing Phase, from the approach
point to the aimpoint, is an area of research outside the scope of this thesis.
Figure 1.2: Stages of flight in a UAV forced landing
1.2 Research Methodology
An iterative approach to design and development has been adopted in which an
increased functionality of the proposed solution can be progressively realized. In
this way, feedback from previous stages can be used to refine the methodology for
subsequent iterations, and the proposed solution can be verified at each stage of
development.
1.2.1 Phase 1 - Literature Review
In the first phase, a comprehensive review of existing work in the fields of robotics
path planning and trajectory generation, as well as manned aircraft forced landing
procedures has been conducted and the findings documented in Chapter 2. These
findings direct the development of the forced landing path planning and guidance
algorithms presented in this thesis.
1.2.2 Phase 2 - Forced Landing Simulation Environment
In the second phase, the trajectory generation and guidance algorithms are imple-
mented at a basic level in a computer simulation environment. The MATLAB®
7
CHAPTER 1. Introduction
Simulink programming software has been used to allow rapid development of non-
linear aircraft models, wind conditions and the underlying terrain. The simulation
includes only one landing site and assumes that all wind conditions and terrain
information are known. The aircraft model used is that of an Aerosonde UAV,
which is provided with basic manoeuvring capabilities to track the desired path to
the landing site, using manned aircraft forced landing procedures (Section 2.3). By
studying this model, a more in-depth understanding of the forced landing problem
can be obtained, which in turn aids in the development of new planning and guid-
ance strategies with improved performance. To reduce complexity and to comply
with control functions implemented in most commercial-off-the-self (COTS) hard-
ware, all low-level stabilizing control actions are governed by simple PID control
laws.
1.2.3 Phase 3 - Development of Path Planning and Guidance Al-
gorithms
In the third phase, trajectory generation and guidance techniques derived from the
robotics literature are implemented and tested in simulation, initially without con-
sideration of wind effects. However, once performance is demonstrated with accept-
able results, wind effects are incorporated.
Concurrent with the development of the software algorithms, initial flight testing
with a suitable UAV is also conducted to obtain real-world sensor data, as well
as to test the functionality of hardware and software both onboard and on the
ground. The sensor data provides valuable feedback on the behaviour of the aircraft
system in its operating environment, and is used to refine the trajectory generation
and guidance (including wind estimation) algorithms. The UAV platform chosen
for these experiments is an almost-ready-to-fly Boomerang 60 size model aircraft.
This UAV is controlled by a MicroPilot MP2128g flight control computer, which is
capable of guiding the aircraft autonomously between waypoints using GPS and an
INS suite while ensuring stability. The ground component comprises COTS software
that allows both telemetry and telecommand operations.
Once the trajectory generation and guidance algorithms have been developed and
refined to a high level of integrity in MATLAB®, using a model of the Boomerang
aircraft, they are converted into the C programming language and implemented on
embedded computers located onboard the aircraft. These computers are used to
provide higher level commands to the UAV in flight, as well as to store data for
post-flight analysis. They also interact with the Micropilot autopilot which oversees
the lower-level aircraft stabilising controls. In this way, the flight tests provide better
understanding of how the software algorithms perform in a real-world scenario, and
8
1.3. CONTRIBUTIONS OF THE RESEARCH
are used to further refine the algorithms.
1.2.4 Phase 4 - Testing and Verification
Once all software algorithms have been tested to a sufficiently high level of confidence
in Phase 3, all hardware associated with these algorithms are transferred onboard
the UAV for final flight testing. A modified Boomerang 60 UAV with a larger cargo
bay and carrying the MicroPilot MP2128 Heli flight control computer is used. This is
similar to the MP2128g but with greater processing power and more storage capacity.
However, the UAV is still required to transmit each intended course of action, and
any relevant sensor data to an operator on the ground so that he/she will be able
to override the machine decision and fly the aircraft should it be necessary to do so.
This is an added safety feature which may be required for public acceptance of the
technology and for certification purposes.
Throughout the research process, significant results have also been published
in selected peer-reviewed conference, journal and book articles. This ensures that
the quality of research is maintained at a high standard, and stimulates valuable
collaboration with industry and academia.
1.3 Contributions of the Research
The contributions of the research carried out as part of this thesis are divided into
two categories: Primary and secondary. These contributions are highlighted below.
1.3.1 Primary Contributions
The primary contributions of this thesis is in the design of path planning and guid-
ance strategies for an autonomous aircraft landing during an emergency caused by
engine failure. Specifically, these contributions are:
• Algorithms 1 and 2 — Two algorithms that utilize piloted forced landing
techniques to plan a path from the point of failure to the landing site;
• The 3-D Dubins Curves — A path planner that caters for the dynamics of
powerless flight using simple geometric shapes;
• The Enhanced Nonlinear Guidance (ENG) algorithm — A lateral guidance
algorithm that accounts for wind and sideslips in the guidance logic;
• The Flight Path Following Guidance (FPFG) algorithm — A vertical guidance
algorithm that seeks to optimise the airspeed for gliding flight in winds, rising
or sinking air;
9
CHAPTER 1. Introduction
• The Modified Proportional Navigation (MPN) algorithm — A robust vertical
guidance algorithm that calculates the required pitch to fly, and is also easily
adaptable to any aircraft type, and;
• A novel method for ensuring smooth transition between waypoints in the
generated path.
Each of these contributions is described in further detail below.
Firstly, in designing a path planner that adapts techniques from manned aircraft
forced landing procedures, two algorithms were trialled. Algorithm 1 uses a library
of preplanned routes and allows the UAV to select a route at run-time based on a
fixed glide range and the ambient wind conditions, while Algorithm 2 uses a series
of waypoints that can be adjusted in flight to cater for changing glide slopes due
to winds. A comparison of both algorithms in over 200 simulated forced landings
found that using Algorithm 2, twice as many landings were within the designated
area, with an average lateral miss distance of 200 m at the aimpoint. Although these
results are not exemplary, they do present a baseline for further refinements to the
planning algorithms.
Secondly, in designing the 3-D Dubins Curves path planning algorithm, the el-
ementary concepts underlying 2-D Dubins paths (commonly used in robotics path
planning) was extended to cater for the dynamics of powerless flight in the 3-D do-
main. This has also resulted in the development of new methods in testing for path
traversability, in losing excess altitude, and in the actual path formation to ensure
aircraft stability. Simulations using this algorithm have demonstrated lateral and
vertical miss distances of under 20 m at the approach point, in wind speeds of up
to 9 m/s. This is greater than a tenfold improvement on Algorithm 2, and emulates
the performance of manned, powered aircraft.
Thirdly, in designing the ENG algorithm, an enhancement to the lateral guidance
algorithm originally developed by Park et al. (2007) was made to include wind infor-
mation in the guidance logic, rather than treating wind as an adaptive element for
the control system. A simple assumption was also made that reduces the complexity
of the algorithm in following a circular path, yet without sacrificing performance.
Finally, a specific method of supplying the correct turning direction is also used.
Simulations have shown that the ENG algorithm performs much better in changing
winds, with cross-track errors at the approach point of less than 2 m, compared to
over 10 m using Park’s algorithm.
Next, in designing the FPFG algorithm, the error of the flightpath angle and
the MacCready theory were used to determine the optimal speed to fly in winds.
This algorithm uses PID gain schedules to finely tune the tracking accuracies, and
10
1.4. PUBLICATIONS
vertical miss distances of under 2 m in changing winds have been demonstrated in
simulations.
Following this, in designing the MPN algorithm, principles from proportional
navigation and the ENG algorithm, as well as certain techniques specific to this al-
gorithm, were used to calculate the required pitch to fly. The MPN algorithm is more
robust than the FPFG algorithm, in that it does not require the tuning of multiple
gain schedules, and is adaptable to any aircraft type with minimal changes. Track-
ing accuracies obtained with this algorithm are also comparable to those obtained
using the FPFG algorithm.
Finally, for the ENG, FPFG and MPN algorithms, a novel method utilising the
geometric and time relationship between aircraft and path was employed to ensure
that the former is still able to track the desired path to completion in strong winds,
while remaining stabilised.
1.3.2 Derived Contribution
A derived contribution is made in modifying the 3-D Dubins Curves algorithm de-
signed in this research to suit the flight dynamics of a helicopter. This modification
allows an autonomous helicopter to track both a stationary and moving target in
flight, and further details are provided in Appendix C. The decision to extend the
planning algorithm to helicopters was made after validating the algorithm for fixed-
wing aircraft, with the results suggesting that the algorithm is also robust enough
to function on different flight platforms.
1.4 Publications
A number of refereed publications were produced during the course of this research
program and these are listed below. The contents of these publications are included
in Chapters 3 to 7.
Book Chapter
Mejias, L., Fitzgerald, D., Eng, P. and Liu, X. (2009). Forced Landing Technologies
for Unmanned Aerial Vehicles: Towards Safer Operations. In M. L. Thanh (Ed.),
Aerial Vehicles (p. 415-440). In-Tech Education and Publishing, Kirchengasse,
Austria.
Conference Papers
Eng, P., Mejias, L., Fitzgerald, D. and Walker, R. (2007, December). Simulation
of a fixed-wing UAV forced landing with dynamic path planning. In Australasian
11
CHAPTER 1. Introduction
Conference on Robotics and Automation. Brisbane, Australia.
Fitzgerald, D., Mejias, L., Eng, P. and Liu, X. (2007, December). Towards flight
trials for an autonomous UAV emergency landing using machine vision. In Aus-
tralasian Conference on Robotics and Automation. Brisbane, Australia.
Journal Papers
Eng, P., Mejias, L., Walker, R. and Fitzgerald, D. (2010). Guided Chaos - Path
Planning and Control for a UAV Forced Landing. IEEE Robotics and Automation
Magazine, 17 (2), 90-98.
Eng, P., Mejias, L., Liu, X. and Walker, R. (2010) Automating human thought
processes for a UAV forced landing. Journal of Intelligent and Robotic Systems, 57,
329-349.
1.5 Thesis Outline
This thesis is structured as follows. Chapter 2 presents a review of robotics path
planning, trajectory generation and aircraft guidance techniques in the literature,
and aims to identify algorithms suitable to this research. For global, more gen-
eralised planning, four topics are covered. These include Probabilistic Roadmaps
(PRM), Rapidly exploring Dense/Random Trees (RDT/RRT), cell decomposition
and the Evolutionary Algorithm (EA). For local, more specific planning, topics cov-
ered include heuristic-based search algorithms, trajectory generation utilising po-
tential fields, finite horizon planning and manoeuvre generation techniques, as well
as how wind is accounted for in the planning process. Following this, aircraft guid-
ance techniques using receding waypoints, cross and along-track velocities, vector
fields and the geometric relationship between vehicle and path is discussed. Finally,
the manned aircraft forced landing procedure is presented. This is a combination
of path planning, trajectory generation and guidance methodologies, and contains
many concepts applicable to this research.
Chapter 3 presents two classes of planning algorithms investigated in this re-
search. The first class of algorithms are based on piloted forced landing procedures,
and include two similar, albeit different techniques that utilise the aircraft glide
range to form the descent path. These algorithms are aptly named Algorithm 1
and Algorithm 2. The second class of algorithms extend Dubins curves to 3-D, and
incorporates the dynamic constraints of a gliding aircraft in the planning process.
This class of algorithms is named the 3-D Dubins Curves.
Chapter 4 details the design of two sets of guidance and control techniques tri-
alled in this research. The first set of guidance algorithms combines the great-circle
12
1.5. THESIS OUTLINE
navigation and wind correction methods employed by pilots with a simple lateral
path tracker. The system then uses a series of Proportional-Integral-Derivative
(PID) controllers to control the airspeed and roll angle. In the second set of al-
gorithms, a lateral guidance and control algorithm and two longitudinal guidance
and control algorithms are presented. These are namely the ENG, FPFG and MPN
algorithms, and utilize line-of-sight guidance principles as well as PID controllers to
stabilize the aircraft.
Chapter 5 describes the design of the MATLAB® simulation environment used
to test the path planning, guidance and control algorithms. The design uses the
AeroSim software plug-in, which enables rapid construction of aircraft models as
well as the modelling of sensor errors, winds and atmospheric effects.
In Chapter 6, the software and hardware setup for flight experiments is described,
as well as the test procedure to be followed in conducting the flight trials.
Chapter 7 presents first the results of the MATLAB® simulations, where the
performances of the different path planning, guidance and control algorithms in-
vestigated in this research are compared and analysed. Next, results from actual
flight experiments are presented, and these results are then compared against the
simulated results.
Finally, Chapter 8 draws conclusions and presents limitations and recommen-
dations for further research. Appendix A contains the state-space models for the
guidance and control algorithms described in Chapter 4, Appendix B contains the
full MATLAB® aircraft models used for simulation, and Appendix C describes the
work that was carried out at UPM, Spain as part of the ICPUAS Project, in which
the 3-D Dubins planning algorithm used in this research was demonstrated to be
applicable also to rotary-wing aircraft tasked with target tracking and pursuit.
13
2Related Work
THIS chapter will first present an overview of existing methods for robotics
path planning and trajectory generation in the literature, and will identify
algorithms and methodologies that are suitable to this research. Following this,
techniques used by human pilots to steer an unpowered aircraft to a chosen site
during a forced landing will be presented, and the knowledge gained from examining
these differing disciplines are reflected in the development of the proposed TGGS
system.
2.1 Path Planning Techniques
Path planning is a term widely used in robotics and commonly involves the construc-
tion of a path that avoids obstacles, or incurs the minimal cost from a start state
to a goal state (LaValle, 2006). A planning algorithm is complete if it will always
find a path in finite time when one exists, or will alert the user in finite time if no
path exists. The path planning algorithms presented in this review were originally
developed for ground (mobile) robots and robotic manipulators, but many have also
been modified for unmanned aircraft applications.
In the robotics literature, path planning has been classified by Barraquand, Lan-
glois, and Latombe (1992) as either global or local. Global planning first constructs
a roadmap or graph that represents the connectivity of the free space; a search is
then performed on this roadmap to find the best path that links the start and goal
states. Examples of global path planning methods include roadmap based tech-
niques and cell decomposition techniques. On the other hand, local planning does
not create a roadmap but instead searches the world space directly by overlaying
a search grid over the entire world space. This type of planning is also concerned
with constructing a feasible path between waypoints provided by the global path
planning system, described in the literature as trajectory or manoeuvre generation.
Potential field methods are a form of local search. It is important to note that
15
CHAPTER 2. Related Work
although both global and local planners carry out their searches within a graph,
the graph in a global planner contains only traversable nodes whereas some of the
nodes in the local planner’s graph may be non-traversable. A common approach is
to combine an approximate global planner which ignores the constraints of vehicle
dynamics, with an accurate local planner (Ferguson & Stentz, 2006). For the UAV
forced landing problem, it is desirable that the path planner will produce a solution
within a real-time deadline; even if the solution is suboptimal. If the path planner
cannot fulfill this requirement, it should generate a partially complete solution so
that the trajectory generation layer can still construct a smooth trajectory to guide
the UAV.
2.1.1 Global Path Planning Techniques
In this section, commonly used global path planning methods in the robotics com-
munity are presented, namely: Graph search and evolutionary search algorithms.
These methods can be either directly applied to or modified to suit the forced land-
ing descent path planning problem.
2.1.1.1 Graph Search Algorithms
A widely used path planning algorithm that uses the graph search method is the
Probabilistic Roadmap (PRM). Developed by Kavraki, Svestka, Latombe, and Over-
mars (1996), this algorithm is a two-phase method for solving the robot motion
planning problem in static workspaces. In the preprocessing phase, a roadmap con-
sisting of a collection of configurations (nodes) randomly sampled across the free
configuration space (C-space) is constructed. In the query phase, the roadmap is
consulted to find a sequence of collision-free robot configurations which interpolate
the path from a start to a goal robot configuration. Querying is often conducted by
employing heuristic-based local path planners such as Dijkstra’s algorithm. While
building the roadmap, the PRM planner heuristically identifies difficult regions in
the free C-space and generates additional configurations in those regions to increase
the connectivity of the roadmap graph. Hence, the final distribution of configu-
rations is not uniform across the free C-space, but is denser in regions considered
difficult by the heuristic function. This helps to overcome the problem of navigating
through a cluttered workspace, for example. PRM planners are also probabilisti-
cally complete; meaning that as the number of samples of the configuration space
approaches infinity, the probability of finding a path through the space (if one exists)
approaches one.
Since its inception in the early 90’s, many promising variants of PRM have
been proposed, each with their own strengths and weaknesses. Dale and Amato
16
2.1. PATH PLANNING TECHNIQUES
(2001) proposed a meta-planner that combines several PRM planners to create a
roadmap. This method works by first decomposing the workspace into different
types of regions, and then assigning a suitable PRM planner to generate nodes
and add them to the roadmap (see Table 2.1). The process terminates when it is
evident that the entire workspace has been mapped satisfactorily or when no more
progress is made, or when computation time expires. To help reduce the tendency
to over-sample the workspace and hence decrease the computation time required to
construct and analyse the roadmap, filtering is used to limit the number of robot
configurations generated and to delete redundant nodes and edges in the roadmap.
However, since a situation requiring a forced landing can occur at any time during a
flight, using a meta-planner may not be suitable to the UAV forced landing problem.
This is because the computation time required to iteratively construct and analyse
the roadmap may exceed the limited time available for planning and executing the
descent to a selected landing area.
Table 2.1: Suitability of various PRM planners to different types of regions
In work done at the Linkoping University in Sweden, Pettersson and Doherty
(2006) used a modified PRM technique to enable a helicopter UAV to navigate be-
tween several building structures and take photographs of each of the buildings’
faade. A very accurate three-dimensional (3-D) polygonal model of the test location
was supplied to the onboard geographical information system (GIS), and was used
by the PRM planner to generate random helicopter configurations offline. These
configurations were then checked for collisions with obstacles in the model using the
oriented bounding box-tree algorithm. The Oriented Bounding Box Tree (OBBT)
algorithm constructs a tree of bounding boxes around the obstacles in the environ-
ment by including all polygons in the root-box and then recursively dividing the
polygons into smaller and smaller boxes (Pettersson & Doherty, 2006). The orien-
tations of the bounding boxes are determined by conducting a principal component
17
CHAPTER 2. Related Work
analysis on the vertices. Following the preprocessing stage, an A* search was used
during flight to connect collision-free configurations and generate a multi-segmented
helicopter trajectory. The resulting straight lines were then smoothed, where pos-
sible, using cubic spline curves more suited to high speed flight (Cao, Dodds, &
Irwin, 1997). This research also employed a delayed handling of constraints, such
as maximum and minimum altitudes, no-fly zones and limits on ascent and descent
rates, to the query phase at runtime rather than at the prepossessing stage. This
procedure was found to be greatly beneficial to UAV missions in the field, and is
depicted in Figure 2.1.
Figure 2.1: Schematic diagram showing how a flight trajectory is generated using Petterssonand Doherty’s method
Although Pettersson and Doherty’s method has been proven to work well in
actual practice, it nevertheless requires a very accurate model of the UAV operating
environment to be constructed. Should this information be not readily available,
the UAV will need to rely on other sensors, such as machine vision to prevent
collisions. Since the UAV descent considered in this thesis occurs in airspace that
is relatively free of obstacles, using a PRM planner may not be necessary, however,
using spline curves to smooth the flightpath as well as allocating the handling of
certain constraints to the online phase are worthy of further investigation.
Another path planning algorithm that uses the graph search method is the
Rapidly exploring Dense Tree (RDT). Assuming that a dense sequence of sam-
18
2.1. PATH PLANNING TECHNIQUES
ples is available in C-space, RDT begins with a single seed configuration. The
algorithm then iteratively chooses a new configuration that is the shortest distance
away from the current seed and connects them together (branching), thus forming
tree-like structures. RDTs that use random means of selecting new configurations
are known as Rapidly exploring Random Trees (RRT). As with other incremental
sampling and search methods, it is necessary to check for collisions when joining
two configurations together, and specific collision checking algorithms are available
(LaValle, 2006). It is also possible to encode aircraft dynamics into the planning
algorithm by changing the geometry of the branches and to incrementally build two
search trees rooted at the start and goal configurations. The trees explore space
around them and also advance towards each other by using a greedy heuristic. An
advantage of RDT/RRT algorithms is that they can converge to a solution within
a given deadline. Another advantage of using RDTs/RRTs is that no preprocessing
of the environment is necessary; however, the resultant plan can include many spu-
rious turns due to the nature in which branches are created (LaValle, 2006; Hrabar,
2006). Additionally, the RDT/RRT algorithms are inherently designed for single-
query problems, whereas a UAV forced landing would be posed as a multiple query
problem to deal with changing landing site locations.
Frazzoli, Dahleh, and Feron (2002) present a two-dimensional (2-D) randomized,
incremental roadmap building algorithm which is able to effectively deal with the
system’s dynamics, in an environment containing both static and dynamic obsta-
cles. This algorithm assumes that an obstacle-free guidance loop is available, which
is able to steer the UAV from any state (including configuration and velocity) to
any desired configuration at rest, assuming that there are no obstacles in the en-
vironment. This guidance loop enables uniform sampling of the workspace while
generating trajectories that are executable by the dynamic system. To find a path
through the obstacles, a generalized RRT algorithm is used, in which all nodes are
tested for expansion during the tree expansion phase instead of just the closest node.
Obstacles are circumnavigated by generating random points around the obstacle and
seeing if the current path can be connected to these points (see Figure 2.2).
If a solution is found ahead of schedule, then the remaining time is used for fur-
ther path optimisation. The linear paths generated by the RRT algorithm are then
replaced with predefined manoeuvres chosen from a library of trajectory primitives,
such that the resultant path is a smooth curve (see Figure 2.3). This is possible as
Frazzoli has proven that any two manoeuvres can be concatenated together given the
existence of a trim primitive (trim flight manoeuvre) of finite length to separate the
two manoeuvres (Frazzoli, Dahleh, & Feron, 2005). Combining trim primitives to
form feasible manoeuvres will be further investigated in the forced landing research.
However, the use of RDT/RRT algorithms may not be suitable for this research, for
19
CHAPTER 2. Related Work
Figure 2.2: Example of Frazzoli’s RRT two-dimensional tree-expansion procedure. Notethat the paths have already been smoothed (Source: Frazzoli, Dahleh, & Feron, 2002)
the reasons given above.
Griffiths et al. (2006) present a system that plans nominal paths for a miniature
aerial vehicle (MAV) through city or mountainous terrain. An RRT algorithm is
used to build a tree of traversable paths through an environment modelled using a
priori data. Branches in the tree are then checked to ensure that they satisfy turn
radius and climb rate constraints and are also collision free. While on course, the
MAV avoids frontal threats via data from a forward-pointing laser, and uses flow
field information from three optic flow cameras to negotiate rough terrain. Since
detected obstacles, or parts thereof, are modelled as cylinders with radii equal to
the minimum turning radius of the vehicle, once an obstacle is detected, the MAV
executes a sequence of maximum roll manoeuvres designed to carry it pass the
threat and intersect its intended course (Figure 2.4). The authors also present an
alternative approach to path tracking, where the focus is to remain on the path
rather than be at a specific point that evolves with time. This is accomplished
through the use of vector fields and groundspeed commands that drive the MAV
back to the desired path (ground track) after a disturbance (such as from wind).
An advantage of using ground speed and course commands, rather than bearing and
airspeed, is that rejection of wind disturbances is greatly improved (D. R. Nelson et
al., 2007), however, the authors also assume that the MAV can instantaneously roll
between positive and negative bank angles to avoid obstacles, which is not true for
20
2.1. PATH PLANNING TECHNIQUES
Figure 2.3: Visual example of Frazzoli’s manoeuvre generation system (Source: Frazzoli,Dahleh, & Feron, 2005)
real aircraft as there is always a transition lag associated with such manoeuvres.
Figure 2.4: Griffith’s collision avoidance manoeuvre (Source: Griffiths et al., 2006)
A hybrid path planner capable of both single-mission path planning in known
environments, as well as path replanning in uncertain and dynamic environments
is presented by Ping, Mingyue, Chengping, and Changwen (2004). Initially, the
planner uses Dijkstra’s algorithm to find a minimum cost path inside a 2-D grid
representation of the battlefield. By using a grid map, sampling the C-space can
be avoided, which in turn reduces the computational complexity. In the roadmap
grid, UAV kinodynamic (kinematic and dynamic) constraints, such as minimum
flying altitude, as well as battlefield threats are represented as cost functions that
penalize the cost of the path to prevent the UAV from traversing an undesirable flight
path. Other kinodynamic constraints such as maximum climbing, diving and turning
angles are incorporated into placement of nodes in the roadmap. The sparse roadmap
produced in the initial phase is then further refined during mission execution by using
a dynamic sparse A* search (DSAS), which maintains a search tree of extended nodes
21
CHAPTER 2. Related Work
in memory so that a new path can be found in real-time when new threats appear
(path replanning). To help accelerate the construction of the DSAS search tree, a
heuristic distance measure is used to eliminate nodes that are too far away from
the currently extended node on the search tree. The technique of combining both a
global and local path planner to sample the robotic world space while addressing the
UAV kinodynamic constraints, is well suited to the UAV forced landing problem.
During a forced landing, replanning is necessary when a more favourable landing
site is detected. In addition, kinodynamic constraints have to be taken into account
to reduce excessive stress on the airframe.
Other global planning methods such as those described by Latombe (1991),
Rippel, Bar-Gill, and Shimkin (2005) and Ferguson and Stentz (2006) first de-
compose the C-space into cells or grids, then construct a path by joining nodes
inside these cells. A search for the optimal path is then made using any num-
ber of local, heuristic-based algorithms such as A* or D*. The kinodynamic con-
straints of the aircraft are subsequently addressed by using any number of different
path smoothing techniques, such as splines, judicious placement of nodes and mul-
tiple linear-interpolation. While these algorithms are well-suited to planning within
an obstacle-filled environment, they will overcomplicate the forced landing descent
problem addressed in this thesis (see Section 1.1) and hence will not be considered
further.
Inevitably, there is a need to deal with uncertainty in any type of UAV path
planning. Uncertainty in the current state (internal and external) of the aircraft can
stem from numerous sources. Saffiotti (1997) describes four sources of uncertainty:
1. A priori knowledge of the world is incomplete;
2. Sensor data is unreliable and uncertain;
3. There are moving obstacles, and;
4. Control actions do not necessarily produce the desired state transition.
Gonzalez and Stentz (2005, 2007) present a path planner for autonomous ground
vehicles (AGVs) that calculates optimal paths while considering uncertainty in po-
sition, and uses landmarks obtained from a priori map data to localize the vehicle
as part of the planning process. Uncertainty in vehicle position is combined with
the error in map registration to give a total uncertainty in the position of the robot,
and this uncertainty is shown to be appropriately modelled as a Gaussian distribu-
tion. Cost values are assigned to grid maps overlaid onto aerial photographs, and
landmarks (electric poles) are combined with the estimated vehicle position such
that they are uniquely identifiable within the detection range of the robot’s laser
sensor. These landmarks are used to help localize the robot. A modified version
of the A* algorithm in 3-D is then used to plan the optimal path while ensuring
that the uncertainty in the robot’s position does not compromise its safety or the
22
2.1. PATH PLANNING TECHNIQUES
reachability of the goal. For the UAV forced landing problem, uncertainties in the
UAV position, winds and sensor data will need to be modelled and simulated to
determine their effects on the performances of the planning, guidance and control
algorithms. The method described above to model uncertainties can be analysed
further to determine its suitability to the forced landing problem.
2.1.1.2 Evolutionary Algorithms
An Evolutionary Algorithm (EA) is a biologically inspired path planner that at-
tempts to mimic genetic systems. This algorithm firstly specifies an initial popula-
tion of potential vehicle paths, which is then subjected to a series of evolutionary
processes that include mutation and propagation operations. A cost function is then
used to score the fitness of all members of the larger population and, based on those
scores, the population is culled to its initial size. The difference is that now the
new population will contain more paths that measure well against goodness objec-
tives such as vehicle goals and constraints (Rathbun, Kragelund, Pongpunwattana,
& Capozzi, 2002). A diagram showing the EA process is given in Figure 2.5.
Figure 2.5: Overview of evolutionary search algorithms
Rathbun et al. (2002) employed an EA path planner to help solve the problem
of navigating a UAV through static and dynamic obstacles, to a goal location. After
planning the most probabilistically successful path (made up of a series of arcs and
straight lines) the UAV moves along the path a finite distance before replanning
occurs again. During replanning, the estimates of the obstacle and UAV position
and velocity are updated. A circle representing the uncertainty of each obstacle’s
position continues to grow until their positions and velocities have been updated.
The centre of the circle is derived from the current location and velocity of the
23
CHAPTER 2. Related Work
obstacle with random noise added to simulate estimation error. The population
is then repeatedly subjected to a series of mutation operations which attempt to
connect paths that satisfy the given kinodynamic, fuel and collision constraints.
The iterative process terminates when a feasible path is found, or when a time
limit has been exceeded. This algorithm has been demonstrated to work well in
simulation, in which a UAV was able to successfully avoid two other UAVs crossing
its flight path and also navigate to a goal location.
Nikolos, Valavanis, Tsourveloudis, and Kostaras (2003) extended the use of EA
techniques to develop an offline/online path planner capable of negotiating moun-
tainous terrain. Given a known 3-D mountainous environment, the offline planner
generates a single, continuous 3-D B-Spline curve (Ozaki, Lin, & Shimogawa, 1999)
which connects the start and goal points while avoiding known obstacles. The use
of B-Spline curves allowed the vehicle dynamic constraints, as well as other enforced
constraints such as maximum flight altitude to be addressed. During mission execu-
tion, the online planner uses acquired information from onboard radar to update the
offline plan, generating a series of smoothly connected B-spline curves to the goal
position. A potential field is also used to drive the path line to bypass obstacles lying
between the UAV and its final destination, and an additional EA-based procedure
is introduced to force the UAV to bypass concave obstacles and avoid local optima.
The advantages of EA algorithms lie in their high robustness compared to other
directed search methods, and their ease of implementation in optimization problems
with a relatively high number of constraints, including geometric avoidance, time-
based dynamics and vehicle performance limitations. Another desirable feature is
that EA algorithms improve over an internal state, which allows the conditions at the
end of one planning cycle to more easily be used to initialize the next cycle. However,
the use of EA-based planners has its limitations. Due to the probabilistic nature of
genetic algorithms, a feasible solution will be found if enough initial path segments
are chosen, however, increasing the number of path segments results invariably in
longer processing time. In addition, it is difficult to accurately predict the time
required to converge to an acceptable solution, or if a solution does indeed exist.
Finally, due to the inherent stochastic nature of EA planners, no two solutions
formulated by such a planner can be guaranteed to be the same, even though the
operating environment remains unchanged. This can present a significant problem
to aerospace certification processes. Hence, EA path planners are not suitable for
this research.
24
2.1. PATH PLANNING TECHNIQUES
2.1.2 Local Path Planning Techniques
As alluded to earlier, in many planning scenarios it is highly desirable to have both
a global and local planner working in concert, in order to capitalize on the inherent
advantages that each present. The local planners considered as part of this review
include both heuristic-based searching and trajectory generation techniques, as well
as how wind effects are incorporated into the planning process.
2.1.2.1 Heuristic-based Path Planning
A common approach for robotics path planning consists of representing the envi-
ronment (configuration space or world space) of the robot as a graph G = (S,E),
where S is the set of possible robot locations and E is a set of edges that represent
transitions between these locations. Assuming that this graph has been previously
constructed using a suitable global planner such as those presented in Section 2.1.1,
the cost of each edge is then the cost of transitioning between the two endpoint
locations and planning a path for navigation can be cast as a search problem on this
graph (Ferguson & Stentz, 2006). A number of heuristic-based search algorithms
have been developed for this task, and the more commonly used algorithms include
Dijkstra’s algorithm, A*, D* and D* Lite (Hart, Nilsson, & Rafael, 1968; Stentz,
1994; Koenig & Likhachev, 2002). However, these algorithms presuppose that the
C-space is divided into regions or cells with linear paths connecting any number of
nodes and, as mentioned earlier in Section 2.1.1, such division of the C-space result
in unnecessary complication of the UAV descent planning problem. In addition,
these algorithms devote much of their energy to computing the optimal path (be
it in terms of cost, time, reachability or other constraints) as well as in repairing
previously generated solutions.
For a UAV forced landing, computing the optimal path may be infeasible due
to the sheer number of states required to be processed to obtain such a path. In
this situation, one must be satisfied with the best solution that can be generated in
the time available. It may also be more efficient to replan afresh rather than try to
repair suboptimal paths, due to the ever decreasing time available for planning and
manoeuvring as the aircraft nears the ground. Hence, in light of this, heuristic-based
local planning algorithms are not considered further in this research.
2.1.2.2 Trajectory Generation Techniques
Trajectory generation is a part of the local path planning process, and is primarily
concerned with constructing a traversable path between two or more waypoints, such
as those connected by a local graph search technique. One early implementation of
trajectory generation techniques uses the principles of potential fields.
25
CHAPTER 2. Related Work
A potential field algorithm models the world by a field function, where obsta-
cles act as repulsive poles while the goal acts as an attractive pole. To plan a
path through the world, the algorithm follows the steepest slope of the field func-
tion towards the goal. A representative example of this method is in the work of
Barraquand et al. (1992). Here the workspace is divided into cells and the minimal
length distance d from a cell to each obstacle is calculated using wavefront expansion.
The potential field strength around an obstacle is then a function that varies linearly
with d. The intersection of the potential fields (wavefronts) around each obstacle
forms a skeleton path along which the robot navigates (Figure 2.6). Although it has
been assumed that there are no obstacles in the UAV forced landing descent path,
the concept of potential fields can still be applied to the UAV forced landing prob-
lem. For instance, if wind conditions cause the UAV to head initially in the wrong
direction, a potential field can be used to “drive” the UAV back onto the correct
path. Notwithstanding, the greatest weakness of potential field methods is that they
tend to become trapped in local minima. One method used to escape local minima
is to conduct a best first search to “fill up” local minima when one is encountered
(Latombe, 1991). The problem with this approach is that it can become very com-
putationally expensive for high-dimensional problems. Another widely used method
is to execute a random walk when a local minima is encountered (LaValle, 2006;
Latombe, 1991). However, this method is not guaranteed to be complete and also
makes the planner non-deterministic and therefore, care must be taken when using
potential fields in this research.
Figure 2.6: (a) Potential field contour plot (b) Skeleton (Source: Barraquand et al., 1992)
Model Predictive Control (MPC) is a nonlinear control technique that uses a
dynamic model of a plant and a history of its past control moves to optimise its
future states over a finite time period (also referred to as receding horizon control
for this reason) and for a defined cost function (Garcia, Prett, & Morari, 1989).
For generating UAV trajectory, the dynamic model is the UAV and its response to
internal and external forces. The future states of the UAV include all variables used
26
2.1. PATH PLANNING TECHNIQUES
to describe its orientation and location, such as position, velocity and attitude, at
any specified time. The cost function is dependant on a particular constraint, or
combination of constraints to be minimised, which can include constraints due to
distance, timing or control effort. A visual technique used to model the cost function
is a spline curve (piecewise polynomial) defined by a set of control points. The spline
curves used include cubic splines (3rd order polynomial) and Basis Splines (B-Spline)
but are not limited to these. B-splines are commonly chosen as every spline function
of a given degree, smoothness and domain partition can be represented as a linear
combination of B-splines of that same degree and smoothness.
Singh and Fuller (2001) presented a 2-D MPC based method for UAV flight
navigation and control in an urban setting. The algorithm assumes that waypoints
are provided by an offline path planning layer, with potential errors such as map
inaccuracies which must be addressed in the trajectory generation phase. The algo-
rithm assumes further that scene analysis software is available which localizes threat
obstacles as a function of the vehicle’s position. Perturbation analysis was used to
linearize the nonlinear vehicle model about a nominal trajectory and thus formulate
a convex optimization (or quadratic programming) problem. The nominal trajec-
tory is initially generated as a spline containing vehicle coordinates expressed as a
polynomial series. If at anytime the generated trajectory falls outside the convex
feasible space, a new waypoint is positioned in the middle of the feasible set and
the spline based trajectory recomputed using MPC techniques. A nominal control
sequence to track the trajectory is then formulated based on the assumption that the
UAV possesses differentially flat characteristics. In this implementation the planning
horizon for the MPC controller was kept constant, and there was no requirement for
the algorithm to satisfy any real-time deadline since all calculations were conducted
offline. It is important to note that offline processing is only feasible if the UAV
stores highly accurate maps onboard and the environment remains static.
Shim, Hoam, and Sastry (2006) combined MPC-based obstacle avoidance with
online obstacle map building to produce a 3-D navigation system suitable for ex-
ploring partially known or unknown urban environments. A 3-D local map of the
environment is generated using an onboard LADAR scanner. This information is re-
layed to a ground station via a radio communications link. The ground station MPC
algorithm then generates an optimal safe-vehicle path, using a cost function that pe-
nalizes the proximity of the UAV to the nearest vehicle. The adjusted trajectory is
relayed back to the onboard flight management system responsible for UAV attitude
control. Potential fields are also used as part of the overall planning strategy. A
disadvantage of Shim et al.’s system is that since the MPC algorithm is processed on
the ground, the UAV must remain within communications range at all times which
decreases its mission capacity and flexibility. The system may also be subjected to
27
CHAPTER 2. Related Work
signal interference, propagation delays or even complete communications failure if
operated within a “busy” urban environment.
Another class of manoeuvre generation techniques, developed by Frazzoli et al.
(2005) and known as Manoeuvre Automata, uses a finite set of manoeuvres to con-
struct a continuous trajectory though predefined waypoints. The manoeuvres are
generated offline and are classed as either motion primitives or trim primitives. Trim
primitives are manoeuvres of constant velocity and turn rates that satisfy the vehicle
dynamic constraints, while motion primitives can represent any type of manoeuvre
that is feasible within the UAV kinodynamic constraints. Frazzoli has mathemat-
ically proven that two motion primitives can be concatenated together by a trim
primitive of finite length (which can approach a null value if desired) between the
two motion primitives. This provides for an extremely robust trajectory generation
technique where any number of manoeuvres can be concatenated together to form
a smooth trajectory through a predefined set of waypoints.
Still another class of manoeuvre generation techniques, known as Dubins curves
(Dubins, 1957), allows the construction of optimal planar paths to move a vehicle
(such as a car or aircraft flying at constant altitude) from an initial to a goal location
defined in terms of position and heading. Paths are formed using a combination of
curves of maximum curvature (C) and with/without straight lines tangential to the
curves (S), where the optimal solution is shown to be of a bang-bang form. This is a
type of control method where the controller begins operations only when a discrete
threshold value is exceeded. The geometric construction of the solution assumes that
the vehicle can effectively transition between either a CCC or CSC path type using
an external guidance or control algorithm, and does not account for obstacles or cost
functions other than minimum time (see Figure 2.7). Further, as with other classes
of optimal plans, the shortest path does not permit a margin for execution error
as the constraints are kept at their limits (steering is always applied at maximum
lock), and also possesses abrupt curvature discontinuities and direction reversals
that require infinitely fast steering and acceleration to track at finite speeds (Triggs,
2010). However, Dubins curves are still attractive in that they are easily constructed
and do not require expensive computation to calculate the path length. In addition,
by relaxing the steering constraint and allowing the vehicle a small margin of error
when tracing the path, the problems with discontinuities can be overcome.
An interesting application of 2-D Dubins curves to a 3-D motion planning prob-
lem is described by M. Hwangbo and Kanade (2007). Here, the UAV is tasked to
navigate in a complex 3-D air slalom environment with stationary and/or moving
obstacles. Initially, the environment is divided into 3-D grid cells and a coarse A*
search performed to link the start and goal states. As the aircraft traverses the path,
a finer level of motion planning is activated to account for any changes to the en-
28
2.1. PATH PLANNING TECHNIQUES
Figure 2.7: Simple 2-D Dubins curves showing both CSC and CCC type paths. Initial andtarget headings are indicated by ωi and ωt respectively.
vironment, such as obstacles moving into the flight path. This lower-level planning
generates a reachable set of motion primitives (similar to the concept introduced by
Frazzoli et al. (2005) in front of the aircraft and utilises 2-D Dubins curves projected
in both the horizontal and vertical planes to estimate the distance to the goal loca-
tion, thus finding the optimal set of primitives. The use of two Dubins curves helps
to satisfy the yaw angle, turn radius and pitch angle requirements, and allows the
aircraft to execute complex manoeuvres to avoid obstacles.
The use of Dubins curves to form the 3-D path actually traversed by the aircraft
is presented by Ambrosino et al. (2006, 2009). Initially, Dubins’ algorithm is used
to form an optimal path between two waypoints on the xy-plane that satisfies the
aircraft minimum turn radius constraints. The trajectory is then extended to 3-D
space by connecting one of the generated arcs with another positioned at a lower
vertical plane (different altitude), by a line tangential to both arcs. The vertical
separation between the two arcs is chosen to satisfy an aircraft pitch angle require-
ment, and the horizontal offset distance between the two arcs is selected to account
for the desired aircraft heading. A line-of-sight guidance algorithm is then applied
causing the UAV flight path to converge on the desired track to fly. Since the prin-
ciples described here are ideally suited to UAVs flying in clutter-free regions of the
sky, they can be used to model a set of manoeuvres which, when concatenated with
other manoeuvres, form the complete system of forced landing descent manoeuvres
required in this research.
Another method of extending the 2-D Dubins curves to three dimensions is
presented in the work of Chitsaz and LaValle (2007), where the path is characterized
as a four-dimensional system consisting of the aircraft coordinates in 3-D Euclidean
space, and the angle between the z-axis and the longitudinal axis in the x − y
plane. Time-optimality is then obtained by using Pontryagin’s Maximum Principle
(Pontryagin, 1986) to solve a cost function that incorporates the initial and final
constraints of the path. This gives for low and high final altitudes, respectively,
a path consisting of the Dubins curve with unsaturated altitude velocity, and the
29
CHAPTER 2. Related Work
Figure 2.8: 3-D CSC Dubins curves constructed using Hota’s analytical method. Initialand target headings are indicated by the red and black arrows respectively. (Source: Hotaand Ghose, 2010)
Dubins curve followed by a helix with saturated altitude velocity. For medium
final altitudes, the time-optimal trajectory is either a Dubins extremal (not the
shortest) with unsaturated altitude velocity or a Dubins path of certain length with
saturated altitude velocity. Although the authors employ great lengths to prove
time-optimality in the path, this formulation nevertheless requires the saturation of
controls to achieve two extremes, that is, a minimum turning radius and a maximum
altitude velocity. As mentioned earlier, keeping the controls always at their limits
leaves no margin for error, and can be detrimental to a gliding aircraft during a
forced landing.
Finally, Hota and Ghose (2010) proposed a method where the optimal, CSC-
type 3-D Dubins path is constructed by analysing the geometry of the path and
solving for a set of vector equations (Figure 2.8). Due to its simplicity and low
computational requirements (1 sec), this approach can be implemented on fixed-
wing aircraft for real-time path planning. However, the method discussed may
produce an optimal geometrical path that cannot be flown due to constraints on the
flight path angle and stall speed of a real UAV. In such a case, the authors suggest
using their numerical approach to solve for a set of parametric equations. This idea
is unattractive however, as the computation time takes a minimum of 8 hours with
less accuracy. Nonetheless, the concept of using vector equations to solve for an
optimal path is simple and intuitive, and can be applied to this research.
30
2.1. PATH PLANNING TECHNIQUES
Figure 2.9: Examples of clothoid curves or Cornu spirals.
Figure 2.10: Smooth trajectory formed by a symmetrical clothoid arc used to transitionbetween arcs and lines in a Dubins path (Source: Liu et al., 2007)
To address the problem of abrupt curvature discontinuities and direction rever-
sals in Dubins curves, some researchers have used clothoid arcs, or Cornu spirals as
they are otherwise known (Bernoulli, 1967) to smooth the transition between the
Dubins arcs and lines. A clothoid has the characteristic that its curvature increases
linearly with the distance along the spiral, and its curve rate is proportional to its
total length. Some examples of clothoids are shown in Figure 2.9. In practice, how-
ever, since the clothoid does not have a closed-formed solution, symmetrical clothoid
curves described by a triangular curvature and parametric approximations are used.
Figure 2.10 shows such a formulation, where the clothoid arc is circumscribed by
∠ABC and the bisector BG.
Scheuer and Fraichard (1997) propose a suboptimal planning solution for car-like
vehicles that combines line segments, circular arcs of maximum curvature, and/or
clothoid arcs. The paths contain at most eight pieces and are known as Simple
Continuous Curvature (SCC) paths, with the clothoids approximated by parametric
equations using Fresnel integrals (“Fresnel Integrals”, 1972). Scheuer et al. have also
superimposed on the path a motion polygon that traces the surface area swept by the
wheels as they rotate to follow the prescribed path. This gives in effect a collision-free
31
CHAPTER 2. Related Work
metric for the robot path, which is then used to refine the course roadmap generated
by a global PRM planner. The application of the motion polygon is interesting in
that it almost resembles the wing area of an aircraft, implying that the SCC path
generated can be feasibly applied to fixed-wing UAVs.
A trajectory planner using symmetrical clothoid curves is also presented by
C. Liu and Hong (2007), where the clothoids are used to guide a wheeled robot
in a smooth turn as it negotiates the junction of two lines. The planner uses the
turn angle, constant turn acceleration and linear velocity to calculate the location
of the clothoids, such that the robot will have a continuous change in direction of
motion and angular speed. To avoid colliding with objects, a buffer zone is created
around the path, effectively creating a 2-D corridor through which the vehicle moves.
Figure 2.11: Flyable paths and their curvature profiles (Source: Shanmugavel et al., 2009)
In their work for co-operative path planning of multiple UAVs, Shanmugavel
and Zbikowski (2009) define the concept of a flyable path, where clothoid arcs with
ramp curvature profiles are overlaid onto a 2-D Dubins path. The flyable path is
designed using principles of linear algebra and differential geometry, and resembles
that of Scheuer and Fraichard (1997) in providing a smooth curvature transition
between the arcs and the line segment (Figure 2.11). To handle sudden obstacles in
the flight path, the UAV is assumed to fly in a safety disc with a radius less than
the sensor range but greater than the minimum turn radius, which will allow it to
have sufficient manoeuvrability to avoid collisions. The concept of path smoothing
to avoid discontinuities and sharp transitions is important to this research, as it
32
2.1. PATH PLANNING TECHNIQUES
allows the aircraft to remain airborne for longer periods, which may result in better
perception of a landing site by the onboard sensors, as well as more time available
to conduct a safe landing.
A disadvantage of the above methods using clothoids is that steering is always
applied at the maximum allowable rate until the minimum turning radius is reached,
meaning that all turns are still performed as tightly as possible. Wilde (2010)
proposes a method to generate smooth, easily drivable paths using the smallest
values for curvature and sharpness needed to achieve a given heading change over
a given distance. In this formulation, the desired deflection (change of heading),
maximum curvature, and an approximation of the distance travelled is used in the
Fresnel equations to calculate a clothoidal arc requiring minimum steering. This,
in effect, creates the shape of a half-crescent. By then adjusting the size of the
crescents and pairing them, complex paths such as that for a vehicle lane change
manoeuvre can be formed (see Figure 2.12). However, a distinct disadvantage of the
path segments is that they are applicable only to paths where the goal lies ahead of
the current position, and are not general enough for use otherwise.
Figure 2.12: A lane change manoeuvre using paths of minimum curvature and sharpness(Source: Wilde, 2009)
A more recent development in the use of splines for trajectory planning is the
Pythagorean-hodograph (PH) space curve, first studied in extent by Farouki and
Sakkalis (1994). PH curves have a number of advantages over other splines com-
monly used in robotics planning, including: (1) A small integral of curvature; (2) the
curve, its length, curvature and total bending energy being known; (3) the start and
end positions and directions are usable as boundary conditions; and (5) the curve
lengths can be traded off against curvature for different applications (Bruyninckx
& Reynaerts, 1997). These features make PH curves highly attractive for use in
geometric design, motion control, animation and path planning.
Bruyninckx and Reynaerts (1997) proposed a method for motion planning using
33
CHAPTER 2. Related Work
car-like robots, where the PH space curve is approximated using a Bezier quintic
spline. According to the authors, the quintic spline provides an appropriate compro-
mise between smoothness and complexity. Their derivation allows the quintic PH
spline to be solved analytically for a set of given tangent directions at the bound-
aries, and selects the curve with the least bending energy (Figure 2.13). However,
given prescribed boundary curvatures, the solution requires an iterative approach
which is not guaranteed to converge. In addition, trying to satisfy the curvature
constraints can make the path impractically long.
Figure 2.13: Four quintic PH splines solving a planning problem. The most appropriatesolution is the curve with the least bending energy (solid black line). (Source: Bruyninckxand Reynaerts, 1997)
Shah and Aouf (2009a, 2009b) proposed a method using 2-D PH curves for co-
operative path planning and perception of UAVs in a dynamic environment. Similar
to the example above, their method uses quintic splines to achieve the desired pose
between the start and goal locations, with a bound on the maximum curvature. To
ensure safe separation between the UAVs, as well as to avoid a detected object, new
control points are generated to adjust the curvature of the path until it is free of
the obstacle. Although this method may appear to be efficient in replanning the
path, it nonetheless may also excessively increase the path length in order to satisfy
the curvature constraint. Due to the iterative solver used, this in turn lengthens
the computation time and can be detrimental if applied to a UAV forced landing
problem with limited time available for manoeuvres.
Finally, Neto and Campos (2009) extends the use of quintic splines to generate
PH space curves in 3-D environments. In their methodology, quaternion vectors
and an elastic bending energy function are used to resolve a PH space curve that
34
2.1. PATH PLANNING TECHNIQUES
accounts for maximum curvature, maximum torsion and maximum climb/dive angles
achievable by the aircraft, while minimizing the rate of climb/descent (Figure 2.14).
Although this solution may seem feasible for a UAV forced landing, it nevertheless
relies on choosing a set of coefficient gains that would minimize the cost function,
which inevitably also lengthens the path. As noted earlier, lengthening the path
can be detrimental to an unpowered aircraft, with limited available flight time and
landing options. Thus if PH curves were to be used, suboptimal paths would have
to be chosen. These however incur additional penalties in that sharper curvatures,
torques and dive angles are used, which will increase the sink rate and present the
aircraft with even less time to manoeuvre for landing.
Figure 2.14: 3-D Pythagorean-hodograph space curve with bounded climb angle (Source:Neto and Campos, 2009)
2.1.2.3 Dealing with Wind
Once a suitable local planner has been chosen, wind effects on aircraft performance
must be accounted for. Especially in the case of a UAV forced landing, the ad-
vantages of an optimal local planner may become quickly negated by adverse winds
acting along the flightpath, resulting in the gliding aircraft being unable to reach the
selected landing site, or becoming uncontrollable and crashing prematurely. Hence,
strategies must be employed to either account for these effects in the planning pro-
cess, or whilst the aircraft is in flight using appropriate guidance or tracking tech-
niques. Section 2.1.2.3 will examine how wind is accounted for in certain planning
processes, while Section 2.2 will investigate guidance techniques which function well
in wind.
35
CHAPTER 2. Related Work
Rubio and Kragelund (2003) present a system where an EA-based path plan-
ner (Section 2.1.1.2) was applied to a long range UAV flight through variable wind
fields. Realistic weather information was downloaded to the planner via gridded
binary (GRIB) data bases before the actual flight. These consist of horizontal wind
velocity at seven different pressure levels, which the planner uses to construct an
initial flight path. While en route, the planner can interpolate this wind data to
obtain wind estimates at any given location and time, or use updated wind informa-
tion to refine the flight path such that fuel consumption is minimised. Since wind
information is only updated every six hours in GRIBs (See information available at
the Australian Bureau of Meteorology website (Australian Bureau of Meteorology,
2007), this approach may not be suitable for a UAV forced landing. For such a short
flight the UAV must also use instruments for measuring wind at a higher frequency,
and combine this information with an onboard database, if available to determine
the most feasible path to fly in the presence of wind.
McGee and Hedrick (2006) assume that the wind is a known constant which has
been measured previously, and that its time-varying characteristics are bounded.
They then devise a path planner that calculates the shortest time path through a
sequence of waypoints using a turning rate lower than the maximum turning rate of
the vehicle. This allows the aircraft to have additional control authority to deal with
any wind uncertainties. To find a minimum time path between two waypoints in the
presence of a constant wind, the problem is re-expressed as one without wind, where
the second position is treated as a virtual moving target (Figure 2.15a) with velocity
equal to and opposite of the wind velocity. The output of the path planner is then
a ground path that can be followed by the control algorithm (Figure 2.15b). This
algorithm in turn divides the desired trajectory into smaller polynomials trackable by
a spatial sliding surface controller (Mechlih, 1993). The work presented by McGee
and Hedrick is interesting in that wind information is absorbed into the planned
trajectory; however, the algorithm is unable to replan the path should there be
changes in the wind estimate or waypoints. The algorithm is also susceptible to
problems of local minima due to the highly nonlinear cost function used.
Other than obtaining meteorological reports from weather stations, wind can
also be estimated using sensors onboard the aircraft. Campbell (2004) devised a
method where the aircraft inertial navigation system (INS) is used together with
the onboard global positioning system (GPS) to estimate the wind velocity relative
to the aircraft, or the ground, in three dimensions. Both INS and GPS are used
to provide estimations of the acceleration of the aircraft relative to the earth, the
dynamic pressure of air on the aircraft, and the thrust vector of the aircraft relative
to the ground. These constants are then used to determine the velocity of air
relative to the aircraft in 2-D, by solving an over-constrained set of equations that
36
2.1. PATH PLANNING TECHNIQUES
Figure 2.15: Path planning with sliding surface control and virtual target - (a) Formingthe virtual target, (b) Example ground path created through multiple waypoints (Source:McGee & Hedrick, 2006)
combined force equations and a velocity equation (the vertical speed of the air) via a
weighted least squares fit. The weightings could be adjusted to account for vertical
wind speeds that are present near the earth’s surface due to topographical and
thermographic variations, by increasing the influence of the velocity equation. The
weightings could also be reassigned such that the force equations have more bearing,
in cases where the opposite is true. Using Campbell’s method, it was shown that
wind velocity estimates of greater than 10 Hertz (Hz) were possible. However, one
disadvantage of this method is that the wind estimations would be subjected to
large errors incurred over time, if the GPS signals were jammed or unavailable and
the aircraft had to rely solely on the INS.
Berman and Powell (1998) present a statistical model for wind variations that
could help limit the inherent errors associated with using a dead-reckoning naviga-
tion system such as INS. A first order Markov process is used to fit the measured wind
velocities obtained via weather forecasts from the United States National Oceanic
and Atmospheric Administration, Forecast Systems Laboratory (NOAA-FSL). The
wind profile data is collected over approximately one month, and covers a variety
of positions, altitudes and times. It is observed that the root-mean-square values of
the wind velocity differences with respect to a particular travelling time increased
monotonically for only a finite-time period before assuming a steady state, which
suggests a Markov process. Through further experiments, it was shown that the
Markov model matched the actual data very well, and could therefore be used to
interpolate wind information between successive updates.
For the forced landing descent path planning research considered in this paper, it
would be advantageous to combine estimated wind data from onboard sensors with
a predictive model (where available) based on historical, location-specific wind data
37
CHAPTER 2. Related Work
to further increase reliability. The wind modelling system should also be able to
incorporate updated weather information via a ground-to-air communications link.
However, as stated in Section 1.1, constructing such a model based on meteorological
data is outside the scope of this research and hence, only estimated wind data
from onboard INS and GPS sensors will be used. To deal with wind gusts and
uncertainties, the control algorithm should be such that the aircraft will always
have some amount of surplus control power when following a trajectory generated
by the path planner. Finally, it should be noted that although other technologies
exists for measuring wind patterns, such as with LIDAR sensors, the use of these
technologies will not be considered in this thesis as the focus is to implement a
low-cost automated forced landing system.
2.2 Guidance Techniques
As with path planning, numerous techniques for aircraft and robot guidance exist in
the literature, and it is infeasible to provide a thorough review of all these methods
here. However, the techniques presented below are those deemed most suitable to
the UAV forced landing problem at hand, are simple to implement and are ideal for
both path following in winds or nil-wind conditions.
Niculescu (2001) presents a lateral path following controller for an Aerosonde
UAV. Here, the wind is assumed known and wind vectors are incorporated into
the guidance process by using simple, nonlinear differential equations. The cross
and along-track velocities of the aircraft in wind is then used to generate yaw rate
commands that drive the aircraft to asymptotically follow a path. Although this con-
troller has been demonstrated in simulation to perform well in winds, it is nonetheless
limited to linear paths.
Frew et al. (2004) describe a system where vision-based control is used to guide
a small, fixed-wing UAV in following a road. The aircraft roll angle and altitude are
estimated by the onboard inertial sensors and used to calculate the lateral displace-
ment of the aircraft from the road. Then, to enable autonomous road following,
two control strategies are trialled. The first aims the aircraft a specified distance
(dahead) along the road and uses the heading error as feedback to a proportional
control loop (Figure 2.16a). The second functioned as the first but derives the er-
ror signal using the geometric relationship between the desired aircraft position and
velocity (Figure 2.16b).
From flight experiments, it has been demonstrated that using the second control
system, a UAV aircraft can successfully track a straight 2.5 km stretch of road in
crosswinds of up to 5 m/s. This tracking ability can be beneficial to the UAV forced
landing research, and thus the detection and control algorithms presented here will
38
2.2. GUIDANCE TECHNIQUES
Figure 2.16: (a) Strategy 1 - Arctan nonlinear control, (b) Strategy 2 - Velocity ratio control(Source: Frew et al., 2004)
be investigated further to determine their suitability to this problem.
Rathinam, Kim, and Sengupta (2006) extend the previous work such that the
UAV can follow various straight or curved structures. During offline processing, a
cross-section profile showing the mean, variance and boundaries of the structure to
be tracked is generated from a single sample image. This profile is then matched
to the horizontal samples (scan lines) of the target image obtained online using
correlation-based template matching. Finally, a curve-fitting algorithm is applied to
the matched samples to find the equation of the centreline of the structure on the im-
age plane. To control the vehicle to follow the detected structure, the path following
algorithm developed by Frezza, Picci, and Soatto (1998) is applied. This novel algo-
rithm utilizes a connecting contour (polynomial) to join the current location of the
vehicle to a point on the curve, thereby satisfying the geometric and non-holonomic
constraints (Figure 2.17). The fact that the aircraft is modelled as a simple unicycle
without taking into account the vehicle dynamics is a limitation in this particular
research, since it implies that the control system has to correct for large gains that
39
CHAPTER 2. Related Work
make the aircraft overshoot the target. Wind disturbances are also not modelled.
Although for the forced landing investigation the UAV is not required to track a
curved structure over a large distance, the connecting contour control method can
perhaps be applied when the UAV has to make a curved approach to intercept the
planned path, such as in the presence of strong crosswinds.
Figure 2.17: Illustration of the curve to be tracked and the connecting contour (Source:Rathinam et al., 2006)
A more robust lateral controller utilizing vector field commands is presented by
Griffiths et al. (2006) and D. R. Nelson et al. (2007). In their work, the control
algorithm computes the desired groundspeed and course commands (based on the
cross-track error) that allow asymptotic following for both straight and circular
paths. The course commands are obtained from previously calculated vectors that
are directed toward the path to be followed and that represent the desired direction
of flight (Figure 2.18). Although flight tests have confirmed the validity of this
approach, it nonetheless relies on the assumption that both altitude and airspeed
are held constant in the longitudinal plane, and the aircraft is able to constantly
bank at minimum turn radius to achieve the required tracking accuracy. Although
this may be infeasible for a UAV forced landing, the concept of vector fields can
nonetheless be still applied.
Park et al. (2007) present a guidance logic containing an anticipatory element
for the upcoming local, desired flight path is used to guide an UAV along both linear
and circular 2-D paths. The algorithm uses the instantaneous vehicle speed, as well
as both proportional and derivative controls on the cross-track error to enable tight
path following in the presence of winds. What is interesting about this algorithm
is that it extends proportional navigation strategies as used in missile guidance
(Zarchan, 2007) such that the aircraft is always following a moving reference point,
40
2.3. MANNED AIRCRAFT FORCED LANDING PROCEDURES
Figure 2.18: Illustrating the vector field concept for linear and circular path following. Thedesired course of the UAV is specified by the direction of the vector field. (Source: D. R.Nelson et al., 2007)
and the closing speed between the reference point and the vehicle is zero with the
line-of-sight distance fixed. This results in a smooth but rapid convergence on the
path to fly, instead of asymptotically, and is desirable in a UAV forced landing
since any path deviation translates to greater altitude loss and less time airborne.
Nevertheless, the algorithm will still need to be extended to account for 3-D paths
as well as reduce it’s susceptibility to winds.
Finally, a 3-D path following algorithm capable of following both straight lines
and arcs is described by Ambrosino et al. (2009). In this approach, an imaginary
line-of-sight is focused a short distance ahead of the vehicle, and the errors in the
three-dimensional plane are then incorporated into the aircraft kinematic equations
to produce the desired heading and flight path angles. These angles are in turn
multiplied by a gain to reduce the errors proportionally to the distance from the
desired path. Although this algorithm has been shown in simulation to perform well
in winds, it is only feasible for vehicles travelling at a constant speed and constant,
shallow flight path angle. For a UAV forced landing, more aggressive manoeuvring
in both the lateral and longitudinal plane may be required at times to deal with
adverse wind conditions, which would imply using a more robust controller.
2.3 Manned Aircraft Forced Landing Procedures
Manned aircraft forced landing manoeuvres represent some of the more complex
flight manoeuvres practiced by human pilots, and incorporate both path planning
and guidance strategies, as well as visual navigation and subjective judgment. This
section provides an overview of the standardised path planning and guidance tech-
niques employed by human pilots during a forced landing. For further information,
the interested reader is directed to (CASA, 2007; Brandon, n.d.; Robson, Sciberras,
41
CHAPTER 2. Related Work
& Whellum, 2002).
While flying en route at an appropriate cruising altitude, pilots maintain the
habit of continually assessing the wind velocity at the cruising altitude, as well
as the best general areas for possible landing taking the wind and glide distance
into account. To determine the wind velocity, pilots consolidate information from
a variety of sources including weather station forecasts, windsocks, smoke, water
ripples, cloud shadows or even clothing fluttering in a breeze. Ideally, the pilot tries
to locate a candidate landing site that is situated downwind of the aircraft, and
applies a further set of criteria to determine the most feasible site. These criteria
include such features as the size, shape, surface type, slope, surroundings and sun
position at the landing site.
If the engine fails, the first action is to fly the aircraft towards the chosen landing
site at the best glide speed (Vbg), using INS, GPS and/or dead reckoning calculations
for navigation. Once the aircraft is close to the site, as determined intuitively using
vision-based judgments, and is at an altitude of 2500 ft or more above ground level
(AGL), the pilot conducts a spiral descent over that area at the minimum power glide
speed (Vmp). However, the pilot can constantly adjust the pitch and airspeed of the
aircraft to counter headwinds or tailwinds. The final phase of landing involves the
pilot performing a flare manoeuvre to strike the ground with the main undercarriage
first, before rolling and braking.
Since the behaviour of localised wind cannot be predicted ahead of time, a nomi-
nal lift-to-drag ratio of 9:1 is used to calculate an estimate of the aircraft glide range
in nil-wind conditions. This in turn provides a conservative descent path angle of
10 degrees, given by:
θ = tan−1(
1
9
)≈ 6.3◦ ≈ 10◦
�� ��2.1
This glide range can also be considered as the radius of a circle on the Earth’s
surface which contains all attainable landing sites. Once a feasible site is located,
pilots mentally construct a series of waypoints above the chosen site which, when
traversed in succession, will bring the aircraft in a spiralling descent path to alight
on the site (Figure 2.19). To then determine the track to fly in the presence of
wind, pilots use simple trigonometric principles to calculate the heading and airspeed
required to maintain course given a known wind disturbance.
An additional waypoint, called an overshoot point (OS), can be included in the
descent plan on final approach if the aircraft is still too high to make a landing. The
overshoot point is situated in line with the decision height waypoint (see Figure 2.20)
and at an appropriate distance away such that by flying first to this waypoint, the
aircraft can lose excess altitude and be at the desired altitude for making the landing.
42
2.3. MANNED AIRCRAFT FORCED LANDING PROCEDURES
Figure 2.19: The forced landing circuit pattern (Source: Civil Aviation Safety Authority ofAustralia (CASA), 2007)
Figure 2.20 illustrates an approach pattern showing multiple choices in the selection
of a final approach and landing run. The wind is estimated to blow from the north-
west. Path A is the planned approach and landing run from the end base position.
Paths B, C and D are alternate paths which may either delay or bring forward the
turn onto final to cater for height, wind or positioning differences. Paths E and F
show how it is possible to turn onto the landing path before reaching the end base
point, if it is required to do so.
Figure 2.20: Path planning on final approach (Source: Brandon, 2007)
The piloted forced landing path planning and control methods discussed above
are both simple and effective; yet they are heavily reliant on vision and visual-
43
CHAPTER 2. Related Work
based cues as humans depend on these for navigation and guidance. A machine
may not need to fly the same approach pattern to perform a forced landing, but
may utilise low level information from sensors to navigate itself, as well as other
indicators (visual or otherwise) to steer itself to the landing site. However, it is
still worthwhile to consider using a circular approach pattern for a fixed-wing UAV,
since it cannot hover or descend vertically to land like a helicopter. It may also be
feasible to combine the piloted path planning techniques with some of those used in
traditional robotics path planning, such as Dubins curves.
2.4 Summary
This chapter has presented a comprehensive assessment of existing and emerging
works that are pertinent to this research, in the areas of both robotics path planning
and guidance, as well as in piloted aircraft forced landing procedures.
Four classes of global planning methods were reviewed, namely, PRM, RDT/RRT,
cell decomposition and EA. Although PRM techniques are probabilistically com-
plete, they create a tree-like graph structure that can contain many spurious turns
and so undermine aircraft stability. Conversely, while aircraft dynamics can be
encoded into RDT and RRT algorithms, inefficient paths may still result. Cell de-
composition techniques use a coarse model of the environment to form the initial
path, and then refine this path as new information becomes available. However, the
linear paths produced still need to be smoothed for aircraft flight. EA techniques
can be applied to problems with a large number of constraints. However, due to
their stochastic nature, these planners cannot guarantee a solution within a given
time frame, nor the same solution for a fixed operating environment. Hence, cell
decomposition is the global planning method most suitable to this research. For the
UAV forced landing problem, global planning will use the current aircraft position as
well as the positions corresponding to the available landing sites, which may change
as the aircraft nears the ground. Once a start and goal position has been found, a
local planner may be used to construct a feasible trajectory between the two points.
By far the most widely used local planners are those that employ a heuristic-
based search, such as the Dijkstra algorithm, A*, D* and D* Lite. However, use
of these algorithms will unnecessarily complicate this research, as an aircraft forced
landing occurs mostly in free space with insufficient justification for cell partition
and path repairs. There is also limited time for path replanning and optimization
as no engine thrust is available. Notwithstanding, trajectory generation techniques
(a class of local planners) can still be used to generate a feasible flightpath between
the nodes.
Several trajectory generation algorithms have been investigated, including po-
44
2.4. SUMMARY
tential fields, finite horizon planning and manoeuvre generation methods. Potential
field methods are simple to use but are susceptible to local minima. Finite horizon
planning techniques such as MPC are well suited to highly nonlinear systems with
many constraints, but can also place unnecessarily high demands on onboard re-
sources due to the constant replanning involved. Manoeuvre generation techniques
such as Manoeuvre Automata and Dubins curves are extremely robust and allow a
smooth trajectory to be formed in highly demanding environments. Their ease of
implementation and construction, particularly in the case of Dubins curves, makes
them very attractive for use in the forced landing problem. To deal with curvature
discontinuities in Dubins curves, clothoid paths may be used, however, these tech-
niques do not have a closed-form solution and also require steering to be applied at
the maximum allowable rate. PH space curves using quintic splines produce smooth
paths with minimal bending energy and can be applied to this research. However,
attempting to satisfy both curvature and elevation constraints can impractically
elongate the path, as well as lead to longer computation times.
Realistic wind information can be downloaded to the global or local path planner
via GRIB data bases before flight. However, since these databases are only updated
every six hours, the planner must use wind forecasts from weather stations while en
route, and incorporate this information into the planning process. Wind velocity can
be estimated using the onboard aircraft instruments when forecasts are unavailable.
Otherwise, the planner can interpolate wind data in memory for a given location and
time, using a statistical model such as a first order Markov process. One method to
track a given waypoint in winds is to consider that point as having a velocity equal to
and opposite that of the estimated wind velocity. A spatial sliding surface controller
can then be used to track a polynomial curve joining that waypoint to the current
waypoint. To deal with uncertainties, the generated path should not require using
the maximum turning rate of the vehicle, thus providing the aircraft with reserve
control authority. For the UAV forced landing problem, a combination of some or
all of the above methods is necessary to capitalise on the individual advantages, as
well as to offset the disadvantages.
Once both a global and local planner has been selected, a suitable guidance tech-
nique must be applied to steer the aircraft with minimal cross-track errors. Guidance
techniques utilising the geometric relationship between aircraft and path, as well as
a moving reference point in the feedback loop, are most suited to this research as
they provide smooth path convergence while being robust to wind disturbances.
Where the distance between the aircraft and the path to be tracked is large, a con-
necting contour can first be used to guide the aircraft to proximity before engaging
the selected guidance controller. Vector fields can also be used to generate course
commands, and have been shown to work well in practice.
45
CHAPTER 2. Related Work
Finally, the procedures practiced by human pilots to generate a forced landing
descent path and correct for wind can most readily be applied to this research, since
many of the same problems experienced by manned aircraft are also encountered
by UAVs. However, to create a truly robust system, traditional robotics path plan-
ning and trajectory generation techniques should be integrated with human pilot
approaches.
46
3Path Planning for a Fixed-Wing UAV
FOLLOWING an engine failure that requires an immediate landing, a path
must quickly be found that connects the current position of the UAV to a
point above the ground where it is aligned with the longest section of the selected
landing site. Ideally, the constructed path should contain the position, heading and
altitude information necessary for the aircraft to navigate to the desired site. Two
classes of planning algorithms are investigated in this research, and it is desired
to ascertain by repeated simulation the validity of each approach. However, only
the class of algorithms that can demonstrate the best performance will be imple-
mented in actual flight tests (see Chapters 5 to 7 for further details). This chapter
begins with a discussion on the design of planning algorithms that are based on
piloted forced landing procedures. Following this, an algorithm derived from Du-
bins curves is examined, and it is shown how this algorithm can also be applied
to the forced landing scenario. The algorithms are designed and simulated within
the MATLAB® Simulink programming environment, and further details concerning
this development environment is provided in Chapter 5.
3.1 Algorithms based on Piloted Forced Landing Procedures
The algorithms derived from piloted forced landing procedures use the forced land-
ing pattern outlined in (CASA, 2007) to generate the initial target waypoints. In
this configuration, a cone, having the dimensions shown in Figure 3.1A, is defined as
the airspace to which the unpowered aircraft can fly in no wind. To reduce the engi-
neering development time, a generic Aerosonde UAV model built into MATLAB®
Simulink has been used. Using this model, and assuming a GA aircraft lift-to-drag
ratio of 9:1, the glide path angle of 10 degrees is calculated by:
θ = tan−1(
1
9
)≈ 6.3◦ ≈ 10◦
�� ��3.1
The glide range is then the radius of a circle on the Earths surface which contains
47
CHAPTER 3. Path Planning for a Fixed-Wing UAV
all attainable landing sites (Figure 3.1C). With the wind taken into account, the
cone is inverted as shown in Figure 3.1B, and the waypoints for the flight planner
are selected such that they lie within the cone, implying that they can be attained
by the unpowered aircraft. By navigating to these waypoints in succession, the UAV
is then able to land on a selected site.
Figure 3.1: Determination of glide range and waypoints for a forced landing
Two path planning strategies incorporating the piloted forced landing procedure
described above were developed. The first attempts to guide the aircraft along a
predetermined circuit to the landing site as shown in Figure 3.1B. The waypoints
for the circuit were chosen such that they lie within a fixed glide range, and the
UAV then attempts to track towards the waypoints using the great-circle navigation
method, while correcting for the wind to remain on course. The second strategy
attempts to follow the standard landing circuit, however wind information is also
48
3.1. ALGORITHMS BASED ON PILOTED FORCED LANDINGPROCEDURES
continually assessed to determine its effect on the glide range, and the target way-
points are then adjusted accordingly to maximise the aircrafts ability to reach the
aim point. As before, the great-circle navigation and wind correction methods are
used while flying en route. Both path planning strategies assume that the UAV is
trimmed for a best glide speed of 19 m/s, corresponding to a lift-to-drag ratio of 9:1
and a positive pitch attitude of approximately 3 degrees for landing. For an arbitrar-
ily chosen landing site, in this case the Brisbane International Airport main runway,
the waypoint coordinates for a standard right-hand circuit (RHC) pattern are given
in Table 3.1, and their relation to the landing site is depicted in Figure 3.2. In this
figure, several possible flight paths using a combination of these waypoints are also
shown, as indicated by the red, green and blue curves. A similar set of waypoint
coordinates for a left-hand circuit pattern can also be generated. The following two
sections present in detail the functions of Algorithm 1 and Algorithm 2.
Figure 3.2: Standard RHC forced landing pattern
3.1.1 Algorithm 1
In this algorithm, a lift-to-drag ratio of 7:1 is chosen in favour of the GA ratio of
9:1 to cater for any unforeseen strong winds, with a maximum headwind of 30 m/s.
Should the aircraft ever encounter such a headwind, it will be blown off course.
However, changing winds may present an opportunity for the UAV to steer itself
back on course. Of course, if the altitude of the UAV is insufficient to perform such
49
CHAPTER 3. Path Planning for a Fixed-Wing UAV
Waypoint Φ (rads) λ (rads) Alt (ft)
High Key (HK) 0.4782 2.6725 2500Low Key (LK) 0.4783 2.6722 1700End Base (EB) 0.4786 2.6721 1200
Decision Height (DH) 0.4786 2.6723 670Overshoot (OS) 0.4787 2.6724 400Aimpoint (AP) 0.4784 2.6725 13
Table 3.1: Standard RHC Waypoint Coordinates
a manoeuvre, or a sudden, strong headwind is encountered near the ground, the
UAV will be unable to land at the designated landing site. This is an unavoidable
limitation as a constant glide speed has been assumed.
The new ratio of 7:1 is used in calculating the first threshold slant range distance
from the UAV to the aim point. Using the theorem of Pythagoras, the slant range
distance, SR is given by:
SR =√Alt2 + 7.Alt2
�� ��3.2
Where Alt is the initial altitude of the aircraft at the start of a forced landing.
From the calculated SR value, seven other threshold values are created. These
values in turn define a set of four threshold boundaries for the slant range, with
each boundary corresponding to a subset of the set of waypoints similar to those
listed in Table 3.1. The boundaries are: SR; SR to SR-1600′; SR-1600′ to SR-2300′;
SR-2300′ to SR-3000′. These values were chosen based on simulations with the
Aerosonde UAV model, and represent a good approximation of which waypoints a
small to medium-sized UAV can reach, if its initial altitude produces a slant range
distance that lies within these boundaries. The actual slant range from the UAV
to the aim point is then calculated from the great-circle trigonometric equations,
using the initial UAV position and the position of the aim point (see Section 4.1.1).
If this slant range value lies within a particular threshold boundary, then the UAV
will navigate along the flight path described by the set of waypoints corresponding
to that boundary. However, the UAV is not constrained to fly successively to each
waypoint but can, depending on its current altitude above the ground, further define
its flight path using all or several of these waypoints. For instance, once the UAV
is at the end base point, if it is too low to continue to the overshoot waypoint, as
determined by whether the current UAV altitude is within certain threshold limits,
it will head for the aim point. In addition, while en route between the decision
height and overshoot waypoints, the UAV can also lose excess altitude by navigating
back and forth between these points, meaning that the UAV should be at the right
50
3.1. ALGORITHMS BASED ON PILOTED FORCED LANDINGPROCEDURES
altitude for final approach to the landing site. If the first overshoot waypoint is not
enough to lose the required amount of altitude, a second overshoot waypoint can be
included in the flight path (compare this with Table 3.1, in which only one overshoot
waypoint has been considered). This implies that a number of different flight paths
can be generated from the one initial set of waypoints. In addition, the standard
GA forced landing pattern, describing the distances between waypoints as shown in
Figure 3.2 has been slightly reduced for this algorithm, giving the layout presented
in Figure 3.3. This layout was chosen to improve the chances of the UAV being able
to reach the aim point.
Figure 3.3: Modified RHC forced landing pattern
A further measure is built into the path planning algorithm such that if the
UAV is initially much higher (>800 ft) than the high key point, it will execute a
circling descent to lose excess altitude. For this algorithm, only landings without the
aid of flaperons have been considered. Thus, while tracking towards the aim point,
should wind changes near the ground cause the UAV to have more lift such that it
will overshoot the aim point, it is commanded to head for the far threshold of the
landing site which is 400 m away from the aim point. Once at this waypoint, if the
UAV is still in the air, it is commanded to navigate back and forth between the aim
point and the landing site threshold point until it is on the ground. The UAV can
also perform both a right and left-hand circuit pattern. The path planning strategy
described above is summarized in Figure 3.4.
51
CHAPTER 3. Path Planning for a Fixed-Wing UAV
Figure 3.4: State transition diagram for Algorithm 1
3.1.2 Algorithm 2
The second path planning algorithm can be discussed by way of example. Consider
the aircraft located at Point A in Figure 3.5, en route to Point D. For argument,
assume that a headwind is blowing with velocity Vw against the direction of travel.
At time t0 seconds, the aircraft is at altitude h0, and it is desired to know whether the
aircraft can glide to Point D. That is, at time tn seconds, will the aircraft altitude be
greater than or equal to hn? The gradient corresponding to the nominal lift-to-drag
ratio of 9:1 is shown as the dashed, red line (Figure 3.5). This gradient is used to
initialise the path planning algorithm. As the UAV moves through the air however,
it will experience longitudinal phugoid motion (solid, blue line) that varies its glide
slope, meaning that the nominal gradient is no longer valid for calculations. For
simplicity, assume that this oscillatory motion can be linearized for small time epochs
(≤ 10 seconds), as shown by the dashed, green line. Additionally, the period of 10
seconds has been chosen as Algorithm 2 was initially designed using the Aerosonde
52
3.1. ALGORITHMS BASED ON PILOTED FORCED LANDINGPROCEDURES
UAV model, and with the aircraft flying at a Vbg of 19 m/s, this amount of time
allowed for adequate replanning to reach several different waypoints while preventing
the aircraft from turning too often and becoming unstable. Now, in the first epoch,
the gradient from A to B is given by:
m = ∆y/∆x =h0 − h1
Vg(t1 − t0)�� ��3.3
Where Vg is the ground speed of the aircraft, calculated as the sum of the True
Airspeed (TAS) and the component of the wind velocity in the direction of travel:
Vg = TAS + Vw�� ��3.4
If it is further assumed that the gradient is calculated every 10 seconds, using
data collected from the previous 10 seconds, then the altitude after the next 10
seconds can be predicted using the equation of a straight line, expressed in general
form as:
y = mx+ c�� ��3.5a
Alttn+10 =htn−10 − htn
Vg(tn − (tn−10))Vg(tn+10) +Alttn−10
�� ��3.5b
Here, n is an integer of the form 0, 1, 2...n, and Vg(tn+10) gives the quantity ∆x
in Figure 3.5.
Figure 3.5: Altitude prediction for Algorithm 2
Should the predicted altitude at each tn+10 seconds still exceed that of the tar-
geted waypoint, the UAV will continue to track towards this waypoint, otherwise, it
will search for a new waypoint. However, once within a certain threshold distance
(200 m) of the target waypoint, the UAV will start searching for another waypoint.
This is so that it will not become trapped in a local minima. If the target waypoint
53
CHAPTER 3. Path Planning for a Fixed-Wing UAV
is the final waypoint and the UAV is so low over the ground that it cannot reach
the other waypoints, then it will simply circle around this waypoint until it lands.
By continually predicting the UAV altitude as a function of changes in the wind
velocity, a flight path can be described such that it will always contain waypoints
that the UAV can navigate to. Using the experience obtained from testing the first
algorithm, the waypoints for this algorithm are selected from the standard waypoint
locations for a right-hand circuit pattern (see Table 3.1 and Figure 3.2), as it is now
known that the UAV can navigate to these waypoints and still be able to land on
the landing site. A state diagram summarizing this algorithm is depicted in Fig-
ure 3.6. Note that to reduce complexity, waypoints corresponding to a left-hand
circuit pattern were not used.
Figure 3.6: State transition diagram for Algorithm 2
3.2 3-D Dubins Curves
Although the algorithms described in Sections 3.1.1 and 3.1.2 are designed to max-
imize the chances of the aircraft reaching the desired landing site, their complexity
(particularly Algorithm 1) and the fact that they both use fixed distances between
54
3.2. 3-D DUBINS CURVES
waypoints, as well as rely on a fixed airspeed may result in their undoing, although
this will need to be proven through say, simulation. For instance, in the case of Algo-
rithm 1, having the aircraft flying back and forth between two waypoints may result
in the aircraft losing too much altitude before the final turn for the aimpoint. In ad-
dition, in the case of Algorithm 2, instability may result from the aircraft constantly
turning while seeking for a point below the projected glide slope. Hence, in the case
of a forced landing where no engine thrust and limited manoeuvrability is available,
it may be more advantages to employ a reusable algorithm which, given the starting
and goal locations, uses simple geometric shapes to form a path that also accounts
for the aircraft dynamics. From the literature, it has been found that such a path
can best be described by trajectories derived from Dubins curves (Section 2), and
although the 3-D Dubins path planning algorithm developed in this research may
appear to resemble in part that described by Ambrosino et al. (2006) for powered
aircraft, the basic idea presented there has been greatly extended to develop a novel
approach for the gliding descent of a fixed-wing aircraft. For this new series of algo-
rithms also, a model of a Boomerang 60-size UAV has been adopted as it represents
the aircraft to be used for flight tests (refer back to Section 1.2). Note however, the
algorithms disclosed here are not restricted to any specific aircraft type, but can be
applied to both manned and unmanned fixed-wing aircraft of any size and type.
3.2.1 The 2-D Dubins Path
Initially, a 2-D Dubins path is constructed having the form:
{LαRβLγ , RαLβRγ , LαSdLγ , LαSdRγ , RαSdLγ , RαSdRγ}�� ��3.6
in which L and R correspond to left and right turns at a bank angle that does
not exceed the maximum bank angle of the aircraft, S corresponds to flying in a
straight line that is tangential to the arcs of turns, and α, γ ∈ [0, 2π) , β ∈ (π, 2π),
and d ≥ 0. Note that the LαRβLγ and RαLβRγ type paths are merely a special
case of the other four types of paths, where S → 0.
The above-mentioned six plausible path constructs have been proven by Dubins
(1957) to be the optimal (shortest distance) paths when the start and goal locations
are dissimilar, and the arcs are constructed using the minimum turn radius. In the
case of a UAV forced landing however, flying at the minimum turn radius will result
in a greater sink rate, and since no engine thrust is available, this action could also
result in instability if prolonged. Hence, in this research, the bank angles have been
chosen such that they produce shallow glide paths, and the initial and final bank
angles are allowed to vary to increase the number of plausible paths. This gentle
turning action also provides the ideal environment for an onboard camera to detect
55
CHAPTER 3. Path Planning for a Fixed-Wing UAV
feasible landing sites below the aircraft. Secondly, to deal with the known curvature
discontinuities and direction reversals inherent in Dubins curves (see Section 2), it
should be noted that after forming the path, the planner actually supplies the 3-D
waypoints that form the Dubins arcs and lines to lower-level guidance algorithms.
The separation between these points is such that by utilising the geometric rela-
tionship between the aircraft and path, it is possible for a spatial sliding surface
controller to steer the aircraft smoothly onto the path (see Section 4.2). In reality,
this produces the same effect as using clothoid or PH space curves to smooth the
Dubins path.
The radii of the arcs are calculated using the equation:
R0,f =VTAS
2
g tan(φ0,f )
�� ��3.7
where R0,f are the initial and final radii of the arcs of circumference, VTAS
is the true airspeed of the aircraft, g is the gravitational acceleration constant
(9.80665m/s2), and φ0,f are the initial and final bank angles respectively.
To simplify the path planning process, VTAS has been taken to be the best glide
speed, Vbg of the aircraft, which gives the greatest straight line flight distance in
still air from the potential energy of height. Although the path has been designed
with only one airspeed, the actual airspeeds flown when navigating the path are
determined by the specific guidance algorithms employed (Section 4.2). These algo-
rithms use the geometric relationship between the aircraft and path, as well as the
ambient wind conditions, to produce a range of airspeeds for the aircraft to converge
smoothly onto the path. In so doing, any instability that may result in flight when
switching from following arcs to lines and vice versa is also negated.
As shown in Figure 3.7, Vbg can be estimated by first fitting a curve (black)
through the descent rates at various airspeeds (red diamonds), obtained through
simulation. The best glide speed is then found by drawing the blue line from the
origin tangent to the curve, giving Vbg as 18.63 m/s and a nominal lift-to-drag ratio
(L/D) of 24.5. Although this value may seem too optimistic, remember that it was
acquired using simulated sensor data under ideal conditions, with no wind and no
sensor errors.
Later, a series of tests were performed using the Boomerang-60 UAV to calculate
the actual L/D. The aircraft was flown with the throttle set to idle (for safety)
and at different airspeeds to simulate gliding flight, and the corresponding descent
rates were recorded. Table 3.2 lists the average sink rate recorded for each airspeed
selected. The speed polar is then generated by fitting a smooth curve to the data
(Figure 3.8). From the speed polar, Vbg is estimated to be approximately 19.7 m/s,
giving an L/D of 8.81 when the aircraft path angle is −6.5◦.
56
3.2. 3-D DUBINS CURVES
Figure 3.7: Speed polar diagram for a Boomerang-60 UAV using simulated data, showinghow the best glide speed Vbg is obtained.
No. TAS (m/s) Sink Rate (m/s)
1 17.5003 -2.2852 21.5001 -3.22143 23.9483 -4.21834 26.1043 -5.495 26.7189 -6.866 29.1772 -8.59757 31.3232 -9.45
Table 3.2: Sink rates at different airspeeds for the Boomerang-60 UAV
Once the radii are determined, the optimal 2-D path is obtained with a geomet-
rical construction adapted from (Ambrosino et al., 2006). First, two circles with
radii R0 are drawn containing the starting point P0 and a vector pointing along
the aircrafts initial heading ψ0 (Figure 3.9a). The circumferences of the circles are
denoted by Σ0A and Σ0B. Next, the same process is repeated at the goal point Pf
with the final aircraft heading ψf , and circumferences ΣfA and ΣfB. Following this,
tangent lines are constructed that join the circumferences of these circles, such as
depicted in Figure 3.9b for Σ0A and ΣfA. Considering Figure 3.9b, it can readily be
seen that there are four paths connecting P0 to Pf , where a path is formed by the
union of an arc on the circumference Σ0A, a segment K on one of the four tangent
lines, and finally an arc on the circumference ΣfA. However, only one of these paths,
ΓAA is compatible with the initial and final headings of the UAV (Figure 3.9b and
3.9c), and further details regarding the test for path compatibility is discussed in
Section 3.2.1.1, which is novel to this research. In a similar way, three other paths
ΓAB, ΓBA and ΓBB can be obtained – the optimal path is the shortest between ΓAA,
ΓAB, ΓBA and ΓBB and depicted as a thick, solid line in Figure 3.9c.
57
CHAPTER 3. Path Planning for a Fixed-Wing UAV
Figure 3.8: Speed polar diagram for a Boomerang-60 UAV using flight data, showing howthe best glide speed Vbg is estimated from a smooth curve fitted to the data.
Following the construction of Γxy, and given the distance dtgt from the initial
point of failure to the approach point, the path angle can then be obtained as
γxy = tan−1(zarcf − zarc0
dtgt
).
�� ��3.8
This allows the UAV to descend from an altitude of zarc0 to zarcf . Here, zarc0
and zarcf are the altitudes corresponding to the xy-positions where the initial and
final arcs of circumference unite with the segment.
Now, to ensure stability, the flight path angle γ must satisfy the constraint:
γmin ≤ γ ≤ γmax. However, if the difference in altitude between the start and
end positions should result in the maximum allowable path angle being exceeded,
one of the other suboptimal paths can be selected to lose the approximate amount
of altitude required. Other options include enlarging R0 and/or Rf , as well as
commanding the aircraft along a helical trajectory (similar to a spring) to lose excess
altitude, before joining the path at the start of the first arc (see Section 3.2.2.1).
These features of the path planner are specific to this research.
3.2.1.1 Determining Path Traversability
To test for path traversability, the algorithm uses a novel approach that considers
five parameters to determine which path the aircraft should follow from the initial
arc to the final arc. These parameters are:
1. The geometric relationship between the coordinates of the initial circle and
58
3.2. 3-D DUBINS CURVES
Figure 3.9: (a)Step 1 of generating the 2-D path. (b)Step 2 of generating the 2-D path. (c)Step 3 of generating the 2-D path. Four plausible paths are obtained; the optimal path ispath no.1
59
CHAPTER 3. Path Planning for a Fixed-Wing UAV
the initial aircraft position;
2. The initial heading at the commencement of a forced landing;
3. The geometric relationship between the initial and final aircraft positions;
4. The geometric relationship between the coordinates of the final circle and the
final aircraft position; and
5. The final heading at the approach point.
Consider the example shown in Figure 3.10. Here, the UAV is initially located
at Point A and desires to arrive at Point F. There are four tangential paths between
circles A and C, but since cenxiA > xaci ; cenyiA < yaci ; the initial heading, ψi has
an easterly vector component; and cenxiA < cenxfC ; only two paths, namely ΓABD
and ΓACE are traversable by the aircraft from Circle A. These paths are classified
as the top tangents and flags are then set in the algorithm to register the paths.
Although it is also possible to bank the aircraft along Circle B before flying along
a tangential path to Circle C, the algorithm compares the arc lengths between the
tangential lines to circles and the initial aircraft position, and weighs the decision in
favour of the path with the lesser arc length.
Figure 3.10: Diagram showing how path traversability is determined from the geometricconstruction of the 2-D Dubins curve, and the initial and final positions of the UAV
The algorithm then considers the final aircraft position at Point F. Since at this
point cenxfC = xacf1 ; cenyfC < yacf1 ; the final heading, ψf has an easterly vector
component and cenxfC > cenxiA ; the only feasible paths to arrive at this position
are ΓABDF and ΓAC′E′F . However, by cross-checking the flags set for flying from
Circle A to Circle C, the algorithm is able to deduce that only ΓABDF is feasible in
60
3.2. 3-D DUBINS CURVES
this case.
Although it is also possible to navigate along Circle D before joining the final
position at F, the algorithm once again prioritises the path with the minimal length
and determines that ΓABDF is the optimal path. However, if the final position and
heading should be that shown by the aircraft symbol at G, and applying the same
reasonings, the optimal path would be ΓAHIG (for simplicity the other construction
lines are not shown). In effect, the algorithm is projecting the aircraft heading vector
along each of the plausible paths and checking whether this vector will coincide with
the final heading vector at the final position. Algorithm 3.1 outlines the points just
described in determining traversability for a 2-D Dubins path.
Algorithm 3.1: Determining Path Traversability
input : ψi,f , xaci,f , yaci,f , cenxiA−D , cenyiA−D , cenxfA−D ,cenyfA−Doutput: Indices to feasible 2-D Dubins paths
1 begin2 determine north, east vector components of ψi,f ;3 let SgnX −→ Sign of x-compt ;4 let SgnY −→ Sign of y-compt ;5 calculate tangents between each of circles A-D ;6 calculate lengths of straight segment ;7 foreach SgnX = −1, SgnX = 1, SgnY = −1, SgnY = 1 do8 foreach cenyi >= yaci, cenyi < yaci do9 foreach xacf >= xaci, xacf < xaci do
10 select relevant tangents and set corresponding flag;11 calculate initial arc lengths;
12 forall the cenyf >= yacf , cenyf < yacf do
13 forall the xacf >= xaci, xacf < xaci do
14 select relevant tangents and set corresponding flag;15 calculate final arc lengths;
16 Compare flags set for initial and final arcs;17 if flags match then18 find corresponding arc leni,f and line len;19 concatenate to form path;20 order paths from shortest to longest;
21 else22 no feasible path exists;23 perform error handling;
24 return table of path indices;
25 end
61
CHAPTER 3. Path Planning for a Fixed-Wing UAV
3.2.2 The 3-D Dubins Path
A novel approach has also been used in forming the 3-D path, which is greatly
different to that employed by Ambrosino et al. (2006). First, note that a gliding
aircraft that is rolled into a steady, coordinated turn at a constant bank angle φ and
flies at a constant descent angle γ will trace a helical path on an imaginary cylinder
with radius R. Thus, the 3-D path can be formed by a straight line at a constant
path angle that joins two arc sections. The relationship between φ and γ for an arc
section is given by
cotγφ0,f =VTASVS
cosφ0,f ,�� ��3.9
where VS is the descent rate of the gliding aircraft, and VTAS/VS approximates
L/D. To form the path, Vbg is selected as VTAS .
Now, the altitude lost through one complete turn of the helix can be obtained
by
Sφ0,f = 2πR0,f tan γφ0,φf ,�� ��3.10
implying that the altitude lost while traversing the sections of helix corresponding
to an arc of circumference can be calculated as
S0,f =1
2π
‖Σ0,f‖R0,f
Sφ0,f ,�� ��3.11
Giving the altitude where the arc sections join the 3-D line as
zarc0 = z0 − S0,�� ��3.12a
zarcf = zf + Sf ,�� ��3.12b
where z0 is the altitude at the start of a forced landing, and zf is the desired
altitude to achieve at the final approach point. Given the terminal points on the
arcs Parc0 = [xarc0 yarc0 zarc0 ] and Parcf =[xarcf yarcf zarcf
], it is then a straight-
forward process to obtain Γline.
Once the predicted altitude losses for the different path sections are known, the
actual path can be described by parametric equations for the curves as well as the
line segment. Firstly, the number of full turns of a helix is calculated as
%0,f =
⌊z0,fSφ0,f
⌋,
�� ��3.13
from which the parameter t for the arcs with length ‖Σ0,f‖ can be expressed as
62
3.2. 3-D DUBINS CURVES
t0,f = [%0,f2π + ‖Σ0,f‖ : −4 t0,f : %0,f2π] .�� ��3.14
The vector function for a circular helix is then expressed as
r(t0,f ) = R0,f cos t0,f i +R0,f sin t0,f j + (ct0,f + d)k,�� ��3.15
with
c = Sφ0,f /2π,�� ��3.16
d =z0,fSφ0,f
%0,fSφ0,f ,�� ��3.17
which is required to elevate the helix section from the ground altitude to z0 or
zarcf .
The relationship between the different elements of the 3-D path Γ, where Γ =
Γarc0 ∪ Γline ∪ Γarcf is illustrated in Figure 3.11.
Figure 3.11: Relationship between elements of the generated 3-D flight path. The generatedpath is Γarc0 ∪ Γline ∪ Γarcf .
Through simulation, it has also been observed that the Boomerand UAV will only
tolerate a negative pitch angle, θ, between 0 and -14 degrees. Hence, as an added
precaution in choosing γ, we have included the following dynamic constraints:
63
CHAPTER 3. Path Planning for a Fixed-Wing UAV
γ =
θmin if tan−1(zarcf−zarc0‖K‖
)≤ θmin,
θmax if tan−1(zarcf−zarc0‖K‖
)≥ θmax,
tan−1(zarcf−zarc0‖K‖
)otherwise,
�� ��3.18
where
‖K‖ =√
(xarcf − xarc0)2 + (yarcf − yarc0)2.�� ��3.19
Allowing the flight path angle to vary increases the number of manoeuvres avail-
able to the aircraft; however, to allow the aircraft additional control authority to
follow the path in the presence of uncertainty, θmin is limited to -10 degrees. Fi-
nally, the 3D path is formed by letting Γ = Γarc0 ∪ Γline ∪ Γarcf , and Γ is sampled
to generate a list of waypoints for the path following algorithm.
3.2.2.1 Dealing with Excess Altitude
If the path angle of the line segment, γline is less than θmin, such as when the
UAV is initially very high above the ground, a novel technique is used to lose the
excess altitude and, simultaneously, construct a path within the aircraft dynamic
constraints. Firstly, the Dubins path is formed by taking θmin as the line path angle,
and then incorporating additional helix spirals to account for the excess altitude.
In fact, this is similar to a manned aircraft forced landing procedure, where the
pilot would circle the aircraft above the intended site/s to lose extra altitude, before
following a final descent pattern to the selected site. Now, the number of full turns
of a helix that would fit inside this extra altitude, zex is given by
%ex =
⌊zexSφ0
⌋,
�� ��3.20
with any remaining altitude to lose, zrem typically being absorbed by the altitude
lost while traversing another section of the initial arc added onto the helix coil, that
is,
S0 =θarc02π
Sφ0 .�� ��3.21
This addition is necessary such that the UAV will be at the correct heading
when it joins the Dubins path at the end of the spiral. Hence, the total amount of
additional helical spirals required is
64
3.2. 3-D DUBINS CURVES
%extot = %ex + S0.�� ��3.22
From Eqn. 3.14 and the above, the parameter tex to construct the 3-D spirals
can then be expressed as
tex = [%02π + ‖Σ0‖ : 4tex : %02π + ‖Σ0‖+ %ex2π] ,�� ��3.23
and, as before, the vector function for the extra helices can be written as
r(tex) = R0 cos texi +R0 sin texj + (ctex + d)k,�� ��3.24
with c as in Eqn. 3.16 and d equal to (zex/Sφ0 − %ex)Sφ0 .
However, should zrem < S0, zex < S0 or, the remainder, if any, after S0 is
subtracted from zrem be less than S0, %ex is simply added to the Dubins path, and a
connecting contour used to join the current aircraft position to the start of the helix.
In order to simplify the path, the connection is always made with an arc length of
Σ/4, where Σ is the circumference of a circle with radius R0. This gives
tjoin =
[%02π + ‖Σ0‖+ %ex2π : 4tjoin : %02π + ‖Σ0‖+ %ex2π + π/2]
if zrem < S0,
[%02π + ‖Σ0‖ : 4tjoin : %02π + ‖Σ0‖+ π/2]
if zex < S0,
�� ��3.25
and the altitude where the contour initiates as
zjoin = zarc0st + Sφ0/4,�� ��3.26
where zarc0st is the altitude at the start of the first Dubins arc. Then, the altitude
loss through one full turn of the helix spiral from which the connecting contour is
extracted, Sφjoin , is simply four times the size of zjoin, and the path angle of the
contour can be approximated as
γjoin = tan−1(zjoin2πR0
).
�� ��3.27
Using Eqn. 3.25 and the definition of Sφjoin , the parametric equations for the
contour are expressed as
r(tjoin) = R0 cos tjoini +R0 sin tjoinj + Sφjointjoink,�� ��3.28
65
CHAPTER 3. Path Planning for a Fixed-Wing UAV
Once the extra helix spirals and associated connecting contours are formed, a
final check is made on the initial and final altitudes of these sections, as well as the
Dubins path beneath them to ensure that the constructed path begins and ends
at the desired initial and final altitudes z0 and zf . Any discrepancies in altitude
is corrected by using either additional connecting contours, or decreasing the slope
of the line segment such that the entire path lies between z0 and zf . Figure 3.12
illustrates the concepts described above for a forced landing flightpath example.
From this figure, it can be seen that due to the high initial altitude, extra helix
spirals (Ψex) with a path angle of γarc0 (magenta line) are required to be formed.
These spirals are formed in such a way that the aircraft will still be at the correct
heading once it joins the Dubins path (blue line). However, in this scenario, the
altitude remaining, zrem requires a further connecting contour, Ψjoin (red line) with
a path angle of γjoin to be formed. This is because Ψex cannot fully absorb the
extra altitude zex, since it terminates at the position shown by the grey curve. This
contour begins at an altitude of zarc0st , and intersects Ψex at zarc0st + zjoin with an
arc length equal to a quarter of the circumference of the circle described by Ψex.
The unused portion of Ψex, shown by the grey curve, is simply omitted from the
final path.
Figure 3.12: Forced landing flight path example showing the use of extra helix spirals, Γex
and a connecting contour Γjoin to form a feasible path.
66
3.2. 3-D DUBINS CURVES
Figure 3.13: Derivation of an additional waypoint to track to improve path following per-formance in strong headwinds
3.2.2.2 Additional Waypoint for Post-Approach Point Gliding
It is also found during simulated testing that in strong headwind conditions, and
where the final arc extends for more than one-fifth of the circumference of the circle
from which it is derived (think of an S-shaped path), the UAV is not able to arrive at
the approach point within acceptable miss distances. Hence, a novel approach has
been employed in which an additional waypoint is included in the CSC style paths
such that the UAV will continue its descent in a straight line, once it is within a set
distance from the approach point and is at the correct attitude, instead of using the
approach point as the final waypoint. This new waypoint is calculated as follows.
Considering Figure 3.13 by way of example, the final waypoint coordinates in the
2-D plane are
x′f = xf − |df sinψf − π| ,y′f = yf − |df cosψf − π| ,
�� ��3.29
where ψf is the desired final heading as shown, and the distance df is calculated
from the triangular relationship between the altitude above mean sea level (MSL)
at the approach point, hf , and the desired flighpath angle γpf , at this point.
Thus
d =hf
tan γpf,
�� ��3.30
67
CHAPTER 3. Path Planning for a Fixed-Wing UAV
giving the final waypoint as (x′f y
′f hAGL).
3.2.2.3 Replanning
A new descent path may need to be constructed should the path planner receive
information of a more feasible landing site from the decision maker, or when adverse
winds prevent the aircraft from reaching the first selected site. The path replanning
method utilised is specific to this research, where the unflown portion of the path is
simply discarded and a new path formed from the current aircraft position to the
new approach point, using the methods described above. This new path may also
be attached to the breaking point where the unflown portion is removed from the
old path. Figure 3.14 illustrates an example of replanning, where the original path
(blue line) is calculated to take the UAV from an altitude of z0 at Point A to an
altitude of zf at Point B, and at the initial and final headings indicated by the blue
arrows. However, while en route to Point B, a decision (simulated to come from
the MDMS) is made to take the aircraft to a second landing site. Thus, a new path
is formed that joins the original path at Point C to the aimpoint at D, and at the
initial and final headings indicated by the red arrows. The unused portion of path
from C to B is then simply discarded.
Figure 3.14: Forced landing flight path example showing path replanning. Path 2 is thenew path that connects to the breaking point at Point C, where the unflown portion of theoriginal path (CB) is removed from Path 1.
68
3.3. SUMMARY
The method for replanning described above is deemed to be most suitable to a
time-critical scenario such as a UAV forced landing, in which the aircraft also pos-
sesses limited manoeuvring capabilities. Once the aircraft is below a predetermined
altitude zbound, the planner ignores any new site locations and the UAV simply fol-
lows the last updated path. This additional constraint is included for safety as well
as to increase the chances of the UAV actually being able to reach a predetermined
site. The value for zbound is calculated as
zbound = S0 + Sθmax + Sf ,�� ��3.31
where S0 and Sf denote the changes in altitude associated with the initial and
final sections of helix, and Sθmax is the altitude change for the line segment at the
maximum allowable path angle (c.f. Section 3.2.2). Although this angle in theory
is zero degrees, in actual practice θmax is taken as θbg, that is, the path angle
corresponding to the best glide speed, Vbg.
3.3 Summary
This chapter has disclosed the design of two different classes of forced landing descent
planning algorithms. The first, based on piloted forced landing procedures, allows
the aircraft to navigate to the desired landing site by following an adjusted landing
pattern. Two different algorithms in this class were discussed, and it has been
shown that the second is more flexible in that it does not rely on pre-stored paths,
but rather makes use of available wind information to predict the glide slope and
thus adjust the path accordingly. However, because both algorithms function by
adjusting the path to suit a constant glide speed, this could present a problem in
changing winds, as well as lead to instability if the path is continuously adjusted, as
in the case of Algorithm 2.
The second class of algorithms, which extends the concepts of 2-D Dubins curves
to three dimensions, allows for the construction of an overall smoother path that
incorporates the aircraft dynamics. These algorithms are collectively named the 3-D
Dubins Curves, and differs from the work of Ambrosino et al. (2006) in the following
respects:
• The selection of the airspeed and bank angles to form the path;
• The test for path traversability;
• The use of suboptimal (longer) paths, enlarging the initial and final radii and
using helix spirals to lose altitude;
• The specific methods used to extend the path from 2-D to 3-D;
• The use of connecting contours to reduce altitude offsets;
69
CHAPTER 3. Path Planning for a Fixed-Wing UAV
• The use of an additional waypoint to stabilise the UAV once it has passed the
approach point; and,
• The inclusion of a replanning capacity in the algorithm design.
Further, as will be shown in Section 4.2, this planning algorithm allows the
guidance controller to adjust the airspeed of the aircraft to effectively deal with
winds as well as to reduce any path deviation incurred.
70
4Guidance and Control for a Fixed-Wing UAV
IN designing the guidance and control algorithms, a path following, rather than
a traditional trajectory tracking approach has been taken, where the objective is
to be on the path rather than at a certain point at a particular time. This removes
the time-dependency of the problem and allows the design of simpler controllers.
For the sake of convenience, the terms “path following” and “tracking” are used
interchangeably in this thesis, however, the reader should be aware of their intended
meaning as described above.
First, guidance and control techniques adapted from manned aircraft procedures
will be discussed. These algorithms are tested using the Aerosonde UAV model, for
the same reasons as that given in the previous chapter, but are also applicable to
other aircraft types. Following this, two new 3-D nonlinear guidance and control
algorithms will be presented. These algorithms draw partly from a family of guidance
algorithms that employ a look-ahead distance and moving waypoint, as discussed
in Section 2. Both algorithms share the same lateral control strategy, but employ
different techniques for control of the aircraft in the longitudinal plane. Since these
algorithms are designed to function independently of human input, they are deemed
to be more accurate than techniques adapted from manned aircraft navigational
procedures as they dispense with many of the assumptions and approximations
associated with the latter. These algorithms are tested with the Boomerang UAV
model and are also independent of aircraft type.
4.1 Great-Circle Navigation, Guidance and Control
Following the formation of a descent flight path using elements of piloted forced
landing procedures, as described in Sections 3.1.1 and 3.1.2, the associated naviga-
tional algorithm calculates the range and bearing to each successive waypoint, and
uses the wind correction algorithm as well as the waypoint following algorithm to
generate correction commands while en route. The flight controller then functions
71
CHAPTER 4. Guidance and Control for a Fixed-Wing UAV
to provide lateral and longitudinal stability as the aircraft is following the prescribed
path.
4.1.1 Waypoint Navigation
Although flat-earth approximations are sufficient to describe the distances covered
in a typical UAV forced landing, with a range error of 6.67 x 104 m at a range of
D = 1.85 x 106 m, an azimuth BT = 45◦ and a latitude of Φ =45◦ (Kayton &
Fried, 1997), these approximations were not used as a basic navigational algorithm
using the great-circle navigation method (Kayton & Fried, 1997) had already been
designed by Bruggemann, Greer, and Walker (2005) of ARCAA, and it was decided
to expand on their algorithm to reduce the engineering development time. Using
this method, the great-circle track, which is the shortest distance between two points
located on a sphere surrounding the earth, as well as the bearing between the two
points can be calculated. Hence, a flight path consisting of a sequence of waypoints
is traversed by flying a series of direct, curved paths to each successive point. From
spherical trigonometry, the range D and bearing BT to the target are given by
(Kayton & Fried, 1997):
D = RGcos−1(sin(Φ)sin(Φt) + cos(Φ)cos(Φt)cos(λ− λt)),
�� ��4.1a
BT = sin−1
(cos(Φt)
sin( DRG
)sin(λ− λt)
),
�� ��4.1b
where RG is the Gaussian radius of curvature at the current aircraft position,
given by
RG =√RM ×Rp.
�� ��4.2
RM and RP are the meridian and prime radii at the current aircraft location.
The current aircraft latitude and longitude as measured by the onboard GPS are
given by Φ and λ and the target latitude and longitude are given by Φt and λt.
This implies that the calculated range to the target is actually the “distance-to-go”
to the target, since the aircraft position is constantly changing. This characteristic
of Eq. 4.1a is particularly important when designing a tracking algorithm that will
constantly adjust for the aircraft position (see Section 3.7). The UAV heading
command is calculated using the following equation
ψCmd = ψT − θWc −BT + kθTE ,�� ��4.3
where ψT is the aircraft’s true heading, θWc is the wind correction angle, BT is
72
4.1. GREAT-CIRCLE NAVIGATION, GUIDANCE AND CONTROL
the true bearing to the target waypoint and θTE is the angle of track error, multiplied
by a constant, k. The value of k is determined empirically, such that the cross-track
error is minimised. Both waypoint navigation and path planning (see Section 3.1)
are handled by a flight planner in the simulation environment discussed in Chapter 5.
4.1.2 Wind Correction
While en route between waypoints, it is also necessary to correct for wind to remain
on course. To achieve this, principles of the wind triangle (Robson et al., 2002) are
used to calculate the wind correction angle, which is then compared with the current
aircraft heading and passed as an input to the flight planner. The wind triangle is an
analytical tool, commonly applied by GA pilots to compute the desired track to fly
in the presence of winds. From Figure 4.1, suppose that the intended path to track
is from Points A to C, and the UAV has a constant airspeed of 37 kts. However,
there is a wind blowing from the south-east with a velocity of 340◦/9.7kts, which
will cause the UAV to drift to the left if left uncorrected.
Figure 4.1: Wind triangle
The drift angle can be calculated using the law of sines as
a
sin(θWc)=
b
sin(B)⇒ θWc = sin−1
(9.7sin(100)
37
)≈ 14.96◦.
�� ��4.4
This implies that the wind correction angle supplied to the flight planner must
be 15◦ in the opposite direction, such that the “track made good” will converge on
the required track to target. This is achieved by the aircraft flying first towards
Point B, located north-east at a heading of 045◦ true from Point A, before being
blown back on course by the wind. To simplify calculations, the effect of sideslips
73
CHAPTER 4. Guidance and Control for a Fixed-Wing UAV
due to wind has not been considered, as it is assumed that all turns made by the
aircraft are coordinated, and that the flight controller is able to effectively negate
any such sideslips.
4.1.3 Waypoint Tracking
Another function of a flight planner is to provide tracking for the required flight
path. Suppose that the flight path of the UAV as it is flying from waypoints A to B
is given by the solid, black line in Figure 4.2, and the required track to fly is given
by the dashed, red line. At point B’ the aircraft is en route to waypoint B and has
a cross track error of XTE m. The tracking algorithm calculates the angle of track
error, θTE and multiplies it by a constant, k. The value of k is chosen such that
the commanded heading, ψCmd will cause the UAV flight path to converge on the
required track to fly, meaning that XTE will be minimised. The cross-track error is
given by
XTE = DTRsin(θTE)�� ��4.5
where DTR is the track distance and the distance-to-go to the next waypoint.
Figure 4.2: Flight path tracking
Note here that longitudinal tracking has not been implemented — instead, it is
assumed that the aircraft flying at a constant airspeed (Vbg) is able to follow the path
that has been designed for this airspeed, and that the path can change to account
for any adverse wind effects (see Sections 3.1.1 and 3.1.2).
4.1.4 Flight Control
Flight control for the aircraft is achieved using a combination of proportional-integral
(PI) and proportional-integral-derivative (PID) controllers. Firstly, the calculated
desired heading to waypoint (see Section 4.1.1) is converted to roll and yaw values
using a combination of limiters and PI gains, the idea being to intuitively model the
flight yoke and rudder pedal movements applied by pilots as they try to steer the
aircraft towards a given heading with zero sideslip. This is known as a coordinated
74
4.1. GREAT-CIRCLE NAVIGATION, GUIDANCE AND CONTROL
turn and is especially important when winds are present. A conceptual diagram of
the simple lateral controller described above is shown in Figure 4.3.
Figure 4.3: Simple lateral controller for the Aerosonde UAV
Longitudinal control is achieved by feeding the desired airspeed into a PID con-
troller that controls the elevator servos. For the simulations, the aircraft is con-
strained to glide with an airspeed of 19 m/s, which is the airspeed to achieve for
the longest glide distance, and the path is planned in a way such that by judiciously
following a sequence of waypoints in the path, the aircraft can lose the required
amount of altitude. The longitudinal controller is depicted in Figure 4.4.
Figure 4.4: Simple longitudinal controller for the Aerosonde UAV
Once the lateral and longitudinal controllers have been designed, they are tuned
using a combination of trial-and-error and the Ziegler-Nichols tuning method out-
lined in (R. C. Nelson, 1998) to achieve the desired closed loop response. Figure 4.5
shows the lateral controller performance for a typical forced landing descent using
the planning algorithms described in Section 3.1, while Figure 4.6 shows the airspeed
controller response for the same path flown. From the first diagram, it is evident
that the aircraft actual roll angle, φ tracks the commanded roll, φcmd well, with
very small sideslips (β ≤ 5◦). It can also be seen that as the roll angle is changing,
the aircraft yaw angle, ψ (commanded by the rudder) also changes synchronously to
provide a coordinated response. In addition, the second diagram shows that the air-
speed controller is able to maintain the desired glide speed of 19 m/s with minimal
deviations throughout the descent.
75
CHAPTER 4. Guidance and Control for a Fixed-Wing UAV
Figure 4.5: Lateral controller response for the Aerosonde UAV, showing good tracking ofthe commanded roll angle, φcmd. The yaw angle, ψ changes synchronously with the rollangle, φ to provide a coordinated response with a minimal side slip, β. Both the aileronsand rudder are working synchronously to provide a coordinated turn.
Although the controllers presented above are simple and enable the aircraft to
follow the path, a better design utilising more conventional methods is detailed in
Section 4.2.5, and, together with improved lateral and longitudinal guidance algo-
rithms, may provide for a more robust controller with better performance. Note
however that in both cases, no attempt has been made to model the complex PID
controllers in the autopilot hardware installed on the aircraft, as the simulated con-
trollers are deemed adequate to provide a good understanding of how the path
planning and guidance algorithms (the main contributions of this research) will per-
form.
4.2 3-D Nonlinear Guidance and Control
The 3-D nonlinear guidance algorithms are designed to control the aircraft in both
the lateral and longitudinal planes of motion. These algorithms are employed by the
Boomerang aircraft model, in particular the wind correction, path planning, guid-
ance and flight control modules depicted in Figure 5.6, and are also the algorithms
implemented for flight tests.
The lateral guidance approach is based on the work presented by Park et al.
(2007). However, this algorithm has been enhanced to include wind information
in the guidance logic, rather than merely treating wind as an adaptive element for
the control system. This addition has demonstrated robust, linear path following in
strong winds. Secondly, by making a simple assumption in formulating the circular
path following equation, the guidance logic has been simplified without sacrificing
76
4.2. 3-D NONLINEAR GUIDANCE AND CONTROL
Figure 4.6: Airspeed controller for the Aerosonde UAV, showing the desired Vbg of 19 m/sis able to be maintained throughout the forced landing descent.
performance. In addition, a longitudinal guidance and control element has been
implemented that caters for the dynamics of powerless flight. Two novel approaches
have been trialled in this regard, and it is revealed that the second approach out-
performs the first due to its robustness. Finally, following well-established aircraft
control design procedures (R. C. Nelson, 1998), the design has been separated into
two modes: an inner control loop that provides aircraft dynamic stability, and an
outer guidance loop that generates the required acceleration and position commands
to follow a path. The following sections will discuss the new lateral guidance algo-
rithm used, named the Enhanced Nonlinear Guidance (ENG) algorithm, as well
as the two, new longitudinal guidance algorithms, named the Flight Path Following
Guidance (FPFG) and Modified Proportional Navigation (MPN) algorithms respec-
tively. In addition, the inner loop controls will also be disclosed in more detail.
4.2.1 The Enhanced Nonlinear Guidance (ENG) Algorithm
For lateral guidance, a reference point Pref is selected on the desired trajectory and
used to generate an acceleration command. As shown in Figure 4.7, Pref is located
a distance L1 ahead of the vehicle and, at each point in time, a circular path (dotted
line) can be defined by the position of L1, the vehicle position, and tangential to V ,
the aircraft velocity vector.
The acceleration required to follow the instantaneous circular segment, for any
radius R, is then given by
ascmd =V 2
R= 2
V 2
L1sinη.
�� ��4.6
Thus, the guidance law will tend to rotate the aircraft so that its velocity direc-
77
CHAPTER 4. Guidance and Control for a Fixed-Wing UAV
Figure 4.7: Diagram showing the lateral guidance law
tion will always approach the desired path at an angle that is proportional to the
relative distance between vehicle and path.
4.2.1.1 Line Following
For following a straight line, the vehicle kinematics can be modelled as shown in
Figure 4.8. Now, consider the UAV in a straight glide with velocity, V, at an
arbitrary position relative to the path between waypoints P1 and P3, and at a heading
ψ (Figure 4.8a). The expected/average wind velocity, W is also shown. Given
the aircraft and wind velocities and positions in the {north, east} reference frame,
and the angular measurements defined in Figure 4.8b, the position and velocity
components in the {xtrack, ytrack} reference frame can be obtained by:
Vtrack = TψV,�� ��4.7a
Wtrack = TψW,�� ��4.7b
with the rotation matrix equal to
Tψ =
[cos(ψ12 − π/2) − sin(ψ12 − π/2)
sin(ψ12 − π/2) cos(ψ12 − π/2)
].
�� ��4.8
The cross-track velocity can then be written as
ytrack = Vytrack +Wytrack = −V sin(ψ(t)− ψ12)−W sin(ψw − ψ12),�� ��4.9
78
4.2. 3-D NONLINEAR GUIDANCE AND CONTROL
Figure 4.8: Vehicle kinematics for straight line following, showing (a) the relationship be-tween the aircraft velocity V and the expected/average wind velocity W , and (b) the rela-tionship between the aircraft bearing ψ(t), the path bearing ψ12 , the wind bearing ψw , andthe angle η. In addition, the relationship between the cross-track error d, the hypotenused1 and the look-ahead distance L1 is also shown.
and assuming η is small,
sin η ≈ η1 + η2,�� ��4.10
and
η1 ≈d
L1, η2 ≈
d
V,
�� ��4.11
where ytrack has been relabeled as d, and d is the cross-track error. This error is
obtained by letting
d1 = nac − tan(γ)eac,�� ��4.12
where nac and eac are the current aircraft north and east coordinates, and
d = d1 cos γ.�� ��4.13
Finally, combining Eqs. 4.6 to 4.11, the acceleration is given by
ascmd = 2V
L1
(d+
V
L1d
).
�� ��4.14
Here, the LOS distance L1 is treated as a gain, with smaller values enabling
tighter path following and sharper bank angles. However, too small a value for L1
79
CHAPTER 4. Guidance and Control for a Fixed-Wing UAV
would result in too high a control gain and instability. Thus, the value of L1 is
chosen based on the observed closed loop response of the bank angle.
4.2.1.2 Arc Following
For following an arc of circumference, the vehicle kinematics can be modelled as
shown in Figure 4.9.
Figure 4.9: Vehicle kinematics for circular path following
Here, the angles η1 and η2 are assumed to be small, but η3 is not necessarily
small. This gives
η1 ≈ 0, η2 ≈ 0, |η3| � 0.�� ��4.15
As shown by Park et al. (2007), using Eqs. 4.6 and 4.15, sin η3 can be estimated
as
sin η3 ≈L1
2R,
�� ��4.16
and c defined as
c ≡ cosn3 ≈
√1−
(L1
2R
)2
.�� ��4.17
Then, using small angle assumptions for η1 and η2, the commanded acceleration
can be approximated as
ascmd =2V 2
L1sin {η1 + η2 + η3} ,
�� ��4.18
80
4.2. 3-D NONLINEAR GUIDANCE AND CONTROL
ascmd =2V 2
L1{sin(η1 + η2) cos η3 + cos(η1 + η2) sin η3} ,
�� ��4.19
ascmd ≈2V 2
L1{η1 cos η3 + η2 cos η3 + sin η3} ,
�� ��4.20
with
η1 ≈d
L1cos η3, d = V sin η2 ≈ η2.
�� ��4.21
Next, applying Eqs. 4.16 and 4.17, Eq. 4.20 becomes
2V 2
L1sin η =
2V 2c2
L12 d+
2V c
L1d+
V 2
R.
�� ��4.22
Now, assuming that a good yaw damper can be designed to damp the aircraft
Dutch roll motion and reduce the sideslip to zero (see Section 4.2.5), the second
term on the R.H.S of Eq. 4.22 can then be neglected to obtain
ascmd =2V 2
L1sin η =
2V 2c2
L12 d+
V 2
R.
�� ��4.23
This simplifies the equation and yet, as the simulation results will show, does not
sacrifice the performance of the algorithm (see Section 7.1.2). Notice also that here
additional terms have not been included in the equation for wind effects, as has been
done with the case of following a straight line. The reason is that in this case the
vehicle ground speed (as a surrogate for inertial velocity) is used for V in Eq. 4.20
at each instant in generating the acceleration command. Since the groundspeed is a
function of the airspeed and wind speed, the guidance logic accounts for the inertial
velocity changes due to wind and adapts to the situation accordingly.
Once the lateral acceleration is found, it must be converted into a desired roll an-
gle command such that the aircraft can follow the prescribed path. This conversion
is described in the following section.
4.2.1.3 Calculating Roll Angle from Acceleration
To convert the acceleration to a desired roll angle and simplify calculations, it has
been assumed in this research that the aircraft maintains sufficient lift to balance
weight (see Figure 4.10), even though banked at an angle φ. This gives
L cosφ = W = mg, L sinφ = mas,�� ��4.24
and
81
CHAPTER 4. Guidance and Control for a Fixed-Wing UAV
φd = tan−1(asg
).
�� ��4.25
Figure 4.10: Vehicle kinematics showing how roll angle is derived from acceleration
In reality, a gliding aircraft will never overcome gravity, but will descend with a
vertical velocity h; this is an inherent limitation in the forced landing problem.
4.2.1.4 Determining the Correct Turning Direction
In Sections 4.2.1 to 4.2.1.2, new techniques developed in this research to enhance
Park’s lateral guidance algorithm were described. This section and all subsequent
sections up to Section 4.2.5 present original work developed in this research for
aircraft guidance.
Firstly, once an expression for the roll angle as a function of the acceleration
is obtained, a novel method is developed that inspects the Euclidean geometry of
the aircraft in relation to the path in order to supply the correct turning directions.
Considering the example shown in Figure 4.11, in following an arc of circumfer-
ence, suppose the UAV is located at Point A. Then, if the arc to track has centre
coordinates (cenxi1 , cenyi1 ), with cenxi1 > xac and cenyi1 = yac, and the aircraft
heading ψac is in the range 0 ≤ ψac ≤ π/2, then the commanded bank angle must
be tan−1(as/g), indicating a right hand turn.
If the aircraft were pointed in the opposite direction however, then the bank
command must be − tan−1(as/g), corresponding to a left hand turn. The same
deduction can be applied to the UAV at Point B to obtain a right turn command,
with cenyi1 now below the aircraft, and a left turn command, should cenyi1 > yac.
At Point C, π/2 ≤ ψ ≤ π, and since cenxi2 < xac and cenyi2 > yac, the commanded
bank must be a right hand turn. Although not shown, a similar analysis to that
described above can also be applied to the case of the aircraft following a line, with
care given to which direction the line is pointing. Algorithm 4.1 outlines the process
82
4.2. 3-D NONLINEAR GUIDANCE AND CONTROL
Figure 4.11: Geometric relationship between aircraft and path
to follow in order for the guidance system to supply the correct turning direction
for a specific Dubins path.
4.2.2 The Flight Path Following Guidance (FPFG) Algorithm
In this algorithm, the desired and actual aircraft flight path angles are converted
into their equivalent pitch angles and passed through a PID loop to reduce the
angular difference, this signal is then used to control the elevators for longitudinal
path following. The pitch angle θ is simply the sum of the flight path angle γ and
the aircraft AOA, denoted as α, giving
θ = γ + α,�� ��4.26
where γ is composed of γφ0,f , the path angles corresponding to the sections of
helices in the 3-D path, and γline, the path angle of the line segment (see Section 3.2).
To cater for the effects of wind while gliding, the well-known MacCready theory
(discussed by Brandon (n.d.)) is used to determine the optimal speed-to-fly. This
optimal speed is obtained from a speed polar diagram (Figure 4.12), which shows
the relationship between the rate of sink and airspeed while gliding. To counter a
headwind, the glide speed must be increased above Vbg, this increases the ground
speed and allows the aircraft to penetrate further through the air. By the same
token, the glide speed must be reduced below Vbg when flying downwind or the
aircraft will tend to overshoot the target waypoint. In a tailwind, the starting point
on the horizontal axis (airspeed) is shifted left by a distance equal to the magnitude
of the wind speed, and a line is drawn from this point tangential to the curve to
obtain the desired glide speed. For a headwind the starting point is shifted to the
83
CHAPTER 4. Guidance and Control for a Fixed-Wing UAV
Algorithm 4.1: Determining the Correct Turning Direction
input : ψi,f , xaci,f , yaci,f , cenxi,f , cenyi,foutput: The correct aircraft turning direction
1 begin
2 determine aircraft heading vectors, ψaci,f ;
3 for initial arc do4 if cenyi > yaci or cenyi < yaci then
5 if cenxi > xaci and ψaci points in direction of cenx,yi then6 bank in same direction;7 else8 bank in opposite direction;
9 if cenxi < xaci and ψaci points in direction of cenx,yi then10 bank in same direction;11 else12 bank in opposite direction;
13 if cenxi = xaci then14 check goal location (xacf ) and bank either left or right;
15 else
16 check direction of ψaci and goal location (xacf );
17 bank either left or right;
18 Repeat procedure for final arc;19 return corrected roll command;
20 end
right, for sinking air it is shifted upwards on the vertical axis, and for rising air it is
shifted downwards. Using the speed polar, one can also determine the speed-to-fly
in different combinations of vertical and horizontal winds when both exist. Finally,
to convert the speed-to-fly into the desired path angle, one simply takes the inverse
tangent of the slope corresponding to the tangent line.
Although this method performs well, it nonetheless requires tuning multiple sets
of aircraft type-specific PID gain schedules to cater for a range of possible wind
conditions, and hence is not robust enough for real applications. In light of this, a
search for an alternative was commenced and the result is disclosed below. The new
vertical guidance algorithm is named the Modified Proportional Navigaion (MPN)
algorithm and is robust yet easy to implement in any aircraft type.
4.2.3 The Modified Proportional Navigation (MPN) Algorithm
Similar to the control logic for lateral guidance, the Modified Proportional Naviga-
tion (MPN) method makes use of a reference point Pref located a distance L1 ahead
84
4.2. 3-D NONLINEAR GUIDANCE AND CONTROL
Figure 4.12: Using the speed polar diagram to determine the required speed-to-fly whilegliding in winds (Source: Brandon, 2007)
of the vehicle on the vertical path to generate an acceleration command as (Fig-
ure 4.13). This acceleration then rotates the aircraft such that its velocity direction
intercepts the desired path at an angle that is proportional to the relative distance
between vehicle and path. Since the vertical cross-section of a path of arbitrary
construct will appear as a line in the y − z plane (Figure 4.13), the same guidance
algorithm can be used to track both curved and straight path segments.
Figure 4.13: Cross-sectional view of vehicle kinematics for vertical path tracking
From Figure 4.13 and 4.14, it can be seen that the angle δ between the reference
and ground speed vector Vg can be calculated as:
δ = tan−1
(Vd√
V 2e + V 2
n
),
�� ��4.27
85
CHAPTER 4. Guidance and Control for a Fixed-Wing UAV
Figure 4.14: Components of vehicle kinematics for vertical path tracking
where Ve, Vn and Vd are the vector components of Vg in the local North-East-
Down (NED) reference frame.
The vertical cross-track error d can then be obtained by first expressing the
hypotenuse d1 as a function of the aircraft position vector components eac, nac, uac
in the local East-North-Up (ENU) frame and the path angle to track γtrack, giving
d1 = uac − tan(γtrack)x′ac + zintercept,
�� ��4.28
where
x′ac =√e2ac + n2ac.
�� ��4.29
The local ENU frame is chosen in this case as it is more intuitive and allows for
easier plotting of the aircraft flight path, and the intercept of the z-axis is approxi-
mated from triangulation as
86
4.2. 3-D NONLINEAR GUIDANCE AND CONTROL
zint =
ru02 − tan(γarc0)√
(re02 − re01 )2 + (rn02− rn01
)2
for the first arc,
z2 − tan(γline)√
(x2 − x1)2 + (y2 − y1)2
for the line,
ruf2 − tan(γarcf )√
(ref2 − ref1 )2 + (rnf2 − rnf1 )2
for the second arc,
�� ��4.30
where the subscripts arc0 and arcf denote respectively the initial and final arcs
of the Dubins path, and re, rn and ru are the cartesian coordinates of the arcs.
For following full turns of a helix spiral however, x′ac and zintercept are calculated
differently. First, the spirals are divided into semicircles, where the arc length of one
semicircle is equal to half the length of the circumference. Then, if the aircraft is
traversing the region of arc, x′ac, in which the arc angle θarg is in the range 0 ≤ θ ≤ π,
then
x′ac = θargR0,�� ��4.31a
zint = z0,�� ��4.31b
where z0 is the altitude where the engine failure occurred. Otherwise, if the
aircraft is traversing the region of arc where θarg is in the range π ≤ θarg ≤ 2π,
x′ac = (2π − θarg)R0,�� ��4.32a
zint = z0 − Sφ0,f ,�� ��4.32b
where Sφ0,f is the altitude lost by the gliding aircraft through one full turn of a
helix spiral.
Next, the vertical cross-track error d is calculated by
d = d1 cos γtrack,�� ��4.33
and the vertical cross-track velocity is expressed as a function of both the aircaft
velocity V and the estimated/average wind velocity Vw as
dtrack = −V sin ((ε+ α)− ψ12)− Vw sin (ψw − ψ12) ,�� ��4.34
where ε is the difference between the aircraft pitch angle θ and the angle δ of
87
CHAPTER 4. Guidance and Control for a Fixed-Wing UAV
Eqn. 4.27 (see also Figure 4.13), α is the aircraft angle of attack (AOA), ψ12 is the
path angle measured from the vertical axis, and ψw is the angle of the wind vector
as shown in Figure 4.13. Note that when implementing the algorithm in software,
the ground speed Vg is used for V since it provides for greater control power when
following a path in the presence of wind.
Following the same reasoning as used in Eqns. 4.10 and 4.11, the angle between
the acceleration perpendicular to the line-of-sight (LOS), a⊥L1, and the nonlinear
acceleration as is calculated as
η =d
L1+d
V,
�� ��4.35
and substituting Eqn. 4.35 into Eqn. 4.6 gives the nonlinear acceleration as
as = 2V
L1
(d+
V
L1d
).
�� ��4.36
Next, the nonlinear acceleration is transformed to the acceleration perpendicular
to the LOS (renamed as nc) by using the angular relationship between them, giving
a⊥L1 = nc = as cos(η).�� ��4.37
This transformation has been deemed necessary as it has been found, after ex-
tensive simulated experiments, that using the LOS acceleration in this way provides
for better performance than merely using the nonlinear acceleration. The use of the
LOS acceleration, as well as the LOS angle (discussed later) are concepts borrowed
from proportional navigation missile guidance (Zarchan, 2007). However, the MPN
algorithm differs from proportional navigation in that a moving reference point is
used, and the closing speed between the vehicle and reference point is always zero
(with L1 fixed).
Once the acceleration is obtained, it must be further transposed into its compo-
nent velocities in the y−z plane, and from there, a relationship found that correlates
velocity to pitch angle, since the latter is used to control the aircraft longitudinal
motion directly.
From Figure 4.13, and taking positive reference as towards north and east, it
can be seen that the component velocities are given by
VA1 = −∫nc sin θLOS + VA10
,�� ��4.38a
VA2 = −∫nc cos θLOS − VA20
,�� ��4.38b
88
4.2. 3-D NONLINEAR GUIDANCE AND CONTROL
where the LOS angle is calculated as
θLOS = sin−1(d
L1
)+ γtrack,
�� ��4.39
and the initial conditions are obtained by assuming that once the engine fails,
the aircraft will still be sinking with gravity. Since this effect is encapsulated within
the aircraft ground speed components, the initial conditions can be expressed as
VA10=√V 2e + V 2
n ,�� ��4.40a
VA20= Vd.
�� ��4.40b
Finally, the resultant airspeed is easily obtained as
Vcmd =√V 2A1 + V 2
A2.�� ��4.41
This airspeed is then transferred to a look-up table to obtain the corresponding
pitch control angle, with linear interpolation being used to obtain interval values,
and the initial and final entries taken as the upper and lower boundaries. The look-
up table for the Boomerang size-60 UAV is derived from simulation and is presented
below:
Airspeed (m/s) Pitch (degs)
16.89 -220.86 -624.45 -10
28 -14
Table 4.1: Look-up table relating commanded airspeed to desired pitch angle for BoomerangUAV
Once this relationship has been determined, the guidance system can be tuned
by adjusting L1 in accordance with the desired closed loop response of the pitch
angle.
4.2.4 Ensuring Smooth Transition between Waypoints
Following the formation of a path from the point of engine failure to the approach
point for landing, and the calculation of the required acceleration, roll and pitch
to follow the path, a method to determine whether the UAV has actually passed
the waypoints in the path is still required. In this regard, a waypoint is considered
captured if the UAV arrives within a 50 m (165 ft) radius of it. Although this
89
CHAPTER 4. Guidance and Control for a Fixed-Wing UAV
method functions well in general, there are times, such as when a strong headwind
is encountered, when the UAV cannot come within the circular zone centred on
the waypoint. To prevent the aircraft from spiralling around a waypoint in this
situation, a counter is started when a new waypoint is uploaded into the guidance
system. If the preset interval has expired before the aircraft arrives at the new
waypoint, the next waypoint is immediately loaded into the system and the former
waypoint discarded. This practice is continued until the final waypoint is reached.
Figure 4.15: Diagram showing the relative position between the aircraft and the start ofthe second arc in the Dubins path. The relative position is used for more accurate pathfollowing.
As an added measure to prevent the aircraft from turning too soon when en-
countering a strong headwind, an inspection of the relative position between the
aircraft and the start of the second arc (corresponding to the end of the line seg-
ment) in the Dubins path is also performed. Considering Figure 4.15, if the line
is in the first quadrant and pointing east at an angle, θ between 0◦ and 45◦, the
algorithm checks for the following condition to determine whether a line should still
be followed: xac < xarcf and∣∣xarcf ∣∣ > ∣∣yarcf ∣∣ and xarcf > 0. If however, the angle
is between 45◦ and 90◦, the following condition is compared against: yac < yarcfand
∣∣yarcf ∣∣ > ∣∣xarcf ∣∣ and yarcf > 0. A similar deduction can also be applied to line
segments residing in each of the four quadrants and pointing in any direction.
4.2.5 Control for Flight Stability
This section will discuss the low-level controllers for both the FPFG and MPN al-
gorithms, which have been developed based on well-established aerospace control
designs discussed in the literature (Etkin, 1972; Etkin & Reid, 1996; R. C. Nelson,
90
4.2. 3-D NONLINEAR GUIDANCE AND CONTROL
1998). Both algorithms share the same lateral controller, but employ different lon-
gitudinal controllers, and are necessary to support the operation of the guidance
algorithms developed in this research. The lateral controller is presented first.
4.2.5.1 Lateral Control
Initially, a full, lateral dynamics model of the aircraft defined in Appendix A is
constructed using modern control design techniques (R. C. Nelson, 1998; Etkin
& Reid, 1996) and state-space tools in MATLAB®. This model is then used to
determine the system transfer functions, as well as to analyse the roll performance
of the aircraft. The model is linearised for flight at Vbg = 19 m/s and at an initial
altitude of 1000 ft, and both roll and roll rate feedback are utilised for improved
damping of the short period responses. The root locus of the aileron-to-roll-angle
transfer function is given in Figure 4.16 and shows a very well-damped response.
Figure 4.16: Root locus plot of the Boomerang lateral control autopilot using just theailerons. The pole locations indicate a very well-damped response.
Next, a yaw damper is added to oppose any yaw rate build up during the aircraft
dutch roll mode, a type of aircraft motion consisting of out-of-phase “tail-wagging”
and rocking from side to side which can be excited by any use of aileron or rudder.
However, such a yaw damper will also oppose a constant yaw value that exists
during a coordinated steady-state turn, thus requiring larger than necessary rudder
control gains to overcome the actions of the damper. To address this problem, the
feedback signal is differentiated (approximately) so that it disappears during steady-
state conditions. This approximate differentiation is accomplished using a simple
first-order high-pass filter, called a “washout filter”.
Using a time constant τwo = 3.5 s, determined empirically through simulation,
91
CHAPTER 4. Guidance and Control for a Fixed-Wing UAV
the “washout filter” transfer function can be modelled as
Gwo(s) =τwos
τwos+ 1,
�� ��4.42
and a plot of the filter transfer function is shown in Figure 4.17.
Figure 4.17: Transfer function of the washout filter for the Boomerang-60 UAV showing themagnitude response
Figure 4.18: Root locus plot of the Boomerang lateral control autopilot using both theailerons and rudder. The pole and zero locations indicate a very well-damped response.
The roll and yaw controllers are then combined, and the system is excited with
a constant bank command of 15 deg (0.26 rad). Figure 4.18 shows the root locus
of the system, and suggests once again a very well-damped response (all poles are
attracted to corresponding zeros and are in the left-half plane).
The damping ratio and natural frequency of the system are chosen to be ζ =
92
4.2. 3-D NONLINEAR GUIDANCE AND CONTROL
Figure 4.19: Aileron controller response of the Boomerang-60 UAV to a 15 deg roll command
Figure 4.20: Rudder controller response of the Boomerang-60 UAV to a 15 deg roll command,showing negligible sideslips
93
CHAPTER 4. Guidance and Control for a Fixed-Wing UAV
Figure 4.21: Simulated lateral controller for the Boomerang UAV, showing a two-stagecontrol process for the roll angle, and a yaw damper to correct for any undesirable aircraftyawing motion. The same controller is employed by both the FPFG and MPN algorithms.
0.706 and ωn = 41.4rad/s, corresponding to a set of accepted desired flying quali-
ties (R. C. Nelson, 1998) of manned aircraft (as well as unmanned aircraft for the
purposes of this research). The system response is plotted in Figure 4.19, and shows
that the roll angle response has a fast rise time but quickly settles to a steady state
value with no overshoot, while the roll rate rapidly subsides to zero. In addition,
from Figure 4.20, it can be seen that although the yaw rate response exhibits some
slight jittering at the start (perhaps due to the pair of complex poles in Figure 4.18),
it nonetheless quickly converges to a steady state value, and any sideslip incurred is
also negligible.
Based on the observed response of the lateral controllers, the computed gains are
then used to initialise the PID/PD controllers in the actual Simulink Boomerang
model. Following well-established aerospace design procedures (R. C. Nelson, 1998;
Etkin & Reid, 1996), the commanded roll angle is compared with the actual roll of
the aircraft in an outer loop. The error signal is then fed into a PID controller to
regulate the roll rate in an inner loop and to improve stability (see Figure 4.21). In
order to simplify the construction of the model, both the inner and outer loops have
been constrained to run at the same frequency. Control of the rudder is achieved
using a single PD controller, also running at the same frequency as the aileron
controllers.
It is inevitable that adjustments and/or additions would need to be made to
the initialisation gains due to model coupling and nonlinearities, and thus the final
94
4.2. 3-D NONLINEAR GUIDANCE AND CONTROL
gains are calculated using an adjusted Zeigler-Nichols tuning method (R. C. Nelson,
1998) and through repeated simulations, and are tuned from the inner to outer loop
controls. Figure 4.22 shows that during a simulated forced landing with several
manoeuvres, the actual roll, φ tracks the commanded roll, φcmd very well, and with
negligible sideslips.
Figure 4.22: Good tracking of commanded roll during a simulated forced landing, withnegligible sideslips
4.2.5.2 Longitudinal Control
Design of the longitudinal controllers begins in a similar way to that of the lat-
eral controller. However, to simplify calculations, an approximate model of the
short-period longitudinal dynamics of the aircraft (see Appendix A) is implemented
in MATLAB® and used to determine the closed-loop system performance. This
approximate model has been found to be adequate in designing the simulated lon-
gitudinal flight controllers for this research. Figure 4.23 shows the root locus of the
controller, and indicates a stable, well-damped response.
The elevator-to-pitch angle response for an input pitch command of -6 degrees
is shown in Figure 4.24. From this figure, it can be seen that the pitch angle
rapidly settles to a steady-state value with no overshoot, while the initial dip of the
pitch-rate response is quickly corrected for and the pitch-rate reduces to zero in the
steady-state.
From the observed closed-loop response, gains are then chosen to initialise the
PID controllers in the Simulink model. As before, the process is essentially one
of trial-and-error using an adjusted Zeigler-Nichols method (R. C. Nelson, 1998).
Observing Figures 4.25 and 4.26, it can be seen that although the pitch and pitch-rate
95
CHAPTER 4. Guidance and Control for a Fixed-Wing UAV
Figure 4.23: Root locus plot of the Boomerang longitudinal control autopilot using elevatorsto control pitch. The pole and zero locations indicate a very well-damped response.
Figure 4.24: Elevator controller response of the Boomerang-60 UAV to a -6 deg pitch com-mand.
96
4.2. 3-D NONLINEAR GUIDANCE AND CONTROL
PID controllers form the basic control structure for the FPFG and MPN algorithms,
the actual method to derive the reference signal is different.
Figure 4.25: Longitudinal controller for the FPFG algorithm - the reference signal is selectedfrom either θde or θdewind
and passed to a lower-level pitch-to-elevator controller.
Firstly, for the FPFG algorithm (Figure 4.25), a desired pitch angle, θde is calcu-
lated from the desired path angle, γde and angle-of-attack, α. When wind is present,
this desired pitch angle is then compared with a pitch angle, θdewind derived from the
speed polar diagram (Figure 4.12) before being multiplied by a gain, kp and used as
input to the lower-level pitch controller. However, this method is really only useful
when the aircraft is following a linear path, since the speed polar was designed for
straight gliding flight. Hence, a switching signal, scont is used to select when the
pitch angle corresponding to the path angle of an arc, θarci,f should be applied. This
switching method has been observed through simulation to function well in winds.
For the MPN algorithm, the commanded LOS acceleration, ascmd is first inte-
grated to obtain the velocity before being passed into a velocity-to-pitch lookup ta-
ble. The initial conditions supplied to the controller are those defined in Eqns. 4.40a
and 4.40b, and the resultant reference pitch angle, θref is then passed to the lower-
level pitch controller (Figure 4.26).
Figure 4.26: Longitudinal controller for the MPN algorithm - the reference signal is chosenfrom a velocity-to-pitch angle lookup table before being passed to a lower-level pitch-to-elevator controller.
Figure 4.27 shows that during a simulated forced landing with constant manoeu-
97
CHAPTER 4. Guidance and Control for a Fixed-Wing UAV
Figure 4.27: Good tracking of commanded pitch during a simulated forced landing withconstant manoeuvring
vring, the actual aircraft pitch, θ follows the commanded pitch, θcmd very well. This
response is characteristic of the result obtained when using either the FPFG or MPN
algorithm.
4.3 Summary
This chapter has investigated two guidance and control strategies to be tested in
this research. The first is derived from manned aircraft navigational procedures,
and is comprised of waypoint navigation using the great-circle navigation method,
with wind correction and waypoint tracking also incorporated into the guidance
procedure. Although this strategy is simple to implement, it nevertheless could
pose problems with accuracy due to its assumptions regarding sideslips and the
fact that no dedicated longitudinal path following strategy has been employed. In
addition, using merely an intuitive method to control the roll and yaw, as well as
a fixed airspeed to control the altitude may be insufficient to correct for cross-track
errors, particularly in strong or changing winds.
The 3-D nonlinear designs have attempted to address these problems, and in
so doing help provide for a more accurate and robust guidance and control sys-
tem. In the case of the ENG algorithm, wind information has been included in
the guidance logic, and a yaw damper with a washout filter has also been used to
deal with sideslips. These are the main differences between the ENG and Park’s
original algorithm. As will be seen in the results, these modifications have reduced
the complexity of the algorithm for following circular paths, yet without sacrificing
98
4.3. SUMMARY
performance. In addition, these modifications have also resulted in improved path
following in winds, by allowing the airspeed to vary as a function of the required
rolling action for path tracking. Further, the design of the ENG algorithm has
also led to the development of a new method for determining the correct turning
direction.
In the case of the FPFG algorithm, a novel method of using the path angle
and the MacCready theory has allowed the creation of a very accurate vertical path
following algorithm (see the results under Section 7.1.2.1), which also uses varying
airspeeds to deal with winds and cross-track errors. However, the main disadvantage
of this algorithm is that it relies on tuning multiple gain schedules to account for a
variety of wind scenarios, and so is not conducive to flight operations.
A better alternative exists in the form of the MPN algorithm, which draws on
the basic principles underlying the ENG and proportional navigation algorithms, as
well as its own specific methods in the actual algorithm construct, to form a robust
vertical guidance algorithm that controls the airspeed by virtue of the pitch angle.
This algorithm is also easily adaptable to any aircraft type.
As part of the nonlinear design, a new method for ensuring smooth transitions
between waypoints has also been presented, which ensures that the aircraft is still
able to follow the path to completion in strong winds, as well as remain stabilised
throughout the process.
Finally, the lateral and longitudinal control modes are decoupled, meaning that
more control authority is allocated to each plane of motion. From an intuitive view-
point, it can be seen that the nonlinear design may well outperform that based on
manned aircraft procedures, however, this will need to be verified first in simulation,
and later through flight trials.
99
5The Forced Landing Simulation Environment
IN order to reduce the costs and risks associated with performing real experiments
in the developmental stages, as well as to enable a faster turnaround time in
verifying the software design, two different, albeit similar simulation environments
were developed in the MATLAB® Simulink programming environment prior to
actual flight tests. In particular, the AeroSim blockset, a third-party developed
add-on software, was used to rapidly construct nonlinear 6 degree-of-freedom (6
DOF) aircraft models. The equations of motion that dictate the performance of
the aircraft were implemented in body-axes and the model parameters, such as the
initial position and bearing were read from a user-configurable MATLAB® data
file (mat-file). The models also output the aircraft state information, such as the
aircraft velocities and angular velocities in three axes, which could then be used
as feedback to control the aircraft. The AeroSim software is also used to transfer
aircraft performance data to the open-sourced FlightGear flight simulator for real-
time visualization.
5.1 Aerosonde UAV Model
For the initial simulation experiments, a basic model of an unpowered Aerosonde
UAV (available in AeroSim) is modified and expanded to include subsystems for
flight controls, path planning, GPS waypoint navigation, wind generation, wind
correction and interfacing to FlightGear. By running MATLAB® and FlightGear
concurrently, the user is able to visualize the UAV flying in a manner as dictated by
the Simulink model (Figure 5.1). Noise and sensor errors have not introduced in this
model to reduce complexity, and a simplified diagram of the Simulink model is shown
in Figure 5.2. A detailed diagram of this model is reproduced in Appendix B.1.
In this simulation, the operating environment for the UAV is defined as a (3000
m x 3000 m x 3900 ft) volume of air space. The UAV can assume any initial bearing
and position (latitude, longitude and altitude) that lie within this area. The initial
101
CHAPTER 5. The Forced Landing Simulation Environment
Figure 5.1: Screen capture of a simulated forced landing in FlightGear, showing the plannedpath (orange), the incident wind vector and the desired landing site. The generic Cessnaskin with an actual model of an Aerosonde aircraft is used. The model is constructed usingthe classic coefficient build-up method (Nelson, 1998) and is available inside the MATLAB®
AeroSim blockset.
altitude of the UAV above ground level (AGL) is constrained between 1000 ft to
3900 ft, with the lower bound being the minimum altitude that an aircraft can
assume while flying en route over populated areas, as defined by the Civil Aviation
Safety Authority in Australia (CASA). The boundaries of the earths surface are
given by four coordinates that lie between 27◦23.4′S to 27◦25.8′S and 153◦6′E to
153◦7.8′E, with an altitude of 13 ft above mean sea level (MSL). These boundaries
define an area of approximately (3000 m x 3000 m) around the location of Brisbane
International Airport, given by the landing site aim point coordinates as 27◦24.6′S,
153◦7.2′E. The landing site is also assumed to be a (100 m x 600 m) rectangle. A
diagram illustrating the world model used in the simulation is given in Figure 5.3.
The wind model (Figure 5.2) randomly generates the input wind velocity com-
ponents in the navigation frame: WN , WE and WD, giving the profiles shown in
Figure 5.4. These wind components are subsequently used by the Aerosonde model
(Figure 5.2) to calculate the effects of the resultant wind velocities incident on the
aircraft, including wind shear and turbulence. Wind gusts have not been modelled
in this simulation, instead, the input wind is assumed to blow with a constant mag-
nitude and direction for 60 seconds, before changing magnitude and direction for
the next 60 seconds. Whilst this does not necessarily represent the wind conditions
found in an actual descent, it does present a challenging wind shift scenario for the
simulation. The values of the WN , WE and WD components are limited between ±7,
±4 and ±1 m/s respectively, with the coordinate system defined such that positive
is towards north and east. These values are chosen based on the actual wind rose
measurements for Brisbane, Australia, and correspond to a maximum wind speed
102
5.1. AEROSONDE UAV MODEL
Figure 5.2: Simplified Simulink model of Aerosonde UAV
Figure 5.3: Model of simulation world
of approximately 30 m/s. A wind rose is a diagram that summarises the occurrence
of winds at a location, showing their strength, direction and frequency. The wind
rose used in the simulation represented wind measurements taken at 9 a.m. daily,
from 1950 to 2000. More information on wind roses can be found on the Australian
Government Bureau of Meteorology website: www.bom.gov.au.
The wind correction, flight planner and flight controls blocks comprise the guid-
ance and control strategies of this model. These modules accept stimuli from the
aforementioned subsystems and respond by providing the aircraft with the required
roll and pitch commands so that it can follow a path to land within the designated
area. In particular, these modules utilize a modified version of the piloted forced
103
CHAPTER 5. The Forced Landing Simulation Environment
Figure 5.4: Wind components (WN : Blue, WE : Green, WD: Red). These components wereused to compute the resultant wind vector incident on the UAV.
landing procedure (refer back to Sections 3.1 and 4.1) and help to establish a baseline
from which further improvements to the forced landing path planning and guidance
algorithms can be effected.
5.2 Boomerang UAV model
Once enough experienced had been gained in using the Aerosonde model, a more
accurate model that resembled the platform to be used for flight testing was con-
structed. Similar to its predecessor, the Boomerang model is constructed using
the classic coefficient build-up method (R. C. Nelson, 1998), which was developed
as part of an undergraduate project at the Queensland University of Technology
(QUT). However, the major differences are that this model also includes noise and
sensor errors, as well as the modelling of wind gusts, turbulence and wind shears.
Taking the worst case scenario, the true airspeed, VTAS is assumed to have a
maximum error of 3 m/s, and the GPS velocity a maximum error of 1 m/s in mag-
nitude (groundspeed), and a maximum error of 1◦ in bearing. The magnetic compass
measurement was also assumed to have a maximum error of 3◦ in bearing. These
error values are consistent with instrument errors observed on small aircraft (Kayton
& Fried, 1997), and give rise to a maximum error of 1 m/s in the estimated north
and east wind component values which can be modelled as a Gaussian distribution
(Etkin, 1972).
Now, since the wind vector can be calculated as
Vw = Vg −VTAS ,�� ��5.1
and including the errors in the equation
[Vwx(±1)
Vwy(±1)
]=
[Vgx(±.25)
Vgy(±.25)
]−
[Vax(±.75)
Vay(±.75)
]=
[Vgx − Vax(±1)
Vgy − Vay(±1
],
�� ��5.2
104
5.2. BOOMERANG UAV MODEL
where Vgx,y , Vax,y , and Vwx,y correspond to the velocity vectors of the ground-
speed, true airspeed and windspeed respectively. Then, the wind bearing can be
obtained as
∠Vw = tan−1
[Vgy − Vay(±1)
Vgx − Vax(±1
].
�� ��5.3
With these stated errors, a wind bearing error of up to 42◦ has been observed in
simulations.
To model wind gusts and turbulence, the wind model is first set up as described
in Section 5.1, however, the duration of the wind changes has been reduced to 20
seconds to provide an even more challenging wind shift scenario. The input wind
velocities are then passed through a von Karman turbulence model in Simulink,
giving gust profiles as shown in Figure 5.5. In addition, as the aircraft navigates a
descent path through the air, it is subject to variations of wind speed and direction
(from the wind model) with changing altitude as well as horizontal distance. Hence,
both vertical and horizontal wind shears are also experienced by the aircraft during
a simulated forced landing.
Figure 5.5: An example of simulated wind turbulence experienced by the aircraft during aforced landing, with gusting applied in the longitudinal, lateral and vertical directions.
Finally, the Boomerang UAV model also includes subsystems for path planning,
aircraft guidance as well as flight control. These algorithms use the 3-D Dubins
curves and the nonlinear guidance laws to achieve better path formation and track-
ing in the presence of winds (see Sections 3.2 and 4.2). A simplified diagram of
the Simulink model is shown in Figure 5.6, and the complete model is depicted in
Appendix B.2.
105
CHAPTER 5. The Forced Landing Simulation Environment
Figure 5.6: Simplified Simulink model of Boomerang UAV
5.3 Summary
The design of two different, albeit similar forced landing simulation environments
have been presented in this Chapter. The inbuilt MATLAB® Aerosonde model
enables a rapid initial assessment of the path planning, guidance and control designs
that have been added to the model, as well as provides a baseline from which to
further improve the design. The Boomerang model builds upon the lessons learnt
from the first design to also include sensor errors and wind turbulence, which more
closely resemble a real forced landing scenario. Simulation results from both models
are included in Chapter 7.
106
6Flight Experiment Setup
FOLLOWING the design and simulated flight testing of the path planning and
guidance algorithms in MATLAB®, the algorithms are converted into the
ANSI C programming language such that they can be run on dedicated hardware
onboard the aircraft. This chapter describes the equipment used as well as any
modifications to existing hardware or software, and details the operations of the
flight experiments performed in this research.
6.1 Overview of the Unmanned Aircraft System
The testbed used is the Boomerang 60 model aircraft from Phoenix Models, with a
wingspan of 2.1 m and measuring 1.5 m from nose to tail. This model is powered
by an O.S. 90 FX engine driving a 15” x 8” propeller, and has been modified by
ARCAA engineer Richard Glassock from a high to low-wing configuration for added
manoeuvrability. In addition, the wingspan has been increased from 1.45 m to 1.9 m
to support a total take-off mass of 8 kg, including all onboard avionics and a full tank
of fuel. Figure 6.1 presents a schematic diagram of the unmanned aircraft system,
including onboard avionics as well as the ground control station and personnel.
The heart of the onboard electronics is comprised of an off-the-shelf MicroPilot
MP2128g autopilot and an external PC/104 central processing unit (CPU), used as
the flight computer. These items are located in the centre of the diagram. The
autopilot is a standalone unit and includes a pressure altimeter, 3-axis rate gyro-
scopes and accelerometers, an airspeed sensor and a GPS unit. It is also able to
receive navigation and control commands from the flight computer via an RS232
serial communications link, and inputs from an electronic compass through an in-
sulation displacement connection (IDC). The autopilot is connected to the elevator,
aileron, rudder and throttle servos via an external servo control board, and trans-
mits telemetry data via a radio frequency (RF) modem (RF Modem 1) to the Mobile
Operations Centre (MOC). The MOC contains the ground station computers and
107
CHAPTER 6. Flight Experiment Setup
Figure 6.1: Boomerang-60 avionics architecture
associated communications equipment in a 4x4 trailer truck. Ground Station Com-
puter 1 (GS Computer 1) receives telemetry data from the aircraft via RF modem 2,
while Ground Station Computer 2 (GS Computer 2) is used to send telecommands
to the external PC/104 CPU via RF modems 3 and 4. A pilot on the ground can also
command the aircraft during takeoff, landing and emergencies via an RC transceiver
setup. As the TGGS lacks the path planning and guidance algorithms to navigate
the aircraft from the approach point to the aimpoint, and the CSSS and MDMS are
still to be integrated with the TGGS, the services of the pilot and ground operators
are required.
6.2 Hardware Description
The following paragraphs describe in further detail each piece of equipment installed
as part of the onboard avionics system, as well as the MOC. In addition, a description
of how the equipment is mounted on the aircraft is also given.
Autopilot
The MicroPilot MP2128g autopilot is one of the smallest autopilots on the market
today, measuring 10x4x1.5 cm and weighing only 26 g, it contains a full avionics suite
108
6.2. HARDWARE DESCRIPTION
including GPS, 3-axis gyroscopes and accelerometers, a pressure altimeter, pressure
airspeed sensor and an electronic compass. This autopilot uses PID gain schedul-
ing for control stability, as well as a rudder-aileron feed forward gain for improved
turning performance. In addition, the MP2128g caters for user-definable waypoints,
holding patterns and error handlers (such as loss of GPS, low battery, etc). The
autopilot also supports both computer-in-control (CIC) and pilot-in-control (PIC)
modes, and comes with the HORIZONmp ground control software, which allows an
operator to receive telemetry data as well as send telecommands to the aircraft. An
additional plug-in capacity allows code written by the user to run alongside the au-
topilot and HORIZONmp code, and even to modify certain settings of the autopilot.
Other important information to note are:
1. The GPS unit uses a U-Blox 4 Hz receiver and a SANAV MK-76 right-hand-
circularly-polarized antenna with a gain of 28 dB. Assuming standard vertical
and horizontal dilution of precision and user estimated ranging error, the 1
sigma 3-D positional error of the GPS unit is 17 m (Parkinson & Spilker,
1996).
2. The electronic compass readings have an error of approximately ±10 degrees
for any known heading, and up to ±15 degrees when the UAV is rolled left or
right 30 degrees. Although these values may seem large, they were obtained
through calibration in the field with the aircraft (and compass) swung by
hand, and there is also no guarantee that a manual compass used for com-
paring the MicroPilot compass module is accurate to the same amount in all
directions.
3. Aircraft state data for control is updated at 30 Hz, and telemetry is logged
at 5 Hz.
Flight Computer
The flight computer consists of a LiPPERT Cool LiteRunner 2 PC/104 embedded
CPU hosting an AMD Geode™ LX800 processor running at 333 MHz and with 256
Mb of RAM. The Cool LiteRunner uses passive cooling and provides for analog VGA
output, RS232/RS485/RS422 serial data communications, Ethernet, PS/2 keyboard
and mouse connections, as well as conventional PCI and IDE expansion slots. An
Advantech PCM-3910 DC to DC power supply board is used to regulate power to the
PC/104 embedded computer. This board has a 10-24 V input range, and provides
5 V at 10 A, 12 V at 2 A, -5 V at 400 mA and -12 V at 400 mA. An additional
8 GB Transcend 2.5” IDE Solid State Drive (SSD) is used to host the Debian 5.2
operating system, as well as the path planning and guidance software. The flight
computer module also has a custom-built interface plate that houses three RS232
109
CHAPTER 6. Flight Experiment Setup
connectors, an Ethernet port, a USB port and a DC power supply connector. The
interface plate allows a monitor, keyboard and mouse to be plugged into PC/104
computer for ground testing and verification.
Servo Control Microcomputer
The servo control microcomputer is connected to the MicroPilot servo breakout
board and generates a pulse width modulated (PWM) signal to control the servo
motors. A typical PWM signal for an RC servo motor has a period of 20 ms and a
pulse width between 0.7 and 1.5 ms, and the servo deflection angle is determined by
this pulse width. In the CIC mode, the servo control computer receives the PWM
signals from the MicroPilot autopilot via an RS232 serial link, while in the PIC
mode, a PWM signal is sent from an RC transmitter to the RC receiver, which then
transmits the signal to the servo control computer. A Maxim Integrated Industry
MAX222CPE microcomputer was used to control the servo motors, and to ensure
a smooth transition between the PWM signals received from the autopilot and the
RC receiver. The associated code was written in C by ARCAA engineer Scott
McNamara.
Servo Motors
Four Hitec HS-425BB Deluxe Standard servomotors are used to control the ailerons,
elevators, rudder and engine throttle. These servos are very reliable and provide a
torque of 5.5 to 6.8 kg when subjected to voltages between 4.8 to 6.0 V, and at
speeds of 0.21 to 0.16 seconds.
RC Receiver and Transmitter
A Spektrum DX7 7-Channel, 2.4 GHz spread spectrum RC system is used to fly the
aircraft in PIC mode. The DX7 transmitter is capable of storing memory for up
to twenty different models, and was chosen due to its robustness to noise. The 2.4
GHz spread spectrum system uses the Spektrum AR7000 receiver with dual-linked
satellite antennas, and supports an operational range of up to 2 km.
Radio Modems
Four MicroHard 900 MHz wireless radio modems (operating in licensed band) are
used to communicate between the aircraft and ground operators. These industrial
grade radio modems provide 19.2 kbps throughput of data and support Point-to-
Point communications. Two of the radio modems are assigned to communications
between the MicroPilot autopilot and the HORIZONmp ground station software,
which is hosted inside an embedded industrial computer inside the MOC. Two
110
6.2. HARDWARE DESCRIPTION
other radio modems service the data link between the flight computer and another
ruggedised computer inside the MOC. This second data link allows a ground oper-
ator to interact with the flight computer and to remotely monitor the progress of
the planning and guidance software. Three of the four radio modems use 3 dB, 900
MHz whip antennas and support a range of up to 8 km, while the fourth (attached
to the flight computer) uses a fin-shaped mobile radio antenna, also rated at 3 dB.
The choice for the fourth antenna was made based solely on where the antenna was
to be located on the aircraft, as a whip antenna was deemed unsuitable.
Power Subsystem
Table 6.1 shows the power budget for the main power consuming electronics onboard
the aircraft. It was found after some analysis that a 12V-4000 mAh Li-Po battery
pack can be used to power the autopilot (including the GPS receiver and antenna,
all gyroscopes and all sensors) as well as one radio modem, while a second 12V-
4000 mAh Li-Po pack is used to power the flight computer and its associated radio
modem. A separate 6-cell, 6V-2500 mAh Ni-Mh battery is used for the servos. With
this setup, approximately 20 minutes of running time can be safely guaranteed.
Component Quantity Voltage (V) Power (W)
MicroPilot autopilot 1 6.5 0.91Flight computer 1 5 6Radio modem 2 3.3 1RC receiver 1 4.5 1
Total 9.91
Table 6.1: Power budget for avionics (The power consumptions are under typical operatingconditions)
Equipment Assembly
To reduce the effects of engine vibration and to protect against an aircraft crash,
the following techniques are used to install the avionics components inside the air-
craft. First, the autopilot and a radio modem is mounted inside a rapid-prototyped
acrylonitrile butadiene styrene (ABS) plastic case. This case is then wrapped in a
piece of foam sheet and inserted into the fuselage. The autopilot is attached to the
airspeed sensor located on the left wing by a flexible piece of plastic tubing. Next,
the flight computer cards and memory drive are mounted on top of each other to
form a square block, which is then screwed onto an aluminium plate before being
wrapped in foam and inserted behind the autopilot box. The computer interface
plate is left attached to the stack, but is also covered with foam and mounted on top
of the stack. Following this, the servo breakout board and servo control microcom-
111
CHAPTER 6. Flight Experiment Setup
puter are soldered onto a PCB, wrapped in foam and several layers of electrical tape
then inserted into the fuselage. Rudder shock absorbers are also placed between the
engine and the fuselage bulkhead to further reduce the effects of vibration. Figure
6.2 depicts the mounting positions of the avionics inside the fuselage. Not shown
are the positions of the batteries, which are secured inside the nose cone to place the
centre of gravity at a reasonable location. In addition, the location of the electronic
compass is also unseen; this component is mounted inside the left wing.
Figure 6.2: Clockwise from top: The MicroPilot autopilot box; the flight computer stackand interface plate; location of avionics inside the fuselage.
Due to the limited space inside the fuselage, several of the avionics components
are required to be mounted outside the aircraft. These components include the
second radio modem connected to the flight computer and its antenna, the autopilot
radio modem antenna, as well as the satellite antennas of the RC receiver and the
GPS antenna. Both the radio modem and GPS antennas are first attached to
separate backing plates in contact with the internal ground plane, before being
secured to the aircraft frame. The antennas are also located far apart from each
other to reduce the effects of electromagnetic interference. Figure 6.3 shows the
locations of the avionics outside the fuselage.
112
6.2. HARDWARE DESCRIPTION
Figure 6.3: Location of avionics outside the Boomerang UAV
Mobile Operations Centre
The ARCAA Mobile Operations Centre (MOC) is a modified Isuzu F-Series truck
capable of carrying all field equipment including the UAV, as well as up to five
ground operators. An expandable, air-conditioned trailer located behind the cabin
provides seating for crew members during flight operations, as well as a planning
table, computers and communications equipment. The HORIZONmp software is
hosted inside an Advantech ARK-3420 embedded industrial computer located inside
the trailer. This computer has an Intel® Core™ 2 Duo 1.6 GHz processor, 4 Gb of
RAM, and runs the Windows XP Professional operating system. A second computer
(Pioneer DreamBook Tough B30 with Intel® Core™ 2 Duo 1.6 GHz processor, 2 Gb
of RAM and running the Ubuntu operating system) is used to established a point-
to-point link with the radio modem of the flight computer once the aircraft is in
the air; this allows an operator to start the path planning and guidance software
when the aircraft is at the correct altitude, as well as to monitor the status of
the software. A Honda EU65is 6.5kVA petrol generator provides over 12 hours of
continuous operation for all ground equipment while in the field.
113
CHAPTER 6. Flight Experiment Setup
6.3 Software Description
In addition to the basic aircraft and mission control functions provided by the
HORIZONmp software, MicroPilot also accepts extensions to this program from
third party software that can access autopilot state data for enhanced control. The
XTENDERmp software development kit (SDK) provides a flexible set of functions
that allow the developer to easily design software that interacts with the autopilot,
and full details of the MicroPilot application programming interface (API) is con-
tained in the XTENDERmp manual (MicroPilot xTendermp Programmer’s Guide,
2008). The key points to note from the API are that
• The MP2128g autopilot is based on a microcontroller that stores state infor-
mation in memory referred to as ‘fields’.
• The API provides a method for setting ‘fields’ and a method for reading ‘fields’,
however, not all fields can be set.
In addition, the automated forced landing software architecture has been devel-
oped with the following premises:
• The path planning algorithm utilizing the 3-D Dubins curves is a simple,
sequential function, that is, for a given input a given output is produced.
This algorithm accepts as inputs the current and desired aircraft positions
and attitudes (roll, pitch, yaw), and outputs the desired descent flight path as
a series of ENU coordinates.
• The ENG and MPN guidance algorithms are also simple, sequential functions.
They accept as inputs the aircraft state information, including both positional
and attitudinal information, as well as positional information pertaining to the
desired flightpath, and output the desired pitch and roll angles for the aircraft
to follow the prescribed path.
The forced landing software is then integrated with the MicroPilot autopilot
using the following procedure.
1. The MicroPilot API method for reading ‘fields’ is used to obtain autopilot
state data for input to the ENG and MPN guidance algorithms. These el-
ements include the GPS positions and instantaneous aircraft roll, pitch and
yaw, the true airspeed, the wind velocity and the bearing.
2. The forced landing guidance algorithms are run with this data as input.
3. The guidance algorithms generate a desired pitch and roll command which are
then sent to the autopilot using the interface method for setting ‘fields’. Roll
and pitch angle limits of±20 degrees and−10 degrees have been enforced such
114
6.3. SOFTWARE DESCRIPTION
that the aircraft will not become unstable during manoeuvres. These values
were determined following analysis of the aircraft performance in simulation.
4. The pitch and roll error (difference between current and desired) are min-
imised by the autopilot control system, leading to updated state data.
5. Steps 1-4 are repeated at a rate of 25 Hz until the guidance algorithms have
aligned the aircraft for landing.
The MicroPilot autopilot control system uses a series of PID gain-scheduled loops
to maintain autonomous flight, and this setup is illustrated in Figure 6.4.
Figure 6.4: PID loop structure of the MicroPilot MP2128g autopilot (Source: MicroPilotAutopilot Installation & Operation, Stony Mountain, Manitoba Canada, 2008)
A flight plan (referred to by MicroPilot as a .fly file) is uploaded to the autopilot
prior to takeoff and defines which PID loops are active at any stage in flight, how-
ever, only the following two PID loops are of particular interest when preparing the
autopilot for use with the forced landing algorithms.
• Roll From Heading - This PID loop uses the error in the desired heading
(which is the output from either HDG From Crosstrack or Calculated HDG)
and the current heading to calculate the desired roll value.
• Pitch From Airspeed - This PID loop uses the error in the desired and current
airspeeds to calculate the desired pitch value.
Figure 6.5 depicts how these particular PID loops interface with the flight control
system of the aircraft.
115
CHAPTER 6. Flight Experiment Setup
Figure 6.5: Diagram showing how the Pitch From Airspeed and Roll From Heading PIDloops of the MicroPilot autopilot interface with the aircraft flight control system
Using the flight plan, it is necessary to deactivate both the Roll From HDG and
Pitch From Airspeed PID loops to prevent them from automatically calculating the
two ‘fields’ of interest, namely the desired roll and desired pitch. Instead, these
‘fields’ will be set at 25 Hz using the Micropilot® API, based on the output of the
forced landing guidance algorithms.
To disable the Roll From HDG PID loop is trivial and is explained in the
Micropilot® autopilot manual (MicroPilot Autopilot Installation & Operation, 2008).
The listing below shows the simple program required to disable this PID loop.
1 d e f i n e p a t t e r n 1 // Simple pattern
2 s e t c o n t r o l r o l l O f f , 0 // Disab le PID loop
3 wait 10 //Wait f o r 10 x 1/5 sec = 2 sec
4 repeat −1 //Keep wai t ing f o r an e x t e r n a l input
To disable the Pitch From Airspeed PID loop however, is non-trivial. When
an attempt is made to disable this loop using a similar method to that described
above, the autopilot no longer tracks the desired pitch, thus rendering pitch control
ineffectual. Hence, the Pitch From Airspeed loop is not disabled, but instead altered
such that it can translate errors between the desired and current airspeed to a desired
pitch value. This requires updating the proportional, integral and derivative control
parameters to the following values:
1. P = 1 deg/(feet/sec)
2. I = 0
3. D = 0
116
6.3. SOFTWARE DESCRIPTION
From the above it is clear that every 1 ft/sec error between the desired and
current airspeeds translates to 1 degree of pitch in a linear mapping. Then, if the
current airspeed is known, it is possible to set the desired airspeed to achieve the
desired pitch as shown below.
If the error, e(t) is given by
ev(t) = Vcur − Vde,�� ��6.1
Then the desired pitch, θdes in the Pitch From Airspeed loop is described as
θdes = KP ev(t) +KI
∫ev(t)dt+KD
d
dtev(t),
�� ��6.2
and setting KI and KD to 0 as stated above,
θdes = KP ev(t).�� ��6.3
Figure 6.6 shows a plot of the desired pitch values, compared to the actual values,
and illustrates the validity of this approach.
Figure 6.6: Plot showing the relationship between the desired (black) and actual (blue) pitchvalues over one second. The actual pitch values were obtained using a linear mapping of theairspeed to a pitch value.
117
CHAPTER 6. Flight Experiment Setup
6.4 Procedures for Testing the Forced Landing Software in
Flight
In order to verify that the forced landing path planning and guidance algorithms
will function as intended, a specific test scenario has been designed that assesses
every aspect of the 3-D Dubins Curves planning algorithm, as well as the ability
of the ENG and MPN guidance algorithms to follow the prescribed path. The
implementation of this test scenario is described below.
The forced landing flight tests are conducted at a remote airstrip located at
Burrandowan, in the state of Queensland, Australia. For these series of flight tests,
the aimpoints of the forced landing sites are assumed to be already calculated by the
MDMS, and are located one-third of the way into the landing sites, labeled as Site A
and Site B in Figure 6.7. In addition, the preferred directions of approach for landing
are also assumed to have been precalculated and are indicated by the blue arrows at
the start of each site. From the aimpoints, the approach points can be calculated,
and these are shown by the red triangles in the figure. The approach points are the
final waypoints to which the aircraft will be guided in flight tests. Although the
airstrip located between the selected sites (demarked by a yellow push pin) is also
suitable for use as a forced landing site, it is not used in these tests. The yellow push
pin also marks the location of the reference point for translating between the Earth-
Centred-Earth-Fixed (ECEF) and ENU Cartesian coordinate systems required by
the guidance algorithms.
The flight tests are conducted in the following manner. First, a pilot flies the
UAV under radio control from takeoff to approximately 800 ft and facing the general
direction of the starting point for a forced landing. Control will then be translated
to the HORIZONmp ground station software, which will guide the aircraft the re-
mainder of the way to the starting point. Once the aircraft comes within 50 m of
that point, the ground station software will reduce the throttle setting to idle, and
a ground operator will then start the onboard flight computer containing the path
planning and guidance code using a point-to-point radio modem link.
Since the operational ceiling has been limited by CASA to 1500 ft, the aircraft
will initially conduct only one spiral to lose altitude, before heading for the approach
point at Site A, located at an altitude of 460 ft. While en route to Site A, a
simulated low altitude condition will cause the UAV to head for Site B, which in
this test assumes the role of a more feasible site. The approach point at Site B
has an altitude of 100 ft. However, due to the differences in altitude between the
starting position and the approach points, a joining contour is required to link the
spiral path to the 3-D Dubins curve. Thus, not only will this test assess the ability
118
6.4. PROCEDURES FOR TESTING THE FORCED LANDING SOFTWAREIN FLIGHT
Figure 6.7: Aerial view of the Burrandowan test site. The two candidate landing sites arelabeled as Site A and Site B, and have their preferred direction of approach indicated by theblue arrows. Shown also is the reference point for translating between different coordinatesystems, the approach point and aimpoint for each site, as well as the starting waypoint forall forced landing descents (Source: Google Earth).
of the path planner to construct a feasible path that also accounts for the vehicle
dynamics, but will further test its replanning capability. In addition, the nature of
the path shapes will also challenge the ability of the guidance algorithms to follow
those paths.
The same test scenario described above will be repeated a number of times, with
any winds and/or wind changes being the only variable. After each test, the UAV
will be guided to land under RC. The flight logs will then be retrieved from the
aircraft before it is refuelled again for takeoff. At any time during flight, if the
pilot or ground operator judges that the aircraft has strayed too far from the test
location, or is otherwise at an unsafe position, control will be handed to the pilot
who will either stabilise the aircraft and attempt a go-around, or land the aircraft.
A schematic diagram illustrating the test procedure described above is depicted in
Figure 6.8.
Prior to conducting the actual flight tests, the forced landing scenario is run
inside the HORIZONmp simulator. This simulator is capable of simulating, amongst
other things, avionics and GPS failure, loss of flight control as well as winds, in
real-time, and is able to also accept user-configurable flight plans, written as a .fly
file. For simulation and for the actual flight tests, the same .fly file is used to guide
the UAV to the starting location and to be at the correct altitude and heading prior
119
CHAPTER 6. Flight Experiment Setup
Figure 6.8: Schematic diagram of the procedures followed in conducting the UAV forcedlanding flight tests
to the commencement of each test.
A screenshot of the HORIZONmp simulator is included in Figure 6.9, showing the
flightpath of the aircraft overlaying a map of the test site, as well as the percentage
of throttle, the attitude and altitude at any given time via the central instrument
display. Note also the six buttons located under the Patterns tab in the left sidebar,
which function as a manual overwrite to certain phases of the automated forced
landing flight plan during simulation. Firstly, the figure8 button is used to simulate
a basic figure-of-eight pattern to test that the autopilot PID controls are functioning
correctly. Once this has been established, the Forcelanding button is used to man-
ually switch to forced landing mode at any point in flight, should it be necessary to
do so. This causes the autopilot to stop receiving radio control or commands from
previously uploaded flight plans, set the throttle to idle, and begin receiving roll
and pitch commands from the forced landing guidance algorithms. The EngineKill
button shuts down the engine, following which the Forcedlanding button should be
pushed to activate the forced landing algorithms. Finally, the Esc-South causes the
aircraft to leave the starting location and head south, from which the orbit-right or
orbit-left button can be used to turn the aircraft left or right for a second attempt
at the flight test.
120
6.5. SUMMARY
Figure 6.9: Screen capture of the Horizonmp simulator program. This simulator allows anoperator on the ground to keep track of the aircraft throughout the flight, as well as issueany telecommands if required.
6.5 Summary
This chapter has presented in detail the equipment used for flight testing, the re-
quired modifications to existing hardware and software, as well as the procedures
followed in conducting the flight tests. It can be seen that a simple, yet effective test
scenario has been formulated to assess every capability of the forced landing path
planning and guidance software. It is expected that the results from these flight
tests will serve to verify the capabilities of the software developed in this research,
as well as provide critical feedback for any future enhancements to the algorithms.
121
7Discussion of Results
THIS chapter presents the results from both the computer simulations and ac-
tual flight tests. Firstly, results from the MATLAB® simulation environment
discussed in Section 5 are presented. Following this, results from flight tests carried
out at the Burrandowan test site in North-Western Queensland are discussed and
analysed.
Section 7.1.1 describes the results obtained from simulating the planning and
guidance algorithms that are based on piloted forced landing approaches (see Sec-
tion 3.1). The performances of the individual planning and their associated guidance
algorithms are first described. Following this, the results obtained from Monte Carlo
testing of the algorithms are compared and analysed.
Section 7.1.2.1 discusses the results obtained from simulating the 3-D Dubins
planning and 3-D nonlinear guidance algorithms (Sections 3.2.2 and 4.2). The per-
formances of these algorithms is also compared to that discussed in Section 7.1.1.
In Section 7.1.2.2, the results obtained from forced landing simulations, with
enhancements to the aforementioned 3-D planning and guidance algorithms are de-
scribed. These enhancements include the use of a connecting contour (Section 3.2.2.1)
to form a smooth descent path, a nonlinear vertical guidance algorithm that dis-
penses with complicated gain scheduling (Section 4.2.3), and an additional waypoint
for post-approach point gliding that reduces the miss-distance (Section 3.2.2.2).
These results are then compared to that discussed in Section 7.1.2.1.
Section 7.1.2.3 describes the results obtained from simulating a path replanning
scenario, using the improved algorithms. Here, the UAV is initially on course for a
selected site, but at some point in flight changes course to intercept a second selected
site.
Finally, results from flight testing are presented in Section 7.2. The flight tests
are designed to assess all functions of the 3-D Dubins planning as well as the ENG
and MPN guidance algorithms in a controlled environment (c.f. Section 6.4).
123
CHAPTER 7. Discussion of Results
7.1 Simulation Results
This section will first discuss results from simulations using the planning and guid-
ance algorithms adapted from piloted forced landing procedures. Next, simulation
results using the 3-D Dubins Curves and the ENG, FPFG and MPN nonlinear guid-
ance techniques are presented and analysed, followed by results obtained using the
third-party MicroPilot HORIZONmp Simulator.
7.1.1 Results from Algorithms based On Piloted Forced Landing
Procedures
Of particular interest to the earlier simulation experiments is how well the two
path planning algorithms that are based on piloted approaches, namely Algorithm
1 and Algorithm 2, will perform in varying wind conditions. To demonstrate this, a
comparison between simulated forced landings using each algorithm was conducted.
The UAV was initially located at (27◦24′′, 153◦7′′, 454′) and faced due East.
As can be seen from Figure 7.1, the Aerosonde UAV was able to navigate the
required track to fly (red path) using Algorithm 1, while compensating for changes
in the wind velocity. In this particular scenario, the wind direction was the same,
whereas the wind magnitudes were different every minute, as shown by the differing
lengths of the wind vectors (magenta lines). Notice also that the UAV could not
reach the aim point (AP) due to the strong head winds it encountered while en
route from the second overshoot waypoint (OS 2).
Using the same wind shifts for the second simulation, it can be seen from Fig-
ure 7.1B that Algorithm 2 produces a different flight path to that obtained with the
first. The UAV initially heads for the end base (EB) while continually assessing the
effects of the wind on its glide slope. After it has travelled a certain distance towards
the EB point, the path planner recalculates the glide slope gradient and realises that
this waypoint cannot be attained. The UAV then seeks for a new waypoint that can
be attained with its new glide slope, turning as it does so. While turning, the strong
cross winds have momentarily become head winds, thus providing the aircraft with
greater lift and a shallower glide slope. This causes the aircraft to initially head for
the EB point once again, before finally heading for the aim point (AP).
In both tests the UAV did not actually land within the designated area. However,
it was able to navigate to a distance within 500 m of the aim point. It should also
be mentioned that the apparent sharp turns in both flight paths are due to the large
sampling time of 10 seconds used for plotting.
Seeing that the performance of the different path planning algorithms cannot
be ascertained based on only one set of tests, a further 100 simulations were run
124
7.1. SIMULATION RESULTS
Figure 7.1: Forced landing results for a single case, for (A)-Algorithm 1, and (B)-Algorithm2
for each algorithm, with randomised initial aircraft positions, headings and wind
velocities. From the first simulation using Algorithm 1, seven landings had a radial
miss distance of greater than 1000 m from the aim point, and these were excluded in
further analysis as they were deemed to be spurious data points. Of the remaining
93 landings, 23 landings were within the site boundaries (confirmed by additional
testing), giving a landing success rate of approximately 26%.
For the second simulation using Algorithm 2, all landings were within 1000 m of
the aim point, and 52 landings were within the site boundaries. This corresponds
to twice the landing success rate of the first algorithm. Although this result is not
exemplary, it does represent a good baseline from which to further enhance the path
125
CHAPTER 7. Discussion of Results
planning and control algorithms, such that the landing success rate can be improved.
Results from the Monte Carlo simulations are summarized in Figure 7.2.
Figure 7.2: Monte Carlo simulation results — Algorithm 2 produces more landings withinthe designated landing site and closer to the aim point (≤ 200m) than Algorithm 1 (≤ 400m)
By comparing the frequency distributions for both Algorithms 1 and 2 (Fig-
ure 7.2), it can be seen that in general, Algorithm 2 outperforms Algorithm 1. The
distribution for Algorithm 2 is skewed towards the 200 m miss distance from the
aim point, while that for Algorithm 1 tends towards the 400 m miss distance. The
200 m miss distance can be explained by the fact that that is the required threshold
distance for successfully capturing a waypoint, as defined in Algorithm 2 (see Sec-
tion 3.1.2), while the 400 m miss distance is surmised to come from the UAV being
commanded by Algorithm 1 to aim for the far threshold of the landing site (400 m
from the aim point), once the aim point is passed (see Section 3.1.1). This additional
condition was imposed as it was observed from simulation that using Algorithm 1,
the UAV was sometimes still slightly too high at the aim point for touchdown. Thus,
it would also seem that the choice of a final impact point has affected the landing
accuracies of Algorithm 1.
The differences in the assigned distances between the waypoints used for the
algorithms could also have contributed to the differences in their respective distri-
butions. Recall that Algorithm 1 followed a scaled implementation of the standard
forced landing circuit pattern, while Algorithm 2 retained the standard circuit pat-
126
7.1. SIMULATION RESULTS
tern. The fact that Algorithm 1 did not include a capacity for adjusting the flight
path due to wind changes, as opposed to Algorithm 2, could also have resulted in
the larger miss distances associated with that algorithm, although both algorithms
could correct for changes to the aircraft heading due to wind, while en route between
two waypoints.
In both cases, the aircraft pitch attitude was kept at approximately 3 degrees
for landing and the aircraft flaperons were not used. Should the pitch attitude be
adjustable, such as when on final approach to the aim point, and flaperons be used
to change the aircraft lift-to-drag characteristics, it is postulated that more landings
can be made within the designated area. The strong winds (maximum of 30 m/s
headwind) modelled in the simulation could also have prevented a large number
of landings from occurring within the designated area, as these winds were often
greater than the UAV airspeed of 19 m/s. The fact that the wind vector varied
every minute could have also resulted in the larger miss distances.
Thus, these results showed that Algorithm 2, which incorporated a reactive ap-
proach to changing wind conditions in planning a path to the landing site, out-
performed Algorithm 1, which could only correct for wind while en route between
waypoints, but could not change the flight path due to adverse wind conditions. The
52% landing success rate of Algorithm 2 was then used as a performance benchmark
to evaluate successive path planning and control algorithms, such that the landing
success rate could be improved.
7.1.2 Results from Algorithms based on Nonlinear Planning and
Guidance Techniques
This section will first discuss simulation results obtained using the 3-D Dubins
Curves planning algorithm, as well as the ENG and FPFG path following algo-
rithms. Following this, results obtained using the enhanced version of the 3-D Du-
bins Curves, and the ENG and MPN algorithms will be presented and analysed.
These results will then be compared with those obtained using the original 3-D
Dubins Curves, ENG and FPFG algorithms. Finally, results demonstrating path
replanning using the enhanced 3-D Dubins algorithm, together with the ENG and
MPN algorithms will be discussed and analysed.
7.1.2.1 Initial Results obtained using the 3-D Dubins Curves, ENG and
FPFG Algorithms
For the latter simulation experiments utilising the 3-D Dubins planning algorithm
discussed in Section 3.2.2), the ENG and FPFG algorithms described in Sections 4.2.1
and 4.2.2, and the Boomerang UAV model, a large number of simulations were per-
127
CHAPTER 7. Discussion of Results
formed in which both the aircraft heading and position, as well as the ambient wind
conditions were allowed to vary. For these experiments, perfect knowledge of the
wind conditions has also been assumed, albeit with provisions for errors in the sensor
readings. A sample of the test data is included in Table 7.1. Table 7.1a shows the
initial and desired final positions used to plan a path from 1640 ft to 500 ft in calm
conditions, while Table 7.1b shows the positions for a descent from 850 ft to 500 ft
in winds, with a maximum wind speed of 9 m/s. Note that as this research is con-
cerned with gliding flight, the required airspeed at the approach point is absorbed
by the flight path angle requirement at this point.
Table 7.1: Sample test data for the path planning and guidance algorithms. Table 7.1ashows the desired initial and final aircraft positions and attitudes for a descent from 1640ft to 500 ft in nil wind conditions, while Table 7.1b presents the desired initial and finalaircraft positions and attitudes for a descent from 850 ft to 500 ft in winds.
Figure 7.3 shows that in planning a path from a high initial altitude (Table 7.1a),
the algorithm generates the required number of helix spirals to “bleed off” the excess
altitude, before joining the spirals with the arc-line-arc Dubins path (solid black
line). This satisfies flight path angle constraints and prevents excessive stress to the
UAV structure. The horizontal and vertical track errors at the approach point are
0.3 m and 1.3 m, which are well within the stated tolerance and comparable to the
results obtained for other flight path angles.
The difference in altitudes between aircraft and path at the start is due to the
planning algorithm rounding the required number of helix spirals to the nearest
complete (360◦) spiral turn, to preserve the desired initial heading. Notwithstanding
this, the aircraft is still able to converge onto the path at Point A. However, at Point
B the aircraft descends below the path and reaches a maximum vertical deviation
of 600 ft at Point C (the horizontal error here was approximately 9 m), but recovers
to intercept the approach point with the errors stated above.
The relatively poor vertical path following in the first half of the descent is
caused by the use of a fixed airspeed in constructing the path, as it is not possible to
predict beforehand the actual airspeed due to the control actions. In a descent, the
128
7.1. SIMULATION RESULTS
Figure 7.3: Path planning and following for a forced landing from a high initial altitude innil wind conditions
varying airspeed results in a non-uniform loss in altitude. In addition, an aircraft
rolled into a continuous banking motion will also experience some amount of yawing
motion called sideslip, no matter how good the yaw damper may be; this in turn
increases the altitude lost. Thus, the amount of loss in altitude factored into the
path planning equations is ideal at best, and does not fully take into account the
associated loss in altitude due to varying airspeeds and other atmospheric effects.
Hence, the current solution relies on the path following algorithm being robust to
these uncertainties in guiding the aircraft to the desired approach point. A possible
alternative is to increase the path angle of the initial helices to more closely match
that of the straight segment, and/or increase the radii of the helices such that the
number of spirals is reduced. These will help reduce the amount of altitude loss due
to sideslips and a prolonged banking action.
Next, the performances of the path following algorithm in winds is shown (Ta-
ble 7.1b) and the results compared with those obtained using the original path
following algorithm in (Park et al., 2007), hereby referred to as the Unmodified
Nonlinear Guidance (UNG) algorithm. Two different wind scenarios are chosen for
illustration. Figure 7.4a shows the aircraft able to follow the desired path (solid
black line) in a 6 m/s south-south-westerly wind (green arrows), while Figure 7.4b
shows the aircraft following the prescribed path in changing winds from the north-
north-east and south-south-west. For the second case (Figure 7.4b), a degree of
129
CHAPTER 7. Discussion of Results
realism has been injected into the simulations, by including errors in the airspeed
and GPS velocity measurements, which in turn produce errors in the estimated wind
velocity. The error values and assumptions were discussed in Section 5.2).
Figure 7.4: Path planning and following in ambient winds, showing (a) Aircraft responsein 6 m/s wind from SSW; (b) Aircraft response in 0-9 m/s changing winds from NNE andSSW; (c) Horizontal and vertical track errors for case a; and (d) Horizontal and verticaltrack errors for case b.
In the scenario depicted in Figure 7.4b, the wind velocities have been pro-
grammed to vary in magnitude and direction every 20 seconds, with a maximum
wind speed of 9 m/s and with the vertical wind velocity kept constant at zero.
From Figure 7.5, it is seen that in the first 20 seconds there is calm, and then the
wind blows from 225◦ at approximately 6 m/s for the next 20 seconds. In the next
epoch it increases to approximately 9 m/s, before assuming a 180◦ phase change and
decreasing to approximately 3 m/s for the last 20 seconds. Although this constant
change in winds may not represent the actual conditions experienced during a forced
landing, it nonetheless presents a very challenging environment to test the robust-
ness of the guidance algorithms. Note that the green arrows in Figure 7.4 show only
the general direction of the incident wind vectors — the actual turbulence fields in
the longitudinal, lateral and vertical directions (including wind gusts and lulls) as
traversed by the aircraft are depicted in Figure 7.6.
130
7.1. SIMULATION RESULTS
Figure 7.5: Input winds for the scenario in Figure 7.4b, showing changes in wind speed overtime, and the errors between the expected (cyan) and actual (magenta) north and east windcomponent values.
Figure 7.6: Wind turbulence for the scenario in Figure 7.4b, showing examples of gusts andlulls in the longitudinal, lateral and vertical directions.
As shown in the top halves of Figures 7.4c and 7.4d, the path following algorithm
of this research produced lateral errors at the approach point of 1.8 m and 5.5 m
respectively (blue lines), while that of UNG was 14.1 m and 80 m for the two different
wind conditions (red dashed lines). Although UNG did not include a longitudinal
path following component, the vertical track error has nonetheless been plotted to
show what might have transpired had that lateral guidance algorithm, coupled with
the longitudinal guidance algorithm developed in this research, been used to follow
the path.
As shown in the lower halve of Figure 7.4c and Figure 7.4d, the vertical track
errors stemming from the ENG algorithm is approximately 1.2 m and 1.5 m respec-
131
CHAPTER 7. Discussion of Results
tively for the two wind conditions, while that for the case of UNG coupled with
the FPFG algorithm is 1.5 m and 100 m. Thus, it can be clearly seen that the
ENG path following algorithm is robust to wind perturbations and uncertainties in
wind measurements in both the semi-real and ideal conditions. This algorithm also
outperforms the UNG algorithm, especially in conditions with varying winds, where
it would seem that the UNG algorithm cannot deal appropriately with significant
changes (≥ 180◦) in wind directions. Further, the average lateral and longitudinal
path errors incurred whilst using the ENG and FPFG algorithms (for the two differ-
ent wind scenarios) are well within 100 ft, which as mentioned earlier is commonly
accepted as the maximum allowable path deviation for general aviation aircraft.
From the simulations, it has also been observed that the path following algorithm
is able to contain the errors at the approach point, within the stated tolerances, for
wind speeds not exceeding 7 m/s. In stronger winds, these errors can exceed 20 m
horizontally, and be up to 5 m vertically, or the aircraft may lose control and crash.
A possible explanation is that the small size and weight (5.55 kg) of the model
aircraft used, as well as the limited thrust available means that it cannot achieve
the necessary control authority to overcome strong winds and gusts.
It has also been observed from simulations that the vertical track error at the
approach point is greater than 7 m in sinking air of 1 m/s. Once again, this relatively
poor performance may be due to the structural and aerodynamic factors stated
above. However, when compared to previous work as discussed in (Eng et al., 2007;
Fitzgerald et al., 2007), the performances of the current algorithms are far superior.
It is believed that this improved performance may be largely due to the fact that
the airspeed and flight path angle have been allowed to vary to counter different
wind scenarios.
7.1.2.2 Improved Results obtained using the 3-D Dubins Curves, ENG
and MPN Algorithms
Following simulated testing with the ENG and FPFG algorithms, further simula-
tions were performed using the ENG and MPN algorithms. As noted earlier in
Section 4.2.2, the disadvantage of the FPFG algorithm is that it relies on the use of
multiple PID gain schedules to cater for a range of plausible wind conditions, and
hence is not ideal for real applications. However, the simplicity and robustness of
the MPN vertical tracking algorithm makes it ideally suited to real applications, and
for any type of aircraft.
In addition, the results obtained from Section 7.1.2.1 led to certain modifications
to the path planning algorithm. Firstly, a connecting contour is now used to connect
the descent path such that no offset exists between the aircraft and the start of the
132
7.1. SIMULATION RESULTS
path. Further, an additional waypoint is also used to direct the guidance algorithm
such that the aircraft continues tracking in a straight line once the final waypoint is
reached. This additional waypoint helps to reduce cross-track errors in high winds,
as well as help stabilise the aircraft for any subsequent path following actions.
Figure 7.7: Path planning and following for a forced landing from a high initial altitude innil wind conditions, with improved path planning and tracking algorithms
Figure 7.7 shows the descent from an initial high altitude, using the test data
supplied in Table 7.1a. As can be seen, the path (black line) now incorporates only
one spiral, which is joined to the arc-line-arc Dubins path via a connecting contour
AB. The slope of the Dubins path has also been adjusted such that it will not
exceed the maximum permissible path angle of the aircraft, and, having less spirals
means that the aircraft is less susceptible to instability from a prolonged banking
action.
As indicated by the blue line, the aircraft tracks the entire path very well, with
only a temporal deviation between A and C (due to the steeper descent path angle
used to track the connecting contour) before rejoining the rest of the path. The
lateral and vertical track errors at the approach point are 40 m and 7.6 m respec-
tively, with average track errors within 30 m. Where the aircraft deviates from the
path while following the connecting contour, the maximum lateral and vertical track
errors are approximately 100m and 10 m respectively. The large lateral miss dis-
tance at the approach point could be caused by the aircraft not having the required
control authority to quickly converge on the approach point, after it has recovered
133
CHAPTER 7. Discussion of Results
from the deviation at the connecting contour, since the amount of aileron deflection
is also limited for stability. In addition, the vertical track error at the approach
point, although greater than that resulting from the use of the FPFG algorithm, is
acceptable since it is generated from a more robust tracking algorithm that does not
require excessive tuning.
Figure 7.8: Path planning and following in ambient winds using improved planning andtracking algorithms, showing (a) Aircraft response in 0-9 m/s changing winds from NNEand SSW; and (b) Horizontal and vertical track errors for case a.
Figure 7.8 demonstrates the performances of the ENG and MPN algorithms in
changing winds, using the test data supplied in Table 7.1b, as well as the wind
turbulence and sensor errors described in Section 7.1.2.1. As shown in Figure 7.8b,
the lateral and vertical miss distances at the approach point are approximately 20
m and 12 m respectively, which, although larger than those incurred using the ENG
and FPFG algorithms, are still acceptable since they are generated from a robust
tracking algorithm. The average track errors are also within 30 m, which is the
stated maximum tolerance as discussed earlier.
7.1.2.3 Results demonstrating Path Replanning using the 3-D Dubins
Curves, ENG and MPN Algorithms
Next, a simulated path replanning scenario is presented (Figure 7.9). Here, the
aircraft is initially at an altitude of approximately 1400 ft, at a bearing of 180◦, and
is on course to intercept an approach point at 400 ft, at a bearing of 350◦ (Point
D), corresponding to a selected landing site. As the aircraft descends, circling to
lose altitude, strong crosswinds (maximum of 7 m/s) begin causing it to leave the
desired path momentarily (Point A), reaching a maximum lateral deviation of 120
m at Point B before rejoining the path at Point C. Due to the wind conditions, a
simulated decision from the MDMS requires the aircraft to change course and fly
134
7.1. SIMULATION RESULTS
Figure 7.9: Path replanning and tracking in ambient winds using improved planning andtracking algorithms, showing (a) Top view of the aircraft response in 0-9 m/s changing windsfrom the NNE and SSW; and (b) An oblique view of the same.
to a more feasible site. The approach point corresponding to this site is selected,
and the path planner then plans a path to this point at an altitude of 200 ft, and
at a bearing of 220◦ (red line). The aircraft alters course to track the new Dubins
path, however, strong crosswinds once again cause it to leave the path, reaching
a second maximum lateral deviation of 100 m at Point E before resuming course
towards the new approach point. The wind profile used in this simulation is similar
to that depicted in Figures 7.5 and 7.6.
The lateral and vertical track errors at the new approach point are approximately
20 m and 50 m respectively. Although these figures are relatively large, the reader
should remember that they are primarily induced by the strong and sudden wind
changes. However, comparing Figures 7.9a and 7.9b, it can be seen that the aircraft
is still capable of maintaining steady, straight flight once it has passed the approach
point (recall the use of an additional waypoint discussed in Section 3.2.2.2). This
is important should a subsequent path planner be engaged that guides the aircraft
from the approach point to touchdown.
7.1.3 Results from Simulations using the HORIZONmp Simulator
As noted earlier in Section 6.4, the planned forced landing scenario is run inside the
HORIZONmp simulator in real-time prior to the actual flight tests. When compared
to the MATLAB® Simulink models, this simulator is considered to provide a more
135
CHAPTER 7. Discussion of Results
Figure 7.10: Path replanning and tracking in nil winds using the HORIZONmp Simulator,showing (a) Top view of the aircraft response, and (b) An oblique view of the same. Theseresults are comparable to those obtained using the MATLAB® Simulink models.
Figure 7.11: Aircraft control response from a simulated forced landing descent in theHORIZONmp Simulator, showing good tracking of the input commands in (a) Roll and(b) Pitch.
136
7.2. RESULTS FROM FLIGHT EXPERIMENTS
accurate representation of the functions of the autopilot, and hence of the aircraft
during flight. Figure 7.10 illustrates the UAV flightpath when following the planned
route in nil wind conditions. The aircraft starts the forced landing descent at the
position indicated and completes approximately one-and-a-half spirals before joining
the standard Dubins path. At Point B, the path is replanned and the aircraft
follows the new route to arrive at the approach point. The lateral and vertical miss
distances at the approach point are 10 m and 20 m respectively. Considering that
the GPS receiver modelled has a nominal error of 10 m, these associated errors are
very reasonable. In addition, the average track error is approximately 30 m, which
is within the specified bounds, with a maximum deviation of approximately 30 m
laterally and 200 ft vertically at Point A.
The roll and pitch performances for the flight is depicted in Figure 7.11, and
show good tracking of the input commands with desirable control responses. The
brief oscillations around the 100 second mark are due to the guidance system at-
tempting to follow the switching action while the path is being replanned, which
prompts a change in the roll and pitch responses. These responses indicate that
the implementation of a hysteresis control loop may be desirable, however, as can
be seen from Figure 7.10, the oscillations have little to no impact on the overall
stability of the aircraft.
7.2 Results from Flight Experiments
A total of nine flights were completed between 23-24 September 2010, and Fig-
ure 7.12 depicts the various activities carried out as part of the forced landing flight
test. These activities correspond with the test procedure described in Section 6.4.
Moving in a clockwise direction, the top left photograph shows the UAV in flight.
The next photograph shows the pilot, who is on standby for takeoff and landing, as
well as to handle any emergencies. Following this, the ground station operator is
shown. This operator monitors the progress of the flight and the aircraft health via
the HORIZONmp software, as well as the status of the path planning and guidance
algorithms via a second notebook computer. The ground operator is also able to
communicate with the pilot at any time via UHF radios, as well as monitor the local
airspace and communicate with any other aircraft that may enter this restricted
airspace. Finally, the Mobile Operations Centre is shown. The expandable trailer
of the MOC allows the ground operator a clear view of the aircraft and surrounds
during operations.
From the flights, two specific cases have been chosen to illustrate the perfor-
mances of the path planning and guidance software. The first case is depicted in
Figure 7.13. Here, the UAV starts initially at a point slightly away from the planned
137
CHAPTER 7. Discussion of Results
Figure 7.12: Flight activities. Clockwise from top: The Boomerang-60 UAV in flight; thepilot, who is on standby for takeoff and landing, as well as any emergencies; the groundoperator, who communicates with the pilot via UHF radio and constantly monitors theprogress of the flight, and finally, the MOC which houses the ground operator and associatedcomputing and communications equipment.
forced landing start point, and facing in a direction different to that intended (due
South). This is seen in Figure 7.13a, and is primarily due to the placement of the
waypoints that are used to guide the UAV to the start point. These waypoints are
chosen in the HORIZONmp program, and are later amended as shown in the next
example. The UAV then attempts to follow the descent flight path indicated by
the black line, with the incident wind vectors (calculated by the autopilot) depicted
by the green arrows. The maximum wind speed encountered was 4.6 m/s, with an
average of 2.4 m/s, which is well within the speeds tested in simulation. However,
as seen in the figure, the UAV strays too far from the intended path while circling
to lose altitude before heading for the approach point at Point C. When the air-
craft is at Point A, the ground operator detects that the aircraft has passed below
a previously agreed minimum safe altitude. He then transfers control to the pilot
138
7.2. RESULTS FROM FLIGHT EXPERIMENTS
who then brings the aircraft in to land. Due to the large miss distance between
the aircraft and the intended path, the UAV never arrives at the intended approach
point (Point D), which requires replanning to be conducted. The red line, indicating
the replanned path, has been included merely for reference.
Figure 7.13: Results from flight test example 1. (a) Top view of flight path; (b) Obliqueview of the same; (c) Roll performance; (d) Pitch performance
An oblique view of the descent is shown in Figure 7.13b, and it can be seen
that vertical tracking is quite poor. A post flight analysis revealed that the GPS
altitude was used to calculate the pitch required, and since this information was
only available at 4 Hz, this could have been one of the main causes of the large
track error observed. This error was corrected in subsequent flights by using the
barometric altitude. Considering a log of the pitch values plotted in Figure 7.13d,
it would also seem that the commanded pitch assumed the form of a hysteresis
controller. This can be explained by the lookup table used to convert from desired
airspeed to desired pitch (Table 4.1), where an airspeed of greater than 24.5 m/s
translates to a pitch angle of -10 degrees, and -14 degrees is the maximum pitch angle.
The value of -10 degrees was chosen in this experiment as the maximum permissible
pitch command to afford a measure of safety and guard the aircraft from diving
139
CHAPTER 7. Discussion of Results
too steeply. However, this consideration was later shown to be too conservative, as
subsequent flights revealed that at -10 degrees the aircraft was travelling too slowly,
almost at the stall speed. It would also seem from Figure 7.13d that the autopilot
pitch controller did not have enough authority to follow the commanded pitch, or
the aircraft had a rate of pitch that prevented it from achieving tight following of
the pitch commands, even though Figure 6.6 has indicated otherwise. The fact that
the autopilot PID gains were previously tuned for an aircraft weight of 7.4 kg, as
opposed to the actual takeoff mass of 7.8 kg may also have contributed somewhat
to the vertical track error.
Considering the roll performance in Figures 7.13c, it can be seen that the actual
roll follows the commanded roll quite well, albeit with an offset; this could be simply
due to air turbulence affecting the longitudinal motion of a light aircraft. However,
when comparing the commanded roll with that obtained in simulation, it seems that
the former is much less than that required for tight path following. Since the airspeed
is used in calculating the required lateral acceleration and hence the required roll
(see Eqn. 4.6), the low airspeed attained could have contributed to this error.
The momentary large peaks in the actual roll and pitch angles towards the end
were caused by the switch from CIC to PIC mode, when the pilot resumed control of
the aircraft. Finally, the fact that the normal modes of roll and pitch control as used
in the MicroPilot were circumvented to accept inputs from the guidance software,
as described in Section 6.3 may have also contributed to the noisy signals received,
such as the spikes in the commanded pitch, as it is possible to have bypassed any
internal noise filters in the process.
The second case is depicted in Figure 7.14, and shows the UAV initially starting
at the correct location and with the correct heading. The wind velocities are indi-
cated by the green arrows, with a maximum wind speed of 3 m/s and and average
wind speed of 2.2 m/s. In this test, the barometric altitude was used instead of the
GPS altitude, as it is more accurate for low altitude flights. Secondly, the maximum
permissible pitch angle has been increased to -14 degrees, as per Table 4.1. Finally,
it was noticed from the previous flight that the airspeed was used in calculating the
roll angle, instead of the ground speed (see Eqns. 4.14 and 4.23), and this could have
resulted in the aircraft flying near the stall speed as stated previously. Hence, the
GPS speed was taken as the input in calculating the lateral acceleration in this test.
As seen in Figure 7.14b, the vertical track error does improve, yet at the cost of
the horizontal track error (Figure 7.14a). Further, when comparing Figures 7.14c
and 7.14d, it can also be seen that the roll performance is still much better than that
of the pitch, albeit with a noticeable lag in response. This lag could be attributed
to the GPS update rate of 4 Hz, and the poor performance in pitch, as well as the
noisy input signals, to the reasons discussed in the previous example.
140
7.2. RESULTS FROM FLIGHT EXPERIMENTS
Figure 7.14: Results from flight test example 2. (a) Top view of flight path; (b) Obliqueview of the same; (c) Roll performance; (d) Pitch performance
With these results, it is deemed that more testing needs to be conducted with
the autopilot to determine the relationship between a given roll and pitch and the
actual response, as they do not reflect the results obtained using the HORIZONmp
Simulator, let alone that obtained using the MATLAB® Simulink models. The
MicroPilot autopilot was sourced from a third party and has been treated as a closed
system in the tests, with only simulated responses used to judged its applicability to
the project at hand. It should also be noted that the autopilot PID gains were tuned
for the UAV in flight following the recommended settings from the manufacturers,
using waypoints that are spaced tens or even hundreds of meters apart. With these
waypoints, generally a larger track error is tolerated, which is detrimental to the
flight path required to be flown in this research, with waypoints spaced mostly
within a meter distance of each other.
After further consideration of the nature of the vertical guidance (MPN) algo-
rithm (Section 4.2.3) and the MicroPilot PID loop structure shown in Figure 6.4, it
is decided that future testing will be conducted using a two-pronged approach. The
first strategy will use the Pitch From Altitude control loop to determine whether
141
CHAPTER 7. Discussion of Results
it is possible to control the aircraft pitch using a modification of Eqn. 4.28, and
the second strategy will use the Pitch From Airspeed control loop and Eqn.4.41 to
control the aircraft pitch. The reason that the Fixed pitch control loop will not be
used is that preliminary testing has indicated that it functions in an unpredictable
manner to input pitch commands, and so is unreliable. Future tests will also seek
to use an electronic compass calibrated to a greater degree of accuracy than that
stated in Section 6.2, as this can also affect the accuracy of the lateral path following
algorithm.
7.3 Summary
This chapter has presented detailed results from both the simulated and actual
forced landing flight experiments. From the MATLAB® simulations, it is clear
that the 3-D Dubins planning and nonlinear guidance algorithms perform much
better than those based on piloted forced landing approaches, with path tracking
accuracies that emulate those of manned, powered aircraft. In particular, the ENG
and MPN algorithms are robust and function very well in strong, changing winds,
even in wind speeds up to one-third of the aircraft airspeed. When coupled with
the enhanced 3-D Dubins path planning algorithm, they allow a UAV to navigate
to the desired landing site/s using a reconfigurable flight path that accounts for
the aircraft dynamics. The planning software can also be easily integrated with
any subsequent planning algorithms that take the UAV from the approach point to
touchdown. Simulated testing using third-party MicroPilot software have also served
to further verify the performances of the planning and guidance algorithms, with
results comparable to those obtained in MATLAB® Simulink. However, during
flight trials, an incongruence between the simulated and actual test results was
observed, although the latter results were still reasonable. This incongruence has
been attributed largely to a lack of knowledge concerning the internal functions
of the autopilot hardware, which has been treated as a closed system in the tests
described. In light of this, it is recommended that any further testing should first
seek to determine the true relationship between the commanded and actual roll and
pitch values using the autopilot, before trialling the suggested, new pitch control
strategies, as this control mode performed quite poorly in the flight tests.
142
8Conclusions
IN order to overcome the key impediments to widespread adoption of UAVs for
civil applications, they must be granted access to the NAS. Before this can
transpire, however, certain safety prerequisites must be satisfied. In particular, as
stipulated by the FAA, CASA, and other regulatory bodies, UAVs must be able to
demonstrate an ELOS to that of manned aircraft. This is especially significant in
the case of an engine failure, which would require an immediate emergency land-
ing. Further, the ability to execute a successful forced landing remains the primary
indicator for safety in the manned aviation industry, and therefore also applies to
the unmanned aircraft sector. In what is believed to be a world-first, ARCAA
researchers are developing an automated system that allows a UAV experiencing
engine failure to execute an unsupervised forced landing, and with minimal, if any,
collateral damage.
In this light, this thesis has presented in detail the design, implementation and
testing of a novel Trajectory Generation and Guidance System, which incorporates
both the aircraft dynamics and wind information into the planning and control
processes. The TGGS is intended to function alongside the CSSS and MDMS in the
Flight Guardian automated UAV forced landing system, and contains a number of
novel contributions.
Firstly, in the area of path planning, two different classes of planning algorithms
were considered. The first was based on the descent flight pattern flown by pilots
during a forced landing, and included two algorithms, namely Algorithm 1 and
Algorithm 2. Although both algorithms were suitable for the UAV forced landing
problem, they relied on a constant glide speed, and an adjustment of the desired
path-to-track based on that glide speed. As shown in simulated tests, this presented
problems in changing winds, as well as led to possible instability in the case of
Algorithm 2.
In contrast, the second class of planning algorithms used simple geometric shapes
to plan the path as well as account for limitations in the aircraft dynamics. This is
143
CHAPTER 8. Conclusions
known as the 3-D Dubins Curves, and builds upon the 2-D techniques presented by
Dubins (1957) and Ambrosino et al. (2009, 2006) for powered aircraft to cater for the
dynamics of powerless flight in three dimensions. Not only is this planning method
able to provide a smooth, connected path between any starting and goal location,
and for any aircraft attitude, it is also versatile enough that a new path can quickly
be constructed should the original path be deemed unsuitable. This replanning
capability is most advantageous when the aircraft encounters strong winds that it
cannot overcome, or a better landing site is selected by the MDMS. In addition,
the path formed by the 3-D Dubins Curves can be safely negotiated by an aircraft
flying at changing airspeeds, and also aligns the vehicle for a stable, wings-level
descent once it has passed the approach point. This is a necessary prerequisite for
any subsequent planning action that guides the aircraft from the approach point to
touchdown.
Secondly, in the area of guidance, two classes of algorithms were again consid-
ered. The initial class used the great-circle navigation method for guidance, and
incorporated wind correction and waypoint tracking methods commonly employed
by human pilots. Although this strategy is simple to implement, it nonetheless
exhibited problems with accuracy in path tracking due to assumptions regarding
sideslips, and the fact that it did not employ a dedicated longitudinal path following
strategy. In addition, the intuitive method utilized to control the roll and yaw, as
well as a fixed airspeed to control the altitude may have been inadequate to cor-
rect for cross-track errors in strong or changing winds. Hence, as observed in the
simulated results, when this class of algorithms was combined with the planning
algorithms based on piloted forced landing approaches, the cross-track errors at the
approach point averaged approximately 200 m in winds. This is much greater than
that specified in Section 1.1, that is, no greater than 10 m (approximately 30 ft) in
both the horizontal and vertical directions.
The second class of algorithms attempted to address these problems by employ-
ing a different guidance strategy, in which the airspeed was allowed to vary and the
lateral and vertical guidance modes were decoupled. One lateral and two different
vertical guidance strategies were trialled. The ENG algorithm enhanced the work
done by Park et al. (2007) by including wind information in the guidance logic, and
a yaw damper to deal with sideslips. The algorithm then made use of accelerative
forces, derived from the geometric relationship between the aircraft and the desired
path, to generate the roll angles for lateral control. The commanded roll angles
in turn rotated the aircraft in such a way that it rapidly converged on the path-
to-track, with a new method utilising the geometric relationship between aircraft
and path used to determine the direction to roll. The FPFG algorithm utilized the
MacCready theory to determine the optimal speed to fly in winds, which was sub-
144
sequently converted to a desired pitch angle for longitudinal path following. As has
been alluded to repeatedly, the main disadvantage of this method is that it relied on
a complex array of PID gain schedules to deal with possible wind shift scenarios, and
so is not suitable for real applications. Finally, the MPN algorithm built on the idea
presented in the ENG algorithm, and that of proportional navigation theory, along
with its own specific methods in the algorithm formulation, to derive a new vertical
guidance algorithm. This algorithm incorporated the path angles and wind informa-
tion into the guidance process, and is robust enough for flight testing using any type
of aircraft. For all three algorithms, a novel method employing the geometric and
time relationship between the aircraft and path was used to ensure that the aircraft
could safely follow the path to completion, even in strong winds. As demonstrated
in simulations using MATLAB®, the cross-track errors at the approach point, when
using the 3-D Dubins Curves together with the ENG, FPFG and MPN algorithms,
averaged between 10 to 20 m in winds, which is a tenfold improvement over the
class of planning algorithms derived from human piloted approaches. In addition,
the simulated results demonstrate the ability of the gliding aircraft to follow the
prescribed path in winds, with average path deviation errors that are ≤ 30, which
is comparable to or even better than that of manned, powered aircraft.
Results from simulations using the MicroPilot HORIZONmp simulator have also
further verified the performances of the ENG and MPN algorithms, with results
comparable to those obtained using MATLAB® Simulink. However, the simulator
was not fully indicative of the actual performance of the autopilot, as subsequent
flight tests have shown. In particular, the pitch control exhibited fairly poor perfor-
mance when attempting to follow a commanded pitch attitude, and it would seem
from the results that this is due to the normal control mode for pitch being circum-
vented in favour of control processes more applicable to this research. The flight test
results also indicated that the pitch performance affected that of the roll, where not
enough roll attitude could be commanded to track the path due to the low airspeed
attained. Other factors were attributed to human error, however these were quickly
identified and addressed. In any case, the flight test results are inconclusive and
it is desirable to perform further testing with the autopilot to determine the true
relationship between a commanded aircraft attitude and the actual values obtained,
before implementing new pitch control strategies that align more closely with the
intended usage of the autopilot. These control strategies have been identified as
using either the change in altitude or the airspeed itself to control the pitch, rather
than calculating the pitch directly, and it is expected that these refinements would
improve the overall path following performance of the aircraft.
To summarize, the contributions of this research to the existing body of knowl-
edge were:
145
CHAPTER 8. Conclusions
• Algorithms 1 and 2, two algorithms that utilize piloted forced landing tech-
niques to plan a path from the point of failure to the landing site;
• The 3-D Dubins Curves path planner that caters for the dynamics of powerless
flight using simple geometric shapes;
• The ENG lateral guidance algorithm that accounts for wind and sideslips in
the guidance logic;
• The FPFG vertical guidance algorithm that seeks to optimize the airspeed for
gliding flight in winds, rising or sinking air;
• The MPN algorithm that calculates the required pitch to fly, is easily adapt-
able to any aircraft type, and more robust than the FPFG algorithm, and
finally;
• A novel method for ensuring smooth transition between waypoints in the
generated path.
From these contributions, the 3-D Dubins Curves, as well as the ENG and MPN
algorithms represent the key achievements. These achievements satisfy the two
research questions posed in Section 1.1, which concerned automating the path plan-
ning and guidance strategies for a UAV experiencing engine failure, such that the
unpowered aircraft can steer itself to a selected safe landing site with acceptable
cross-track errors in winds. In so doing, these achievements have provided a signif-
icant contribution to the field of UAV forced landing research, as well as supplied
a methodological framework model for future research in this area. To reiterate,
automating the forced landing capability for UAVs will greatly enhance their au-
tonomy and safety, which in turn helps facilitate their integration into the NAS.
Finally, it should be noted that the planning and guidance techniques developed in
this research are applicable not only to fixed-wing UAVs, but also to piloted aircraft
as a flight-assist system, and to helicopters for various tracking and point-to-point
flying tasks, where the objective is to navigate a smooth trajectory to the target.
Appendix C provides further details where the techniques developed in this research
have been applied to autonomous helicopters.
8.1 Future Work
Although the research presented in this thesis will significantly enhance the safety of
UAVs, and hence facilitate their integration into the NAS, it is believed that further
work could be done to help make this a reality.
Firstly, as alluded to earlier, additional testing needs to be conducted with the
MicroPilot autopilot to ascertain its ability to follow the roll and pitch commands,
and to trial the alternative methods proposed in Section 7.2 to improve the vertical
146
8.1. FUTURE WORK
path following performance. If these additional tests prove the autopilot inadequate
to carry out the assigned tasks, than a new autopilot system will need to be sought.
Secondly, another possible avenue for future research could be to include ob-
stacles in the descent flight planning scenario, which would serve to determine the
effect of any related replanning on the obtained performance. Being able to deal
with obstacles in the flightpath is a characteristic which will greatly enhance the
effectiveness of the 3-D Dubins Curves technique described in this thesis.
Thirdly, recall that this research does not take into account the events that
transpire once the aircraft has passed the approach point, where the aircraft could
be presented with obstacles such as trees, buildings, animals and other man-made
objects in its flightpath. To navigate these objects safely, a different planning algo-
rithm must be employed. It is assumed that by first overflying the selected landing
area, a nadir-pointing camera and/or laser scanner could be used to create a 3-D
model of that area which will then be stored in the on-board computer memory.
When the UAV turns to commence landing, a forward-looking camera can be used
to detect obstacles in front of the aircraft. Although this camera may not be able to
detect hidden or occluded obstacles due to its position, these positions could have
been detected during the overflight, and thus the UAV can then use this a priori
information to better plan a final, collision-free landing trajectory, which would also
include a flare manoeuvre preceding touchdown. Such a planning algorithm should
also account for the structural and dynamic limitations of the aircraft, and could
therefore utilize elements of the 3-D Dubins curves described in this thesis.
Finally, at the earliest stage, the TGGS developed in this research should be
integrated with the CSSS and MDMS to form the complete Flight Guardian UAV
forced landing system. This system should then be verified first in simulation and
then in flight.
147
9References
Airborne Delivery Challenge and Search and Rescue Challenge: Mission, Rules and
Regulations, Judging and Scoring Criteria (Tech. Rep.). (2009). Australian
Research Centre for Aerospace Automation.
Ambrosino, G., Ariola, M., Ciniglio, U., Corraro, F., Lellis, E. D., & Pironti, A.
(2009, July). Path generation and tracking in 3-D for UAVs. IEEE Transac-
tions on Control Systems Technology , 17 (4), 980-988.
Ambrosino, G., Ariola, M., Ciniglio, U., Corraro, F., Pironti, A., & Virgilio, M.
(2006). Algorithms for 3-D UAV path generation and tracking. In 45th IEEE
Conference on Decision & Control (p. 5275-5280). San Diego, CA.
Australian Bureau of Meteorology. (2007). The Wind Across Australia. Online.
Available from http://www.bom.gov.au/ (Accessed: June 24, 2007.)
Barraquand, J., Langlois, B., & Latombe, J. C. (1992). Numerical potential field
techniques for robot path planning. IEEE Transactions on Systems, Man and
Cybernetics, 22 (2), 224-241.
Berman, Z., & Powell, J. D. (1998). The role of dead reckoning and inertial sensors
in future general aviation navigation. In J. D. Powell (Ed.), Proceedings of the
IEEE Position Location and Navigation Symposium (p. 510-517).
Bernoulli, J. (1967). Opera, Tomus Secundus. Brussels, Belgium: Culture er
Civilisation.
Bethke, B., How, J. P., & Vian, J. (2008, June). Group health management of
UAV teams with applications to persistent surveillance. In American Control
Conference (p. 3145-3150).
Brandon, J. (n.d.). Forced Landing Procedures. Available from http://www.auf
.asn.au/emergencies/forcedlanding.html (Accessed: March 25, 2007.)
Bruggemann, T., Greer, G., & Walker, A. (2005). Gardsim - a GPS Receiver
Simulation Environment for Integrated Navigation System Development and
Analysis. In Proceedings of the Smart Systems Postgraduate Research Confer-
ence (p. 122-132). Brisbane, Australia.
149
CHAPTER 9.
Bruyninckx, H., & Reynaerts, D. (1997). Path Planning for Mobile and Hyper-
redundant Robots using Pythagorean Hodograph Curves. In International
Conference on Advanced Robotics. Monterey, CA.
Campbell, C. R. (2004). Method for Estimating Wind. U.S. Patent Application,
No. 6,807,468 B2. Washington, DC: U.S. Patent and Trademark Office.
Cao, B., Dodds, G., & Irwin, G. (1997). Constrained time-efficient and smooth
cubic spline trajectory generation for industrial robots. Proceedings of the IEE
Conference on Control Theory and Applications, 144 (5), 467-475.
CASA. (2007). Visual Flight Rules Guide (2nd ed.). Canberra: Civil Aviation
Safety Authority Australia (CASA).
Chitsaz, H., & LaValle, S. M. (2007). Time-optimal Paths for a Dubins airplane.
In 46th ieee Conference on Decision and Control.
C. Liu, W. C., & Hong, Z. (2007, August). A Trajectory Generator for a Mo-
bile Robot in 3-D Pathplanning. In Proceedings of the IEEE International
Conference on Automation and Logistics (p. 1247-1251).
Cobleigh, B. (2006). Ikhana: A NASA UAS Supporting Long Duration Earth Science
Missions (Tech. Rep. No. TR 20070026136-2007022414). NASA Dryden Flight
Research Center.
Corporation, T. Group. (n.d.). Teal Group Predicts Worldwide UAV Market Will
Reach Nearly $55 Billion. Available: http://tealgroup.com/. ([Accessed: Au-
gust 27, 2008].)
Dale, L. K., & Amato, N. M. (2001). Probabilistic Roadmaps-Putting it all To-
gether. In Proceedings of the IEEE International Conference on Robotics and
Automation (Vol. 2, p. 1940-1947).
Debadeepta, D., Geyer, C., Singh, S., & Digioia, M. (July 14-15, 2009). Pas-
sive, Long-Range Detection of Aircraft: Towards a Field-Deployable Sense and
Avoid System. In Proceedings of the 7th International Conference on Field &
Service Robotics (p. 5275-5280). Cambridge, Massachusetts.
DeGarmo, M. (2004). Issues concerning integration of Unmanned Aerial Vehicles
in civil airspace.
Dubins, L. E. (1957). On curves of minimal length with a constraint on average cur-
vature with prescribed initial and terminal positions and tangents. American
Journal of Mathematics, 79 , 471-477.
Eng, P., Mejias, L., Fitzgerald, D., & Walker, R. (2007, December). Simulation of a
fixed-wing UAV forced landing with dynamic path planning. In Australasian
Conference on Robotics and Automation. Brisbane, Australia.
Eng, P., Mejias, L., Walker, R., & Fitzgerald, D. (2010, November). Guided Chaos
- Path Planning and Control for a UAV Forced Landing. IEEE Robotics and
Automation Magazine, 17 (2), 90-98.
150
References
Etkin, B. (1972). Dynamics of Atmospheric Flight. John Wiley & Sons.
Etkin, B., & Reid, L. D. (1996). Dynamics of Flight Stability and Control. John
Wiley & Sons.
Farouki, R. T., & Sakkalis, T. (1994, June). Rational Pythagorean-hodograph space
curves. Advances in Computational Mathematics, 2 , 41-66.
Ferguson, D., & Stentz, A. (2006). Using Interpolation to Improve Path Planning:
The Field D* Algorithm. Journal of Field Robotics, 23 (2), 79-101.
Fitzgerald, D. (2007). Candidate Landing Site Selection for UAV Forced Land-
ings Using Machine Vision. Doctoral thesis, School of Engineering Systems,
Queensland University of Technology.
Fitzgerald, D., Mejias, L., Eng, P., & Liu, X. (2007, December). Towards flight
trials for an autonomous UAV emergency landing using machine vision. In
Australasian Conference on Robotics and Automation. Brisbane, Australia.
Frazzoli, E., Dahleh, M. A., & Feron, E. (2002). Real-time motion planning for agile
autonomous vehicles. AIAA Journal of Guidance, Control, and Dynamics,
25 (1), 116-129.
Frazzoli, E., Dahleh, M. A., & Feron, E. (2005). Maneuver-based motion planning
for nonlinear systems with symmetries. IEEE Transactions on Robotics [see
also IEEE Transactions on Robotics and Automation] , 21 (6), 1077-1091.
Fresnel Integrals. (1972). In M. Abramowitz & I. Stegun (Eds.), Handbook of
Mathematical Functions with Formulas, Graphs, and Mathematical Tables,
9th printing (p. 300-302). New York: Dover.
Frew, E., McGee, T., ZuWhan, K., Xiao, X., Jackson, S., Morimoto, M., et al.
(2004). Vision-based road-following using a small autonomous aircraft. In
T. McGee (Ed.), Proceedings of the IEEE Aerospace Conference (Vol. 5).
Frezza, R., Picci, G., & Soatto, S. (Eds.). (1998). A Lagrangian formulation of
nonholonomic path following. Springer Verlag.
Froeschner, C. P. (n.d.). UAS - Flying Safety, 2008. Available:
http://findarticles.com/. ([Accessed: Nov. 27, 2008].)
Garcia, C., Prett, D., & Morari, M. (1989). Model Predictive Control: Theory and
Practice. Automatica, 25 , 335-348.
Geyer, C., Debadeepta, D., & Singh, S. (May, 2009). Prototype Sense-and-Avoid
System for UAVs (Tech. Rep. No. CMU-RI-TR-09-09). Robotics Institute,
Carnegie Mellon University.
Gonzalez, J. P., & Stentz, A. (2005). Planning with uncertainty in position using an
optimal and efficient planner. In Proceedings of the IEEE/RSJ International
Conference on Intelligent Robots and Systems (p. 2435-2442).
Gonzalez, J. P., & Stentz, A. T. (2007). Planning with uncertainty in position using
high-resolution maps. In Proceedings of the IEEE International Conference on
151
CHAPTER 9.
Robotics and Automation (p. 1015-1022).
Griffiths, S., Saunders, J., Curtis, A., Barber, B., McLain, T., & Beard, R. (2006).
Maximizing Miniature Aerial Vehicles. IEEE Robotics & Automation Maga-
zine, 13 (3), 34-43.
Hart, P., Nilsson, N., & Rafael, B. (1968). A formal basis for the heuristic deter-
mination of minimum cost paths. IEEE Transactions on Systems, Man and
Cybernetics, Part A, 4 , 100-107.
Hota, S., & Ghose, D. (2010, Oct 18-22). Optimal Geometrical Path in 3D with
Curvature Constraint. In IEEE/RSJ International Conference on Intelligent
Robots and Systems. Taipei, Taiwan.
Hrabar, S. (2006). Vision-based 3D Navigation for an Autonomous Helicopter.
Doctoral dissertation, University of Southern California.
Hu, M. K. (1962). Visual pattern recognition by moment invariants. In Ire trans-
actions on information theory (Vol. IT-8, p. 179-187).
Hutchinson, S., Hager, G. D., & Corke, P. (1996, October). A tutorial on visual
servo control. , 12(5), 651-670.
Kavraki, L. E., Svestka, P., Latombe, J. C., & Overmars, M. H. A. (1996). Proba-
bilistic roadmaps for path planning in high-dimensional configuration spaces.
IEEE Transactions on Robotics and Automation, 12 (4), 566-580.
Kayton, M., & Fried, W. (1997). Avionics Navigation Systems (2nd ed.). John
Wiley & Sons.
Koenig, S., & Likhachev, M. (2002). Improved fast replanning for robot navigation
in unknown terrain. In Proceedings of the IEEE International Conference on
Robotics and Automation (ICRA) (Vol. 1, p. 968-975). Washington, DC.
Lai, J., Mejias, L., & Ford, J. (2010). Airborne vision-based collision-detection
system. Journal of Field Robotics, In Press.
Latombe, J. C. (1991). Robot Motion Planning. Norwell, Massachusetts: Kluwer
Academic Publishers.
LaValle, S. M. (2006). Planning Algorithms. New York: Cambridge University
Press.
Ma, Y., Kosecka, J., & Sastry, S. S. (1999, June). Vision guided navigation for a
nonholonomic mobile robot. IEEE Transactions on Robotics and Automation,
15 (3), 521-537.
McGee, T., & Hedrick, J. (2006). Path planning and control for multiple point
surveillance by an unmanned aircraft in wind. In Proceedings of the American
Control Conference. Minneapolis, Minnesota.
McManus, M. (2004). A multidisciplinary approach to highly autonomous UAV
mission planning and piloting for civilian airspace. Doctoral thesis, School of
Engineering Systems, Queensland University of Technology.
152
References
Mechlih, H. (1993). Sliding mode path control for an autonomous vehicle. In
Proceedings of the IEEE-IEE Vehicle Navigation and Information Systems
conference.
Mejias, L., Fitzgerald, D., Eng, P., & Liu, X. (2009). Forced Landing Technologies
for Unmanned Aerial Vehicles: Towards Safer Operations. In M. L. Thanh
(Ed.), Aerial Vehicles (p. 415-440). I-Tech Education and Publishing.
M. Hwangbo, J. K., & Kanade, T. (2007). Efficient Two-phase 3D Motion Planning
for Small Fixed-wing UAVs. In Ieee international conference on robotics and
automation.
Micropilot Autopilot Installation & Operation. (2008). Stony Mountain, Manitoba,
Canada: MicroPilot Inc.
Micropilot xTendermp Programmer’s Guide. (2008). Stony Mountain, Manitoba,
Canada: MicroPilot Inc.
Mondragon, I. F., Campoy, P., Martınez, C., & Olivares-Mendez, M. A. (2010, May
3-8). 3-D pose estimation based on planar object tracking for UAV control.
In IEEE International Conference on Robotics and Automation. Anchorage,
Alaska.
Nelson, D. R., Barber, D. B., McLain, T. W., & Beard, R. W. (2007). Vector field
path following for miniature air vehicles. IEEE Transations on Robotics, 23 .
Nelson, R. C. (1998). Flight Stability and Automatic Control (2nd ed.). McGraw-Hill
Higher Education.
Neto, A. A., & Campos, M. F. M. (2009, May 12-17). On the Generation of Feasible
Paths for Aerial Robots with Limited Climb Angle. In IEEE International
Conference on Robotics and Automation (p. 2872-2877).
Niculescu, M. (2001, January). Lateral track control law for Aerosonde UAV. In
39th AIAA Aerospace Sciences Meeting and Exhibit.
Nikolos, I. K., Valavanis, K. P., Tsourveloudis, N. C., & Kostaras, A. N. (2003).
Evolutionary algorithm based offline/online path planner for UAV navigation.
IEEE Transactions on Systems, Man, and Cybernetics, Part B , 33 (6), 898-
912.
Ozaki, H., Lin, C. J., & Shimogawa, T. (1999). A unified trajectory generation
algorithm for manipulators by using B-splines. In Proceedings of the IEEE
International Symposium on Assembly and Task Planning.
Park, S., Deyst, J., & How, J. P. (2007). Performance and Lyapunov stability of a
nonlinear path-following guidance method. Journal of Guidance, Control, and
Dynamics, 30 , 1718-1728.
Parkinson, B., & Spilker, J. (1996). Global Positioning System: Theory and Appli-
cations (Vol. 1 & 2). Washington, D.C.: American Institute of Aeronautics.
Pettersson, P., & Doherty, P. (2006, May-June). Probabilistic roadmap based path
153
CHAPTER 9.
planning for an autonomous unmanned helicopter. Journal of Intelligent and
Fuzzy Systems, 17 (4), 395-405.
Ping, Y., Mingyue, D., Chengping, Z., & Changwen, Z. (2004). A path replan-
ning algorithm based on roadmap-diagram. In Proceedings of the 5th World
Congress on Intelligent Control and Automation (Vol. 3, p. 2433-2437).
Pontryagin, L. S. (1986). The Mathematical Theory of Optimal Processes. Inter-
national Series of Monographs in Pure and Applied Mathematics, 55 (2).
Rathbun, D., Kragelund, S., Pongpunwattana, A., & Capozzi, B. A. (2002). An
evolution-based path planning algorithm for autonomous motion of a UAV
through uncertain environments. In Proceedings of the 21st Digital Avionics
Systems Conference (Vol. 2, p. 8D2-1-8D2-12).
Rathinam, S., Kim, Z., & Sengupta, R. (2006). Vision-Based Following of Structures
Using an Unmanned Aerial Vehicle (UAV) (Tech. Rep. No. UCB-ITS-RR-
2006-1). University of California, Berkeley.
Redelinghuys, C. (2007, May-June). A flight simulation algorithm for a parafoil
suspending an air vehicle. AIAA Journal of Guidance, Control and Dynamics,
30 , 791-803.
Rippel, E., Bar-Gill, A., & Shimkin, N. (2005). Fast graph-search algorithms for gen-
eral aviaton flight trajectory generation. AIAA Journal of Guidance, Control,
and Dynamics, 28 (4), 801-811.
Robson, D., Sciberras, M., & Whellum, P. (2002). An Aviation Theory Centre
Manual - Meteorology and Navigation for the Private and Commercial Pilot
Licences. Huntingdale, Australia: Aviation Theory Centre Pty Ltd.
Rubio, J., & Kragelund, S. (2003). The Trans-Pacific Crossing: Long Range Adap-
tive Path Planning for UAVs through Variable Wind Fields. In Proceedings
of the 22nd Digital Avionics Systems Conference (DASC) (Vol. 2, p. 8.B.4-81-
12).
Saffiotti, A. (1997). The Uses of Fuzzy Logic in Autonomous Robot Navigation
(Tech. Rep.). S-70182 Orebro, Sweden: Center for Applied Autonomous Sensor
Systems, Department of Technology, Orebro University.
Saripalli, S. (2009, August 10-13). Vision-based Autonomous Landing of an He-
licopter on a Moving Target. In AIAA Guidance, Navigation and Control
Conference. Chicago, Illinois.
Saripalli, S., Montgomery, J. F., & Sukhatme, G. S. (2003, June). Visually-guided
landing of an unmanned aerial vehicle. IEEE Transactions on Robotics and
Automation, 19 (3), 371-381.
Saripalli, S., & Sukhatme, G. S. (2007, April 10-14). Landing a Helicopter on a Mov-
ing Target. In IEEE International Conference on Robotics and Automation.
Rome, Italy.
154
References
Scheuer, A., & Fraichard, T. (1997). Continuous-Curvature Path Planning for Car-
Like Vehicles. In IEEE/RSJ international Conference on Intelligent Robots
and Systems.
Shah, M., & Aouf, N. (2009a). 3D Cooperative Pythagorean Hodograph Path
Planning and Obstacle Avoidance for Multiple UAVs. In IEEE International
Conference on Cybernetic Intelligent Systems. Birmingham, U.K..
Shah, M., & Aouf, N. (2009b). Dynamic Cooperative Perception and Path Planning
for Collision Avoidance. In 6th International Symposium on Mechatronics and
its Applications. United Arab Emirates.
Shakernia, O., Ma, Y., Koo, T. J., & Sastry, S. S. (1999, September). Landing
an Unmanned Air Vehicle: Vision-Based Motion Estimation and Non-Linear
Control. In Asian journal of control (Vol. 1, p. 128-145).
Shanmugavel, T. A. W. B., M., & Zbikowski, R. (2009). Co-operative path planning
of multiple UAVs using Dubins paths with clothoid arcs. Control Engineering
Practice, 18 , 1084-1092.
Shim, D. H., Hoam, C., & Sastry, S. S. (2006). Conflict-free navigation in unknown
urban environments. IEEE Robotics & Automation Magazine, 13 (3), 27-33.
Singh, L., & Fuller, J. (2001). Trajectory generation for a UAV in urban terrain,
using nonlinear MPC. In Proceedings of the American Control Conference.
Stentz, A. (1994). Optimal and efficient path planning for partially-known environ-
ments. In Proceedings of the IEEE International Conference on Robotics and
Automation (ICRA) (Vol. 4, p. 3310-3317).
Tanwer, A., Hussain, M., & Reel, P. S. (2010). Aerial Vehicle Based Sensing Frame-
work for Structural Health Monitoring. In S. Ranka et al. (Eds.), Contemporary
Computing (p. 71-83). Springer-Verlag.
Triggs, B. (2010). Motion-Planning for Nonholonomic Vehicles: An Introduction
(Tech. Rep. No. UCB-ITS-RR-2006-1). Oxford University Robotics Group,
Department of Engineering Science.
Tyrrell, G. (2008, November 27). UAVs to Patrol the Torres Straits. Retrieved from
www.uvs-international.org/pdf/yrbk 2006/78-80 Torres-Straits.pdf.
Velinov, I. (2008, November 27). NASA’s Ikhana Helps in California’s Firefighting
Effort. Retrieved from www.nasa.gov/centers/dryden/news.
Wegener, S., Schoenung, S., Totah, J., Sullivan, D., Frank, J., Enomoto, F., et al.
(2004). UAV Autonomous Operations for Airborne Science Missions. Retrieved
from http://ti.arc.nasa.gov/people/frank/aiaa wegener.pdf.
Wilde, D. K. (2010, Oct 11-15). Computing Clothoid Segments for Trajectory
Generation. In IEEE/RSJ International Conference on Intelligent Robots and
Systems. St. Louis, USA.
Wise, J. (2009, October 1). Civilian UAVs: No Pilot, No Problem. Retrieved from
155
CHAPTER 9.
http://www.popularmechanics.com/science/space/4213464.
Wong, K. C. (2001). Survey of Regional Developments: Civil Applications (Tech.
Rep.). University of Sydney.
Wu, P. (2009). Multi-Objective Mission Flight Planning in Civil Unmanned Aerial
Systems. Doctoral thesis, Australian Research Centre for Aerospace Automa-
tion, Queensland University of Technology.
Zarchan, P. (2007). Tactical and Strategic Missile Guidance (5th ed.). American
Institute of Aeronautics and Astronautics.
156
AState-Space Model of Boomerang UAV
A.1 Lateral Model
The following flight parameters were used when designing the lateral controller for
the Boomerang UAV.
Basic aircraft and atmospheric properties
TAS : U0 = 19 m/s;
Initial pitch : θ0 = 0;
Gravitational acceleration : g = 9.80665;
Aircraft mass : m = 5.555 kg;
Wing surface area : S = 0.598745 m2;
Wingspan : b = 1.81 m;
Mean wing chord : c = 0.33077 m;
Sea-level air density : ρ = 1.225 kg/m3;
Sea-level air pressure : Q = 0.5ρU02 kg.m-1.s-2;
Side force coefficient
Sideslip derivative : Cyβ = -0.18003;
Roll control derivative : Cyδa = 0;
Yaw control derivative : Cyδr = 0.094752;
Roll moment coefficient : Clβ = 0.00016255;
Yaw moment coefficient : Cnβ = 0.08028;
Roll rate derivative : Cyp = 0;
Yaw rate derivative : Cyr = 0.161225;
Roll moment coefficient
Roll rate derivative : Clp = -2.73435;
Yaw rate derivative : Clr = 1.1114;
Yaw moment coefficient
157
CHAPTER A. State-Space Model of Boomerang UAV
Roll control derivative : Cnδa = -0.022417;
Yaw control derivative : Cnδa = -0.0339;
Roll rate derivative : Clδa = -0.124873;
Yaw rate derivative : Clδr = 0.010209;
Gross moments of inertia
Ixx = 1.273 kg.m2;
Iyy = 1.348 kg.m2;
Izz = 0.528 kg.m2;
Ixz = 0.035 kg.m2;
From the above, the lateral directional derivatives can be obtained from (R. C. Nel-
son, 1998) and (Etkin & Reid, 1996) as
Yv = QSCyβ/m;
Yp = QSbCyp/(2mU0);
Yr = QSbCyr/(2mU0);
Lv = QSbClβ/Ixx;
Lp = QSb2Clp/(2IxxU0);
Lr = QSb2Clr/(2IxxU0);
Nv = QSbCnβ/Izz;
Np = QSb2Cnp/(2IzzU0);
Nr = QSb2Cnr/(2IzzU0);
Yδa = QSCyδa ;
Yδr = QSCyδr ;
Lδa = QSbClδa ;
Lδr = QSbClδr ;
Nδa = QSbCnδa ;
Nδr = QSbCnδr ;
and the derivatives of inertia are given by
I ′xx = (IxxIzz − I2xz)/Izz;I ′zz = (IxxIzz − I2xz)/Ixx;
I ′xz = Ixz/(IxxIzz − I2xz).
Now, the full lateral dynamics model of the Boomerang UAV can be expressed
in the basic aircraft matrix equation
x = Ax + Bc,�� ��A.1
158
A.1. LATERAL MODEL
in which x = [v p r φ]T and c = [δa δr]T , and
Alat =
Yv/m Yp/m (Yr/m− U0) g cos(θ0)
Lv/I′xx + I ′xzNv Lp/I
′xx + I ′xzNp Lr/I
′xx + I ′xzNr 0
I ′xzLv +Nv/I′zz I ′xzLp +Np/I
′zz I ′xzLr +Nr/I
′zz 0
0 1 tan(θ0) 0
=
−0.7724 0 −18.9671 9.8067
1.9247 −19.9149 7.7565 0
69.1314 −23.8689 −2.5966 0
0 1 0 0
,�� ��A.2
Blat =
1/m 0 0
0 1/I ′xx I ′xz
0 I ′xz 1/I ′zz
0 0 0
· Yδa Yδr
Lδa Lδr
Nδa Nδr
=
0 2.2582
−23.8289 1.5015
−11.7532 −15.2855
0 0
.�� ��A.3
The rudder servo transfer function can be approximated for small RC aircraft as
Hr =40
s+ 40,
�� ��A.4
and taking the control gain as Kr = -0.025, the rudder to yaw rate transfer
function is
−611.4s3 − 7838s2 + 1.097× 105s+ 5.226× 104
s5 + 63.28s4 + 2497s3 + 8.802× 104s2 + 1.011× 106s− 2.123× 105.
�� ��A.5
The roll angle to aileron input transfer function is given by
Gδaφ =φ(s)
δa(s)=
Lδas(Ixxps− Lp)
,�� ��A.6
and the aileron servo transfer function can be approximated as
Ha =1
0.025s+ 1.
�� ��A.7
From a plot of the root locus, it is desired to place a pole at s = −1/γ, where
γ = 2/3, giving the transfer function of the roll controller as
159
CHAPTER A. State-Space Model of Boomerang UAV
PDr = 0.6667s+ 1.�� ��A.8
This gives the forward path transfer function −PDr ∗Ha ∗Gδaφ as
Gforward =19.95s+ 29.92
0.03177s3 + 1.884s2 + 24.52s,
�� ��A.9
and, from observing the root locus of this transfer function, the roll controller
gain of Kφ = −10 is chosen.
Now, assuming a flap effectiveness parameter of 0.025 for both the ailerons and
rudder, and a time constant of τ = 3.5 sec for the washout filter, the closed-loop
system transfer function Gfeedback can be shown to be a 8th-order system.
4701s5 + 5.914× 104s4 − 5.297× 106s3 + 7.187× 105s2 + 2.556× 108s+ 7.284× 107
s8 + 103.6s7 + 1.143× 104s6 + 5.014× 105s5 + 1.531× 107s4 + 3.887× 108s3
+ 5.951×108s2 +1.39×108s.�� ��A.10
A.2 Longitudinal Model
In designing the longitudinal controller for the Boomerang UAV, the same basic
aircraft and atmospheric properties as for the lateral controller was used, however,
the following additional flight parameters were also included.
Aerodynamic coefficients
Lift force alpha derivative : CLα = 4.406;
Zero-lift drag : CD0 = 0.0075;
Pitch moment alpha derivative : Cmα = -3.31504;
Pitch moment alpha-dot derivative : Cmα = -20.4799;
Pitch rate derivative : Cmq = -41.4885;
Pitch control derivative : Cmδe = -0.79182;
Pitch control (elevator) derivative : CLδe = 0.3022;
Pitch control derivative in the z (downward) direction : CZδe = −CLδe ;
From the above, the longitudinal dimensional derivatives (R. C. Nelson, 1998)
can be obtained:
Zw = −(CLα + Cδ0)QS/(mU0);
Zδe = (CZδeQS)/m;
160
A.2. LONGITUDINAL MODEL
Mw = (CmaQSc)/(U0Iyy);
Mw = (Cmαc)/2U0)(QSc/U0Iyy);
Mq = (CmqcQSc)/(2U0Iyy);
Mδe = (CmδeQSc)/Iyy;
Now, expressing the short period approximate model in the basic matrix equation
xsp = Aspxsp +Bspδe,�� ��A.11
where δe is the elevator input, and
xsp =
[w
q
] �� ��A.12
Asp =
[Zw/m U0
Iyy−1(Mw + ZwMw/m) Iyy
−1(Mq + U0 ∗Mw)
]
=
[−0.9966 19
−3.9794 −12.9991
],
�� ��A.13
Bsp =
[Zδe/m
Iyy−1(Mδe +MwZδe/m)/Iyy
]=
[−1.2965
−18.7890
].
�� ��A.14
Adding that θ = q, such that sθ = q and taking the output as θ and the input
as δe, the following transfer function is obtained
Gθδe (s) =θ(s)
δe(s)=
1
s
q(s)
δe(s)
= [0 1](sI −Asp)−1Bsp
=−18.79s− 13.57
s3 + 14s2 + 88.56s.
�� ��A.15
Assuming the elevator servo transfer function to be the same as that of Equa-
tion A.4, the inner loop transfer function for the pitch controller can be shown to
be
Ginner =Gθδe (s)H(s)krg
1 +Gθδe (s)H(s)krg=
161
CHAPTER A. State-Space Model of Boomerang UAV
751.6s4 + 4.056× 104s3 + 4.859× 105s2 + 2.644× 106s− 1.023× 105
s6 + 108s5 + 3462s4 + 3.657× 104s3 + 3.173× 105s2 + 1.951× 106s+ 1.265× 107,�� ��A.16
where H(s) corresponds to the servo transfer function, and the inner loop control
gain Krg = −1.
However, the root locus for this closed loop system is unstable, therefore, a lag
compensator (integrator) is added in the outer loop to cause the locus to be pulled
back into the Left-Half-Plane. With the outer loop gain Ka set to 1, the feedback
transfer function of the system Gfeedback is
751.6s10+1.217×105s9+7.468×106s8+2.23×108s7+3.689×109s6+4.125×1010s5
+ 3.392×1011s4 + 2.296× 1012s3 + 1.127× 1013s2 + 3.325× 1013s− 1.295× 1012
s12 + 216s11 + 1.934× 104s10 + 9.426× 105s9 + 2.798× 107s8 + 5.486× 108s7
7.67×109s6 + 8.07× 1010s5 + 6.701× 1011s4 + 4.46× 1012s3 + 2.311× 1013s2
+ 8.261×1013s+1.588×1014.�� ��A.17
162
BMATLAB® Simulink Models
B.1 The Aerosonde UAV Model
Figure B.1: Simulink diagram of the Aerosonde UAV model
163
CHAPTER B. MATLAB® Simulink Models
B.2 The Boomerang UAV Model
Yaw
Yaw
Wind Profile
WindVel
Wind Correction
Current Hdg
VTAS
Vn
Ve
Vd
g
InputWinds
Flag
dGlideAngle
WindSpeed
WindDirection
True
1
Throttle
0
Switch 1
Stop Sim
when A /C
on gnd
STOP
Roll Angle
Roll
Reset
0
R2D
R2D
Pitch Angle
Pitch
Mixture
13
Longitudinal Control
Pitch
Pitch Rate
alpha
dPath
dPathWind
Flag
Control
g
nc
LOS_arg
Ve
Vn
Vd
NL_accln
e_flag
e_flag _future
h_miss
Elevator 1
Longitude
Lon
Latitude
Lat
Lateral Control
Roll
Roll Rate
Yaw Rate
Roll Cmd
Aileron
Rudder
Ignition
0
Hd Err
Guidance Law
ECEF
Vn
Ve
Vd
g
Bearing
Vw
phi_w
pitch
VTAS
AOA
dRoll
dPathAngle
Control
LOS_arg
ascmd _LOS
ascmd _NL
e_flag
e_flag _future
h_miss
Flap
0
False
0
ECEF Coords
ECEF
Demux
Demux
Demux
Demux
Demux
Demux
Boomerang UAV
Controls
Winds
RST
States
Sensors
VelW
Mach
Ang Acc
Euler
AeroCoeff
PropCoeff
EngCoeff
Mass
ECEF
MSL
AGL
REarth
AConGnd
Gravity
Attitude Determination
Pitch
Yaw
ACVec
Altitude
Alt
Airspeed
Airspeed
Aircraft Velocities
AircraftVel
Figure B.2: Simulink diagram of the Boomerang UAV model
164
CPath Planning for Target Tracking Using an
Autonomous Helicopter
C.1 Background
During the course of the Ph.D. candidature, the student was also awarded an Inter-
national Research Staff Exchange Scheme (IRSES) scientific research grant by the
Australian Academy of Science. The grant was used to help support approximately
three months of overseas research work with the Computer Vision Group (CVG)
at UPM in Madrid, Spain, under the direction of Professor Pascual Campoy. This
was carried out as part of the International Cooperative Program for Unmanned
Aerial Systems (ICPUAS) venture between QUT, UPM and Cranfield University in
England. Some of the primary objectives of this project are to:
1. Develop UAS frameworks for integration into civilian airspace under a regu-
lated context;
2. Advance the state-of-the-art in computer vision, control and trajectory plan-
ning for UAS through research;
3. Develop operational and safety procedures for UAS flight requirements such
that they can be implemented by regulatory bodies in their development of
UAS regulation policies; and
4. Generate business models for an effective technology transfer of UAS and
UAS technologies to society.
Such a program will also develop new channels for information exchange and for
providing high quality research to society. It will enable access to the diversified
skill sets and facilities of each partner organization, the exchange of simulated and
real flight test data between these organizations, as well as experiments to be per-
formed under different operational conditions and environments which will be highly
beneficial in validating the different research objectives.
165
CHAPTER C. Path Planning for Target Tracking Using an AutonomousHelicopter
910 mm
1190 mm
Figure C.1: Helipad target used for obtaining the image homographies. (Source: CVGImage Repository)
As part of its goal to help integrate computer vision technologies into indus-
trial applications, CVG is investigating the use of multiple-image homographies to
estimate the 3-D pose of planar objects (Mondragon, Campoy, Martınez, & Olivares-
Mendez, 2010), such as the landing pad depicted in Figure C.1, with respect to an
autonomous helicopter. The problem of extracting image features for landing tasks
is not new, having being studied as early as the mid 1990s, with notable examples
including the work presented by Ma, Kosecka, and Sastry (1999), Shakernia, Ma,
Koo, and Sastry (1999), Saripalli, Montgomery, and Sukhatme (2003), Saripalli and
Sukhatme (2007) and Saripalli (2009). However, outside the military, the specific
task of landing a helicopter on a moving target has only been studied by a handful of
researchers, with recent examples discussed in (Saripalli & Sukhatme, 2007; Saripalli,
2009), where image extraction using Hu’s Moments of Inertia (Hu, 1962) is combined
with the well-known Variational Hamiltonian and Euler-Lagrange equations to form
a reconfigurable 3-D flightpath. However, their method of feature extraction and
path formulation is different to the image processing techniques undertaken by CVG,
as well as the path planning techniques and method of implementation discussed in
this appendix.
In particular, the platform used for this research is a Rotomotion electric un-
manned helicopter equipped with an Xscale-based flight computer, on-board sensors
such as GPS, IMU and magnetometers, as well as a pan-tilt camera system. This
UAV also carries a VIA mini-ITX 1.5 GHz on-board computer with 2 Gb Of RAM
and Firewire camera support for image processing (Figure C.2). The computers
run the Linux operating system in a multi-client wireless 802.11g ad-hoc network
using Transmission Control and User Datagram Protocols (TCP/UDP), and allow
embedded applications to run on board the helicopter as it interacts with external
166
C.1. BACKGROUND
Figure C.2: Rotomotion electric helicopter UAV used for pose estimation flight experiments.The helicopter is carrying an Xscale-based flight computer, a pan-tilt camera system and aVIA mini-ITX 1.5 GHz on-board computer.
processes. The visual control system and additional external processes are also inte-
grated with the flight control through this layer using TCP/UDP messages. The ob-
jective is to then use the landing pad position estimates in a dynamic look-and-move
visual control system (Hutchinson, Hager, & Corke, 1996), such that the helicopter
can track and manoeuvre to a hovering position above that target. This can also
be considered a precursor to landing should it be necessary to do so, and is highly
advantages for applications such as traffic surveillance, police pursuit, security or
payload delivery.
Figure C.3: UAV on-board visual control system employing a dynamic look-and-move ar-chitecture. (Source: CVG Image Repository)
As shown in Figure C.3, the control architecture employed for tracking is es-
sentially position-based visual servoing (PBVS), where the error between the cur-
rent and the desired pose of the camera-UAV system is calculated and used by the
167
CHAPTER C. Path Planning for Target Tracking Using an AutonomousHelicopter
zc
xc
yc
Helipad coordinate system
π
O'
x
y
z
O
North
East Down
Camera coordinate system
U.A.V. coordinate system
Helipad
Figure C.4: Relationship between the helipad, camera and UAV coordinate systems (Source:CVG Image Repository)
low-level PID controllers on board the aircraft to generate the control signals for
positioning the UAV. A reference point in coordinates relative to the helipad is then
defined, and for landing this reference point is (0, 0, 0). Now, since the estimated
position of the helipad relative to the on-board camera coordinate system is known,
this reference point can be transformed to the helicopter body frame coordinates
and also used to generate the desired NED and heading commands. The relation-
ship between the different coordinate systems used for pose estimation is shown in
Figure C.4. However, a major disadvantage of using only a PID-based control sys-
tem for both path planning (positioning) and tracking (command following) tasks is
that it can become quite difficult to correct for noisy measurements, and may even
lead to instability if large gains are applied to correct for the errors. In addition,
such a control system is also unsuitable if the UAV is initially further away, or if the
target is moving (such as for landing on ships).
C.2 Path Planning for Target Tracking
A better solution to the PBVS problem described above is to provide the UAV
with a more robust and decoupled path planning and control system. Since the
168
C.3. RESULTS
on-board flight computer is already capable of tracking waypoint coordinates with
good accuracy using commercial software, it was decided to concentrate solely on
improving the planning system. To this end, it was decided that since the 3-D
Dubins Curves described in Section 3.2 showed promising results for fixed-wing
aircraft (Section 7.1), they could be modified to suit helicopters flying paths similar
to that of fixed-wing aircraft, such as when tracking moving ground targets. The
modifications are summarized below.
1. Firstly, the minimum turn radius is set to null (since a helicopter is capable
of turning on its own axis), however, for pursuit of a moving target, a bank
angle φ of up to 45◦ is allowed;
2. Secondly, the minimum and maximum allowable value on the path angle of
the straight segment, γline is now specified as being between 0◦ and −90◦,
and the helicopter is constrained to fly at a nominal speed VTAS of 5 cm/s
to provide a stable platform for the vision algorithms to run;
3. Thirdly, the circular manoeuvres to lose excess altitude described in Sec-
tion 3.2.2.1 have been removed from this planning algorithm as they were
suitable only for fixed-wing aircraft;
4. Next, the additional waypoint described in Section 3.2.2.2 has also been re-
moved; the helicopter will simply hover above the final waypoint once it has
been reached;
5. Finally, during replanning of the path, the helicopter will continue to receive
new target positions as they become available, and is not constrained to reject
additional information by a minimum altitude zbound. This is because since
the helicopter is engaged in powered flight, γline can, if necessary, be zero,
meaning that 2-D flight paths are possible.
To demonstrate the performance of the new planning algorithm, a number of
flight scenarios were conducted using Heli3D, the Rotomotion helicopter simulation
environment. This simulator also includes a ground station user interface for flight
monitoring and video output of the helicopter flightpath, and allows the source code
being tested to be uploaded to the real aircraft through a mere redirection of the
Internet Protocol (IP) address. The results obtained from simulation are described
below.
C.3 Results
Three representative cases have been chosen to illustrate the performance of the
path planning algorithm. Section C.3.1 details a simple planning scenario in which
169
CHAPTER C. Path Planning for Target Tracking Using an AutonomousHelicopter
the helicopter is required to track a stationary target. This scenario is then extended
in Section C.3.2 to include replanning for a new target during flight, while en route
to the first target. Finally, in Section C.3.3, the helicopter is tasked to track a
stationary target that begins moving during the flight.
All three examples share the same arbitrarily chosen initial conditions summa-
rized in Table C.1, where the xyz positions are simulated ENU coordinates of what
the image processing algorithm will provide to the path planner.
Position x(m) y(m) z(m) φ(deg) θ(deg) ψ(deg)
Init. 0 0 20 45 0 280Final 32.21 1.27 1 45 0 150
Table C.1: Initial conditions for autonomous helicopter path planning
Wind effects have not been considered in these simulations, as the Heli3D simu-
lator does not have provision for these events. However, CVG is currently developing
an enhanced version of the simulator which will allow wind effects to be modelled,
and it is expected that testing using this program will render a more accurate repre-
sentation of the helicopter performance. Notwithstanding, the Heli3D simulator is
adequate for the time being to demonstrate the performances of the path planner,
as well as the built-in control system for the target tracking tasks.
Figure C.5: Desired and actual helicopter flightpath while tracking a stationary target
170
C.3. RESULTS
C.3.1 Simple Path Following
In the first tests, the helicopter is required to construct a path to track a target
located at the final ENU position given in Table C.1. Figure C.5 shows that the
helicopter first ascends from a stationary position to Point A (the start of the path),
before descending to the target indicated as shown. Once over the target, the he-
licopter enters into hover mode and maintains an elevation of 1 m over the final
position; this is a function of the internal flight control system. As can also be seen,
the control system provides very good path following with negligible cross-track
errors.
Figure C.6: Desired and actual helicopter flightpath while tracking a shifting target, showing(a) Top view of the aircraft response, and (b) An oblique view of the same.
C.3.2 Replanning with Shifting Target
Once a simple target tracking capacity has been established, the helicopter is tasked
to track a target that shifts its position during flight. This shift may be the result of
a newly acquired target (either captured by the onboard camera or transmitted from
a ground station) being given more importance during a pursuit mission. As shown
in Figure C.6, the helicopter initially ascends to Point A at the start of the first
path, before heading for the target located at Point D, with the coordinates given
in Table C.1. At Point B, the helicopter is commanded to track a new target, and
begins replanning the path for intercept. Due to the small time delay between when
the new instructions were received and the actual realization of those instructions,
a small overshoot is incurred (Point C). However, it can be seen that the helicopter
quickly recovers to intercept the new target, located at (10.11, -2.38, 15) m. Once
again, very good path following is demonstrated.
171
CHAPTER C. Path Planning for Target Tracking Using an AutonomousHelicopter
Figure C.7: Desired and actual helicopter flightpath while tracking a moving target, showing(a) Top view of the aircraft response, and (b) An oblique view of the same.
C.3.3 Replanning with Moving Target
Following successful completion of the previous mission, a final tracking task is
assigned the helicopter. The target this time is initially located as in the preceding
examples, but now moves linearly (red line) while the helicopter is in the air to a
new location as shown. The xyz coordinates of the final target position are (48.73,
2.21, 1) m. As depicted in Figure C.7, the helicopter first plans a path to the
original target location and follows it, reaching the start of the path at Point A and
converging on the path at Point B. Around this time, the helicopter also begins to
receive updated positions of the moving target, and replans to intercept the new
target positions. The nature of the reconfigured paths (not shown) initially takes
the helicopter to Point C, but as seen in the figure, this divergence does not affect
the tracking performance of the helicopter, which is still able to converge on the
final target position.
C.3.4 Further Work
The results indicate that the modified 3-D Dubins Curves algorithm discussed can
be suitably applied to the helicopter target tracking problem. Currently, work is
172
C.3. RESULTS
underway to combine the image processing software with the path planner to form
an integrated target tracking system. This system will first be tested in simulation,
then later verified in actual flight tests.
173