Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Rob 21782

Download as pdf or txt
Download as pdf or txt
You are on page 1of 35

The AutoSOAR Autonomous Soaring Aircraft Part 1:

Autonomy Algorithms


Nathan T. Depenbusch John J. Bird † Jack W. Langelaan ‡
ndepenbusch@psu.edu jjbird@psu.edu jlangelaan@psu.edu

Department of Aerospace Engineering


The Pennsylvania State University
University Park, PA 16802

Abstract
Author Manuscript

Autonomous soaring has the potential to greatly improve both the range and endurance of
small robotic aircraft. This paper describes an autonomous soaring system that generates
a dynamic map of lift sources (thermals) in the environment and uses this map for on-line
flight planning and decision making. Components of the autonomy algorithm include ther-
mal mapping, explore/exploit decision making, navigation, optimal airspeed computation,
thermal centering control, and energy state estimation. A finite state machine manages the
aircraft behavior during flight and determines when changing behavior is appropriate. A
complete system to enable autonomous soaring is described with special attention paid to
practical considerations encountered during flight testing. A companion paper describes the
hardware implementation of this system and the results of a flight test campaign conducted
at Aberdeen Proving Ground in September 2015.

1 Introduction

Autonomous soaring has now been the subject of research for nearly two decades. Since the problem was first
addressed in detailed simulations (Wharington, 1998), several autonomous soaring UAVs have been developed
and subsequently demonstrated. The first such successful demonstration occurred in the summer of 2005
following numerous feasibility surveys in a simulated environment (Allen and Lin, 2007). In 2008, a fully
autonomous aircraft showed impressive endurance and range while competing successfully against human
piloted competitors in the Montague Cross Country Challenge for remote-controlled sailplanes (Edwards and
Silverberg, 2010). Recently, researchers have demonstrated cooperative operation of soaring aircraft with
promising results (Andersson et al., 2012a; Hazen, 2012).

The reports of such successful flights are notably fewer in number than those regarding simulated inves-
tigations. The typical approach to simulation employs a regularly shaped thermal model with a circular
cross-section and a strength that is greatest in the center and decreases radially (Allen, 2006). Commercial
flight simulation packages with advanced (but not openly shared) atmospheric models have also been used
to demonstrate developments (Cowling et al., 2009; Camacho et al., 2014; Daugherty and Langelaan, 2014).
∗ Graduate research assistant
† Graduate research assistant
‡ Associate Professor

This is the author manuscript accepted for publication and has undergone full peer review but has not been through the copyediting,
typesetting, pagination and proofreading process, which may lead to differences between this version and the Version of Record. Please
cite this article as doi: 10.1002/rob.21782

This article is protected by copyright. All rights reserved.


Because these simulations have relatively simple environmental models, many developments which show
promise in simulation are not robust enough for flight in a realistic environment. For example, thermals
often have inconsistent and irregular shapes (Andersson et al., 2012b), a fact that was observed during our
flight tests and that makes energy extraction more difficult. Methods have been developed to account for this
by fitting models to observed thermals in flight (Edwards, 2008a), using unscented Kalman filters (UKFs)
(Hazard, 2010), particle filters (Bencatel, 2010), and two-dimensional splines (Bird and Langelaan, 2012),
but not all of these approaches have been flight tested.

Even with small autopilots and computers available, realizing an autonomous soaring system is challenging
as several problems must be solved before an aircraft can be fielded. First, an effective soaring system must
be able to sense the surrounding environment and the motion of atmospheric currents. Second, the aircraft
must be equipped to make decisions to exploit energy and avoid sinking air. Third, the aircraft must consider
its energy state and that of the environment as it navigates.

This paper describes the design of the AutoSOAR (Autonomous Sailplane for Atmospheric Research) system,
a nearly complete set of autonomous soaring algorithms intended to be flown on an appropriate aircraft.
Author Manuscript

‘Nearly complete’ means that autonomous take-off and landing are not included, but all phases of soaring
flight (thermal detection, thermal latching and de-latching, thermal centering control, mapping, exploration,
and flight management) are addressed. The novel contributions of the work presented here are:

• energy state estimation and mapping of energy sources in the environment (denoted “atmospheric
map” — this atmospheric map comprises a wind map, a lift feature map and a lift occupancy map);
• control and guidance of flight based on the wind map (calculation of the reachable space based on
the thermal map, terrain, and winds) and on the lift feature map (evaluation of when mapped lift
sources should be exploited and which mapped lift sources should be exploited);
• algorithms for exploration based on the atmospheric map and on heuristic predictions of where
thermals are likely to occur based on terrain, solar incidence, ground cover, and where thermals
have been previously found.

Other components (for example, thermal centering control, thermal latching and un-latching) are adapted
from previous literature, and are covered here for completeness. In all cases, a strong focus on implementing
algorithms on a small single-board computer (here, an ODROID-XU4) drove algorithm design to easily
implementable, low computational overhead methods. Where appropriate, flight data is used to show the
utility of components of the soaring system. Note that all algorithms were supported by extensive simulation
(both in MatLab and hardware in the loop using the simulation environment supplied with the Piccolo
autopilot). In the interest of space these simulations are not discussed in detail here, but references to papers
describing earlier simulation results are given in the appropriate parts of this paper. More detailed flight
data (along with a description of hardware implementation) is given in the companion paper (Depenbusch
et al., 2017).

Autonomous soaring systems often feature aircraft following heuristic rules, which are typically based on the
tactics employed by human pilots. Many such rules are utilized in our work including optimal flight speed
selection (MacCready, 1958; Cochrane, 1999b), preferential exploration of regions with promising features
(Pagen, 1992; Reichmann, 1978), and thermal climbing strategies. Of particular interest to researchers have
been the strategies by which the climb rate of an aircraft is maximized when in thermal lift. These include
opportunistically changing turn direction during a climb (Akos et al., 2010), feedback control on measured
changes in lift strength (Allen and Lin, 2007; Andersson and Kaminer, 2009), and extremum seeking methods
to identify the optimal orbit radius around an estimated thermal center (Daugherty and Langelaan, 2014).

Techniques developed for mapping the convective boundary layer range from grid-based methods (Bower
et al., 2010; Depenbusch and Langelaan, 2011) to Gaussian Process Regression (Lawrance and Sukkarieh,
2011). Information is introduced into these maps from measurements taken by soaring aircraft during

This article is protected by copyright. All rights reserved.


flight. These approaches have relied primarily on the uncertainty in a map of the wind to guide exploration
behavior. More complex exploration strategies, such as seeking regions of high solar incidence, have been
examined in simulations (Andersson et al., 2009; Cheng and Langelaan, 2014). Earlier work by the authors
has demonstrated via simulation that even rudimentary maps improve endurance of a soaring aircraft by a
factor of two (and cooperative mapping by a team of soaring aircraft improves endurance significantly more)
(Depenbusch and Langelaan, 2011; Cheng and Langelaan, 2014) Recently, exploration behaviors which
minimize uncertainty in a map of the environment have been further refined (Chung et al., 2014).

With some knowledge of the environment and uncertainty, strategies for planning paths have been developed
(Chakrabarty and Langelaan, 2011). Applications have been developed where thermal soaring and energy
exploitation have been integral to the mission (Cobano et al., 2013; Cutler et al., 2010; Makovkin and
Langelaan, 2014; Acevedo et al., 2014). Missions that an autonomous soaring aircraft would be well suited
for include persistent surveillance, observation of atmospheric phenomena (Zhang, 2012), and to bolster
communication networks (Andersson et al., 2012a).
Author Manuscript

2 System overview

The developments that follow cover the high-level components of an autonomous soaring system. In this
work, the aircraft is assumed to be equipped with an autopilot acting as a low-level vehicle controller while
the AutoSOAR system runs on a separate onboard computer (the “payload” computer).

Behavior is distributed to control and navigation Aircraft state is distributed to all components
systems. Inactive components cease
publishing until switched back on Thermal Centering
Finite State Machine Autopilot Interface
and Climb Control

Energy state and energy rates


Atmospheric Mapping Destination Selection Groundstation Interface
distributed to all components

Energy State Computation Lift Feature Identification Speed Selection Energy State
Aircraft State Aircraft State
Status Information

Airspeed Commands
Enable/Disable Autonomy Waypoints
Manual Pilot Console Airspeed Hold
Manual Reversion Commands Bank Angle Commands
Motor Enable/Disable

Groundstation Computer 900 MHz Radio Link 900 MHz Radio Link Bank Angle Hold

Aircraft State
Soaring System Monitor Energy State Waypoint Tracking Autopilot State Filter
Status Information

Aircraft Servo Output Altitude Hold Sensors

Figure 1: System diagram for the AutoSOAR autonomous soaring system. Boxes in blue show autopilot
functions. Green boxes show the on-board autonomy system. Yellow boxes indicate the ground system used
for monitoring only. Arrows indicate the flow of information through the system. Dashed lines and italicized
fonts indicate conceptual, rather than direct messages, simplified for clarity.

Figure 1 presents a diagram of the AutoSOAR system. Within this architecture, the autopilot (blue boxes)
provides a stream of sensor information to the payload computer which runs the soaring system. Additionally,
the autopilot executes low-level control of the vehicle by actuating control surfaces to track outer-loop
commands (airspeed, bank angle, destination waypoint, etc.). The outer-loop commands originate exclusively
from the payload computer when the autonomous soaring system is active.

This article is protected by copyright. All rights reserved.


The challenges faced by an autonomous soaring aircraft require numerous systems to simultaneously analyze
and interpret data. Because of this, the vehicle software uses the Robot Operating System (ROS) (Quigley
et al., 2009) which facilitates exchange of information between distributed processes. Each of the functional
components is implemented on the flight computer as a ROS node. As an example, separate nodes com-
municate with the autopilot, estimate the aircraft energy-state, and construct maps of the environment. A
simplified diagram of all system processes is depicted by the green boxes in Figure 1.

The energy state computation block computes aircraft total energy and its first two derivatives as well as
estimates of vertical and horizontal wind speed (Section 3.2). All components subscribe to the published
energy and energy rate data. The atmospheric mapping block uses estimates of vertical wind and energy
rates to generate a map of vertical wind speed (Section 3.3). This wind map is processed to calculate the
glide footprint (Section 4.1) and to identify useful lift (Section 3.4). The lift feature map is used to compute
optimal speed to fly using a variant of MacCready speed to fly (Section 4.2); it is used in combination with
the atmospheric map to select destinations for exploration (Section 5.1) or exploitation of vertical air motion
(Section 5.2). When a thermal is encountered (either because it was deliberately sought or because it was
randomly encountered), the thermal centering control seeks to maximize climb rate by estimating the center
Author Manuscript

of the thermal, determining the turn radius that maximizes climb rate, and following the resulting trajectory
(Section 4.3).

In all, the AutoSOAR system involves the interaction of 18 separate nodes. While there is overhead associated
with running 18 ROS nodes, the resulting modularity means that various sub-components are easily switched
and modified. Both hardware in the loop tests and flight tests showed that the overhead was manageable
on the payload computer (an ODROID-XU4).

The hardware separation of the flight controller and the computer engaged in high-level autonomous soaring
calculations allows control of the aircraft to be maintained regardless of the system load on the payload
computer. This frees the soaring computations from hard real-time requirements. Additionally, the au-
tonomous soaring system is made agnostic to the low-level controller used (provided it can follow a basic set
of commands), further increasing its applicability to other soaring aircraft.

3 Perception and mapping

3.1 Aircraft performance model

The speed polar for the aircraft is a simple yet useful description of the aircraft’s aerodynamic performance
over a range of flight speeds. As shown in Figure 2, the speed polar relates airspeed to expected sink rate in
still air and in steady flight. A speed polar is typically generated by taking measurements of the aircraft sink
rate across a range of airspeeds (Edwards, 2008b) (the speed polar and L/D curves for the SB-XC aircraft
shown in Figure 2 were generated from a combination of data in (Edwards, 2008b) and from AutoSOAR
flight data).

A quadratic function of airspeed is often used to approximate speed polar over a nominal speed range
(Reichmann, 1978).

ws (va ) = a va2 + b va + c (1)

This low-order model will be used repeatedly in the following development to capture the expected perfor-
mance of the aircraft. Note that in steady-state (constant airspeed) gliding flight, the sink rate is exactly
equal to the rate of change of specific total energy (i.e. specific power).

The wings-level speed polar presented in Equation 1 can be modified to account for the additional power
lost during maneuvering flight leading to a model for drag in terms of specific energy-rate. When
√ an aircraft
is in a steady banked turn (|φ| > 0) the wing must produce lift as though it were flying at va cos φ (Zhang,

This article is protected by copyright. All rights reserved.


Figure 2: Performance diagram for RnR Products SB-XC. This speed polar (black curve) approximates the
Author Manuscript

relationship between airspeed and the sink rate of the aircraft. The lift to drag ratio is a measure of the
glide efficiency of the aircraft and is shown in blue.

2012; Edwards et al., 2016). This, in addition to the increase in power lost to drag during a banked turn,
yields the following energy-rate expression:
  2  p  
−3/2
p
ėdrag (va , φ) = cos φ a va cos φ + b va cos φ + c (2)

3.2 Energy state and wind estimation

Total energy and the first two time derivatives of total energy are useful in sensing atmospheric conditions,
and an accurate and low-latency estimate of total energy is critical to successful implementation of a soaring
system (Depenbusch and Langelaan, 2011; Daugherty and Langelaan, 2014; Andersson et al., 2009).

(a) The aircraft is shown with a positive pitch θ and roll (b) The relevant longitudinal states are shown. Lift and
φ orientation. drag are defined perpendicular and parallel to the airspeed
vector. Thrust offset from the body-axis is defined by αT .

Figure 3: Definition of aircraft states and conventions relevant to the energy-state estimation problem.

Because forces acting on the aircraft arise from a dynamic reaction with the air, the airspeed determines the
useful energy of the aircraft. The aircraft’s total air-relative specific energy (i.e., total energy normalized by

This article is protected by copyright. All rights reserved.


aircraft weight) and its time derivatives are

va2
e= +h (3)
2g
va v̇a
ė = + ḣ (4)
g
v̇ 2 + va v̈a
ë = a + ḧ (5)
g
where va is airspeed as defined in Figure 3, and h is the height above a datum. Specific energy conveniently
has units of altitude. Because the total energy and its derivatives cannot be directly measured, an estimator
is used to fuse sensor measurements. An unscented Kalman filter (UKF) is used to estimate the energy state:
T
X = [e, ė, ë, va , v̇a , α] (6)

A UKF is accurate to roughly third order, while the Extended Kalman Filter (EKF) is accurate to only first
Author Manuscript

order and has similar computational complexity (Wan and van der Merwe, 2000).

Assuming that the sideslip angle is small, which is reasonable for an aircraft with closed-loop rudder control,
and that the aircraft is flying in constant wind, the state dynamic equations are:
   
e ė
 ė   ë 
   ... 
∂  ë  
  =  T cos (α+αT )−D
e 

    (7)
v
∂t  a   m + g (− cos α sin θ + sin α cos φ cos θ) 
v̇a   v̈a 
T sin (α+αT )+L g
α Q− v m + v (sin α sin θ + cos α cos φ cos θ)
a a

Measurements of aircraft states are related to this system by the equations:


 
  v2
h e − 2ga
 
 ḣ   ė − vagv̇a 
   
 ḧ  =  v̇ 2 +v v̈  (8)
  ë − a g a a 
 va   
 va 
az −L
mg
...
It is assumed in this estimator that v̈a and e are small during the typical maneuvers performed by the
vehicle in flight. The autopilot accelerometer measures az , acting along the body z-axis ẑb directly, while ḧ
is the projection of the accelerometer measurements onto the inertial z-axis zE . Altitude and vertical rate
(h and ḣ) as well as the input vector [φ, θ, Q, δt, δf ] are all readily available from the autopilot. Lift, drag,
and thrust forces are computed by a low-order aircraft model using stability derivatives (Stevens and Lewis,
2003).

The UKF is implemented following the algorithm described in (Wan and van der Merwe, 2000), with α = 1,
β = 2, and κ = 0. Figure 4 compares the output of the on-line energy estimator to a post-processed estimate
(which uses future aircraft states for lag-free smoothing). This post-processed energy-state was developed by
estimating the values of h, ḣ, ḧ and sensor biases with a Rauch-Tung-Striebel Kalman smoothing filter from
measured GPS altitude, GPS velocity, and accelerometer data. Airspeed was smoothed and its derivative
obtained by a zero-phase Savitsky-Golay filter (2nd order polynomial fit to a 1.5 second long window). The
energy state was then determined directly using equations 3 - 5.

Delay between aircraft energy changes and recognition of those changes by the soaring system has been re-
ported as a problem by other autonomous soaring researchers (Allen and Lin, 2007; Andersson et al., 2012b).

This article is protected by copyright. All rights reserved.


280

energy (m) 260


post-processed
in-flight
240
4

2
ė (m/s)

-2

-4
3

2
ë (m/s/s)

-1
Author Manuscript

-2
3795 3800 3805 3810 3815 3820 3825 3830 3835
time (s)

Figure 4: The output of the energy-state estimator for a typical flight segment, comparing in-flight estimated
and post-processed energy state. Delay in the estimated energy-rate and energy-acceleration are evident when
comparing the post-processed energy states with those estimated in flight.

Reported delays of up to 3 seconds in energy-state measurement reduced the performance of feedback-control


while thermalling and made precisely locating lift features difficult(Andersson et al., 2009).

To approximate the time delay in the filter, the peak of the cross-correlation between the output of the UKF
recorded in flight and the post-processed energy-state was identified (Hero et al., 1998). No measurable
delay is evident in the energy estimate, 0.57 seconds of delay are present in the energy-rate estimate, and
the energy-acceleration estimate is delayed by 1.13 seconds. At flight speeds typically used during soaring by
the AutoSOAR aircraft (12.5–15 m/s), the time delay in energy rate estimate corresponds to 7–8.5 m flight
distance. At a typical thermalling radius of 40 m, this corresponds to a phase delay of approximately 12◦ .
Flight testing as well as earlier simulation work (Daugherty and Langelaan, 2014; Andersson et al., 2009)
suggests that this is adequate for good thermalling performance.

If appropriate sensors are available, wind speed can be computed as the difference between inertial and
air-relative velocity of the aircraft (Langelaan et al., 2011).

vg = va + vw (9)

Where vg is the ground-relative (inertial) velocity of the aircraft, and the subscripts a and w indicate air-
relative and wind velocities respectively. The inertial velocity of the aircraft can be obtained from GPS with
high precision. Wind-relative velocity is more difficult to obtain using the sensors available on a standard
small-aircraft autopilot: airspeed is measured using the pitot-static system, but angle of attack and angle of
sideslip sensors (vanes or specialized pressure taps) are generally not available on a small aircraft.

Here it is assumed that both angle of sideslip and angle of attack are small (closed-loop rudder control
results in small sideslip angle, and angle of attack cannot exceed 10-15 degrees before the onset of stall,
hence cos α ≈ 1). Under these conditions the horizontal components of wind speed can be computed from
Equation 9.

However, even small errors in assumed α lead to large errors in computed vertical wind speed. The vertical
wind is instead determined by subtracting the anticipated sink rate from the estimated aircraft energy-rate

This article is protected by copyright. All rights reserved.


ėˆ presented in Section 3.2. If the aircraft sinks more quickly than expected, it must be flying through sink
and vice-versa in lift. Assuming a shallow glide angle (large L/D) and steady-state flight, the vertical wind
speed (positive downwards) may be obtained by

wz = −ėˆ + ėdrag − ėmotor (10)

where ėdrag is the expected sink rate from Equation 2 (Zhang, 2012), corrected for turning flight. Assuming
that the errors in the estimated quantities of Equation 10 have Gaussian distribution, the variance in vertical
wind speed is
2
σw z
= σėˆ2 + σė2drag + σė2motor (11)

Here

σė2drag ≈ n3 var(ws ) (12)


Author Manuscript

where n = cos1 φ is load factor. Hence accurate measurements of vertical wind are difficult to obtain during
maneuvering flight (when load factor is high). It should be noted that errors in the speed polar will directly
correspond to errors in the vertical wind speed measurement as shown in Equation 10. Practically, errors
in the polar are accounted for by inflating the variance of that component, var(ws ). If an adequate model
for motor power as a function of throttle setting and propeller efficiency (itself a function of airspeed and
throttle setting) is available, vertical wind speed can be estimated during powered flight as well as during
gliding flight. In our implementation, flight operation consisted of a short duration climb at maximum
throttle followed by gliding while mapping and searching for thermals. During the maximum throttle climb,
the vertical wind estimator was disabled.

3.3 Atmospheric mapping

Many planning algorithms assume that the environment is known (Chakrabarty and Langelaan, 2009). For
soaring flight, knowledge is both incomplete and uncertain. Meteorological models can provide information
about expected mean wind speeds and the likelihood of thermal activity over a large region (Glendening,
2002; Hindman et al., 2007), but cannot give real-time winds or the precise locations of thermals. Knowledge
of updraft locations could enable traditional path planning algorithms to approach the problem of optimal
inter-thermal flight (Chakrabarty and Langelaan, 2013).

To address this, an atmospheric energy map is developed to represent the aircraft’s belief in the state of the
wind. The map combines wind measurements taken by the aircraft with a model of how wind features evolve
with time so that the precise locations of phenomena such as thermals can be identified. This map is built
with the assumption that the aircraft operates within a confined region so that it can re-encounter updraft
features. In prior work (Depenbusch and Langelaan, 2011; Cheng and Langelaan, 2014) a map of updraft
locations enhanced the capability of aircraft to exploit environmental energy during simulated missions.

A useful wind map should include both an estimate of the magnitude of the wind and the uncertainty in the
estimate. Bower et al. present an occupancy grid inspired approach to thermal mapping but do not address
uncertainty in either measurements or the map (Bower et al., 2010). The map presented in our work: (1)
tracks uncertainty in the expected vertical component of wind in addition to the magnitude; (2) is scalable
to incorporating the measurements from multiple aircraft; (3) can readily be modified to incorporate more
complex models of the environment.

To construct the map, the environment is divided into M × N uniform two-dimensional cells that cover the
mission space. The size of a cell is small enough that the spatial variation of wind over the cell is small, but
large enough that small-scale variations (e.g. gusts, turbulence) average to zero over one cell.

This article is protected by copyright. All rights reserved.


3.3.1 Dynamic model of thermals

Thermals decay in roughly one eddy turnover time – the boundary layer depth divided by the convective
velocity scale (Stull, 1988). Conservation of mass requires that mean vertical wind over large areas and
longer periods of time (i.e. large enough and long enough to encompass several thermals) is near zero. The
vertical wind speed in a cell can thus be modeled as an exponential decay:

ŵz,ij,k+1 = Aŵz,ij,k + N (0, Q) (13)

where the scalar A is chosen in [0, 1] such that the wind speed decays to a small fraction of its original value
within one thermal lifespan. N (0, Q) represents zero-mean Gaussian process noise, with Q scaled such that
the confidence in an estimate erodes over a similar timespan.

For a given cell, this relaxation model can be computed independently of other cells. By assuming that
process noise is spatially uncorrelated, the mapping problem can be cast as a set of M × N 1D Kalman
filters.
Author Manuscript

3.3.2 Measurement model

Measurements of vertical wind speed are used to drive the measurement update step of each cell’s vertical
wind speed estimate. In addition to on-board measurements, vertical wind speed data could come from
sources such as other aircraft, balloons, or LIDAR. If several aircraft are cooperating, maps can be generated
independently by each aircraft, reducing communication overhead by sharing only measurements rather than
the entire map.

It is assumed that each wind measurement is independent and corrupted by Gaussian noise with variance
Rij,k .
2 2 2
Rij,k = σw z,k
+ σgust + σd(k,ij) (14)

2
The quality of the wind estimate (discussed in Section 3.2) is included in the term σw z,k
. Wind measurements
also include gust features too small to be utilized by the aircraft so the variance is further increased by σgust ,
2
defined by the Dryden turbulence model (Hoblit, 1988). The term σd(k,ij) is a localization term used to
spread a measurement into surrounding cells. The localization is defined:

 2 !
2 d(k, ij)
σd(k,ij) = max , 1.0 (15)
rmax

Where d represents the distance between the measurement location and the center of cell ij, and rmax is
the nominal thermal radius, 50 meters is used in this work (Depenbusch and Langelaan, 2011; Cheng and
Langelaan, 2014).

Clearly, spatial correlation in the wind map would arise because of this measurement model. To improve
computational tractability, this correlation is ignored so that both measurement and time updates for the
wind estimate involve only scalar computations. Measurements are applied to the map as they are generated
by the estimator (10Hz) while time updates are computed at 1 Hz.

An example of a section of the vertical wind map generated during a flight is shown in Figure 5. Measurements
of vertical wind speed are illustrated by the flight path coloring and registered with the cells immediately
surrounding point of measurement. When the aircraft circles in an updraft, many measurements are applied
to a small region.

This article is protected by copyright. All rights reserved.


Author Manuscript

Figure 5: An example showing how wind measurements taken during flight are incorporated into the energy
map. The regions distant from the flight path shown were visited earlier during the flight, but within a
thermal decay time. The aircraft is shown enlarged for visibility. The plot shows actual flight data.

3.4 Identifying Features in the Wind Map

Because the wind map holds estimates of the wind speed at the center of each discrete cell and ignores
correlations between cells, further processing of this “raw” map is required to extract useful features for
decision making and navigation purposes. An example map of estimated wind speeds and the associated
variance map are given in Figure 6a.

3.4.1 Identifying Lift

In order to extract energy from a feature, the lift must be large enough to circle within. Sufficiently large
regions can be identified through a convolution of the wind map with a mask that represents a typical turn
radius, shown in Figure 6b. The result of the convolution is a map of expected wind speeds for climbs
centered at each cell (an example shown in Figure 6c). The variance map is treated similarly.

Features are extracted from the mean wind speed and variance maps by determining the probability that
the lift experienced through an orbit would provide a reasonable climb rate. This is evaluated by calculating
the cumulative distribution function of the Gaussian distribution described by the convolved magnitude and
variance maps. In the map in Figure 6d, a high probability indicates that there is a significant chance that
a climb centered at that cell will experience wind speeds equal to or greater than the threshold value.

Finally the probability map is thresholded to yield a binary map where only distinct features remain. Cells
that comprise each feature are grouped and the size, expected strength, variance, and location of the feature
are computed. Each feature can then be evaluated (as in Section 3.4.2) to determine their utility to the
aircraft.

The lift feature map is evaluated every two seconds given the most recent wind energy map (containing both
estimated mean and variance) available. The list of features and key properties are published to the rest of
the system at the same rate.

This article is protected by copyright. All rights reserved.


-2 -1 0 1 2 0 1 2 3 4

estimated wind speed (m/s) estimate variance (m/s)2

(a) Unprocessed estimated wind energy map and the as- (b) Kernel used in the convolution approximates the area
sociated estimate variance. Blue regions in the variance crossed during a typical circling climb. The red circle is
map represent areas where the aircraft recently visited the expected maximum orbit radius, the blue circle the
and trusts the estimated wind speeds. minimum.
Author Manuscript

-2 -1 0 1 2 0 1 2 3 4 0 0.2 0.4 0.6 0.8 1

wind speed (m/s) variance (m/s)2 probability features

(c) Convolved wind and variance maps showing the ex- (d) The probability that a climb centered at each cell
pected conditions in a climb centered at each cell. These exceeds a minimum threshold wind speed is plotted on the
maps are the result of the convolution of the maps in Fig- left. A minimum probability threshold is applied to this
ure 6a with the kernel in Figure 6b. map and features identified on the right. The strongest
expected wind during a climb in each feature (a peak in
figure 6c) is indicated by a red dot.

Figure 6: The process by which discrete lift features are segmented from the wind map. The map is treated
as an image, so that standard image processing techniques (e.g. convolution) can be used.

3.4.2 Evaluating Lift

The utility of a lift source depends on its strength, distance, and the aircraft’s current energy needs. Quan-
titatively, the value of a lift source can be defined as the expected value of ∆e
∆t for a glide to the lift followed
by a climb, illustrated in figure 7.

For a lift source i, the equivalent climb rate, which relates the energy lost in transit to the total climb expected
in the lift source, is:
 
∆e ∆ecruise to i + ∆eclimb in i
= (16)
∆t i ∆tcruise to i + ∆tclimb in i

On arrival at the lift source, the aircraft will circle, achieving a climb rate wc . For simplicity a 30◦ nominal
bank angle is assumed, with airspeed selected to minimize sink rate per Equation 2 with φ = 30◦ . The

This article is protected by copyright. All rights reserved.


Author Manuscript

Figure 7: Diagram showing relevant parameters for an approximation of equivalent climb rate for a distant
lift source. The same figure can be used to derive classical speed-to-fly rules.

expected climb rate can then be expressed as

wc,i = wz,i − ws,min (30◦ ) (17)

where wz,i is the expected strength of that thermal obtained as in Section 3.4.1.

With the parameters defined Figure 7, the equivalent climb rate in Equation 16 can now be expressed as:
 
∆e ∆h0 wc,i (va − wh,i )
=   (18)
∆t i w w (v )
∆x wc,i − ws (va ) − h,i vas a − wz + ∆h0 (va − wh,i )

Note that in Equation 18 as the aircraft approaches the feature (∆x → 0), the value of that lift source
( ∆e
∆t ) approaches the expected climb rate in that feature (wc ). This allows randomly encountered lift to be
compared with lift on the map when making decisions to maximize ∆e ∆t . Lift sources that cannot be reached
are assigned a climb rate of 0.

During flight, the aircraft constantly updates its evaluation of each of the mapped lift sources identified in
Section 3.4.1. The aircraft also assesses the expected arrival altitude, the probability that the thermal can
be safely reached, and the probabilities of violating terrain clearance limits en-route to or on arrival at the
lift source. This more detailed evaluation of each lift source is published every 5 seconds.

3.5 Lift Occupancy Map

An occupancy grid mapping approach is employed separate from the wind map to keep track of locations
where lift is frequently found, modeling the relative likelihood that lift will be found in a given region. This is
distinct from the wind energy map which estimates the current state of the environment. The lift occupancy
map provides long-term memory, much like human pilots who identify “house thermals” that repeatedly
appear in the same location (Reichmann, 1978); here it is an approximation of the likelihood that lift can
be found in a cell.

The lift occupancy map is a set of M × N two-dimensional cells similar to the wind energy map. If mij is the
cell ij in the lift occupancy map, its state can be either occupied by lift xij or not (denoted x¬
ij ). Given a

This article is protected by copyright. All rights reserved.


measurement, zij,k , taken near a cell, the inverse sensor model represents the probability that zij,k indicates
that lift is present in cell ij:
p(xij |zij,k ) = 1.0 − p(N (wz,k , Rij,k ) ≤ wz,min ) (19)

Because a single visit to a cell provides relatively little information about the prevalence of lift, a low weight
is applied to updates to the occupancy grid map. This forces the map to evolve slowly and prevents the
map from quickly saturating. Similarly, negative measurements do not necessarily imply that lift can never
be found at a location, thus a lower weight is assigned to negative than positive indications.

The log-odds cell update is then:


p(xij |zij,k )
`ij,k = α log (20)
1 − p(xij |zij,k )

0.0045 if p(xij |zij,k ) ≥ 1/2
α= (21)
0.0009 if p(xij |zij,k ) < 1/2
Author Manuscript

where a negative measurement carries 1/5 of the weight that a positive one does.

The lift occupancy map is updated every time a new wind measurement is available. At the end of each
flight the lift occupancy map is saved to disk. This allows the aircraft to learn the locations of thermal
producing regions over a series of flights. This map of occupancy values will be used in later development
to guide exploration of the environment towards regions where the aircraft has historically encountered lift.

4 Guidance and control

4.1 Glide range and energy prediction

The atmospheric energy map presented in Section 3.3 contains the aircraft’s best estimate of the wind
conditions. The vertical wind in each cell is approximated by a random variable with mean ŵz,ij and variance
2
σw z,ij
. This allows us to predict the environment’s impact on the energy state of an aircraft traversing the
map.
ėtotal = ėdrag − wz + ėmotor (22)
Assuming gliding flight, ėmotor can be eliminated. The anticipated energy state of the aircraft on arrival at
a destination location Xf can be found by the following expression
Z Xf
eXf = e0 + ėtotal /vx dx (23)
0

Because the atmospheric energy map is divided into discrete cells, a flight from one location to another can
be represented as a connected set of cell crossings (Figure 8). Siddon’s method is used to determine which
cells are entered and lk , the length of travel through each cell (Siddon, 1985). Here all paths are straight
lines, but the methodology is not restricted to only straight segments.

For simplicity it is assumed that the wind in each cell is constant throughout and that transients when passing
between cells are negligible (as depicted in Figure 8b), thus cell crossings can be addressed independently.
For a path that passes through N cells, the energy state of the aircraft at the end of the path is equal to the
initial energy state e0 summed with the changes due to each cell crossing.
N
X
eXf = e0 + ∆ek (24)
k=0

This article is protected by copyright. All rights reserved.


(a) A top view showing the set of cell crossings that com- (b) The top figure shows the wind experienced by the air-
prise a path. craft, the bottom figure is a depiction of the longitudinal
kinematics of an individual cell crossing.
Author Manuscript

Figure 8: An illustration of a flightpath crossing multiple cells in the wind map. The portion of the flight
leg that lies within each cell is indicated.

Likewise, if each cell crossing is assumed independent, the probability that the aircraft completes N cell
crossings is
N
Y
PX f = Pk (25)
k=0

where Pk is the probability that an aircraft which is known to be aloft before crossing cell k is still aloft
after crossing that cell. Once the aircraft energy state is propagated through a cell, the probability that
the route up to that point can be traversed is the cumulative probability of successfully crossing each of the
prior cells independently. For the route in Figure 8, the probability that the entire traversal is successful is
the cumulative probability of all N crossings.

The simplified kinematics of an aircraft crossing an arbitrary cell k in the wind map is shown in Figure 8b.
The aircraft can be expected to choose an airspeed va (wz,k , wh ) that minimizes the energy loss through the
cell crossing, described in Section 4.2). The time required to cross a cell is:

va,k = f (wz,k , wh ) (26)


∆x lk
∆tk = = (27)
vx va,k − wh

and the change in energy due to crossing a single cell can be expressed as

∆ek = ∆tk (ws (va,k ) − wz,k ) (28)

With perfect knowledge of the wind across the domain, propagating an aircraft’s state along the path in
Figure 8 would be a deterministic operation given by Equation 24. However, since the updraft environment
is uncertain another a stochastic approach is taken, where an aircraft’s energy state is affected by a random
process in each cell crossed.

2
The wind map is used used to obtain the estimated values of wz,k and its variance, σw z,k
, while the drag
model in Equation 2 is used to approximate energy lost. What results is a probability density function (pdf)
that describes the distribution of possible states that could result as the aircraft traverses the uncertain
representation of the environment in the map.

This article is protected by copyright. All rights reserved.


Figure 9: A numerical approach is taken to approximate the energy-cost of flight to an arbitrary destination.
Each cell boundary crossed is shown by a vertical dotted line. The particles representing possible aircraft
states following each re-sampling step are shown by the blue distributions. The minimum hk,min and maxi-
mum hk,max allowed altitude in a cell are shown by red lines. The expected altitude throughout the transit
is depicted by the dashed line.
Author Manuscript

Mission and environmental limits impose non-linear constraints on the state distribution in this problem,
making analytic determination of the aircraft state pdf difficult. A particle method is used to numerically
evaluate Equation 24, an example of this approach applied to an arbitrary path crossing a terrain feature is
illustrated in Figure 9. For particle i of a set of M , an individual cell crossing is evaluated by

2
wz,k,i ∼ N (ŵz,k , σw z,k
) (29)
va,k,i = f (wz,k,i , wh ) (30)
ek,i = ek−1,i + ∆ek,i (31)

where ∆ek,i is evaluated as in Equation 28 given the vertical wind speed wz,k,i sampled from the mapped
distribution. The airspeed va,k,i is selected given the sampled vertical wind speed and expected headwind
wh . The energy states of all M particles are projected through a single cell crossing in this manner before
the distribution is resampled.

Before the next cell crossing is evaluated, a new set of candidate energy states are sampled from the par-
ticles that survived the previous crossing. This satisfies the Markov assumption and makes cell crossings
independent events, validating the probability computation in Equation 25. The independent cell crossing
probability is evaluated after crossing k but before re-sampling:

P  2
 
number of particles aloft 1≤i≤M ek,i − va,i /2g > hk,min
Pk ≈ = (32)
total number of particles M

where hk,min is the minimum allowed altitude (either by terrain or mission limits) in cell k. Additionally,
those candidate states that are projected to climb above the maximum altitude hk,max are prevented from
doing so, reflecting either environmental or mission related constraints.

This method for evaluating flight through the environment allows for a number of properties to be approx-
imated. The probability that the aircraft is able to reach a destination is easily computed by Equation 25.
The expected energy state at any cell boundary can be determined from the particle distribution at that
point, allowing the likelihood of violating an altitude clearance to be computed and providing an estimate of
the expected arrival altitude. Finally, this method can be used to approximate the distance that an aircraft
can fly along a given path before the probability of it violating an altitude constraint becomes unacceptably
high.

This article is protected by copyright. All rights reserved.


(a) Illustration of the paths used to evaluate the glide (b) The glide footprint of an aircraft with an initial alti-
footprint. The polygon connects the points Xk along each tude of 600m is depicted by the solid red polygon. The
bearing χk where the probability that the aircraft can no footprint for the same aircraft with an altitude of 500m
Author Manuscript

longer continue exceeds a threshold. and at a different location is shown by the dotted blue
polygon. Terrain contours are depicted in thin black lines.

Figure 10: The glide footprint of the aircraft is evaluated in flight given the information contained in the
wind map. With a probability of 0.95 the aircraft can reach any point within the enclosed region.

4.1.1 Glide Footprint

The approach developed in Section 4.1 can be used to compute the glide footprint of the aircraft, illustrated
in Figure 10. This represents the set of locations that are reachable with high probability. This is similar to
range calculations done by glide computers used by sailplane pilots; however, the glide footprint calculated
here uses the wind map which contains information not available to a conventional glide computer.

The glide footprint is determined by approximating the range of the aircraft along a set of uniformly spaced
bearings (χk in Figure 10a) from its current location. The number of bearings chosen dictates the resolution
of the glide footprint evaluation. In practice, 20 bearings is sufficiently dense to approximate the glide range
and yet remain computationally tractable.

To evaluate a single bearing χk , a path is defined extending from the aircraft’s current location along that
bearing. Flight along this path is evaluated as in Section 4.1 until the cumulative probability of survival
given in Equation 25 falls below a set threshold at range Xk . This is repeated for each bearing and the glide
footprint is approximated by a polygon with vertices at each of the path endpoints.

The shape of this polygon is influenced by wind and terrain features. Because this method assumes straight-
line flight, it does not necessarily represent the full extent of the reachable region: first, because it does not
compute a path around complex topography; second, because it does not allow diversion from a given heading
to exploit mapped lift. This method does however provide a computationally efficient tool for judging the
feasibility of destinations while incorporating knowledge stored in the wind map.

4.2 Optimizing flight speed

The glide/climb cycle presented in Figure 7 can be used to develop the optimal speed to fly in between climbs
if we assume that lift sources have a static location. This speed to fly is the airspeed that maximizes the
instantaneous value of ∆e
∆t as expressed in Equation 18. If the sink rate ws is represented by the quadratic
speed polar presented in Equation 1, the optimal speed to fly is:

This article is protected by copyright. All rights reserved.


Figure 11: The heuristic MacCready value. This approximates the expected climb rate within strongest
Author Manuscript

lift source that the aircraft should encounter given its current altitude. The blue dotted line shows the
approximate shape of the MacCready function used in other work (Edwards and Silverberg, 2010).

p
aVh − a (aVh2 + bVh + c + wz − wc )
vstf = (33)
a

The value wc represents the next expected climb rate and the other terms are as defined in Figure 7. wc will
occasionally be referred to in this work as the “MacCready” value after the setting used on a circular slide
rule developed by Paul MacCready for computing speed to fly given an estimate of wc (the term continues
to be used by sailplane pilots). If the MacCready value is zero (the aircraft does not expect to encounter
lift), the expression in Equation 33 represents the speed to fly which maximizes glide range.

The resulting command guides the aircraft to fly slowly in lift to gain energy and quickly in sink to escape
it. The aircraft should also fly faster into a headwind and more slowly with a tailwind. Finally, the aircraft
should fly faster if it is confident that it can reach a strong lift source and quickly regain altitude, and more
slowly if only weak lift is available.

Note that the optimal speed to fly given by Equation 33 is not explicitly dependent on the current state of
the aircraft. An implicit altitude dependence will be introduced through the expected climb rate, wc .

If the climb rate in the next lift source is unknown, an approximation must be made of wc in Equation 33.
This is the situation typically faced by manned and autonomous gliders without a wind map.

The strategy for determining the expected climb rate with altitude has been the subject of previous research
(Cochrane, 1999b) and has been incorporated in other autonomous soaring systems (Edwards and Silverberg,
2010). This value typically decreases with altitude; at lower altitudes, the aircraft has less time to encounter
strong lift before reaching its minimum altitude. When the aircraft is high, it can afford to pass up weak
lift, confident that it can reach a stronger updraft.

Figure 11 shows the shape of the MacCready function, wc,h , used in this work. The piecewise function
approximates the shape of curves described elsewhere (Cochrane, 1999b; Edwards and Silverberg, 2010), the
discrete segments made adjusting behavior from the ground straightforward during flight.

During flight testing, it appeared that updrafts were not as coherent close to the surface as they were at
higher altitudes. There was an altitude (usually near one-third of the boundary layer depth) below which

This article is protected by copyright. All rights reserved.


lift was significantly more difficult to find and exploit. Above this altitude, the aircraft could reject weaker
thermals, but the best course of action below the critical altitude was to exploit any lift available. This effect
has been observed by glider pilots and in numerically optimized MacCready schedules (Cochrane, 1999b).
Including this effect causes the MacCready value to fall off rapidly at low altitudes and results in the schedule
depicted in Figure 11.

In this application the aircraft has additional information however – the lift map provides the locations of
thermals of known strength. If a mapped lift source is evaluated to have a higher equivalent climb rate than
the altitude based curve in Figure 11, then the aircraft should use that value for making decisions.

The MacCready value actually used by the aircraft is then dependent on both the current altitude, and the
state of the map.

ŵc = max ((∆e/∆t)∗ , wc,h ) (34)


Author Manuscript

With ŵc determined, Equation 33 can be solved for the speed to fly at any time given the current wind
(wz ) estimate and the headwind (Vh ). A number of behavior and control decisions will also be based on the
immediate value of ŵc .

4.3 Thermal centering and climb control

The objective of the climbing strategy is to maximize the rate at which energy is gained from a thermal
by circling within the strong core and by tracking the thermal as it drifts and evolves. The controller must
trade updraft strength near the thermal center with increasing sink rate as the aircraft turns more tightly.

Figure 12: Finite states and transitions involved in the multi-part climb strategy.

Previous researchers have tested methods to exploit thermals. The technique used by Allen in the first
autonomous soaring flights and later used by Edwards involved simply flying circles centered on the region
of strongest lift (Allen and Lin, 2007; Edwards and Silverberg, 2010). Andersson developed a feedback
ˆ to compute a turn-rate command.
controller (Andersson et al., 2009) which uses energy-acceleration, ë,
Under conditions with little measurement noise or latency, this algorithm has been proved to center a
thermal (Andersson et al., 2012b; Andersson et al., 2010).

A combined approach is adopted here, with transitions implemented in a finite state machine, depicted in
Figure 12. Regardless of the climb strategy, an estimated feature center location, a turn direction, and a
nominal orbit radius are needed. Immediately after “latching” into thermal mode, the center of the lift
feature is estimated. The aircraft turns toward the center point at an initial turn radius selected to achieve
a 30◦ bank angle at an airspeed that minimizes sink rate.

This article is protected by copyright. All rights reserved.


In flight testing, it was observed that wind drift complicated the process of finding and staying in the
thermal’s core. In order to keep the aircraft within the thermal while it gathers enough information to locate
the core, only simple circles are permitted initially. This information gathering period lasts for 40 seconds,
during which the climb will only be abandoned if mission limits are violated.

After the initial centering period expires, the aircraft has the option to abandon the thermal if climb rate is
inadequate, either because the current lift source is weak or because a stronger source is known or expected
to be within reach (detailed in Section 5.2.3). While thermalling, the aircraft will switch between two
exploitation techniques depending on whether the mean climb rate meets ŵc , the expected climb rate.

If the measured lift appears suitable but the climb rate is less than anticipated, the aircraft will continue
making circular orbits to gather more information about the thermal structure. If the center location is
stable and the climb rate is greater than wc , the controller switches to a mode that blends circular orbits
and energy feedback similar to Andersson’s (Andersson et al., 2012b) controller.

During both thermalling modes, the climb rate of each orbit is evaluated and the nominal orbit radius
Author Manuscript

perturbed using the extremum seeking method developed by Daugherty (Daugherty and Langelaan, 2014).
This results in an orbit radius that slowly varies as the climb progresses and as the aircraft seeks the orbit
radius that maximizes the mean achieved climb rate. The combination of thermalling mode switching and
extremum seeking allows the aircraft to gather information about a thermal and fine-tune its approach to
thermalling in order to maximize climb rate. Flight data showing this behavior is shown in Figure 13.
Specific Energy Rate (m/s)

3
2
1
0
−1
2100 2150 2200 2250 2300 2350 2400 2450 2500
Time (s)

Figure 13: Thermalling modes. The aircraft transitions to feedback thermalling once it is confident the
thermal is strong (thick dashed vertical line). The controller fine-tunes the climb, improving climb rate. As
the aircraft nears the top of the thermal and climbs more slowly, it transitions back to information gathering
(dash-dot line) then abandons the thermal after determining that it goes no higher. The climb rate shown
is smoothed from flight data using a filter with cutoff frequency approximately equal to the circling period.

The aircraft begins its climb by flying a constant-radius turn (2100s ≤ t ≤ 2160s). This allows the thermalling
controller to assess thermal strength and localize the updraft. In this case the thermal was strong enough and
the feedback controller was activated, fine-tuning the climb. As the aircraft reaches the top of the thermal,
climb rate decreases. At t = 2425s the aircraft switches back to circular orbits in an effort to re-center the
thermal. Here, the aircraft had climbed to the thermal top and abandoned the thermal to begin exploration.

When an estimate of the thermal center location is required it is computed from a queue of measurements,
similar to that used by both Allen and by Edwards (Allen and Lin, 2007; Edwards, 2008a). Upon the
initiation of a “latch,” the localizer computes the centroid of the queue weighted by energy rate, similar to
Allen’s technique (Allen and Lin, 2007). This location is also used to initialize a nonlinear least squares
optimizer which estimates parameters of a thermal model.

The thermal observation model uses Allen’s thermal profile (Allen and Lin, 2007), modified to explicitly

This article is protected by copyright. All rights reserved.


Figure 14: Diagram showing the primary discrete system behaviors that make up the autonomous soaring
system (blue), with connected by possible transitions (arrows), and transition criteria (red). Note that the
behaviors shown are high-level and in some cases contain several constituent discrete states.
Author Manuscript

include the thermal position in north/east/down coordinates (referenced to the same datum used for the
maps). The updraft strength and thermal location are estimated while the environmental sink and radius
are assumed fixed to ensure observability.

During the initial thermal encounter, where the aircraft has only flown across the profile, short queues are
used (around 15 seconds). Once the aircraft has obtained more measurements from a thermal, the queue
size is increased to 45 seconds, approximately two turn durations.

5 Higher-level behaviors

Methods for understanding the environment and controlling the aircraft have been discussed. Now we cover
decision making strategies for maximizing both our knowledge of the environment and the aircraft’s energy
state. Aircraft actions are divided into discrete behaviors, each with a definite purpose designed to contribute
directly to the mission of prolonging endurance. Thus the “behavior” of the autonomous soaring system
arises through the combination of a set of relatively simple actions.

A finite state machine (shown in Figure 14) is used to manage transitions between the various behaviors
required for the complete autonomous soaring system. The state machine tracks the current system state and
measurements and commands a transition between discrete states when rules are triggered, conditions are
exceeded, or limits are violated. States are either exploration behaviors (where new lift sources are sought),
or exploitation behaviors (where known lift is utilized to increase aircraft energy). The tools previously
described are utilized to determine when transitions should occur.

5.1 Exploration

Exploration is driven by the desire to maximize utility of the map. Earlier work has focused on minimizing
map variance (Lawrance and Sukkarieh, 2011). However, from the standpoint of thermal soaring, it is more
useful to explore areas where thermals are likely to be found. Here an approach based on biased priority is
used. The soaring environment is divided into discrete cells which correspond to those in the lift map. The
center of the qualifying (is within the glide footprint) cell ij that maximizes

Qij = priorityij biasij (35)

is chosen as the destination waypoint. This concept of biased exploration priority Qij will be explored in
the next two sections.

This article is protected by copyright. All rights reserved.


Once the aircraft reaches the assigned waypoint, a new destination is chosen in the same manner. This
process continues while the aircraft is engaged in the exploration behavior. An exploration target will be
abandoned (and a more feasible one chosen) if it is determined to no longer be in range (as determined by
the glide footprint) or if the exploration behavior is abandoned in favor of exploiting lift. The transitions
that will end the exploration behavior are the initiation of a latch onto promising lift or choosing to pursue
a remote mapped lift source (see Figure 14).

5.1.1 Exploration Priority

Cells are evaluated and assigned a priority value that emphasizes uncertainty in the wind map and areas
likely to produce valuable lift. This focuses exploration activity on areas that are quantitatively determined
to have high value and have not been recently visited. An exploration priority map is generated with cells
that correspond to those in the wind energy map presented in Section 3.3.

Historical observations from the occupancy map (Section 3.5) and characteristics of the underlying terrain
are used to assign priority to cells. Terrain information is specified a priori using data from the National
Author Manuscript

Land Cover Database (NLCD) (Homer et al., 2015) and the National Elevation Dataset (NED) courtesy of
the U.S. Geologic Survey.

(a) Normalized insolation on mapped terrain at 1100 local (b) Normalized approximate sensible heat flux at the sur-
time in mid summer. Red indicates direct sunlight on a face given the insolation in figure 15a. Red indicates a
surface, the vector r̂sun is in the direction of the sun. high rate of heat transference to the surrounding air, here
associated with paved roads.

Figure 15: Land cover characteristics and insolation evaluated over a sample region to show their effect on
exploration priority.

Because thermals are the result of heat transfer between the surface and overlying air, regions with high
surface heat flux (h) receive priority. Surface heat flux depends on the local incidence angle and magnitude
of incoming solar radiation, surface albedo α, and the Bowen ratio β (the ratio of sensible to latent heat
flux). Expressed for the properties of a given cell ij, the approximate sensible heat flux (Stull, 1988) can be
represented as
−s (r̂sun · n̂ij ) (1 − αij )
hij = (36)
1 + β1ij

For an example region, the sensible heat flux is approximated and plotted in Figure 15b. Even though the
insolation in Figure 15a is constant over much of the region, the varied land cover leads to differences in the
expected heat flux. In particular, paved surfaces show a high heat flux, while fields appear more favorable
than forest covered regions.

This article is protected by copyright. All rights reserved.


Figure 16: Diagram showing how the maximum energy in a region of the map is interpreted. This is used
when computing the utility of exploring a region.
Author Manuscript

The heat flux map is normalized so that values lie on the range [0,1] and then scaled to develop a heuristic
a priori probability of encountering lift over the mission region, so that Pheuristic,ij = αh ||h||ij .

The history of wind measurements captured in the lift occupancy map discussed in Section 3.5 is also used
to guide exploration. This allows erroneous assumptions about lift producing regions to be corrected by
measurement. In order to encourage frequent exploration of these regions as well as the implicitly attractive
regions, the lift-occupancy map takes precedence when it indicates an overwhelmingly attractive area.
Pij = max (p(xij ), Pheuristic,ij ) (37)
Where p(xij ) is the lift occupancy probability for cell ij computed in Section 3.5.

The value of lift is determined by the maximum energy that could be gained in a region, which may be
limited by mission requirements, terrain features, wind direction, and convection height. This is illustrated
by emax,k in Figure 16. The minimum allowed altitude in a cell, the prevailing wind direction, and the
expected buoyancy of lift determine this value. For example, the down-wind edge of the map is less attractive
on a day with strong winds because the aircraft will only be able to climb for a short time before being forced
out of the mission region.

Given the approximate probability of encountering lift and the value of that lift, the expectation of energy
available in a cell is:
E [eij ] = emax,ij Pij (38)

The uncertainty of the wind estimates in a region also influences exploration. A region known with certainty
not to be producing thermals should be avoided, even if it has historically produced thermals or has attractive
terrain characteristics. This leads to the following definition of priority:
2
priorityij = σŵz,ij
E [eij ] (39)
2
Where σŵz,ij
is the variance in the wind estimate described in Section 3.3.

The highest priority regions for exploration will thus be areas that are expected to generate lift, have a large
working altitude band, and in which the current wind estimates are highly uncertain.

5.1.2 Exploration Bias

In addition to exploration priority, biases based on aircraft heading, the current map, and current wind
direction affect search strategy.

This article is protected by copyright. All rights reserved.


(a) Distance bias. The solid circle indicates the nominal (b) Wind relative heading bias. The dashed line indicates
distance for local exploration (250 m); the dashed circle the wind direction. The blue regions require upwind or
indicates the nominal distance for distant exploration (750 downwind flight to reach, the red regions require cross-
Author Manuscript

m). The blue region corresponds to local destinations, red wind flight.
to distant ones.

(c) Relative heading bias. The dashed line indicates the (d) Combined biases with a minimum distance constraint
aircraft’s current heading, preference is for straight line applied. The blue region indicates a preference for local
flight. flight upwind or downwind. The red region indicates a
preference for a distant destination located crosswind.

Figure 17: Biases shaping the exploration priority function used to choose destinations while exploring. The
intensity of the color corresponds to the weight applied to an individual cell. The aircraft is shown enlarged
by a factor of 60 for visibility.

The default behavior is local exploration (where the nominal distance to a destination waypoint is 250
meters, about 15 seconds flight time at normal flight speeds). This minimizes uncertainty in mapped wind
estimates in the vicinity of the aircraft (so that mapped thermals are near enough that they can be easily
reached). Local exploration is favored unless the wind map shows strong sink near the aircraft. In that
case, the nominal exploration distance is set to 750 meters, forcing a longer transect to a less-explored region
(Figure 17a). In either scenario, the nominal distance is upper bounded at 75% of the maximum range (as
determined by the glide footprint in Section 4.1.1) to ensure the destination is reachable.

Following the experience of sailplane pilots (Reichmann, 1978), exploration is biased towards upwind or
downwind destinations if the aircraft is flying through lift when a new waypoint is chosen and will be biased
towards crosswind destinations if the aircraft is flying through sink (Figure 17b). This behavior is justified
by the observation that areas of lift and sink generally align along the wind vector. If an aircraft is in sink,
it can escape by flying orthogonal to the prevailing wind direction. If the aircraft is in lift, it should attempt

This article is protected by copyright. All rights reserved.


to fly upwind or downwind to remain within the line of lift.

The final component of the bias favors destinations that require small course deviations to reach. The
preference for straight line flight is depicted in Figure 17c. This follows the observation that turning flight
requires more power than level flight (see Equation 2). Straight-line flight with minimal course deviations
reduces the rate of energy loss while the aircraft is exploring.

A weighting function computed in each cell is used to enforce these desired behaviors. Each behavior is
expressed by dictating a nominal state xnominal and the weight applied to a cell is a function of its “distance”
from that nominal state ij . Given in Equation 41, this form for the bias function was chosen due to the
ease of defining the width of the favorable section (through the variable m), control over the roll-off (b), and
the weight that the bias carries (ν).
ij = |xij − xnominal | (40)
1
Bij,x (ij ) = 1/ν (41)
1+e −b(ij −m)
Author Manuscript

A minimum distance constraint is additionally enforced by a barrier function of the form:



xij − xnominal µ

Bij,minimum distance = min( , 1) (42)
xnominal
The scale factors in Equation 41 and 42 were adjusted through simulation and refined during flight tests to
develop the desired behavior.

The total bias applied to a cell is the product of the individually computed biases
biasij = Bij,wind Bij,distance Bij,bearing Bij,minimum distance (43)

When a new exploration destination is chosen, the total bias is computed and multiplicatively applied to the
regional priority map to obtain the biased priority in Equation 35. Figure 17d shows two examples where the
bias is computed. The cell weighting depicted in blue might correspond to an aircraft that is experiencing
lift and is in a region where estimates in the wind energy map are uncertain. In this case the aircraft favors
an upwind destination that is relatively nearby. The cell weighting depicted in red might show an aircraft
that is very certain of local wind estimates and experiencing light sink. In this case the aircraft picks a
distant location to continue its search.

5.2 Exploitation

Because using a thermal to climb is a discrete action, the act of beginning a climb is referred to as a “latch”
and departing a climb as an “unlatch.” Deciding when to latch and unlatch has been a problem faced
by every researcher to demonstrate an autonomous soaring system and some very capable rules have been
developed to guide the decision (Allen and Lin, 2007; Andersson et al., 2010; Edwards and Silverberg, 2010).
Here the energy map is used to aid latch/unlatch decision making.

5.2.1 Deciding When to Pursue Mapped Lift

Recall that the aircraft’s expectation of its future value of specific power ∆e
∆t was defined in Equation 34 and
is denoted ŵc . This single value represents all of the knowledge we have about the environment, both what
is mapped and what we anticipate based on prevailing conditions and the current altitude. It is also the
primary variable on which lift exploitation decisions are based.

The goal of the aircraft is to maximize ∆e ∆t , thus it should never accept lift weaker than ŵc and should
accept equivalent or stronger lift when available. In the simplest case, if an aircraft happens across lift and is

This article is protected by copyright. All rights reserved.


confident that it can achieve a climb rate greater than ŵc in that lift source, it should stop to climb. It should
depart any lift source that yields a climb rate lower than ŵc . This is how the ring setting is traditionally
used by glider pilots and is similar to the latching criteria used by other autonomous soaring researchers.

Use of the ring setting in this way means that aircraft flight behavior changes due to mapped lift within
gliding range: strong mapped lift in gliding range leads to more aggressive flight behavior (i.e. the aircraft
does not latch onto weak thermals). This behavior will continue until the mapped lift is nearly out of reach,
at which point the aircraft will turn towards known lift.

This “go to” action is triggered based on the following conditions. The first condition requires that the
equivalent climb rate ( ∆e
∆t ) expected in the best mapped and reachable lift source must be greater than
the value of wc,h as plotted in the graph in Figure 11. This implies that the aircraft does not expect to
encounter a stronger lift source than the best currently mapped and within reach if it continues to search.
If this condition is met, and any of the following conditions are true, the aircraft will abandon the current
action and head directly for the best mapped lift source:
Author Manuscript

1. The smallest expected altitude clearance during the transit drops below a threshold.

2. The expected altitude clearance on arrival at the location of the lift source is below a threshold.

3. The probability that the aircraft can reach the lift source drops below a threshold.

The first condition prevents the aircraft from seeking out weak or distant lift when it is likely to encounter
better lift through search. The three listed conditions then ensure that the aircraft chooses to seek lift while
it has enough energy to reach, locate, and begin exploiting a thermal.

If no mapped lift sources match the first condition (none are better than what the aircraft can expect to
randomly encounter), or the best lift source does not fit any of the listed conditions, the “go to” action will
not be triggered and the aircraft will continue its current behavior.

While en route to mapped lift, the aircraft will stop to climb if the latch conditions discussed in Section
5.2.2 are met. If the aircraft reaches a mapped lift source’s location but does not encounter the expected
lift, a large orbit (120m radius) is commanded with the center point at the mapped location of the lift.
This maneuver is used to find a thermal that has moved or was inaccurately mapped. If this clearing orbit
is completed and no lift is encountered, the aircraft will have gathered enough measurements to erase the
erroneously identified lift from the map.

Flight data showing the result of a “go to” trigger is shown in Figure 18. Figure 18a shows the energy map at
the time “go to” was activated as well as the flight trace of 180 seconds preceding the “go to.” The aircraft
found a lift source located at (450, 750) but initially did not latch because it was not strong enough given
the aircraft’s altitude at that time. It subsequently flew through strong sink and realized there was no other
lift in range (and it was unlikely to encounter a stronger source by chance) and it decided to return to the
lift source. Figure 18b shows a flight trace of 180 seconds following the “go to” decision (colored by rate of
change of specific energy). The aircraft arrived at the mapped thermal location above the arrival clearance
altitude of 200 meters and initiated a search; it found the thermal slightly north of the mapped location
(winds were blowing out of the southwest) and initiated climb where it ultimately gained approximately 300
meters altitude.

5.2.2 Thermal Detection

Regardless of whether a lift source was sought intentionally or encountered inadvertently, the aircraft should
only stop to circle if it is confident that it is crossing a lift source large enough to support a climb. To

This article is protected by copyright. All rights reserved.


(a) Energy map at the time “go to” was triggered and a (b) Flight trace showing 180 seconds following “go to”
Author Manuscript

flight trace showing the preceding 180 seconds. trigger.

Figure 18: Sample of flight showing result of “go to” trigger. The specific energy rate colorbar for subfigure
‘b’ also applies to subfigure ‘a.’

eliminate smaller features such as gusts from triggering a latch, a filtering process is applied to a queue of
prior wind speed measurements, and thresholds are chosen to reduce the impact of these features.

Other authors have used time-based filtering of energy rate (or vertical wind speed) measurements; here we
use a metric based on distance flown in lift. This distance-based approach effectively checks the diameter of
a lift source while being robust to head- and tail-winds.

The threshold climb rate ŵc is corrected for the expected aircraft sink rate in thermalling configuration (30◦
bank and tracking the airspeed that minimizes sink rate at that bank angle- see Equation 2) to determine
the minimum wind speed wz,min that will support climb at ŵc :

wz,min = ŵc + ws,min (30◦ ) (44)

This minimum lift strength is the threshold with which measured winds are compared when deciding when
to latch and unlatch.

In contrast to the mapping and energy estimation strategies presented earlier in this work where no time
history is explicitly maintained, exploitation decisions are made based on a finite queue of vertical wind and
climb rate measurements. For this purpose, a 45 second long queue of these measurements is kept, along
with the location and time at which each measurement was taken. The information in this queue can then
be processed in an efficient manner that allows for informed latch and unlatch decisions to be made.

The criteria for determining whether a latch should be initiated is computed as follows. The vertical wind
speed measurements in the queue are first thresholded against the minimum acceptable lift wz,min such that
the only information preserved is whether each measurement exceeds the threshold or not. This has the
effect of reducing the impact of large measurement outliers, a quality that was found to be necessary during
flight testing. The alternative strategy utilized by autonomous soaring researchers is to take a weighted mean
of the climb rate measurements in the time history, however this can be directly affected by large outliers
(Allen and Lin, 2007; Edwards and Silverberg, 2010).

After the threshold operation, a simple dilation is applied to the resulting binary wind speed queue. This
operation serves to eliminate short periods of sink from affecting the prevailing trend. Finally, the distance

This article is protected by copyright. All rights reserved.


along the aircraft’s flightpath over which the resulting binary queue continuously indicates good lift must
exceed a threshold in order to trigger a latch. This threshold distance is chosen to approximate the size of
a suitably large thermal, here a distance of 80 meters is used.

latch IF{wz,k > wz,min }, ∀k ∈ previous 80 meters (45)

5.2.3 Thermal Unlatch

Ideally a climb continues until reaching the mission ceiling, but in some circumstances the vehicle should
discontinue a climb for other reasons. The aircraft should depart a lift source if the climb rate is inadequate,
if a sufficiently stronger lift source becomes available, or if the aircraft has climbed to an altitude where it
expects to find stronger lift elsewhere. In all of these cases, the decision variable ŵc as discussed previously
is the threshold used to trigger the transition. Put simply, a climb is abandoned if the time history of the
achieved climb rate ėˆ shows a lower rate of actual energy gain than ŵc .
Author Manuscript

As an aircraft climbs, the achieved climb rate must meet a higher threshold in order to continue thermalling
(ŵc increases with altitude). Additionally, if the map is well-populated with thermals the aircraft will climb
in a weak lift source only until it has enough altitude to reach a stronger one. If the aircraft is climbing
within the strongest mapped lift source, only the altitude component, wc,h , will influence the decision to
unlatch.

It often takes several orbits for the center estimation algorithm to settle on a feature center. This is common
to human pilots, who often investigate a thermal for several turns before identifying the core (Cochrane,
1999a). Additionally, it often takes several orbits for the extrema seeking algorithm to determine the best
radius at which to orbit the estimated thermal center. It is thus expected that the aircraft will experience a
reduced climb rate at the beginning of a climb.

1
α

0.5
0
0 50 100 150
time after latch initiation, t − t⋆

Figure 19: The threshold reduction during the initial phase of thermal centering immediately following a
latch. The lockout period (where the climb will not be abandoned regardless of measured lift) is shown by
the grey region. Afterwards, the full threshold is gradually applied.

Hence state transitions are disallowed (except for safety reasons) for the first 40 seconds after a latch to
provide the aircraft enough time to find the thermal center. Following this lockout, a scaling function slowly
brings the climb rate requirement up to ŵc (Figure 19). The relaxed climb rate requirement is given:
{ėˆk > α(tk − t? )ŵc }, ∀k ∈ 40 previous seconds (46)
To evaluate the transition criteria for ending a climb, the climb rate measurements during the prior 40 seconds
of flight are compared to the scaled threshold as in Equation 46. If more than half of the measurements
during this time exceeded the weighted climb rate threshold, then the criteria is satisfied and the aircraft
remains in the thermal.

This process will cause an aircraft to abandon a climb if the achieved climb rate does not match ŵc . However,
the reaction time to periods of significant sink is slow. In some cases the aircraft should move on if the thermal
falls apart quickly or if the core is not tracked. Hence an additional thermal rejection criterion based on the
minimum required vertical wind speed (wz,min discussed in Section 5.2.2) is used:
{wz,k > α(tk − t? )wz,min }, ∀k ∈ 20 previous seconds (47)

This article is protected by copyright. All rights reserved.


If greater than half of the wind speed measurements during the preceding 20 seconds of flight fail this
threshold, then the climb is abandoned.

Both criteria are monitored continuously throughout a climb, if either is failed after the initial lockout period
expires, the aircraft will immediately move to abandon the current lift source (as shown by the climb state
diagram in Figure 12). After a lift source is rejected, the aircraft is again faced with the decision presented
in Section 5.2.1 and shown in the state transition diagram in Figure 14. If another mapped lift source does
not meet the requirements for triggering a “go to” action, the aircraft will pursue an exploration behavior,
otherwise it will go to the best mapped lift source.

5.2.4 Thermal Climb Evaluation

During a climb, the performance of the aircraft relative to the threshold climb rate ŵc is used to select the
exploitation strategy. The simple circling strategy is used until enough information about the thermal has
been gathered to enable a strong climb with the feedback technique. The selection metric is given:
Author Manuscript

{ėˆk > ŵc }, ∀k ∈ 20 previous seconds (48)

If greater than half of the climb rate measurements during the preceding 20 seconds of flight pass this
threshold, then the feedback technique is utilized.

Note that no relaxation of the threshold is used in this instance because this criterion is not used to terminate
a climb. Rather, it is a way of checking whether the aircraft has found a sufficiently strong region of the
thermal to climb in and is ready to enter a more aggressive energy exploitation mode. If the achieved climb
rate fails this criteria, the aircraft will resort to the more conventional circular orbit exploitation mode.
These transitions are shown in the finite state machine diagrammed in Figure 12.

6 Discussion

Flight results are discussed in detail in (Depenbusch et al., 2017). To aid the brief discussion of results
presented here, a flight trace, barogram, and commanded throttle from a typical flight are shown in Figure
20. This flight took place at Phillips Army Airfield, Aberdeen Proving Ground, Maryland in mid to late
afternoon in September under conditions dominated by synoptic high pressure. Winds were approximately
2 m/s from the southwest, the boundary layer was capped by scattered cumulus clouds at approximately
1500 m.

The flight was limited to an area of 3.17 km2 with an absolute ceiling of 3050 m above mean sea level (MSL)
(the white polygon in Figure 20a defines the flight area). In practice altitude was limited by clouds and air
traffic control clearance; further, the aircraft was required to remain in visual line of sight at all times. Terrain
at the test site was generally flat, with tree lines surrounding the airfield providing the largest changes in
elevation. Land cover included paved runways and taxiways, a gravel road, mown grass, swampy scrubland,
and deciduous forest. The differences in land cover result in differences in surface heat flux; these differences
in heat flux affected exploration behavior and the locations where thermals could be found. Observations of
bird soaring behavior (mainly vultures, but also eagles) as well as where the aircraft found lift showed that
thermal locations varied by time of day: early in the day thermals triggered from pavement and along tree
lines; later in the day thermals could be found over swampy areas that warmed more slowly.

Operational modes are indicated by the coloring of the flight trace and barogram. The aircraft is in manual
mode (black trace) only for launch and landing. It is in autonomous mode (blue trace– waypoint tracking
though the Piccolo autopilot, with waypoints defined in a parameter file) prior to engaging the soaring
system (red and green traces). When the autonomous soaring system is engaged, all commands originate
from the on-board payload computer. The red trace indicates active soaring flight in exploration mode; the

This article is protected by copyright. All rights reserved.


1400
1200
1000
800
600
400
200
0

0.5

0
0 1000 2000 3000 4000 5000 6000
Author Manuscript

(a) Example flightpath drawn showing system modes. Several long (b) Corresponding barogram and throttle com-
climbs are depicted as well as short explorations of possible lift. mand plots.
Note differences in land cover shown in the satellite photo (taken
from Google Earth).

Figure 20: Flight profile of a typical soaring flight. The flight trace is colored by flight mode; the barogram
shows specific total energy as a function of time, and the throttle plot shows throttle setting. The motor was
used only to aid launch and recovery and was briefly engaged after loss of communications to (autonomously)
fly the aircraft to the lost link waypoint (where communications were regained and the soaring system was
re-engaged).

green trace indicates an active latch in a thermal. Note the brief period of non-soaring flight (blue) at 4400
seconds: the aircraft flew into the ground station antenna null and lost the ground station communication
link. This caused the soaring system to disengage (although full autonomy was maintained– there was no
human intervention) and the autopilot commanded constant altitude powered flight to the lost link waypoint.
At the lost link waypoint, communication with the ground station was automatically regained and the soaring
system re-engaged.

Note the long thermalling climb from 300 m AGL to 1300 m AGL in addition to the several shorter thermal
climbs. The aircraft explored a significant fraction of the available area, driven by the exploration priority.
There were also several times when the aircraft flew towards (and found) previously mapped thermals and
latched into thermalling mode.

Between t ≈ 5000 and t ≈ 5100 the aircraft is briefly climbing in a thermal. Given the aircraft’s altitude
and the thermal strength, it departs to begin exploration. It begins a long descent, encountering a (weak)
thermal at t ≈ 5500. It briefly climbs in this thermal but then departs because it is too weak given the
aircraft’s specific total energy (500 m). It detects and maps some weak thermals, and at t ≈ 6000 returns to
a previously mapped thermal (which is now strong enough to be desirable given the aircraft’s specific total
energy of under 200 m). The aircraft climbed nearly 100 m in this thermal (and was continuing to climb),
but it was late in the day and we decided to end the flight. During the long descent between t ≈ 5100
and t ≈ 6000 the flight region was largely covered in sink, and the aircraft was unable to find an area of
strong-enough lift. This can occur when the scale of convective cells is on the same order as the diameter of
the flight region (in this case, ≈2km)(Sullivan and Patton, 2011).

Figure 21 details state transitions (upper plot) and rate of change of total energy (lower plot) during the
flight depicted in Figure 20. The soaring system is activated at t ≈ 150s and the aircraft begins exploring.
For much of the flight the aircraft encounters lift opportunistically while it builds a map and determines
the strength of the thermals available (note the mode changes from “explore” directly to “map thermal”).

This article is protected by copyright. All rights reserved.


1400
1200 Feedback Thermal
MSL Altitude (m)
1000 Map Thermal
800 Find Lift
600 Goto Lift
400 Explore
200 Power Climb
0 Standby
0 1000 2000 3000 4000 5000 6000 7000
4
Specific Energy Rate (m/s)

3
2
1
0
Author Manuscript

−1
−2
−3
−4
0 1000 2000 3000 4000 5000 6000 7000
Time (s)

Figure 21: Detailed autonomy modes. When at high altitude the aircraft would opportunistically encounter
strong lift before needing a climb but as it descended later in the flight it sought out mapped lift.

At t ≈ 4400s, the soaring system is briefly disabled (“standby”) when the communications link with the
ground station is lost; it is re-established and the “explore” mode is resumed. During most of the flight
the aircraft was able to find strong lift (i.e. lift that exceeds the strongest mapped lift) opportunistically.
The “go to” behavior occurs four times: at t ≈ 2500s, at t ≈ 5950s, t ≈ 6100s, and at t ≈ 6200s. In each
case the aircraft is rather low, so the likelihood of finding a stronger-than-mapped thermal within the glide
footprint is small. In each of the four cases, “go to” is succeeded by “map thermal.” In the first case (at
t ≈ 2500s) the aircraft fails to find a thermal on its initial mapping turn and the “explore” behavior is
triggered. The aircraft quickly found a thermal (possibly the originally-mapped thermal had drifted away)
and began climbing, gaining 200 meters altitude. Climb rate decreased, triggering “map thermal” and then
the “explore” behavior; the aircraft then found a strong thermal that resulted in a climb of nearly 1000
meters. The next three cases all resulted in the mapped thermal being found and short climbs. Referring
to the lower plot of Figure 21 and again to Figure 20b, the weak thermal encountered at t ≈ 5500 results in
brief thermalling with a climb rate of roughly 1 m/s, which is too low given the aircraft’s altitude of 500m.
The later climb at t ≈ 6000 began with a low climb rate but later peaked at 2 m/s. At t ≈ 6250s the soaring
system was manually placed in standby and the aircraft was manually recovered.

7 Conclusions

We have presented a system by which a small aircraft may extend its endurance through the use of soaring
flight to extract energy from the environment. This autonomous soaring system includes thermal detection,
thermal latching and de-latching, thermal centering control, mapping, exploration, and flight management,
covering all phases of flight except for launch and recovery.

In contrast to previous autonomous soaring developments, the aircraft maintains a global map of updraft

This article is protected by copyright. All rights reserved.


and downdraft locations in the surrounding airmass. This map provides context to the environment in which
the aircraft operates and mimics atmospheric dynamics. Additionally, the available map informs transitions
between exploration and energy harvesting behaviors, allowing a transition to happen when the aircraft
needs energy and can still reach a known source.

Further, by building a long-term memory of thermal producing regions, the aircraft can improve the chances
of finding thermals during exploration. This was one part of a strategy that guided exploration towards
regions that were considered to be of high priority. Other factors included the confidence with which the
aircraft regarded wind estimates in a region, the expected heat flux at the surface arising from solar heating,
and the terrain gradient with respect to the prevailing wind direction.

The exploitation strategy developed here built on the work of other researchers and was guided by the results
of prior flight tests. A multi-part strategy was used where the aircraft was allowed to orbit a probable thermal
location in order to gather information before undertaking a more aggressive feedback approach to energy-
gain.
Author Manuscript

The system has been developed using insight gained through simulation and during flight testing. This has
encouraged a robust design for all system components with an emphasis on low computational requirements.
Flight data presented in this paper demonstrated 1.77 hours flight time with the motor running for less than
one minute. In total the autonomous soaring system has flown for 7.8 hours, with the motor running for
only 8.4 minutes.

Acknowledgments

Portions of this research were funded by the Office of Naval Research under Grant N000141110656.

The authors thank Dr. Dan Edwards and Chris Bovais from the Naval Research Laboratory for their support
of this project and for organizing the flight test campaign at Aberdeen Proving Ground.

References

Acevedo, J. J., Lawrance, N. R. J., Arrue, B. C., Sukkarieh, S., and Ollero, A. (2014). Persistent monitoring
with a team of autonomous gliders using static soaring. 2014 IEEE/RSJ International Conference on
Intelligent Robots and Systems, (Iros):4842–4848.
Akos, Z., Nagy, M., Leven, S., and Vicsek, T. (2010). Thermal soaring flight of birds and unmanned aerial
vehicles. Bioinspiration & Biomimetics, 5(4):045003.
Allen, M. J. (2006). Updraft model for development of autonomous soaring uninhabited air vehicles. In
44th AIAA Aerospace Sciences Meeting and Exhibit, Aerospace Sciences Meetings, pages 1–19, Reno,
Nevada. AIAA Paper 2006-1510, American Institute of Aeronautics and Astronautics.
Allen, M. J. and Lin, V. (2007). Guidance and control of an autonomous soaring vehicle with flight test
results. In 45th AIAA Aerospace Sciences Meeting and Exhibit, Reno, Nevada. American Institute of
Aeronautics and Astronautics.
Andersson, K., Jones, K., Dobrokhodov, V., and Kaminer, I. (2012a). Thermal highs and pitfall lows- Notes
on the journey to the first cooperative autonomous soaring flight. In 51st IEEE conference on Decision
and Control, Maui, Hawaii, USA.
Andersson, K. and Kaminer, I. I. (2009). On stability of a thermal centering controller. In AIAA Guidance,
Navigation, and Control Conference, number August, pages 1–15, Chicago, IL.
Andersson, K., Kaminer, I. I., Dobrokhodov, V. N., and Cichella, V. (2012b). Thermal centering control
for autonomous soaring; Stability analysis and flight test results. Journal of Guidance, Control, and
Dynamics, 35(3):963–975.

This article is protected by copyright. All rights reserved.


Andersson, K., Kaminer, I. I., and Jones, K. D. (2010). Autonomous soaring; Flight test results of a thermal
centering controller. AIAA Guidance, Navigation and Control Conference, (August):1–13.

Andersson, K., Kaminer, I. I., Jones, K. D., Dobrokhodov, V. N., and Lee, D.-j. (2009). Cooperating UAVs
using thermal lift to extend endurance. In AIAA Infotech@Aerospace Conference, number April, pages
1–26, Reston, Virigina. American Institute of Aeronautics and Astronautics.

Bencatel, R. (2010). Thermal localization. 2010 International Conference on Autonomous and Intelligent
Systems, AIS 2010, pages 1–6.

Bird, J. J. and Langelaan, J. W. (2012). Spline Mapping to Maximize Energy Exploitation of Non-Uniform
Thermals. Proceedings of the XXXI OSTIV Congress, . . . , pages 1–6.

Bower, G. C., Flanzer, T. C., Naiman, A. D., and Saripalli, S. (2010). Dynamic environment mapping
for autonomous thermal soaring. In AIAA Guidance, Navigation and Control Conference, pages 1–19,
Toronto, Ontario, Canada.

Camacho, N., Dobrokhodov, V. N., and Jones, K. D. (2014). Cooperative autonomy of multiple solar-
Author Manuscript

powered thermaling gliders. In Edward, B., editor, 19th World Congress The International Federation
of Automatic Control, pages 1222–1227.

Chakrabarty, A. and Langelaan, J. W. (2009). Energy maps for long-range path planning for small and
micro UAVs. In AIAA Guidance, Navigation and Control Conference, pages 1–13, Chicago, IL.

Chakrabarty, A. and Langelaan, J. W. (2011). Energy-based long-range path planning for soaring-capable
unmanned aerial vehicles. Journal of Guidance, Control, and Dynamics, 34(4):1002–1015.

Chakrabarty, A. and Langelaan, J. W. (2013). UAV flight path planning in time varying complex wind-fields.
In 2013 American Control Conference, pages 2568–2574. IEEE.

Cheng, K. K. and Langelaan, J. W. (2014). Guided exploartion for coordinated autonomous soaring flight. In
AIAA Guidance, Navigation, and Control Conference, National Harbor, Maryland. American Institute
of Aeronautics and Astronautics.

Chung, J. J., Lawrance, N. R. J., and Sukkarieh, S. (2014). Learning to soar: Resource-constrained explo-
ration in reinforcement learning. The International Journal of Robotics Research, 34(2):158–172.

Cobano, J. A., Alejo, D., Vera, S., Heredia, G., and Ollero, A. (2013). Multiple gliding UAV coordination
for static soaring in real time applications. In Proceedings - IEEE International Conference on Robotics
and Automation, pages 790–795, Karlsruhe, Germany.

Cochrane, J. (1999a). Just a Little Faster Please, Part II. Soaring, 23(July):22–24.

Cochrane, J. H. (1999b). MacCready theory with uncertain lift and limited altitude. Technical Soaring,
23(3):88–96.

Cowling, I. D., Willcox, S., Patel, Y., Smith, P., and Roberts, M. (2009). Increasing persistence of UAVs
and MAVs through thermal soaring. The Aeronautical Journal, 113(1145):479–489.

Cutler, M. J., McLain, T. W., Beard, R. W., and Capozzi, B. (2010). Energy harvesting and mission
efectiveness for small unmanned aircraft. In AIAA Guidance, Navigation and Control Conference,
number August, page 13.

Daugherty, S. and Langelaan, J. W. (2014). Improving autonomous soaring via energy state estimation and
extremum seeking control. In AIAA Guidance, Navigation, and Control Conference, National Harbor,
Maryland. American Institute of Aeronautics and Astronautics.

Depenbusch, N. T., Bird, J. J., and Langelaan, J. W. (2017). The AutoSOAR Autonomous Soaring Aircraft
Part 2: Hardware Implementation and Flight Results. Journal of Field Robotics, online October 3, 2017.

This article is protected by copyright. All rights reserved.


Depenbusch, N. T. and Langelaan, J. W. (2011). Coordinated mapping and exploration for autonomous
soaring. In AIAA Infotech@Aerospace Conference, St. Louis, Missouri.

Edwards, D. J. (2008a). Implementation details and flight test results of an autonomous soaring controller.
In AIAA Guidance, Navigation, and Control Conference, Reston, Virginia. American Institute of Aero-
nautics and Astronautics.

Edwards, D. J. (2008b). Performance testing of RNR’s SBXC using a piccolo autopilot. Technical Report
September 2007.

Edwards, D. J., Kahn, A. D., Kelly, M., Heinzen, S., Scheiman, D. A., Jenkins, P. P., Walters, R., and
Hoheisel, R. (2016). Maximizing net power in circular turns for solar and autonomous soaring sircraft.
Journal of Aircraft, pages 1–11.

Edwards, D. J. and Silverberg, L. M. (2010). Autonomous soaring: The Montague Cross-Country Challenge.
Journal of Aircraft, 47(5):1763–1769.

Glendening, J. W. (2002). BLIPMAPs. Soaring, (July).


Author Manuscript

Hazard, M. W. (2010). Unscented Kalman filter for thermal parameter identification. In 48th AIAA Aerospace
Sciences Meeting Including the New Horizons Forum and Aerospace Exposition, Orlando, FL.

Hazen, Z. R. T. (2012). Design and implementation of a low cost thermal soaring system for uninhabited
aircraft. Master of science, Wichita State University.

Hero, A. O., Messer, H., Goldberg, J., Thomson, D. J., Amin, M. G., Giannakis, G. B., Swami, A., Tugnait,
J. K., Nehorai, A., Swindlehurst, A. L., Cardoso, J.-F., Lang Tong, and Krolik, J. (1998). Highlights of
statistical signal and array processing. IEEE Signal Processing Magazine, 15(5):21–64.

Hindman, E. E., Saleeby, S. M., Liechti, O., and Cotton, W. R. (2007). A meteorological system for planning
and analyzing soaring flights in Colorado USA. Technical Soaring, 31(3):68–78.

Hoblit, F. M. (1988). Gust Loads on Aircraft: Concepts and Applications. AIAA Education Series. American
Institute of Aeronautics and Astronautics, Washington DC.

Homer, C. G., Dewitz, J. A., Yang, L., Jin, S., Danielson, P., Xian, G., Coulston, J., Herold, N. D.,
Wickham, J. D., and Megown, K. (2015). Completion of the 2011 National Land Cover Database for the
conterminous United States-Representing a decade of land cover change information. Photogrammetric
Engineering and Remote Sensing, 81(5):345–354.

Langelaan, J. W., Alley, N., and Neidhoefer, J. (2011). Wind field estimation for small unmanned aerial
vehicles. Journal of Guidance, Control, and Dynamics, 34(4):1016–1030.

Lawrance, N. R. J. and Sukkarieh, S. (2011). Autonomous exploration of a wind field with a gliding aircraft.
Journal of Guidance, Control, and Dynamics, 34(3):719–733.

MacCready, P. B. J. (1958). Optimum Airspeed Selector. Soaring, (1):10–11.

Makovkin, D. and Langelaan, J. W. (2014). Optimal persistent surveillance using coordinated soaring. AIAA
Guidance, Navigation and Control Conference, (January).

Pagen, D. (1992). Understanding the Sky: A Sport Pilot’s Guide to Flying Conditions. Sport Aviation
Publications, Spring Mills, Pennsylvania, first edition.

Quigley, M., Gerkey, B., Conley, K., Faust, J., Foote, T., Leibs, J., Berger, E., Wheeler, R., and Ng, A.
(2009). ROS: an open-source Robot Operating System. In Proceedings Open-Source Software workshop
of the International Conference on Robotics and Automation (ICRA).

Reichmann, H. (1978). Cross-Country Soaring. Soaring Society of America.

This article is protected by copyright. All rights reserved.


Siddon, R. L. (1985). Fast calculation of the exact radiological path for a three dimensional CT array.
Medical physics, 12(2):252–255.
Stevens, B. L. and Lewis, F. L. (2003). Aircraft Control and Simulation. John Wiley & Sons, Inc., Hoboken,
New Jersey, 2nd edition.

Stull, R. B. (1988). An Introduction to Boundary Layer Meteorology. Springer Netherlands, 1 edition.


Sullivan, P. P. and Patton, E. G. (2011). The Effect of Mesh Resolution on Convective Boundary Layer
Statistics and Structures Generated by Large-Eddy Simulation. Journal of the Atmospheric Sciences,
68(10):2395–2415.
Wan, E. and van der Merwe, R. (2000). The unscented kalman filter for nonlinear estimation. In Adap-
tive Systems for Signal Processing, Communications, and Control Symposium, Lake Louise, Alberta.
Institute for Electrical and Electronics Engineers.
Wan, E. A. and van der Merwe, R. (2000). The unscented Kalman filter for nonlinear estimation. In Sym-
posium on Adaptive Systems for Signal Processing, Communication and Control, Lake Louise, Alberta.
Author Manuscript

IEEE.

Wharington, J. M. (1998). Autonomous control of soaring aircraft by reinforcement learning. Doctor of


philosophy, Royal Melbourne Institute of Technology.
Zhang, N. (2012). Estimating wind velocities in atmospheric mountain waves using sailplane flight data.
Doctor of philosophy, University of Canterbury.

A Tables of Parameters

Parameter Nominal Rationale


Value
Thermal radius for thermal location es- 100 m Several times turn radius, consistent with observa-
timation tions from flight tests.
Length of measurement queue for ther- 45 s Approximately two turn durations.
mal localization
Time between localizations 5s Approximately one-quarter turn, a turn from
aligned with to cross-wind (or vice-versa).
Interthermal environmental sink 0.25 m/s
Thermal drift rate as a fraction of wind 0.5 Heuristic frequently quoted by manned glider pi-
speed lots.
Buoyancy ratio [0,5] Heuristic based on expected shear conditions
Maximum measurement distance, rmax 50 m Approximate lower bound on the radius of a ther-
mal
2
Maximum wind variance, σw z ,max
1 (m/s)2 Expected variance in environment
Map cell discretization, dx 25 m Approximate aircraft turn radius
Wind strength threshold for lift map 1.0 m/s One standard deviation above environmental mean
Probability threshold for lift map 0.64
Nominal bank angle, φnom 30◦ Typical shallow bank used in soaring flight (Reich-
mann, 1978)

Table 1: Summary of parameters the software related to environmental mapping.

This article is protected by copyright. All rights reserved.


Parameter Nominal Rationale
Value
Ring slope 0.001 Increase in threshold climb rate with altitude
(m/s)/m
Minimum working altitude 400 m AGL Heuristically identified altitude below which lift is
difficult to utilize
Ring minimum [0.3, 0.5] Minimum acceptable climb rate
(m/s)
Psuedo-probability weight factor on 0.5
sensible heat flux when determining ex-
ploration target, α1
Author Manuscript

Psuedo-probability weight factor on 0.2


terrain gradient when determining ex-
ploration target, α2
Local exploration distance 250 m
Local exploration wind threshold -0.5 m/s Strong sink that the aircraft should avoid
Local exploration uncertainty threshold 0.75 (m/s)2
Distant exploration distance 750 m
Minimum distance in lift to trigger 80 m Minimum size of a lift source to allow circular orbits
latch at a reasonable bank angle
Period following latch during which a 40 s Enough time for thermal center estimates to settle
climb will not be abandoned
Period over which the threshold climb 120 s Enough time to center a thermal well
rate to continue a climb is reduced
Window length over which climb rate 40 s Approximately two orbits
must satisfy threshold to continue climb
Window length over which measured 20 s Approximately one orbit
wind must satisfy threshold to continue
climb
Window length over which climb rate 20 s Approximately one orbit
must satisfy threshold to use feedback
control while climbing
Probability threshold for computing 0.95
glide range
Minimum terrain clearance requirement 200 m
en route which triggers a turn to the
best lift source
Minimum terrain clearance requirement 200 m
on arrival which triggers a turn to the
best lift source
Reachable probability threshold which 0.99
triggers a turn to the best lift source

Table 2: Summary of parameters the software related to aircraft behavior selection.

This article is protected by copyright. All rights reserved.

You might also like