abstract rotorcraft flight dynamics and control in wind ...cdcl.umd.edu/papers/nitindiss.pdf ·...
TRANSCRIPT
ABSTRACT
Title of dissertation: Rotorcraft Flight Dynamics and Control in Windfor Autonomous Sampling of Spatiotemporal Processes
Nitin Sydney, Doctor of Philosophy, 2015
Dissertation directed by: Professor Derek A. PaleyDepartment of Aerospace Engineering
In recent years, there has been significant effort put into the design and use
small, autonomous, multi-agent, aerial teams for a variety of military and commer-
cial applications. In particular, small multi-rotor systems have been shown to be
especially useful for carrying sensors as they have the ability to rapidly transit be-
tween locations as well as hover in place. This dissertation seeks to use multi-agent
teams of autonomous rotorcraft to sample spatiotemporal fields in windy conditions.
For many sampling objectives, there is the problem of how to accomplish the sam-
pling objective in the presence of strong wind fields caused by external means or by
other rotorcraft flying in close proximity. This dissertation develops several flight
control strategies for both wind compensation, using nonlinear control techniques,
and wind avoidance, using artificial potential-based control. To showcase the utility
of teams of unmanned rotorcraft for spatiotemporal sampling, optimal algorithms
are developed for two sampling objectives: (1) sampling continuous spatiotemporal
fields modeled as Gaussian processes, and (2) optimal motion planning for coordi-
nated target detection, which is an example of a discrete spatiotemporal field. All
algorithms are tested in simulation and several are tested in a motion capture based
experimental testbed.
ROTORCRAFT FLIGHT DYNAMICS AND CONTROL IN WINDFOR AUTONOMOUS SAMPLING OF SPATIOTEMPORAL
PROCESSES
by
Nitin Sydney
Dissertation submitted to the Faculty of the Graduate School of theUniversity of Maryland, College Park in partial fulfillment
of the requirements for the degree ofDoctor of Philosophy
2015
Advisory Committee:Professor Derek Paley, Chair/AdvisorProfessor Inderjit ChopraProfessor Sean HumbertProfessor Raymond SedwickProfessor Benjamin Shapiro
c© Copyright byNitin Sydney
2015
Dedication
To my family
ii
Acknowledgments
Firstly, I would like to thank my advisor, Professor Derek A. Paley, for guiding
my research through my graduate career and for granting me the opportunity to
pursue my research interests. The experiences I have gained by working in the
Collective Dynamics and Control Laboratory have been invaluable.
I would also like to thank the other members of my dissertation commit-
tee, Professors Inderjit Chopra, Sean Humbert, Raymond Sedwick, and Benjamin
Shapiro, for their help in shaping my dissertation.
My thanks go to my fellow CDCL lab mates, namely Levi DeVries, Seth Na-
pora, Sachit Butail, Cammy Peterson, Amanda Chicoli, Frank Lagor, and Daigo
Shishika for helping me throughout the years. This dissertation would not be here
today without their constant discussions and expertise.
The last few years I have spent at the Naval Research Laboratory have intro-
duced me to several people that I would like to thank, namely Don Sofge, Keith
Sullivan, and Michael Kuhlman, who have all helped support my developing interest
in the field of mobile robotics.
My family has been a constant source of strength and support for me during
this process. I would like to thank my parents, Rekha and Mukesh, for their unre-
lenting belief in what I can achieve; I wouldn’t be who I am without them. I would
especially like to thank my brother Anish. He’s pushed me to work harder than I
ever thought I could, and he truly deserves to be called the better twin because of
it.
iii
Finally, I would like to thank my wife, Lauren. She’s put up with all my late
nights, listened patiently to all my problems, and has provided constant love and
support for the last eight years. Thank you for everything.
iv
Table of Contents
List of Figures vii
1 Introduction 11.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Multi-Rotor Flight in Wind . . . . . . . . . . . . . . . . . . . 41.2.2 Distributed Target Detection . . . . . . . . . . . . . . . . . . 61.2.3 Sampling of Continuous Gaussian Processes . . . . . . . . . . 7
1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.4 Outline of Dissertation . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Background Information 122.1 Recursive Bayesian Estimation . . . . . . . . . . . . . . . . . . . . . . 122.2 Estimation of Gaussian Processes . . . . . . . . . . . . . . . . . . . . 142.3 Feedback Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4 Wind Field Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3 Rotorcraft Guidance and Control in Wind 253.1 Quadrotor Dynamics and Control in Wind . . . . . . . . . . . . . . . 25
3.1.1 Quadrotor Dynamics in Wind . . . . . . . . . . . . . . . . . . 263.1.2 Feedback Linearization Control . . . . . . . . . . . . . . . . . 323.1.3 Application: Autonomous Ship Landing . . . . . . . . . . . . 343.1.4 Application: Quadrotor Proximity Flight . . . . . . . . . . . . 35
3.2 Pitch Dynamics and Control . . . . . . . . . . . . . . . . . . . . . . . 373.2.1 Pitch Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . 393.2.2 Control Design . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3 Path Planning for Downwash Avoidance . . . . . . . . . . . . . . . . 453.3.1 Estimation of Nearby Rotorcraft . . . . . . . . . . . . . . . . . 463.3.2 Path Planning for Downwash Avoidance . . . . . . . . . . . . 503.3.3 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . 52
v
4 Distributed Detection of Mobile Targets 564.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.2 Likelihood Ratio Tracker for Target Detection . . . . . . . . . . . . . 57
4.2.1 Update step: The sensor measurement model . . . . . . . . . 574.2.2 Predict step: Integrating the diffusion equation . . . . . . . . 59
4.3 Physics-Inspired Motion Planning . . . . . . . . . . . . . . . . . . . . 604.4 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.4.1 Single-Vehicle, Single-Target Experiment . . . . . . . . . . . . 694.4.2 Multi-Vehicle, Multi-Target Experiment . . . . . . . . . . . . 70
5 Distributed Sampling of Gaussian Processes 775.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.2 Sampling a Stationary Spatiotemporal Field . . . . . . . . . . . . . . 785.3 Transformation to a Locally Stationary Field . . . . . . . . . . . . . . 82
5.3.1 Coupled Decorrelation Scales . . . . . . . . . . . . . . . . . . 825.3.2 Decoupled Decorrelation Scales . . . . . . . . . . . . . . . . . 87
5.4 Multivehicle Coverage Control . . . . . . . . . . . . . . . . . . . . . . 895.5 Lag Space for Formation Control . . . . . . . . . . . . . . . . . . . . 985.6 Bayesian Estimation of Decorrelation Scales . . . . . . . . . . . . . . 1025.7 Optimal Exploration vs. Exploitation . . . . . . . . . . . . . . . . . . 103
6 Conclusion 1076.1 Summary of Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076.2 Suggestions for Future Work . . . . . . . . . . . . . . . . . . . . . . . 109
Bibliography 111
vi
List of Figures
1.1 Spatiotemporal Processes . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1 Flowfield in the z-domain . . . . . . . . . . . . . . . . . . . . . . . . 202.2 Downwash of a quadrotor . . . . . . . . . . . . . . . . . . . . . . . . 212.3 Marginal probabilities of wind speed and direction . . . . . . . . . . . 24
3.1 Reference frames and free body diagram for quadrotor. . . . . . . . . 263.2 Flap angle of the rotor due to a relative wind. . . . . . . . . . . . . . 273.3 Two-layer feedback linearization control system for 6DOF quadrotor. 343.4 Waypoint holding in wind . . . . . . . . . . . . . . . . . . . . . . . . 353.5 Simulation of autonomous ship landing . . . . . . . . . . . . . . . . . 363.6 Simulation of proximity hover . . . . . . . . . . . . . . . . . . . . . . 383.7 Free body diagram of pitch stand system. . . . . . . . . . . . . . . . . 393.8 Simulation of pitch dyanmics . . . . . . . . . . . . . . . . . . . . . . . 453.9 Quadcopter mock-up and sample localization results . . . . . . . . . 493.10 Simulation of downwash avoidance . . . . . . . . . . . . . . . . . . . 523.11 Experimental results for downwash avoidance . . . . . . . . . . . . . 54
4.1 States-of-matter emergent behavior . . . . . . . . . . . . . . . . . . . 614.2 Lennard-Jones potential . . . . . . . . . . . . . . . . . . . . . . . . . 614.3 Parameter values and definitions . . . . . . . . . . . . . . . . . . . . . 724.4 Simulation of physics-inspired target search algorithm . . . . . . . . . 734.5 Prototyping high bay in the Laboratory for Autonomous Systems
Research at the Naval Research Laboratory. . . . . . . . . . . . . . . 734.6 Image processing for blob detection . . . . . . . . . . . . . . . . . . . 744.7 Hardware architecture for experiments . . . . . . . . . . . . . . . . . 744.8 Single-vehicle experimental results . . . . . . . . . . . . . . . . . . . . 754.9 Multi-vehicle experimental results . . . . . . . . . . . . . . . . . . . . 76
5.1 Comparison of coverage for stationary and nonstationary Gaussianprocesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.2 Opimal coverage of 1D path . . . . . . . . . . . . . . . . . . . . . . . 805.3 Transformation from r-domain to R-domain . . . . . . . . . . . . . . 87
vii
5.4 STC path for nonstationary field . . . . . . . . . . . . . . . . . . . . 915.5 R-domain coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.6 Nonstationary STC algorithm simulation . . . . . . . . . . . . . . . . 955.7 Mapping error with and without nonstationary STC algorithm . . . . 985.8 Depiction of covariance function in lag space . . . . . . . . . . . . . . 1005.9 Difference between lag splay and vehicle splay . . . . . . . . . . . . . 1005.10 Spirograph trajectory for optimal decorrelation scale estimation . . . 1025.11 Explore vs. Exploit simulation at time step 89 . . . . . . . . . . . . . 1055.12 Explore vs. Exploit simulation at time step 800 . . . . . . . . . . . . 105
viii
Chapter 1: Introduction
1.1 Motivation
In the past decade, there has been growing interest in the use of unmanned
aerial vehicles for both government [1] and commercial applications [2]. Small un-
manned aerial vehicles present new opportunities for multi-agent sensor deployment
as they can transit rapidly between locations. Rotorcraft in particular can be used
to hover sensors in areas of interest and can redeploy based on collected information.
The ability to rapidly transit opens new possibilities for information gathering and
multi-agent coordination. As such, this dissertation explores the possibility of using
multiple, small, unmanned rotorcraft for the purpose of sampling spatiotemporal
processes.
Figure 1.1 shows a flowchart of how spatiotemporal fields are represented and
how multi-agent teams of unmanned rotorcraft can be used to estimate them. Spa-
tiotemporal processes are split into two categories: continuous and discrete pro-
cesses. Examples of continuous processes include scalar fields such as temperature,
humidity, pollution, etc. Conversely, discrete processes encompass applications such
as target tracking and moving vehicle surveillance. The methods for estimating
these processes generally fall into one of two categories: interpolation and proba-
1
bilistic. Interpolation includes strategies such as Gaussian process and least squares
estimation, whereas probabilistic strategies include distributed parameter estima-
tion and recursive Bayesian inference. With regards to using unmanned rotorcraft
for sampling spatiotemporal processes, there are two levels of control. First is a
path planning level. In this level, vehicles coordinate motions to accomplish a de-
sired global goal, e.g., to maximize information gain. The second level is rigid-body
motion, i.e., the ability to follow the motion prescribed by the path planner.
Spa$otemporal Processes
Con$nuous Discrete
Interpola$on Probabilis$c
• Mapping fields • Plume detec$on
• Target search • Surveillance
Process
Es$ma$on
Control Path Planning Rigid-‐Body
• Trajectory Tracking • Informa$on gain
• Wind compensa$on • Stability
• Gaussian Process es$ma$on • Least squares
• Distributed parameter es$ma$on • Recursive Bayesian
Figure 1.1: Representation of estimation of spatiotemporal fields for the purpose of sampling and
estimation using multi-agent teams of unmanned rotorcraft.
One contribution of this dissertation is dealing with the issue of rigid-body
control of the rotorcraft. One of the concerns with small unmanned aerial vehicles
such as quadrotors is their susceptibility to wind fields and gusts, which can not
only degrade the performance of the vehicle but can also make them dangerous to
2
operate in populated areas. Even without external wind gusts, quadrotors operating
in proximity to one another are affected by the downwash from other quadrotors.
Therefore, controllers are designed to stabilize rotorcraft in the presence of strong
wind fields caused both by external means as well as other vehicles in close proximity.
The focus of this dissertation is to showcase how rotorcraft can be used in
real-world, windy environments for sampling spatiotemporal processes. As such,
another contribution of this dissertation is to design path planning algorithms and
control teams of rotorcraft to sample two types of spatiotemporal processes. The
first type of process is scalar, spatiotemporal Gaussian processes with two spatial
dimensions and one temporal dimension. Specifically, the scope of the Gaussian
process sampling is to focus on optimally sampling nonstationary fields, i.e., fields
whose variability is nonuniform. This dissertation also seeks to solve the explore vs.
exploit problem for Gaussian processes, i.e., where the statistics of the field must
be estimated before the field can be mapped. The second type of spatiotemporal
process is the discrete process of target detection. In the problem of target detection,
the focus is on vehicles with low quality cameras, for which vehicle coordination is
crucial to optimally detect an unknown number of potentially moving targets.
1.2 Related Work
The related work is split into three sections according to subproblem. The
three sections are: multi-rotor flight in wind, distributed target detection, and sam-
pling of continuous Gaussian processes.
3
1.2.1 Multi-Rotor Flight in Wind
Many prior works in the area of quadrotor control, e.g., [3–5], approximate the
quadrotor dynamics by a linear system, for which standard linear controllers can
be designed. More recent dissertations [6–8] use nonlinear control techniques like
feedback linearization, backstepping, and sliding mode control. It is common for
linear and nonlinear control techniques applied in the literature to use a six-degree-
of-freedom (6DOF) model for the quadrotor dynamics that neglects the effects of
aerodynamic forces on the vehicle. Some notable exceptions [9,10] model rotor effects
such as blade flapping and induced thrust, which are important to the results in this
dissertation. Other papers [11, 12] account for wind gust disturbances, but only as
linear perturbations.
The use of flow sensing has been employed with great success on naturally
evolved flyers [13]. Using distributed measurements of relative wind, sufficiently
large creatures such as birds align themselves with their intended direction of travel
and account for the effects of wind gusts. By detecting fine details of the ambient flow
field, small creatures like insects improve their flight performance by finely tuning
their flap stroke to suit flight conditions [13]. Gewecke and Woike [14] showed that
directing airflow over avian feathers could cause steering impulses, and as shown in
more recent work by Brown and Fedde [15], birds have the necessary sensor-feather
mechanisms in the wing to predict stall and measure airspeed.
In contrast to natural flyers, the current paradigm of small unmanned system
instrumentation is to integrate inertial measurements supplemented by (scalar) air-
4
speed. A five-hole probe providing air-data measurements that include airspeed, an-
gle of attack, and sideslip has been successful in applications involving conventional
fixed wing flight within the traditional flight envelope [16–18]. These platforms
provide a baseline capability for more advanced tests in areas such as cooperative
control [19] and ocean-borne operations [20] for both fixed-wing and rotary-wing
vehicles [21,22].
Seeking improved platform performance, researchers have looked to expand
the notion of onboard flow sensing and apply it to various levels of vehicle control.
For example, flow information can be used to fine-tune aerodynamic parameters for
performance. Patel and Corke [23, 24] considered the time-domain response from
a high-bandwidth pressure sensor to predict incipient flow separation at the wing
leading edge and trigger a plasma flow actuator to alleviate flow separation.
Flow sensing can also improve flight control. Xu et al. [25] implemented arrays
of micro-machined shear-stress sensors on the leading edge of a low aspect-ratio delta
wing. The sensor system was developed to support control strategies that effected
aerodynamic flight control through boundary-layer manipulation [26]. The AVO-
CET project [27] aims to continuously tailor the pressure distribution and resulting
forces and moments across the wing using advanced micro-tuft sensors and hybrid
fluidic flow actuators. Under attached flow conditions, NASA has supported wind
tunnel-based implementation and testing of a distributed actuation and sensing ar-
ray for use on a blended-wing-body UAV, using a series of pressure measurements to
study the effectiveness of a morphing-wing control strategy [28, 29]. More recently,
Watkins et al. have demonstrated improved attitude control of a small fixed-wing
5
vehicle in turbulent flow conditions through the integration of pressure sensors em-
bedded in the main wings.
1.2.2 Distributed Target Detection
There are many approaches to multiple target tracking in the literature. Prob-
abilistic approaches such as [30–36] use Bayesian inference combined with maximum
likelihood or multiple hypothesis trackers to track multiple (moving) targets. Al-
though the above approaches address how to combine sensor measurements to track
and detect targets, only a few techniques [37–39] effectively move the mobile plat-
forms to find targets and most of these techniques focus on the use of a single sensor
platform. Other approaches [40] focus on optimal sensor selection. Recently, several
authors, e.g., [41, 42], have used information-based approaches to design optimal
sensor placement/control, but it is difficult to scale these approaches to a large
number of vehicles due to the complexity in calculating mutual information. Most
similar to the work presented here are physics-inspired swarm controllers [43–45],
where vehicles switch behaviors based on their “temperature” to improve the speed
and quality of information gathering. However, the behavior in these approaches
is explicitly imposed, leading to a large number of tuning parameters. Addition-
ally, these strategies tend to be heuristic, and hence may not have performance
guarantees.
6
1.2.3 Sampling of Continuous Gaussian Processes
There are several approaches in the literature pertaining to sampling a spa-
tiotemporal field using a mobile sensor network. In distributed parameter estima-
tion, the field is modeled by an underlying process, usually a partial differential
equation, for which the parameters are estimated by routing vehicles to maximize
an objective function based on optimal experimental design [46–48]. In Bayesian
estimation [49–52], the mean of the field is modeled as a combination of known ba-
sis functions and a (partially) known covariance function. A maximum-likelihood,
recursive (gridded or particle) filter is used to determine the unknown coefficients
of the covariance function as well as regression coefficients for the basis functions.
In the coverage control approach [53–57], vehicles are routed to maximize the area
that the sensor measurements cover, often using heuristic measures for coverage.
Another approach is based on mapping error [58, 59], where vehicles are routed to
minimize the error in the estimation of the field.
Unlike prior work that focuses on sampling stationary spatiotemporal fields,
e.g., [58, 60, 61]; this dissertation studies the problem of sampling a spatiotemporal
field in which the second-order statistics may change as a function of space and time,
i.e., the field is nonstationary [62]. Some recent works on sampling a nonstationary
field focus on coverage control [63,64], where vehicles are controlled such that there
are no gaps in the coverage of the field; these works use a heuristic measure of sam-
pling need to measure sampling performance. For example, Leonard and Olshevskyi
in [64] sample a time-invariant field by routing vehicles to fixed locations. Sampson
7
et al. and Schmidt et al. estimate the covariance structure of a time-invariant non-
stationary field using fixed measurement locations as in [65,66]. In [65], a coordinate
transformation is used to ensure the covariance structure of the transformed field
is stationary. The covariance function is parameterized by its characteristic spatial
and temporal length scales, called decorrelation scales. The approach in [65] is to
numerically map the locations of several fixed sampling stations to a new set of co-
ordinates such that the spatial dispersion between locations in the new coordinates
is approximately stationary. The new coordinates are found by numerically mini-
mizing a cost function that includes a heuristic measure of stationarity. While not
identical, this approach strongly influenced the development of the main result for
Gaussian process estimation, which extends the approach to permit mobile sensors.
1.3 Contributions
The contributions of this dissertation are as follows:
1. Created a layered, feedback linearization controller for a 6DOF quadrotor
model including the effects of blade flapping and aerodynamic moment. Unlike
other models in the field, this controller allows the wind field to be different
over each rotor, which can cause severe and undesired motions of the vehicle.
The controller uses an estimated wind field found using a recursive Bayesian
filter in the feedback loop.
2. Designed and implemented a path planner that estimated the position of an-
other quadrotor and avoids the downwash. The path planner uses an estimate
8
of the position of another quadrotor as input to the path planner, which uses
artificial potential field control to guide the vehicle safely around the impinging
downwash. The estimate of the proximal quadrotor is found using a recursive
Bayesian estimator.
3. Created a feedback linearization controller for a 1DOF pitch stand that in-
cludes blade flapping and aerodynamic drag. Unlike the simplified momentum
theory based models used for the quadrotor controller, this controller uses an
aerodynamic model where motor RPM is the input. This allows for a finer
level of control, which may be required in strong wind fields.
4. Developed physics-inspired multi-sensor path planner for detecting an un-
known number of targets. The path planner uses only local information for
guidance, and hence scales linearly with the number of vehicles in the field.
5. Proved that the physics-inspired path planner locally maximizes the expected
information gain. By assuming a binary sensor model, it is shown that locally
moving vehicles along the gradient of a Likelihood Ratio Surface maximizes
the mutual information between the collected measurement and likely target
location.
6. Designed optimal control for sampling along a closed path in a stationary
field. The control design is based on the concept of sampling speed, where the
statistics of the field are used to determine how to space vehicles to provide
full coverage. The control design is a speed control on the path to acheive a
9
splay formation amongst vehicles.
7. Developed a coordinate transformation to render a nonstationary field locally
stationary. The transformation assumes a Gaussian covariance function be-
tween space-time locations. This coordinate transformation is crucial to vehi-
cle path planning design as it allows for the use of coverage algorithms based
on sampling stationary fields, for with the sampling need is uniform.
8. Created a path planner that maximizes sensor coverage of a two dimensional
nonstationary field. The path planner the Spanning Tree Coverage algorithm
to create a path through the domain that concentrates measurements in areas
where there is a higher sampling need. The control is then a combination of
path following plus speed control to maintain a splay formation.
9. Developed a strategy for sampling a stationary field with unknown decorre-
lation scales. The strategy for sampling uses the concept of explore versus
exploit. Vehicles first travel in a formation that is beneficial for determining
the decorrelation scales (using a recursive Bayesian estimator), then transition
into an STC based mapping formation.
1.4 Outline of Dissertation
The rest of the dissertation is outline as follows. Chapter 2 introduces several
mathematical frameworks that are necessary for the understanding of the contri-
butions made in the remaining chapters. This includes a detailed discussion of
10
recursive Bayesian estimation and likelihood ratio tracking, estimation of Gaussian
processes, as well as an introduction to nonlinear feedback linearization.
Chapter 3 designs several controllers for flight stability for multi-rotor vehicles
in the presence of unknown wind fields. This includes the development of both
stability controllers, as well as a path planning strategy for flight near other multi-
rotor vehicles.
Chapter 4 presents a framework for using aerial vehicles with low-quality down-
ward facing cameras to detect an unknown number of potentially moving targets.
In this chapter, it is shown that the physics-inspired coordination strategy that is
presented is locally optimal in the sense of maximizing information gain.
Chapter 5 develops the theory for sampling stationary and nonstationary spa-
tiotemporal Gaussian processes. It details how to sample one dimensional and two
dimensional spatial fields with both known and unknown decorrelation scales.
Chapter 6 summarizes the dissertation and provides suggestions for future
work.
11
Chapter 2: Background Information
In this chapter, I discuss three mathematical frameworks used in this disserta-
tion. The first is recursive Bayesian estimation, which is a probabilistic parameter
estimation technique. The second is the estimation of Gaussian processes. Gaus-
sian processes are used to model continuous spatiotemporal field in Chapter 5. The
final framework is feedback linearization, which is a nonlinear control design tech-
nique that is used to globally linearize nonlinear systems. This technique is used in
Chapter 3 to control the dynamics of multi-rotor vehicles.
2.1 Recursive Bayesian Estimation
A Bayes filter is a probabilistic approach for assimilating noisy measurements
into a probability density function over a given state space. The filter implemen-
tation comprises the discrete steps of predicting and updating. Let θk denote the
state to be estimated at time step k and zk denote the measurement at time k. The
predict step involves computing the conditional probability [32]
p(θk|zk−1) =
∫Ω
p(θk|θk−1)p(θk−1|zk−1)dθk−1. (2.1)
12
The measurement update is proportional to the product of the measurement likeli-
hood p(zk|θk) and the predicted state [32]:
p(θk|zk) =p(zk|θk)p(θk|zk−1)
p(zk|zk−1), (2.2)
where
p(zk|zk−1) =
∫Ω
p(zk|θk)p(θk|zk−1)dθk
is the integral of the numerator. p(zk|zk−1) is referred to as the prior, i.e., the
information known from previous time steps, and p(θk|zk) is the posterior, which
takes into account information provided by the likelihood function. The posterior
at time step k is used as the prior at time step k + 1, and thus, (2.2) can be
applied recursively to estimate θ. Note that measurements from multiple sensors
are assimilated by executing multiple, independent update steps. The importance
of the Bayesian filter for the work in this dissertation is that it allows for nonlinear
state dynamics and measurement equations.
For the work in Chapter 4, a likelihood ratio tracker is used to detect targets
from unmanned rotorcraft. A likelihood ratio tracker is exactly like the recursive
Bayesian filter except the measurement likelihood function is replaced by the mea-
surement likelihood ratio, i.e., the ratio of two likelihood functions. The numerator
of the likelihood ratio represents the conditional probability of the measurement
given that the target is in state θ+k , whereas the denominator represents the condi-
tional probability of the measurement given that the target is not in state θ−k . Thus,
13
the log likelihood ratio is
logL(zk|θk) = logp(zk|θ+
k )
p(zk|θ−k )(2.3)
= log(p(zk|θ+k ))− log(p(zk|θ−k )). (2.4)
Let P = log(p). The update step in the log likelihood ratio tracker becomes
P (θk|zk) = logL(zk|θk)p(θk|zk−1)
p(zk|zk−1)
= P (zk|θ+k )− P (zk|θ−k ) + P (θk|zk−1)− P (zk|zk−1). (2.5)
The first term in (2.5) represents the new, positive information, whereas the second
term represents the new, negative information. The third term represents the prior
information and the fourth term is a normalization constant. When the probability
reaches a critical threshold, the target is declared detected; otherwise, the sub-
threshold target probabilities are maintained as hypotheses. Note, the inverse log
likelihood ratio posterior represented by temperature in Chapter 4 is −P (θk|zk).
2.2 Estimation of Gaussian Processes
Let A(rk) be the value of an unknown, continuous spatiotemporal field at
rk , [xk, yk, tk]T ∈ R2×R+, which is the space-time location of point k. (The sub-
script on r is dropped to indicate the entire field.) The field is statistically described
by its mean A(rk) and the covariance function C(ri, rj) between any two points ri
and rj. A covariance function is a positive-definite function that describes the vari-
ability of the field between the ith and jth location, as described in [67]. A field is
stationary if its covariance function depends only on the difference ri−rj and is non-
14
stationary if it depends on ri and rj independently. There are a number of choices
for the form of C(ri, rj), e.g., Matern, rational quadratic, Ornstein-Uhlenbeck and
squared-exponential forms as described in [62]. For the sampling strategy in this dis-
sertation, a covariance function that is a product of a spatial covariance function and
a temporal covariance function is required, i.e., C(ri, rj) = Cs(xi, yi, xj, yj)Ct(ti, tj),
where Cs and Ct are the spatial and temporal portions of the covariance, which
depend on space and time, respectively.
To represent spatiotemporal fields with non-uniform coverage requirements,
a nonstationary squared exponential covariance function of the following form is
adopted, as introduced in [62]:
C(ri, rj) =|Σ(ri)|1/4|Σ(rj)|1/4∣∣∣Σ(ri)+Σ(rj)
2
∣∣∣1/2 exp
[−1
2(ri − rj)T
(Σ(ri) + Σ(rj)
2
)−1
(ri − rj)],
(2.6)
where Σ(rk) ∈ R3×3 is a positive definite symmetric matrix that is continuous in
rk. I require that Σ(rk) = diagσ2x(xk, yk), σ
2y(xk, yk), τ
2(tk). The square roots of
the diagonal elements of Σ(rk) are the spatial and temporal decorrelation scales
of the field. The decorrelation scales dictate the spatial and temporal separations
between the ith and jth locations at which the covariance function evaluates to
1/e ≈ 0.368 and are the characteristic scales of the field. Note, for a stationary
field, the decorrelation scales are constant, but for a nonstationary field they may
vary in space and time. The Gaussian covariance function (2.6) is used to derive
the coordinate transformation in Section 5.3, which clusters measurements in space-
time regions with shorter decorrelation scales, and spreads measurements where
15
the decorrelation scales are larger. Other covariance functions, e.g., Matern, may
contain these decorrelation scales, but they are embedded in a different function,
e.g., a Bessel function. The extension of the coverage strategy to the case where
Σ(rk) is not diagonal is not considered here.
To determine the mapping error, optimal interpolation is employed as in [68–
70], which treats the field as a discrete random field in space and time. Let rd =
[xd, yd, td]T be the space-time location of measurement d = 1, ..., D and εd be the
measurement noise, so that the value of measurement d is zd = A(rd) + εd. It is
assumed that E[εmεl] = σ0δml, where E[·] denotes the expected value, σ0 is the
standard deviation of the measurement noise, and δml is the Kronecker delta, which
implies that the noise from any two distinct measurements is uncorrelated and the
variance of the noise is σ0.
Let Ce denote the covariance of the error in the estimate A(r) of the field A(r)
after assimilating the set of measurements r = [r1, . . . , rD]T . I have
Ce(ri, rj; r) = C(ri, rj)−D∑d=1
D∑l=1
C(ri, rd)(M−1)dlC(rj, rl), (2.7)
as explained in [69, 71], where M−1 is the inverse of the measurement covariance
matrix whose entries are
Mdl = E[zdzl] = C(rd, rl) + σ0δdl,
as from [72]. The mapping error is the diagonal Ce(ri, ri; r) of the error covariance
matrix. The average (resp. maximum) mapping error is computed by averaging
(resp. finding the maximum of) all of the elements of the mapping error. The
16
(mean-square) optimally interpolated estimate A(ri) of A(ri) is
A(ri) = A(ri) +D∑d=1
C(ri, rd)
(D∑l=1
(M−1)dlzd
),
as provided in [67], where A(ri) is the assumed known mean (first-order statistics)
of the field.
2.3 Feedback Linearization
In this dissertation I use input/ouput feedback linearization of the nonlinear
dynamics of the quadrotor and a one degree of freedom pitch stand [73]. Let x ∈ Rn
be the state vector of the quadrotor, u ∈ Rm be the control, and y ∈ Rm be the
output. Consider (nonlinear) system dynamics of the form
x = f(x) +m∑i=1
gi(x)ui (2.8)
y = [y1, ..., ym], (2.9)
where f, g ∈ Rn. The feedback linearization technique described next allows us to
design u to linearize (2.9) using state feedback control.
Let rk be the relative degree of the kth output, where k = 1, ...,m, and let
Lkf (yi(x)) denote the kth Lie derivative of yi(x) with respect to f [73]. A control
that linearizes the system (2.8)–(2.9) is [73]
u = ∆−1(x)(ν − b(x)), (2.10)
where
∆ij(x) = LgjLri−1f yi(x), and bi(x) = Lri−1
f yi(x). (2.11)
17
∆(x) is the decoupling matrix for the system and the (linear) control ν can be
designed to achieve the desired closed-loop behavior of the new system [73]dr1y
dtr1
...
drmy
dtrm
=
ν1
...
νm
.
Note that u requires the inverse ∆−1(x) of the decoupling matrix, which means
that ∆(x) must be invertible for all x ∈ Rn in order for (2.8) to be feedback lin-
earizable.
2.4 Wind Field Modeling
I adopt an approach [74] to model a separated flow behind the ship using a
complex potential in a simplified domain, called the Z-domain. The flow in the Z-
domain contains elementary potentials, such as uniform flows, to represent ambient
motion and vortices to represent separation. This flow is transformed to the physical
domain, called the z-domain, using a conformal mapping designed so that vortices in
the Z-domain are placed after sharp bends or in notches in the z-domain. Note that
without vortices, this technique would not produce separated flow in the z-domain.
Locations in the Z-domain are represented in complex coordinates as Z =
X + iY . Adding the potential of a vortex pair and a uniform flow yields
Ω(Z) =U∞2π
Z − p− i(p+ 1)2 + s2
2slog
[Z − p+ is
Z − p− is
], (2.12)
where p± is are the locations of the vortex centers. Since the vortices are of equal
and opposite strength, there is a virtual surface on the real line through which flow
18
cannot pass. The uniform flow represents the ambient flow and the vortex at p+ is
produces the separated flow in the z-domain.
Let z = F (Z) be a conformal map from the Z-domain to the z-domain. The
mapping F (Z) takes the real line and shapes it to whatever the physical domain
looks like. For example, for a backwards step, which is an approximation to the
geometry of the deck of a ship suitable for landing an unmanned aerial system, the
map F (Z) is [74]
z =h
π√Z2 − 1 + log[Z +
√Z2 − 1]. (2.13)
From [74], the magnitude q and direction θ of the flow at location Z are
q = Re
log
[dΩ
dZ
(dF
dZ
)−1]
(2.14)
θ = −Im
log
[dΩ
dZ
(dF
dZ
)−1]
. (2.15)
For the backwards step [74]
dΩ
dz=
(Z − 2p− 1)√Z + 1
√Z − 1
(Z − p+ is)(Z − p− is) . (2.16)
Using (2.14) and (2.16) the flow magnitude and direction are [74]
q =
√(X − 2p− 1)2 + Y 2
[(X − p)2 + (Y + s)2][(X − p)2 + (Y − s)2]×
([(X + 1)2 + Y 2][(X − 1)2 + Y 2])1/4
(2.17)
θ = tan−1(Y+sX−p
)+ tan−1
(Y−sX−p
)− 1
2tan−1
(Y
X−1
)+
−tan−1(
YX−2p−1
)− 1
2tan−1
(Y
X+1
). (2.18)
Figure 2.1 illustrates the flowfield in the z-domain generated by this transformation.
Assuming that the complex plane represents the horizontal (x) and vertical (z)
19
directions, the mean wind field is
wx,m = q cos θ (2.19)
wy,m = 0 (2.20)
wz,m = q sin θ. (2.21)
−2 −1 0 1 2 3 4 50
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
x (m)
y (
m)
Figure 2.1: Flowfield in the z-domain
For the application of proximity flight, an expression for the downwash of a
quadrotor based on [75] momentum theory derived here to describe the downwash
of each rotor. Let vi be the induced velocity of a rotor, which is the vertical velocity
directly underneath it. Then, the vertical velocity wc at any point z below the rotor
height zr is [75]
wc = vi + vi tanh
(−kzr − z
h
), (2.22)
where k and h are shaping parameters that control how rapidly the area of the
streamtube below the rotor contracts to its steady-state value. Momentum theory
20
[76] assumes that wc is uniform over the xy plane for a given z position. However,
the boundary of the downwash contracts as it speeds up, so the radial condition for
when the vertical velocity goes to zero can be identified. Let ρ be the radial distance
of the downwash boundary from the rotor center (xr, yr, zr) and R be the radius of
the rotor. Using momentum theory [74]
wz,m =
wc if ρ < R/
√1 + tanh
(−k zr−z
h
)0 otherwise.
(2.23)
To get the full flowfield for all four rotors the flowfield generated by all the rotors
are added together. Figure 2.2 shows an example of the quadrotor downwash with
vi = 4 m/s, where negligible or zero velocity vectors have been omitted.
Figure 2.2: Flow beneath a quadrotor using (2.23) as the downwash model.
Note that it is assumed that the downwash has no radial component of velocity.
The justification for this assumption lies in the observation that the downwash
tends to contract to its steady-state condition within 1–2 rotor radii, after which
the flowfield is primarily vertical [76]. Thus, the model is valid only for proximity
flight with separation greater than 1–2 rotor radii.
21
Since the wind fields described above are smooth, which is unrealistic for the
air wake behind a ship or the downwash of a quadrotor, a frozen (spatially constant)
Dryden gust model is added to the mean wind field to simulate turbulence. The
turbulent component of w(·) is [77]
w(·),t =N∑n=1
√∆ωΦ(ωn) sin(ωnt+ φ(·),n), (2.24)
where ωn is the frequency of the nth mode, ∆ω is the spacing of the frequencies,
φ(·),n is a random phase shift, and
Φ(ωn) = σ2t
2Ltπ
1
1 + (Ltωn)2
is the power spectral density for a Dryden gust model [77]. Thus, the total wind
field is
w(·) = w(·),m +N∑n=1
√∆ωΦ(ωn) sin(ωnt+ φ(·),n), (2.25)
where the phase shifts are different for each spatial dimension.
In general, the wind field is not known a priori, thus a recursive Bayesian
filter is employed to produce an estimated wind field for use in the controller. For
this, a likelihood function, which relates the measurements to the wind and vehicle
state, is needed. As an example, consider a uniform wind field. Assume the wind
field is parameterized by parameter set β, e.g. wind magnitude and direction for
a uniform wind. Assume the ground velocity v = xex + yey + zez is available
from GPS measurements (outdoors) or motion capture (indoors) and air velocity
vrel = ubx + vby + wbz is measured by a pitot tube array (pitot tubes pointing
along all axes so relative wind can be determined in each direction). (If the GPS
22
updates are too slow for realtime control, a combination of GPS and an IMU could
be used to determine position.) The expected air velocity measurement is
vrel,e(β,v) ,
ue
ve
we
= IRB
wx,m(β)− x
wy,m(β)− y
wz,m(β)− z
, (2.26)
where the vehicle ground speed is defined as the wind velocity plus the vehicle veloc-
ity relative to the wind. It is assumed that the pitot tubes are mounted orthogonally
to the rotation of the vehicle such that vehicle rotation does not induce a velocity
in the sensors. Using (2.26), the following (Gaussian) likelihood function is chosen
p(zi(tk)|β) = exp[−(vrel − vrel)
T (vrel − vrel,e)/σ2], (2.27)
where zi(tk) = [x y z u v w]T and σ2 represents measurement noise variance.
This form for the likelihood function produces the desired behavior, namely that the
likelihood increases when the parameters are close to the true value, and decreases
when they are not.
As an example of using (2.27) to estimate a uniform wind, Figure 2.3 shows
the estimator performance for a single quadrotor. In the simulation, the quadrotor
is subjected to a uniform wind of 1 m/s directed along the positive y axis (π/2 rad).
Figure 2.3 shows the probability marginal distributions of wind speed (left) and
direction (right) as measurements are incorporated in time. The dashed white line
indicates the maximum likelihood estimate, which converges to the correct value,
despite a noise level of σ = 0.1 m/s.
23
0 10 20 30−0.5
0
0.5
1
1.5
2
time (s)
Win
d s
pe
ed
ma
rgin
al (m
/s)
0 10 20 300
0.5
1
1.5
2
2.5
3
Win
d d
ire
ctio
n m
arg
ina
l (r
ad
)
time (s)
Figure 2.3: Estimation marginals of wind speed (left) and direction (right).
24
Chapter 3: Rotorcraft Guidance and Control in Wind
For small, unmanned rotorcraft to be viable for widespread use, it is imperative
that they be a able to handle real-world, outdoor conditions. In this chapter, I
discuss several strategies for operating small-scale rotorcraft in the presence of strong
wind fields. Here, strong wind fields are quantified as winds that are at least of the
order of the induced velocity of the rotor.
3.1 Quadrotor Dynamics and Control in Wind
This section presents a nonlinear controller for a model quadrotor flying in an
unknown, turbulent wind field. In this scenario, the rotor forces are commanded to
counteract the effect of an unknown windfield. I start by deriving the dynamics of
the vehicle in Section 3.1.1, where I include aerodynamic loads and perturbations
not normally considered in the literature. In Section 3.1.2 I derive a layered feedback
linearization controller that determines the thrust for each rotor. For this controller,
I assume that the desired pitch and roll angles are small. In the final section, I
present a Bayesian estimator that determines an estimate of an unknown wind field
given (noisy) measurements of groundspeed, airspeed, and position of the vehicle.
25
3.1.1 Quadrotor Dynamics in Wind
The following 6DOF model for quadrotor flight in wind includes the effects
of rotor blade flapping, induced thrust due to translational flight, and aerodynamic
drag. Also novel is the individual treatment of blade flapping and induced thrust
on each of the rotors, which is crucial to flight in the downwash of another vehicle
or in the presence of a spatially varying flowfield.
The free-body diagram of the quadrotor in Figure 3.1 shows six forces acting
on the quadrotor (gravity, aerodynamic drag, and the four thrust forces) and two
reference frames (the inertial reference frame I, which is centered at origin O and
has unit vectors ex, ey, and ez, and the body reference frame B, centered at G with
unit vectors bx, by, and bz). The inertial orientation of the body frame is described
using a 3-2-1 Euler angle sequence of yaw (ψ), pitch (θ), and roll (φ) angles.
ex
ey
ezI
B
bx
by
bz
DW
T1
T2
T3
T4
O
Figure 3.1: Reference frames and free body diagram for quadrotor.
Figure 3.2 shows how the thrust vector Tk is deflected away from the bz axis
26
due to rotor blade flapping [76], which can be understood as follows. As the relative
wind hits the rotor, the advancing side of the blade experiences increased flow and
lift, whereas the retreating side sees decreased flow and lift, causing the blades
to tilt due to the change in aerodynamic load. However, since the loading cycles
occur at the same frequency as the rotation of the blade, there is a resonance effect
that causes the maximum deflection to occur 90 degrees out of phase with the load
location [76]. Thus, the rotor plane tilts away from the relative velocity vector, and
redirects the thrust force.
vrel,k
Tkbz
↵k
Figure 3.2: Flap angle of the rotor due to a relative wind.
The air-relative velocity incident upon the kth rotor is denoted vrel,k = ukbx+
vkby + wkbz. Blade flapping occurs due to the component of vrel,k in the body xy
plane [9]. Following [78], the approximation is made that the blade flap angle
αk is proportional to the magnitude of the velocity in the body xy plane. Thus,
αk = kf√u2 + v2, where kf is a proportionality constant that is common to all four
rotors. To find Tk, the geometry in Figure 3.2 with the flap angle αk is used to
27
determine
Tk = Tk(uk sinαkbx + vk sinαkby + cosαkbz), (3.1)
where uk , uk/√u2k + v2
k, vk , vk/√u2k + v2
k, and Tk is the magnitude of the thrust
of the kth rotor.
In addition to the tilt of the thrust vector due to blade flapping, I also model
the change in the magnitude of the thrust due to the relative wind velocity. There
are two effects that cause this change [76]: the first is an increase in thrust due to
horizontal translation, which is known as induced thrust; the second is a decrease in
thrust if the component of relative wind in the bz direction is negative. Essentially,
the rotor loses thrust when it is in climb and gains thrust in horizontal translation.
Note that the tilt in the rotor plane due to blade flap is ignored, which is justified
because flap angles tend to be on the order of one degree in moderate relative
wind [9]. Let vh be the induced velocity of the rotor in hover, is assumed known
(either using momentum theory or experimentally). The modified thrust can be
calculated using [76]
vi,k =v2h√
u2k + v2
k + (vi,k + wk)2and (3.2)
Tk =Fkvi,kvi,k + wk
, (3.3)
where Fk is the thrust applied to the airmass for a given power (the control input)
to the rotor. Equations (3.2)–(3.3) assume that the motor dynamics are sufficiently
fast so that their transient behavior can be ignored. Note also that the equation
for vi,k produces a fourth-order polynomial in induced velocity citehoffman. For the
case of climb, there is only one positive root, which represents the physical solution
28
for induced velocity and can be found numerically or analytically [76]. In hover, the
induced velocity is vh, whereas in descent the momentum theory solution above is
not valid as the airflow through the rotor is not steady.
An important limitation of the model (3.2)–(3.3) is that it only holds when
wk ≤ 0 or wk > 2|vh| [9]; otherwise, the rotor is in Vortex Ring State (VRS), which is
a region in which the aerodynamics are unsteady and momentum theory results due
not apply. In practice, helicopters fly quickly through VRS to avoid any dynamic
instabilities. It has also been shown that the thrust tends not to vary greatly in
descent [9]. Ground effect is also not modeled by (3.2)–(3.3).
It is assumed that the drag force acts at the center of mass of the vehicle and
hence causes no moments on the vehicle. The drag force is [9]
D = Cd||vG||2vG, (3.4)
where CD is a drag coefficient and vG = uGbx+vGby +wGbz is the relative velocity
at the center of mass (the hatˆdenotes a unit vector). Note that (3.4) is a point-
particle assumption for the drag force, which is a reasonable approximation since
the other aerodynamic effects dominate the moments [9].
To get the equations of motion for the translational dynamics all of the forces
are expressed in terms of the unit vectors in the inertial frame using the rotation
matrix
IRB =
cθcψ sφsθcψ − cφsψ cφsθcψ + sφsψ
cθsψ sφsθsψ + cφcψ cφsθsψ − sφcψ
−sθ sφcθ cφcθ
. (3.5)
29
Let
C1 =
(CD||vrel,CM ||uCM +
4∑k=1
uk sinαkFkvi,kvi,k + wk
)(3.6)
C2 =
(CD||vrel,CM ||vCM +
4∑k=1
vk sinαkFkvi,kvi,k + wk
)(3.7)
C3 =
(CD||vrel,CM ||wCM +
4∑k=1
cosαkFkvi,kvi,k + wk
). (3.8)
Using (3.5) and (3.6)–(3.7), the equations of motion for translation expressed in the
inertial frame are
m
x
y
z
I
= IRB
C1
C2
C3
B
−
0
0
mg
I
. (3.9)
To determine the rotational dynamics , the moments on the quadrotor caused
by the forces in Figure 3.1 are needed. Gravity acts through the center of mass, so it
does not contribute to the moments on the vehicle. (It is also assume that the drag
force acts through the center of mass, so it does not generate a moment.) Thus, the
only moments are caused by the thrust forces and a yawing moment to counteract
the rotor torques, such that the total angular momentum about the center of mass
G is conserved. Assume a symmetric geometry, where all the rotors are a horizontal
distance L and vertical distance d from the center of mass, and that rotors 1 and
2 are situated along the bx axis and rotors 3 and 4 are along the by axis. In order
to balance the moment produced by spinning the rotors, assume that rotors 1 and
2 spin in the opposite direction of rotors 3 and 4. Note that a controlled imbalance
of the rotor moments is what achieves yaw rotation in a quadrotor.
30
Let ω , pbx + qby + rbz be the angular velocity of the quadrotor body frame
with respect to the inertial frame. Let I , diag(Ix, Iy, Iz) is the moment of inertia
matrix for the quadrotor and My be a yawing moment produced by spinning the
motors. (Note that the up-down symmetry of the quadrotor is sufficiently small
enough that the off diagonal terms of the moment of inertia matrix can be ignored.)
The rotational dynamics are
Iω = −ω × Iω +4∑
k=1
rk/G ×Tk +My
0
0
1
, (3.10)
where rk/G is the distance vector from G to the kth rotor. Performing the requisite
cross products yields the following rotational equations of motion:
Ixp = −(Iz − Iy)qr −4∑i=1
dvk sinαkFkvi,kvi,k + wk
+ L(cosα3F3vi,3vi,3 + w3
− cosα4F4vi,4vi,4 + w4
) (3.11)
Iy q = −(Ix − Iz)rp−4∑i=1
du sinαkFkvi,kvi,k + wk
+ L(cosα2F2vi,2vi,2 + w2
− cosα1F1vi,1vi,1 + w1
) (3.12)
Iz r = −(Iy − Ix)pq − L(v1 sinα1F1vi,1vi,1 + w1
− v2 sinα2F2vi,2vi,2 + w2
)− L(u3 sinα3F3vi,3vi,3 + w3
− u4 sinα4F4vi,4vi,4 + w4
) + cm
4∑k=1
Fk, (3.13)
where cm is a constant that relates the applied thrust to the moment induced by
spinning the rotor. In order to simulate the motion of the vehicle, I use the rotational
31
kinematics for a 3-2-1 Euler angle sequence [79]:
φ = p+ q sinφ tan θ + r cosφ tan θ (3.14)
θ = q cosφ− r sinφ (3.15)
ψ = q sinφ sec θ + r cosφ sec θ. (3.16)
Equations (3.11)–(3.13) along with (3.9) fully describe the translational and
rotational motion of the quadrotor. In the case of hover with no external wind field,
these equations of motion reduce to the standard equations for a (rigid) quadrotor,
e.g., [7] (omitted due to space constraints).
3.1.2 Feedback Linearization Control
I now derive an input/output feedback linearization of the quadrotor con-
trol system. First, the system is transformed to the form of (2.8) using x ,
[x, y, z, x, y, z, φ, θ, ψ, p, q, r]T and u , [F1, F2, F3, F4]T . The outputs to be con-
trolled are the 3D position and heading (yaw) of the vehicle, i.e., y = [x, y, z, ψ]T .
A calculation of the relative degree [73] shows that each output has relative degree
two (omitted for space constraints). Since the decoupling matrix ∆(x) defined in
Section 3.1.2 is singular for this set of outputs, I cannot determine a control u to
make the input-output system linear using position and heading as the outputs.
As an alternative, I first feedback linearize the system with output yin =
[φ, θ, ψ, z]T , i.e., the attitude and altitude of the vehicle, and then feedback linearize
the planar position. The first system represents the inner loop, whose inputs are the
desired attitude and altitude. In this case, the relative degree for each output is two
32
and the decoupling matrix ∆(x) is invertible everywhere except when φ = π/2 or
θ = π/2. The feedback linearized system is yin = νin. I design νin to stabilize the
system to a desired altitude and (small) attitude yin,d = [φd, θd, ψd, zd]T and then
transform νin to u using (2.10).
The outer loop takes as input the desired (planar) position and yaw, and
outputs the desired pitch and roll values to be used by the inner loop. I seek planar
position dynamics of the form x = νout1 and y = νout2 , where νout is the outer loop
control. Let φd = φd(νout1 , νout2) and θd = θd(νout1 , νout2). Assuming that the desired
pitch θd and roll φd are small, the desired mapping (using (3.9)) is
φd = (sinψνout1 − cosψνout2 + C2)/C3 (3.17)
θd =(cosψνout1 + sinψνout2 − C1)
(C2 sinφd + C3 cosφd). (3.18)
The full control architecture is shown in Figure 3.3. The inputs to the closed-
loop system are xd, yd, zd, and ψd. Given xd and yd I calculate νout, which are the
(linear) control for the outer loop. Then I use νout to calculate φd and θd according
to (3.17)–(3.18), which are used along with zd and ψd to calculate the linear control
νin for the inner-tracking loop.
The following two-vehicle simulation illustrates the benefit of accounting for
the aerodynamics of the vehicle in the feedback linearization. The vehicles are
commanded using PID controllers on the inner and outer loops to a waypoint at
the origin. Both vehicles start at the waypoint, and encounter a wind with a profile
of u = 2 m/s, v = 2 m/s, and w = −2(1 − cos(x)) m/s. The first vehicle accounts
for the aerodynamic loads, whereas the second vehicle does not, i.e., it neglects the
33
Linear Controller
Linear Controller
νin
xd, yd
zd, ψd
θd, φd
x
Eq. (37)-(38)
∆−1
∆−1b
x = f(x) + G(x)u
νout
Inner Loop
Figure 3.3: Two-layer feedback linearization control system for 6DOF quadrotor.
flap angles, drag, and the thrust modification. Figure 3.4 shows that the vehicle
accounting for the aerodynamics has a lower overshoot and a smaller settling time.
3.1.3 Application: Autonomous Ship Landing
Autonomous ship landings is an area of great interest for military application
[80]. The task of landing autonomously onboard a moving ship is made challenging
by the separated flow that occurs on the deck of the ship, which can cause the
autonomous vehicle to pitch and roll undesirably. The geometry of this situation is
shown in Figure 3.5(a). Air flows over the forward section of the ship and then passes
a sharp corner, where the flow separates and produces a vortex in the rear section
of the ship where the quadrotor seeks to land. The flowfield parameters β are the
speed of the prevailing wind and the location of the vortex to determine the mean
(nonuniform) wind field. Frozen Dryden turbulence is added to the mean wind field
34
0 5 10 15 20 25−0.4
−0.2
0
0.2
0.4
time (s)
Po
sitio
n (
m)
x
y
z
0 5 10 15 20 25−10
−5
0
5
10
time(s)
Orie
nta
tio
n (
de
g)
φ
θ
ψ
Figure 3.4: Waypoint holding with (solid) and without (dashed) accounting for aerodynamic loads.
to simulate random eddies and flow fluctuations with a range of frequencies from
1-10 rad/s and randomly generated phase shifts.
In the simulation, the vehicle is commanded to go from (x, y, z) = (4, 0, 2)
to a landing location of (xd, yd, zd) = (2, 0, 0). Figure 3.5 shows the controller
performance. The colormap on the far right shows the estimation result for the wind
speed. Observe that the vehicle converges to the desired landing location despite
the unknown turbulence and the time it takes for the the parameter estimates to
converge.
3.1.4 Application: Quadrotor Proximity Flight
In this application I show how the dynamic controller in Section 3.1 can be
used to fly one quadrotor directly underneath another, e.g., for formation flight. In
the simulation, one quadrotor is commanded to hover at (x, y, z) = (0, 0, 1) and a
35
(a)
0 2 4 6 8 10 12 14 16 18 20
0
0.5
1
1.5
2
2.5
3
3.5
4
t (s)
Po
sitio
n (
m)
x
y
z
(b)
0 2 4 6 8 10 12 14 16 18 20
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
t (s)
Pre
va
ilin
g w
ind
(m
/s)
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
(c)
Figure 3.5: Simulation of an autonomous ship landing with unknown turbulence. (a) The vehicle
trajectory in 3D; (b) vehicle trajectories vs. time; (c) probability marginal for prevailing wind
speed estimation.
36
second quadrotor is commanded to fly underneath it to the origin. For comparison,
I show a third (virtual) vehicle that does not compensate for the aerodynamics,
i.e., the flap angles, drag coefficient, and climb velocity are all set to zero. In
this simulation, β is the induced velocity of the hovering quadrotor. In addition,
(frozen) Dryden turbulence affects all three vehicles. The results of the simulation
are shown in Figure 3.6. The vehicle accounting for the aerodynamic loads settles
at the appropriate location with no adverse affects, while estimating the induced
velocity and shaping parameters of the downwash flowfield of the first vehicle. The
probability density is flat for the first three seconds before the quadrotor enters
the downwash, then converges quickly once it enters the field. The third vehicle,
however, experiences a sharp decent rate once it hits the flowfield as it has no
knowledge of the wind (dashed lines in Figure 5.2(b)). In reality, this causes a
turbulent, unsteady aerodynamic condition over each rotor, which is not modeled
here, and would cause the vehicle to become unstable.
3.2 Pitch Dynamics and Control
The previous sections studied the problem of flight stability for a full 6DOF
quadrotor. As an intermediate step, this section develops the dynamics and for-
mulates a feedback linearization based controller for a two-rotor system that is
constrained to rotation about its pitch axis.
37
(a)
0 2 4 6 8 10 12 14 16 18 20−3
−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
t (s)
Po
sitio
n (
m)
x
y
z
(b)
0 2 4 6 8 10 12 14 16 18 202
2.5
3
3.5
4
4.5
5
5.5
6
t (s)
vi (
m/s
)
0
0.02
0.04
0.06
0.08
0.1
(c)
Figure 3.6: Simulation of quadrotor proximity flight with unknown turbulence. (a) The vehicle
trajectories in 3D with the shaded vehicle representing the quadrotor with no flow compensation;
(b) vehicle trajectories vs. time; (c) probability marginal for induced velocity estimation.
38
3.2.1 Pitch Dynamics
I start by introducing several reference frames. See Figure 3.7 for a sketch of
the test stand with the relevant forces and reference frames. Let I = O, e1, e2, e3
be an inertial reference frame centered at the origin O. There is also a body fixed
frame B = G, b1, b2, b3 that is attached to the test stand at the pivot point with
the b1 axis along the bar and the b3 axis aligned with the propellor attachment
rods. Two more reference frames, C = P1, c1, c2, c3 and D = P2, d1, d2, d3, are
attached to propellors 1 and 2 respectively. These last two frames are frame B tilted
up by the flap angle of each propellor.
Ld
ex
ey
ez
bz
bx
↵1
↵2
T1
T2
M2
M1
v1
Figure 3.7: Free body diagram of pitch stand system.
Figure 3.7 shows a free body diagram of the system, where T1 and T2 are the
thrust forces from the propellors, and M1 and M2 are pure moments induced by
the blades as they flex due to blade flapping. The dynamics of the test stand are
39
determined through the relation
Id
dthG = Mext, (3.19)
which states that the time rate of change angular momentum of the body about the
center of mass in the inertial frame is equal to the total external moment acting on
the body.
To evaluate (3.19), the angular momentum of the system must be determined.
Let I be the moment of inertia of the test stand and J be the moment of inertia of
an individual rotor. Then, the angular momentum of the system is
hG = −Iθb2 + JΩ1c3 − JΩ2d3, (3.20)
where θ is the pitch rate of the stand and Ω1 and Ω2 are the rates of revolution of
the two propellors. Note that the angular velocity of the body is
IωB = −θb2. (3.21)
Expanding the LHS of (3.19) and substitute (3.20) and (3.21) to yield
Id
dthG =
Bd
dthG + IωB × hG (3.22)
= Iθb2 + (−θb2)× (−Iθb2 + JΩ1c3 − JΩ2d3). (3.23)
To further evaluate this expression, c3 and d3 need to be expressed as components
in the body frame. Using the flap angles α1 and α2 I have
c3 = cosα1b3 − sinα1b1 (3.24)
d3 = cosα2b3 − sinα2b1. (3.25)
40
Substituting the above expressions into (3.23) and evaluating the cross product
yields
Id
dthG = [−Iθ−θ(JΩ1 cosα1−JΩ2 cosα2)]b2+θ(−JΩ1 sinα1+JΩ2 sinα2)b3 (3.26)
Making the substitution Mext = M2b2 +M3b3 yields the following two equations
−Iθ − θ(JΩ1 cosα1 − JΩ2 cosα2) = M2 (3.27)
θ(−JΩ1 sinα1 + JΩ2 sinα2) = M3. (3.28)
Note, equation (3.28) is not needed since it describes the yaw motion of the test
stand, which is constrained to be fixed in that direction, i.e., this is a constraint
that say that there is a reaction moment at the base of the test stand that has the
value in (3.28).
The task now is to calculate M2 for the system. There are four moments acting
on the vehicle: two from the thrusts of each rotor and a pure bending moment caused
by the structural flexing of the blades due to blade flap. As a first step, I calculate
the thrust vector for each propellor. For this I need to account for the change in
magnitude of the thrust do to relative climb/descent and the direction change due
to forward velocity.
Let v∞ be the magnitude of the velocity along the negative x direction (see
Figure 3.7), then the speed of the flow through the rotor is
w1 = v∞ sin(θ + α1) + lθ (3.29)
w2 = v∞ sin(θ + α2)− lθ. (3.30)
41
Using momentum theory, the thrust from a propellor is
Tk = 2ρAvi,k(wk + vi,k), (3.31)
where vi,k is the induced velocity through the kth propellor. From Blade Element
Momentum Theory, the thrust is
Tk = k(1)m Ω2
k − k(2)m (wk + vi,k)Ωk. (3.32)
Using equations (3.31) and (3.32), the induced velocity through the kth propellor
for a given rpm can be calculated. Equation (3.32) also gives an expression that can
be used for the magnitude of the thrust from the rotor as a function of rpm, which
is the control input. Note that k(1)m and k
(2)m are found experimentally.
For the direction of the thrust vector, I note that T1 and T2 are along the
c3 and d3 axes respectively. For the flap angle, the approximation is used that the
angle is proportional to the component of the relative wind parallel to the test stand,
i.e.,
αk = kfv∞ cos θ. (3.33)
Using the moment arms from the pivot points to the center of each rotor, the total
moment due to the thrust vectors is
Mt = −(k(1)m Ω2
1 − k(2)m (w1 + vi,1)Ω1)(l cosα1 + d sinα1) (3.34)
+(k(1)m Ω2
2 − k(2)m (w2 + vi,2)Ω2)(l cosα2 − d sinα2). (3.35)
The second two moments are from the structural moment applied to the pro-
pellor hub due to the blades flexing when flapping, and is calculated as
Ms = −ks(Ω21α1 + Ω2
2α2). (3.36)
42
Substituting (3.34) and (3.36) into (3.27) and rearranging yields the equation
of motion (in second order form)
θ = −1
I
[θ(JΩ1 cosα1 − JΩ2 cosα2)− (k(1)
m Ω21 − k(2)
m (w1 + vi,1)Ω1)(l cosα1 + d sinα1)+
(k(1)m Ω2
2 − k(2)m (w2 + vi,2)Ω2)(l cosα2 − d sinα2)− ksΩ2
1α1 − ksΩ22α2
]. (3.37)
3.2.2 Control Design
To design a controller I start by simplifying (3.37) and putting it in state
space form. First I assume that the rotor inertia terms are insignificant, i.e., J = 0.
Furthermore assume the flap angle is equal for both rotors (α1 = α2 = α) and that
d << l. I also make a small angle assumption on α (cosα = 1 and sinα = α). Then
(3.37) reduces to
θ = −1
I
[−(k(1)
m Ω21 − k(2)
m l(v∞ sin(θ + α) + lθ + vi)Ω1)+
(k(1)m Ω2
2 − k(2)m l(v∞ sin(θ + α)− lθ + vi)Ω2)− ksΩ2
1α1 − ksΩ22α2
]. (3.38)
Let x = [x1 x2]T , [θ θ]T , then the modified equation of motion in state space
form is
x1 = x2 (3.39)
x2 = −1
I
[−(k(1)
m Ω21 − k(2)
m l(v∞ sin(x1 + α) + lx2 + vi)Ω1)+
(k(1)m Ω2
2 − k(2)m l(v∞ sin(x1 + α)− lx2 + vi)Ω2)− ksΩ2
1α1 − ksΩ22α2
].(3.40)
Now let Ω1 = Ω+u and Ω2 = Ω−u. This effectively allows us to reduce the number
of controls from two (the two rotation rates of the propellors) to one (a differential
43
rotation rate u). Then the state space form becomes
x1 = x2 (3.41)
x2 = −1
I
[−2ksαu
2 + (2k(2)m l(v∞ sin(x1 + α) + vi)
−4Ωlk(1)m )u+ 2l2k(2)
m Ωx1 − 2ksαΩ2]. (3.42)
Let
a =2
I(ksα)
b = −1
I(2k(2)
m l(v∞ sin(x1 + α) + vi)− 4Ωlk(1)m )
c = −1
I(2l2k(2)
m Ωx1 − 2ks).
Then the control
u = − b
2a−√b2 − 4a(c− ν)
2a(3.43)
transforms the equations of motion to
x1 = x2 (3.44)
x2 = ν. (3.45)
which is a linear system.
To test the feedback system, simulations were conducted where the rotor sys-
tem must stabilize to a predetermined pitch angle of π/4 in the presence of a uniform
wind using a PID controller in the linearized system. In the simulation, the wind
field is estimated using a recursive Bayesian filter. Without loss of generality, it is
assumed that the body reference of zero pitch is the axis along which the uniform
wind is acting, i.e., the wind direction is known, and only the wind magnitude must
be estimated.
44
0 2 4 6 8 10 12 14 16 18 200
10
20
30
40
50
60
70
80
90
time (s)
θ (
deg
)
(a)
0 2 4 6 8 10 12 14 16 18 200
5
10
15
20
25
30
35
40
45
50
time (s)
θ (
deg
)
(b)
0 2 4 6 8 10 12 14 16 18 20
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
time (s)
v∞
P
rob
ab
ility
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
(c)
Figure 3.8: Simulation results of pitch dynamics with (a) no control enabled and (b) with feedback
linearization control. (c) Results of recursive Bayesian estimator for wind speed
Figure 3.8 shows the results of the simulation. Figure 3.8(a) shows the results
of the open-loop system with no feedback, for which the rotor system stabilizes to
an angle of π/2, and Figure 3.8(b) shows the results of the closed loop system. The
rotor-system quickly stabilizes to the reference angle, though there is a slight jitter
due to simulated measurement noise. The results of the estimator with wind speed
are shown in Figure 3.8(c).
3.3 Path Planning for Downwash Avoidance
The last two sections seemed to design flight controllers in the presence of
unknown wind fields. However, it may be the case that it is desirable to avoid
harmful wind fields all together. In multi-vehicle scenarios, such as those presented
in Chapters 3 and 4, on such wind field is the downwash of other local vehicles. This
section showcases the utility of a flow sensing and control system for proximity flight.
The scenario involves multiple quadrotors operating at different altitudes. The
45
downwash of a quadrotor causes extreme, undesired changes in attitude and altitude
of a quadrotor flying below [81]. The flight-path planner and flow measurement
system were implemented on the lower quadrotor. The planner generates an estimate
of the position of the higher quadrotor to determine the direction the lower quadrotor
must travel to reach a desired waypoint while avoiding the downwash. The flow
measurement system and path planner were validated in simulation and experiment.
3.3.1 Estimation of Nearby Rotorcraft
Consider a two-dimensional flow field with a rotor generating thrust along the
z-axis. Velocity components w and v lie along the z and y coordinates respectively
[82]. The momentum equation in the z direction is
∂w
∂t+ w
∂w
∂z+ v
∂w
∂y= gz −
1
ρ
∂p
∂z+µ
ρ
(∂2w
∂z2+∂2w
∂y2
)(3.46)
where ρ is air density, µ is the dynamic viscosity of the air, and gz represents
body forces due to effects such as bouyancy. The following set of assumptions are
applied as follows: (1) the mean flow field is unchanging, so ∂w/∂t is zero; although
rotorwash is highly turbulent, a rotorcraft in a steady flight condition will generate
a steady mean flow field velocity. (2) Cross-stream flow is small compared to the
downstream velocity; this assumption is based on the intuition that even with the
helical structure common to propeller-driven flow s, cross-stream velocity plays a
secondary role in thrust generation. For simplicity, only the thrust-aligned velocity
component is considered and ∂w/∂y is neglected. (3) At each z location, the stream-
wise variation in w is small compared to the cross stream changes; hence, ∂2w/∂z2
46
is zero. (4) Lastly, bouyancy and external pressure gradients are not present, so gz
and ∂p/∂z are neglected.
Eq. (3.46) is further simplified by linearizing about a constant peak velocity
W0 based on the intuition that center-line flow velocities obey a 1/z decay. The
result is
W0∂w
∂z=µ
ρ
(∂2w
∂y2
). (3.47)
Solving (3.47) in cylindrical coordinates yields a Gaussian velocity profile
reminiscent of the velocity variation observed in established turbulent jet profiles
[83]. The expected vertical velocity measured at a lateral distance
r(β) =√
(x− xs)2 + (y − ys)2 (3.48)
and a downstream distance z from the center of an idealized rotorcraft is
w(β) =C
zW0 exp
(−W0r(β)2ρ
4zµ
). (3.49)
The measurement zi(tk) of the ith sensor at time tk is assimilated into the Gaussian
likelihood function
p(zi(tk)|β) = exp((zi − w)/σ2), (3.50)
where σ2 is the variance of the measurement noise (chosen based on sensor charac-
teristics).
To validate the Bayesian methodology and evaluate the performance of the
generalized flow model, a series of ground-based experiments were conducted. A
47
common 32 inch-diameter household fan, recast as a source of vertical flow distur-
bance, generated the flow. A test stand suspended the airspeed probes over the
vertical source while data from an OptiTrack motion-capture system provided po-
sition information. To test the methodology in a more complex flow field than was
modeled, experiments were conducted within the zone of flow establishment where
velocity profiles have twin velocity peaks near the center line [84]. Even though this
flow feature was unmodeled, a series of localization tests were successfully carried
out using a single probe, followed by a set of tests with a quadrotor mockup. The
quadrotor mock-up stand is shown in Fig. (3.9). Velocity measurements were taken
at a number of probe locations, simulating a series of trajectories within the flow
field. The spinning rotors simulated the self-noise generated in flight.
The idealized flow model and Bayesian framework provided accurate fan lo-
cation estimates. The algorithm typically estimated the center of the fan to within
2 cm, or under 3% of the fan diameter. Results from a sample test run are pre-
sented in Fig. (3.9) showing estimates within 2% of fan diameter in four time steps.
The colormap shows the posterior distribution of the location of the fan, with red
indicating high probability and blue indicating low probability. The green and red
asterisks denote probe location and the red circle indicates the actual location of
the fan, unknown to the estimator.
48
(a) Test Setup
(b) Position 1 (c) Position 2
(d) Position 3 (e) Position 4
Figure 3.9: Quadcopter mock-up and sample localization results
49
3.3.2 Path Planning for Downwash Avoidance
Consider a vehicle with the dynamics
x = ux (3.51)
y = uy, (3.52)
where x and y are the coordinates the vehicle and ux and uy are control inputs. The
goal is to design ux and uy to drive the vehicle to a waypoint and avoid the vertical
jet produced by the higher quadrotor. The cost function J(x, y, tk) incorporates the
desired goal and the presence of a vertical flow field, i.e.,
J(x, y, tk) = p(z(tk)|β) + kJ√
(x− xd)2 + (y − yd)2, (3.53)
where (xd, yd) is the location of the goal and kJ is a weighting variable. Intuitively,
the cost is high when the vehicle is far away from the waypoint and/or near the
downwash of the higher quadrotor. The goal is to find a path C through the domain
such that the integral of J along the path is locally minimized. Formally, the problem
is stated as
minimizeux,uy
∫C
J(x, y, tk)ds
subject to x = ux
y = uy,
(3.54)
where ds is an increment along the path.
To decrease the computational complexity, a receding horizon version of (3.54)
looks only one time step ahead. In this case the cost function reduces to
JRH = J(x, y, tk) + J(x+ ∆x, y + ∆y, tk) (3.55)
50
Since the first term on the right-hand side is fixed by the current vehicle location,
the cost function is minimized by moving in the direction of greatest decrease. Thus,
in the zero limit of ∆x and ∆y, (3.55) is minimized using the control
ux = −K∂J
∂x(3.56)
uy = −K∂J
∂y, (3.57)
where K is a control gain. This choice of control moves the vehicle in the direction
of greatest decrease in cost.
The algorithm was first tested in simulation. The hovering quadrotor was
commanded to hover at an altitude of 2.5 m, and the instrumented quadrotor was
given a waypoint at (2.0, 0.0) m. Fig. 4.4 shows the results of the algorithm. Each
subfigure shows a snapshot of the simulation at a different timestep, starting from
the initial time until the vehicle reaches the goal. The colormap at the bottom shows
the posterior distribution for the position of the hovering quad, with red and blue
denoting high and low probability respectively. The black dot indicates the position
of the hovering quadrotor, the green dot is the position of the instrumented quadro-
tor, and the red X shows the destination of the instrumented vehicle. The trajectory
of the quadrotor is shown as a white line on top of the posterior distribution. The
estimate of the position of the hovering quadrotor is shown as a magenta dot. The
results show that the instrumented quadrotor travels towards the waypoint, then
diverts once it detects the higher quadrotor using simulated flow measurement data.
Note that the estimate does not achieve zero steady-state error due to noise in the
sensor measurements.
51
(a) t = 0 s (b) t = 5 s
(c) t = 10 s (d) t = 15 s
Figure 3.10: Trajectory of an instrumented quadrotor in proximity flight. The colormap indicates
the posterior distribution of the probability of the hovering quadrotor location.
3.3.3 Experimental Results
To validate the flow measurment system and proximity flight path planner,
experiments were performed at the Naval Research Laboratory in the Laboratory
for Autonomous Systems Research (LASR). The experiments were performed in a
motion-capture testbed in the Prototyping Highbay at LASR, which is 150 by 75 ft
and equipped with 115 Vicon motion-capture cameras. Flight tests were conducted
using two Ascending Technologies Pelican quadrotors. The Pelican has two onboard
52
computers, one for flight stabilization and a Linux computer for sensor integration
and control calculations. The Linux computer runs the Robot Operating System
(ROS), which is a message-passing architecture for autonomous robots.
In the experiment, the high-altitude quadrotor was commanded to hover at
the origin at an altitude of 2.5 m. The instrumented quadrotor was commanded
to go to the waypoint (2.5, 0.0) m while an altitude of 1.5 m from five separate
initial conditions. Fig. 3.11 shows the results of the flight test for all of the runs.
Fig. 3.11(a) shows the trajectory of two quadrotors. The black X indicates the
position of the hovering quadrotor and the green X shows the desired waypoint.
The dashed black circle shows the approximate area where the downwash of the
hovering quadrotor is significant. The dashed red trajectory shows the path of
the vehicle with the flow measurement system and control disabled to show the
nominal trajectory the vehicle takes. (Note that for safety reasons the nominal
trajectory was implemented without the presence of the hovering quadrotor.) The
other trajectories show the quadrotor with the flow measurement system and control
enabled. Fig. 3.11(b) shows the measurements (colored dots) taken by the flow
measurement system for the red colored run as well as the estimation error (solid
lines) of the hovering quadrotor’s position for all five runs that included the hovering
vehicle (the estimates are color coded to match the trajectories in Fig. 3.11(a)). Fig.
?? shows the x and y position estimates of the hovering quadrotor for the red run.
The experiments illustrates the necessity of the flow measurement system and
the flight-path planner. A vehicle without the combined system travels in a straight
trajectory towards the waypoint, as indicated by the dashed red line in Fig. 3.11(a).
53
−4 −3 −2 −1 0 1 2 3 4−4
−3
−2
−1
0
1
2
3
4
x (m)
y (m)
(a)
0 5 10 15 20 25−1
0
1
2
3
4
5
6
time (s)
Airs
peed
(m/s
), Es
timat
ion
Erro
r (m
)
(b)
0 5 10 15 20 25−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
time (s)
Position Estimate (m)
x esty est
(c)
Figure 3.11: (a) Trajectory of the quadrotor from five separate initial conditions with the hovering
vehicle located at the origin and one initial condition without the hovering vehicle. (b) measure-
ments from the airspeed probes and hovering quadrotor estimation error from red trial; (c) position
estimate of the hovering quadrotor for the red run (middle trajectory)
This trajectory would place the vehicle directly in the downwash of the higher
quadrotor. The vehicle with the flow measurement and flight-path planner detects
the downwash of the higher quadrotor at approximately t = 3.0 seconds for the red,
blue, and green trajectories, as seen in Fig. 3.11(b). As soon as the sensor measures
a positive airspeed, the error in the estimate of the position of the higher quadrotor
drops to close to the desired position. Note that the error in the estimate is likely due
to a combination of sensor noise and uncertainty in the choice of parameters in the
likelihood function. Once the estimate of the higher quadrotors position converges,
the instrumented vehicle maneuvers to avoid the downwash, as shown by the red,
blue, and green trajectory in Fig. 3.11(a). The position estimates for the red run
seen in Fig. 3.11(c) show how the estimate converges to near the correct value
when the instrumented vehicle passes close to the hovering quadrotor. Note that
54
the estimate drifts away once the downwash is no longer detected, due to process
noise that is added to the recursive Bayesian filter to avoid probability collapse. The
magenta and black trajectories do not travel close enough to the hovering quadrotor
to even detect the downwash. This is apparent in both Figures 3.11(a) and 3.11(b)
as the vehicle does not maneuver to avoid the downwash and the estimate never
converges.
55
Chapter 4: Distributed Detection of Mobile Targets
In the previous chapter, controllers were designed to stabilize rotorcraft in
strong wind fields. With this capability, it is now possible to design algorithms for
rotorcraft for sampling spatiotemporal processes, as is done in this chapter. In this
chapter, an aerial sensor network composed of quadrotors is used to sample a discrete
spatiotemporal process, namely, to detect an unknown number of moving ground
targets. First, the problem formulation is discussed, followed by the development of
the multi-agent coordination strategy and experimental validation of the detection
architecture.
4.1 Problem Formulation
Consider the following problem. There are N aerial vehicles equipped with
downward facing cameras. They are searching for an unknown number of moving
targets in a given domain. Furthermore, the sensors are of low quality, i.e., com-
plex vision-based detection algorithms cannot be used. The proposed problem is:
how does one coordinate the vehicle motion to maximize the probability of target
detection?
The approach used in this dissertation consists of a two step process. First,
56
vehicles assimilate camera measurements into a Likelihood Ratio Tracker (LRT),
which calculates the likelihood of target locations throughout the domain. Second,
vehicles use the output of the LRT in a physics-inspired control strategy to coor-
dinate their motions so as to maximize probability of detection. In this section, I
discuss the details of the update and predict steps for the LRT.
4.2 Likelihood Ratio Tracker for Target Detection
4.2.1 Update step: The sensor measurement model
Consider a measurement data model based on an imperfect binary sensor.
Suppose the criterion location for a positive response is chosen such that targets
within range ρtarget are detected with probability Pd and false alarms occur with
probability Pf per time step. The sensitivity m of each sensor is [85]
m = z(Pd)− z(Pf ), (4.1)
where z(·) represents the z-transformation into standard deviation units given by
the quantile function [85]
z(p) =√
2erf−1(2p− 1).
For example, Pd = 0.95 and Pf = 0.1 yields m = 2.92. Let wk represent unit-normal
measurement noise in standard deviation units at time step k. When the target
is absent, the measurement data is zk = wk, whereas when the target is present
the measurement data is zk = m + wk. Assuming a zero-mean Gaussian sensor
57
model [86] yields
p(zk|θ−k ) =1√2π
exp
(−z
2k
2
)(4.2)
p(zk|θ+k ) =
1√2π
exp
(−(zk −m)2
2
). (4.3)
(The sensor noise variance is absent because zk and m are already assumed to be in
standard deviation units.) The log likelihood ratio (2.3) becomes
logL(zk|θk) = −(zk −m)2
2+z2k
2= m
(zk −
m
2
), (4.4)
where m is a function of the sensor Pd and Pf given by (4.1).
While the methodology above would apply to any sensor characterized by its Pd
and Pf , in this dissertation the sensor is a camera with a known field of view (FOV)
and resolution. Using standard image processing techniques [87], the camera places
a bounding box around targets within the FOV. When there is a target present,
(4.4) with zk = m+wk is applied to the prior uniformly inside a disc of radius ρtarget
located at the center of the bounding box. In areas of the FOV where there is no
target, (4.4) with zk = wk is applied to the prior uniformly. Pd and Pf for a camera
are complicated functions of the camera resolution, the size of the object in the FOV,
and the quality of the image processing algorithm. For the experiments presented in
this dissertation, Pd and Pf were treated as tuning parameters for the tracker and
were chosen to improve the performance of the control and estimation/detection
strategy.
58
4.2.2 Predict step: Integrating the diffusion equation
The predict step (2.2) involves updating the target probability density function
in the absence of measurement information. Targets are allowed to move randomly,
though I do not estimate their velocities. The target motion model is a random
walk, which can be described mathematically by the diffusion equation with constant
diffusivity, also called the heat equation.
Consider the two-dimensional heat equation with diffusivity α, i.e.,
∂P
∂t= α
(∂2P
∂x2+∂2P
∂y2
).
The alternating direction implicit (ADI) method [88] is a fractional-step method
for integrating the heat equation. ADI employs the difference operators Ax and
Ay representing the spatial derivatives in the x and y directions, respectively. For
example, if probability P is discretized over n× n grid points, then AxP is a vector
of length n× n with elements
Pi+1,j − 2Pi,j + Pi−1,j
∆x2, i = 1, . . . , n, j = 1, . . . , n.
Let I be the n×n identity matrix. The solution is obtained from P (θk−1|zk−1) using
matrix inversion to solve the following equation for P (θk|zk−1):
(I − α∆t
2Ax) (I − α∆t
2Ay)P (θk|zk−1) =(
I + α∆t2Ax) (I + α∆t
2Ay)P (θk−1|zk−1).
To ensure that no information crosses the boundary of the search domain, I enforce
Neumann boundary conditions around the perimeter of Ω by specifying that the
normal gradient is zero.
59
4.3 Physics-Inspired Motion Planning
The agent motion is driven by a combination of two artificial forces. The first
force guides the vehicle down the gradient of the inverse log likelihood surface, i.e.,
the temperature surface, in a manner that resembles a flowing liquid. The speed
of movement down the gradient is determined by the temperature at the vehicle
location, where colder temperatures correspond to slower speeds. The second force
is the gradient of a Lennard-Jones potential [89] between the agents. The Lennard-
Jones potential is a common approximation used in physical chemistry to model
molecular gas dynamics. Figure 4.1 shows the vehicles moving like gas molecules
in areas where there are no targets and gathering like solid molecules with other
agents where there are likely to be targets. In this algorithm, as opposed to other
physics-inspired swarm controllers, the states-of-matter behavior is emergent.
Let rjk denote the position of agent j ∈ 1, . . . , N at time step k. The
Lennard-Jones potential is [89]
V jk =
N∑i 6=j
4ε(σ12||rjk − rik||−12 − σ6||rjk − rik||−6
), (4.5)
where ε is the depth of the well and σ is the distance at which the potential between
two agents is zero. An example of the Lennard-Jones potential between two agents
is shown in Figure 4.2. Note that the strength of the potential drops quickly to zero
for large distances. Thus, the interaction between two agents only happens when
they are close to one another.
Let T jk = −P (θk|zk, j) in (2.5) be the temperature at vehicle j at time k and
60
X
Solid
Liquid
Gas
Figure 4.1: Diagram depicting the three emergent behaviors of the proposed algorithm. Vehicles
in cold areas that are near a target will form a crystalline formation with nearby agents. Vehicles
that are in warm areas will flow on the temperature surface like a liquid. Agents in hot areas will
travel quickly in a random, gas-like fashion.
0 0.5 1 1.5 2 2.5 3
−1
−0.5
0
0.5
1
1.5
2
2.5
3
3.5
4
r (m)
Potential
σ
ε
Figure 4.2: Example of a Lennard-Jones potential with ε = σ = 1.0.
61
V jk be the Lennard-Jones potential (4.5) for the jth vehicle. IThe desired velocity
for each vehicle is prescribed using a feedback controller. The desired velocity for
the jth vehicle is given by
rjk = −min(1 + eTjk , vmax)kP∇T jk − kV∇V j
k , (4.6)
where kP and kV are control gains and vmax is the maximum speed of the agent
(assumed to be the same for all agents). The dependence on temperature causes the
vehicles to slow down when they are near a possible target in order to collect more
measurements in that area. This behavior, along with the sensor aggregation caused
by the Lennard-Jones potential, seeks to increase the chances that a target will be
detected. The algorithm works well in simulations when the gain on the Lennard-
Jones potential is one order of magnitude smaller than the gradient-following gain.
Additionally, σ is set to ensure that the vehicles do not collide with each other, which
depends on the scale of the vehicle. Consequently, there are only three parameters
to tune: either kP or kV , ε (the well depth), and T0 (the detection threshold).
As seen in equation (4.6), the gradient of the temperature potential is mul-
tiplied by a heuristic scaling factor. This scaling factor, in combination with the
Lennard-Jones potential, is what causes the states-of-matter behavior to be emer-
gent. In the scaling factor, the speed of the vehicle is scaled by the temperature
such that the speed increases when the temperature is high, and decreases when the
temperature is slow. This causes vehicles to “freeze” in place when they are near an
area of high probability and, conversely, to speed up when they are in areas of low
probability. The full architecture (in pseudocode form) is shown in Algorithm 1.
62
Algorithm 1 Physics-Inspired Target Search and Detection Algorithm
Require: N, ε,σ, kP , kV
1: Initialize log likelihood ratio P0(θ|z)
2: for k = 1 till end of task do
3: for j . . . N do
4: Get measurement zjk
5: Calculate likelihood ratio logL(zjk|θk) using (4.4)
6: Update: Pk(θ|z) = Pk−1 + logL(zjk|θk)
7: end for
8: Normalize likelihood ratio: Pk(θ|z) = Pk(θ|z)− sum((Pk(θ|z)))
9: Get rk for every vehicle
10: for j = 1 . . . N do
11: Compute ∇V jk (rk) and ∇P (θk|zk)
12: Calculate desired velocity rjk
13: Apply control input to platform to achieve rjk
14: end for
15: end for
63
Unlike of other works in the field, the architecture shown in Algorithm 1 avoids
local minima in an informative, non-heuristic fashion. A vehicle can fall into a local
minima if it is surrounded by hills of low target probability. However, if there is no
target present underneath the vehicle, the temperature will increase (from negative
information) to the point where the vehicle is pushed away from its location. Note,
this behavior is completely emergent and is provided inherently by connecting the
detection scheme to the vehicle control. In addition to informatively handling local
minima, there is the following theorem.
Theorem 4.3.1 The mutual information between sensor measurement zk and target
location θk using the sensor model given by (4.2)–(4.3) is locally maximized when
the vehicle moves along the gradient of the prior target distribution p(θk).
Proof Let ξk = (xk, yk) be the position of the kth quadrotor. For readability I drop
the temporal subscript on all the variables in this proof. The mutual information
between z and θ is
I(z, θ) =
∫z+,z−
∫Ω
p(θ, z|ξ) log(p(z|θ, ξ)dθdz
−∫
z+,z−
p(z|ξ) log p(z|ξ)dz, (4.7)
where p(z|ξ) is the marginal probability density function of the observation in ob-
servation space. Since the sensor model is Gaussian, the logarithm in the first term
on the right hand side of (4.7) evaluates to a constant. Hence, the double integral
is independent of ξ. Thus, the mutual information is maximized by maximizing
the second term, which is the entropy of the observation, H(z|ξ), given the vehicle
64
location. The marginal probability p(z|ξ) can be written as
p(z|ξ) =
∫θ∈D
p(z|θ, ξ)p(θ)dθ. (4.8)
Therefore, H(z|ξ) can be expressed as
H(z|ξ) = −∫
z+,z−
∫θ∈D
p(z|θ, ξ)p(θ)dθ × log
∫θ∈D
p(z|θ, ξ)p(θ)dθ
dz. (4.9)
Evaluating the integral over z yields
H(z|ξ) = −∫θ∈D
p(z+|θ, ξ)p(θ)dθ × log
∫θ∈D
p(z+|θ, ξ)p(θ)dθ
−
∫θ∈D
p(z−|θ, ξ)p(θ)dθ log
∫θ∈D
p(z−|θ, ξ)p(θ)dθ
. (4.10)
Both terms on the right hand side of (4.10) have the form f(x) = x log(1/x), which
is an increasing function of x as long as x ≤ 1/e ≈ 0.36. In (4.10), the argument
is the integral of p(θ) scaled by either p(z+|θ, ξ) or p(z−|θ, ξ). Since these are both
less than 1/e (see (4.2)–(4.3)) and the integral of p(θ) is less than one in domain D,
H(z|ξ) is guaranteed to be an increasing function of the integral of p(θ).
Because the mutual information is an increasing function of the integral of p(θ),
moving along the gradient of the integral will maximize the mutual information at
the next time step. As a first-order approximation, assume that p(θ) is given by the
first-order Taylor expansion
p(θ) ≈ a0 + axx+ ayy, (4.11)
where it is assumed that coordinates in D are given by the pair (x, y). Then I have
∫θ∈D
p(θ)dθ ≈xk+ s
2∫xk− s2
yk+ s2∫
yk− s2
(a0 + axx+ ayy)dydx, (4.12)
65
where I have assumed that D is a square region with side length s for simplicity.
The gradient of (5.38) yields
∇
∫θ∈D
p(θ)dθ
≈ axs2ex + ays
2ey, (4.13)
where ex and ey are unit vectors in the x and y directions respectively. Taking the
gradient of p(θ) directly shows that
∇p(θ) ≈ axex + ayey =1
s2∇
∫θ∈D
p(θ)dθ
. (4.14)
Thus, moving along the gradient of p(θ) is locally the same as moving along the
gradient of its integral, which completes the proof.
Theorem 1 shows that the binary sensor model coupled with a gradient control
allows each vehicle to greedily maximize the expected gain in information without
explicitly having to calculate it. This property has significant benefit on the ability
of the search strategy to scale with numbers of vehicles and targets, as compared to
the calculation of mutual information, which generally scales exponentially. Theo-
rem 1 only holds locally. Since the Lennard-Jones potential drops off dramatically
with distance, each vehicle need only consider the position of other nearby agents.
Therefore, the algorithm scales linearly with the number of vehicles. Note that if the
algorithm was distributed, the complexity would be fixed by local vehicle density
under a distance-based communication topology.
Algorithm performance is evaluated via simulation in the operating domain
Ω = [−5 5] × [−5 5] m. Agents and targets are constrained to remain in Ω at
all times. Parameter definitions and values used in the simulation are provided in
66
Figure 4.3. The local temperatures of the agents and targets are obtained via linear
interpolation between the grid points. The overall temperature surface is normalized
by subtracting its mean every time step. To avoid overheating in the temperature
surface, the individual sensor updates are scaled by N , i.e., the number of agents.
This scaling has the effect of making the collective detection performance in terms
of the cumulative number of targets detected over time roughly independent of N .
Figure 4.4 shows the results of the simulation. In Figures 4.4(a) and 4.4(b)
there are snapshots of the vehicles, targets, and temperature (inverse log likelihood)
surface at time steps k = 125 and 425 respectively. Vehicles are shown as red
circles, undiscovered targets as white crosses, and discovered targets as red crosses.
At any given time there are only three undiscovered targets in the domain. Once a
target is detected, it turns red and another target appears with uniform probability
somewhere in the domain. The heat map, which describes the temperature, is blue
in areas of low temperature (high likelihood) and red in areas of high temperature
(low likelihood).
In Figure 4.4(a), one target has been detected. There are several vehicles
scanning the warmer regions like gas molecules, while others are clustering around
potential targets in a semi-solid configuration. Figure 4.4(c) shows the cumulative
number of targets captured during the simulation (solid line) and the amount of time
it takes for the vehicles to fully cover the domain once (dashed line). The vertical
red lines indicate the times the snapshots were taken. This algorithm follows a
typical coverage curve seen for greedy algorithms, with approximately linear growth
in coverage early on, followed by slower asymptotic convergence to full coverage.
67
Also of note is that the target capture rate is also approximately linear.
4.4 Experimental Results
I implemented the algorithm in hardware using a quadrotor testbed at the
Laboratory for Autonomous Systems Research located at the Naval Research Lab-
oratory. The testbed is composed of Ascending Technologies Pelican quadrotors
operated in a facility with 115 Vicon motion capture cameras. Figure 4.5 shows the
prototyping high bay where the experiments were conducted. The quadrotors are
equipped with active LED motion capture markers in order to be seen by the Vicon
cameras.
The quadrotors each have a downward facing Point Grey Chameleon 1.3
megapixel camera with a resolution of 1296 × 964 pixels. The camera is equipped
with a Tamron CCTV manual lens to adjust zoom and focus. The camera has a
global shutter to minimize motion blur and adjustable white balance and shutter
speed. The quadrotors have an onboard Linux computer that processes camera
frames at 15 Hz, which is limited by how fast images can be captured by the cam-
era. The binary signal sent to the LRT is whether or not a blob of a predetermined
color is in the image. For the experiments, the blobs were Sphero robots, a spherical
rolling toy which has an orange covering. Figure 4.6 shows an example of the blob
tracking software used to detect two Spheros in the field of view of the Point Grey
camera.
Pose and target information from each vehicle is sent to a laptop, which uses
68
the Robot Operating System (ROS) [90] to process the data and compute control
commands in a control node. ROS is an open-source software architecture that
contains software libraries and tools to build robotic applications. The binary signal
is generated by using a standard blob segmentation algorithm [87] in a camera
processing ROS node onboard the vehicle. The vehicle also has a ROS node to handle
passing measurements to the control node running on a laptop as well as receiving
position and control commands from the external laptop and motion capture system.
Control commands are sent to the vehicle through a WiFi connection to the message
processing node at approximately 30 Hz. The full architecture for the experiment
is shown in Figure 4.7.
4.4.1 Single-Vehicle, Single-Target Experiment
To verify the algorithm using the hardware testbed, experiments were first
conducted with a single vehicle and a single moving target. Figure 4.8 shows a
snapshot of an experiment. The targets are seen using the Point Grey camera,
where the targets (and false alarms) were found in the image. The blob detections
are fed into the LRT to calculate the inverse log likelihood surface, from which the
desired control can be calculated. Once detected, any blob detected within a 0.5
m radius of the detected target are ignored by the LRT tracker. The Sphero was
commanded to move in a random walk, so multiple detections of the target were
possible.
In this experiment, the Sphero was detected three times as it performed the
69
random walk. The locations where the target was detected are indicated by the red
crosses. Figures 4.8(a) and 4.8(b) show snapshots of the experiment at timesteps
k = 120 after the first detection and k = 220 after the third detection. The number
of targets captured over time is shown in Figure 4.8(c), where the vertical red
lines indicate the times of the snapshot shown in Figures 4.8(a) and 4.8(b). In a
real target-tracking application, once the target is detected using Algorithm 1 the
vehicle would switch to another controller to maintain a line-of-sight on the detected
target such that multiple detections become unnecessary. For illustrative purposes,
the vehicle in this experiment continued using Algorithm 1 even after a detection
was called. The single-vehicle experiments used the same gains that were used in
simulation; the Lennard-Jones potential was omitted as it is a purely collaborative
term.
4.4.2 Multi-Vehicle, Multi-Target Experiment
Multi-vehicle experiments were also conducted with stationary targets located
at (-0.25, -0.35), (1.60, 0.40), and (1.90, -1.00) meters. Figures 4.9(a) and 4.9(b)
show snapshots of the inverse log likelihood surface at time steps k = 60 and 155
with the position of the undetected targets shown as black crosses and detected
targets shown as red crosses. At the depicted timestep, there is one target that has
been recently detected, one that has yet to be discovered, and a third that in the
process of being detected. Figure 4.9(c) shows the number of targets captured and
the area covered over time. With two vehicles, all targets were captured within 200
70
time steps and the vehicles covered the full domain in approximately 400 time steps,
which corresponds to 40 seconds.
Comparing Figure 4.4(c) to Figure 4.9(c), it is seen that the coverage rate in
the experiment follows the same patterns as the simulated experiments, i.e., initial
linear growth followed by asymptotic convergence. It was also determined that,
in general, the vehicles must have lower gains than in simulation. As observed by
comparing Figure 4.4(c) to Figure 4.9(c), lower gains result in a slower capture
rate. With higher gains, the vehicles tended to overshoot the targets before the
temperature was cool enough to slow down the vehicles. The discrepancy between
simulation and experiment can be explained by observing that the dynamics of the
quadrotors are inherently second-order, whereas the desired velocity stated in (4.6)
is for vehicles with first-order dynamics. The Pelicans approximate this control by
treating the output of (4.6) as a desired velocity to be achieved by the onboard
flight controller.
71
Parameter Value Definition
N 10 number of agents
M 3 instantaneous number of targets
α 0.5 target diffusivity
σ 1.5 m repulsive threshold
ε 0.2 Lennard-Jones potential depth
T0 -15 target detection threshold
KP 5 gradient-following gain
KV 0.05 Lennard-Jones gain
vmax 0.3 m/s maximum agent speed
Pd 0.95 probability of detection
Pf 0.10 probability of false alarm
ρtarget α Sensor detection range
n 50 number of grid points
in each dimension
∆x 2/n grid spacing
∆t 0.03 s time step
Figure 4.3: Parameter values and definitions
72
−5 0 5−5
−4
−3
−2
−1
0
1
2
3
4
5
x (m)
y (m)
(a) Time step k = 125
−5 0 5−5
−4
−3
−2
−1
0
1
2
3
4
5
x (m)
y (m)
(b) Time step k = 425
0 100 200 300 400 500 600 700 8000
10
20
time step
Number Captured
0 100 200 300 400 500 600 700 8000
0.5
1
Coverage
(c)
Figure 4.4: (a)(b) Snapshot of the simulation; (c) The number of targets captured throughout
the simulation and the amount of time taken to cover the entire domain once. Vehicles cluster
like solid molecules in cold regions near the target and explore randomly like gas particles in hot
regions, while flowing down the temperature gradient from hot to cold.
Figure 4.5: Prototyping high bay in the Laboratory for Autonomous Systems Research at the
Naval Research Laboratory.
73
Figure 4.6: Processed camera image showing two orange Spheros identified using a color blob
detector.
Quadrotor 1 - N
Point Grey Camera
Camera Processing ROS Node
Image
Message Handling
ROS Node
MotorMotorMotorMotor
Control
zVicon Motion
Capture Systemr
r
z
Control
Sphero
Laptop
Message Handling
ROS Node
Likelihood Ratio Tracker
zr
Equation (11)P (|z)
Control
Figure 4.7: Hardware architecture for the experiments. The quadrotors run two ROS nodes to
process camera data and handle incoming position measurements and desired velocity. An external
laptop receives position and blob detection measurements to compute the temperature surface and
calculate the desired velocity.
74
(a) Time step k = 120
(b) Time step k = 220
0 50 100 150 200 2500
0.5
1
1.5
2
2.5
3
time step
Number Captured
(c)
Figure 4.8: (a)(b) Snapshot of the single-vehicle experiment; (c) The number of targets captured
throughout the experimetn and the amount of time taken to cover the entire domain once.
75
(a) Time step k = 60
(b) Time step k = 155
0 100 200 300 400 500 600 700 8000
2
4
time step
Number Captured
0 100 200 300 400 500 600 700 8000
0.5
1
Coverage
(c)
Figure 4.9: a)(b) Snapshot of the multi-vehicle experiment; (c) The number of targets captured
throughout the experiment and the amount of time taken to cover the entire domain once.
76
Chapter 5: Distributed Sampling of Gaussian Processes
5.1 Problem Formulation
While the previous chapter used rotorcraft to sample a discrete process, this
chapter samples a continuous spatiotemoral process. In particular, I investigate the
use of an aerial, multivehicle, sensor network to sample a continuous spatiotemporal
field A(r), where the field is modeled as a Gaussian process with covariance func-
tion (2.6)is nonstationary. Specifically, I seek to provide optimal coverage of the
field, where the coverage is optimal in the sense that the measurement density is
proportional to the variability of the field. To determine when measurements are
redundant, I consider the footprint of a measurement, which is defined as the volume
in space and time contained in an ellipsoid centered at the measurement location
with principle axes equal to the decorrelation scales of the field. The coverage task
is illustrated in Figure 5.1, which depicts two vehicles taking measurements along
a circular trajectory in the space-time domain. The red and blue tubes along the
vehicles’ trajectories are the sensor swaths created by the measurement footprints.
Figure 5.1(a) shows the swaths for a stationary field and Figure 5.1(b) shows the
swaths for a nonstationary field in which the temporal scales contract at t = 10
hours. The first goal is to design the vehicle trajectories xk(t) and yk(t) so that the
77
(a) (b)
Figure 5.1: Two vehicles traveling through (a) stationary and (b) nonstationary spatiotemporal
fields. The tubes represent the volume covered by sensor measurements.
swaths created by the set of all measurement footprints cover the entire field with
minimal overlaps or gaps when the decorrelation scales of the field vary in space and
time. Measurements contain Gaussian noise with zero mean and known variance.
The second goal is to optimally sample the field to determine the decorrelation scales
and the switch to a mapping formation, a notion known as explore versus exploit.
5.2 Sampling a Stationary Spatiotemporal Field
The sampling strategy presented in this dissertation relies on the ability to
sample a one-dimensional spatiotemporal field, as considered in [60] and reviewed
here. The field is modeled as a continuous spatiotemporal Gaussian process as de-
scribed in 2.2. Consider a closed path, where θk ∈ S1 is a path variable that denotes
78
the non-dimensional location of the kth vehicle along the path. Each vehicle collects
measurements at a sufficiently high rate such that the time between measurements
is much less than the temporal decorrelation scale (to ensure that its sensor swath is
approximately continuous). Under speed control uk, the dynamics of the kth vehicle
is
θk = uk(θ1, ..., θN) = uk(θ),
where θ = [θ1, · · · , θN ]T . Note, if the path is a circle of radius ρ, then rk =
(ρ cos θk, ρ sin θk, tk), where tk is time. Note that for the remainder of this chapter,
all dynamics are assumed to be first-order. In reality, multi-rotor systems behave as
a second-order system. This means that the controllers developed in this chapter are
treated as an input to a trajectory following controller or a flight stabilizer, which
are discussed in Chapter 5.
Since the vehicles sample uniformly in time, the mapping error is minimized in
a stationary field by traveling at maximum speed to place as many measurements as
possible in the domain, as further illustrated in [58, 60]. To determine the number
of vehicles necessary to optimally sample the domain, the sampling speed of the
vehicle is used, defined as [72]
sk = vkτ
σ, (5.1)
where vk is the vehicle speed and τ and σ = σx = σy are the temporal and spatial
scales of the field, respectively. Note that θk = vk only when the vehicle is exactly
on the path.
In one spatial dimension (plus time), the sensor swath is the portion of the
79
domain covered by the set of coverage ellipses generated along the sampling trajec-
tory. A sensor swath is considered spatially constrained if sk < 1 and temporally
constrained if sk > 1, as illustrated in [60]. Figures 5.2(a) and 5.2(b) show the sen-
sor swaths for spatially and temporally constrained sampling patterns, respectively.
(Vehicles exiting on the right reappear on the left since the path is closed.) The
(a)Position
Time
sk < 1
σ
2
(b)Position
Time
sk > 1
τ
2
(c)Position
Time
Figure 5.2: Sensor swaths for (a) spatially constrained and (b) temporally constrained vehicles in
a stationary field; (c) Tiling the domain with three spatially constrained vehicles ensures complete
coverage.
number of vehicles required to fully cover a closed path in a stationary domain is
determined by the value of sk as shown in [60].
Theorem 5.2.1 The minimum number N of vehicles with sampling speed sk re-
quired to cover a stationary, spatiotemporal field that is periodic in its one spatial
80
dimension is
N =
d2π/σe if sk < 1,
dT/τe if sk ≥ 1,
where dxe is the smallest integer larger than x, and T = 2π/vk is the period of a
single revolution around the path that has nondimensional length 2π .
Proof As depicted in Figure 5.2, if the vehicle is spatially constrained, then σ
determines the swath width. Since (without loss of generality) the length of the
path is taken as 2π, the minimum number of vehicles needed to cover the domain
is the smallest integer greater than 2π/σ. If the vehicle is temporally constrained,
then τ determines the swath width and, if T is the period of one revolution, the
number of vehicles needed to cover the domain is the smallest integer greater than
T/τ .
To minimize the overlap in coverage, the vehicles are spaced evenly along the
path, as depicted in Figure 5.2(c), using a splay controller from [91], as follows.
Consider the splay phase potential
S(θ) ,
bN2 c∑m=1
KmUm(θ), Km > 0, (5.2)
as used in [91], where bxc is the largest integer less than x ,
Um(θ) ,N
2|pmθ|2, and pmθ ,
1
mN
N∑j=1
eimθj .
Choosing the control law
uk = − ∂S∂θk
= −Km
N
N∑j=1
bN2 c∑m=1
1
msin(m(θk − θj)), (5.3)
81
from [91], locally stabilizes the set of critical points of S, which includes the set of
splay formations [91, Theorem 7]. Note that, while the set of splay formations is
only one of the critical points of S, all other critical points are unstable [91], thus,
(5.3) will drive the vehicles to a splay formation. Also, adding a constant drift vector
field to the right-hand side of (5.3) to represent motion around the path does not
change the result [91], i.e., a term may be added to the right of (5.3) to represent
the vehicle speed. Hence, adding a constant (representing the steady-state speed of
the vehicle) to (5.3) allows us to drive the vehicles to a constant speed around the
path while maintaining a splay formation.
5.3 Transformation to a Locally Stationary Field
In this section, a nonlinear coordinate transformation is defined that renders a
nonstationary field locally stationary. The significance of this transformation is that
it permits the use of multivehicle sampling algorithms designed for use in stationary
fields. I derive two transformations, one for which the spatial decorrelation scales
are coupled, i.e., σx = σx(xk, yk) and σy = σy(xk, yk), and another for which the
spatial scales are decoupled, i.e., σx = σx(xk) and σy = σy(yk).
5.3.1 Coupled Decorrelation Scales
Let rk , [xk, yk, tk]T be the space-time coordinates in the original domain,
called the r-domain, and Rk , [Xk, Yk, Tk]T be a set of transformed coordinates
in a new domain, called the R-domain. Also, let G(V,E) be a lattice graph with
82
nodes V placed at each Rk and undirected edges E connecting adjacent cells (the
four nearest neighbors in two dimensions). The lattice graph ensures that adjacent
nodes are locally stationary under the transformation. The goal is to find Rk such
that the field with covariance (2.6) becomes locally stationary, i.e., all adjacent
nodes in G are (approximately) stationary, as in [65]. Intuitively, this corresponds
to ensuring that the field is stationary in the neighborhood of each point Rk. Let
Σ(ri, rj) = (Σ(ri) + Σ(rj))/2, rij , ri − rj, and Rij , Ri − Rj. Thus, the relation
to satisfy is
|Σ(ri)|1/4|Σ(rj)|1/4√∣∣Σ(ri, rj)∣∣ e[−r
Tij(Σ(ri,rj))
−1rij] = e[−RTijRij] (5.4)
between all adjacent points i and j. The left-hand side of (5.4) is the nonstationary
covariance function in the r-domain and the right hand side is the covariance func-
tion in the R-domain, which is desire to be stationary. Without loss of generality,
the spatial and temporal decrorrelation scales in the R-domain are chosen to be
σX = σY = τT = 1. Since the spatial decorrelation scales are coupled, the transfor-
mations are also coupled; however, the temporal component of (5.4) is decoupled,
by assumption. Let σxi , σx(xi, yi), σyi , σy(xi, yi), and τi , τ(ti). Then, (5.4)
yields the following two relations:
(Xi −Xj)2 + (Yi − Yj)2 =
2(xi − xj)2
σ2xi + σ2
xj
+2(yi − yj)2
σ2yi + σ2
yj
+ ln
[(σ2xi + σ2
xj
2σxiσxj
)(σ2yi + σ2
yj
2σyiσyj
)]and (5.5)
(Ti − Tj)2 =2(ti − tj)2
τ 2i + τ 2
j
+ ln
(τ 2i + τ 2
j
2τiτj
). (5.6)
Equations (5.5) and (5.6) show how the space-time separation between two
83
points in the R-domain depends on the nonstationarity in the r-domain. However,
to complete the spatial transformation another relationship is needed between Xij ,
Xi−Xj and Yij , Yi−Yj to separate (5.5) into two equations. I propose to use the
orientation between points in the R-domain and r-domain. The relation
tan
(Yi − YjXi −Xj
)= tan
(yi − yjxi − xj
)(5.7)
preserves the relative orientation between points i and j, which ensures that the
transformation will not rotate the coordinates in the R-domain, as it does in [65].
Substituting (5.7) in (5.5) yields
Xij = ±[
2(xi − xj)2
σ2xi + σ2
xj
+2(yi − yj)2
σ2yi + σ2
yj
+ ln
[(σ2xi + σ2
xj
2σxiσxj
)(σ2yi + σ2
yj
2σyiσyj
)]]1/2
×(1 +
yi − yjxi − xj
)−1
, dX,ij, (5.8)
Yij = ±[
2(xi − xj)2
σ2i + σ2
j
+2(yi − yj)2
σ2i + σ2
j
+ ln
[(σ2xi + σ2
xj
2σxiσxj
)(σ2yi + σ2
yj
2σyiσyj
)]]1/2
×(1 +
xi − xjyi − yj
)−1
, dY,ij, and (5.9)
Ti − Tj = ±[
2(ti − tj)2
τ 2i + τ 2
j
+ ln
(τ 2i + τ 2
j
2τiτj
)]1/2
, dT,ij. (5.10)
Equations (5.8)–(5.10) represent the transformation from the r-domain to the R-
domain. Note that the choice of plus or minus in (5.8)–(5.10) is arbitrary as it
represents flipping the new coordinates about the corresponding axis. Thus, the
positive root is used.
Let B be the incidence matrix of the lattice graph G. (5.8)–(5.10) are rewritten
84
as
BTX = dX , BTY = dY , and BTT = dT , (5.11)
where dX is the vector of all terms dX,ij and dY and dT are defined similarly. These
equations are, in general, overdetermined. The least-squares solution to (5.11) is
obtained using the pseudoinverse:
X = (BBT )−1BdX , (5.12)
Y = (BBT )−1BdY , and (5.13)
T = (BBT )−1BdT . (5.14)
A coordinate transformation is locally stationary if equations (5.12)–(5.14) are sat-
isfied. The use of the lattice graph topology is justified since points with short
separation (in space or time) have a stronger impact on the mapping error than
points with large separation. I have also found the lattice topology to be particu-
larly sensitive to nonstationarities in the r-domain; higher connected graphs tend
to concentrate measurements less.
The inverse transformation from the R-domain to the r-domain is solved by
creating a lookup table as follows. A uniform grid is created in the r-domain and
mapped to the R-domain using (5.12)–(5.14), which produces a nonuniform grid of
locations in the R-domain. Trajectories generated in the R-domain are discretized
and mapped back to the r-domain by interpolating this grid.
Theorem 5.3.1 The coordinate transformation given by (5.12)–(5.14), with B as
the incidence matrix of a lattice graph and the entries of dX , dY , dT given by (5.8)–
85
(5.10), renders a nonstationary field with covariance (2.6) locally stationary. Fur-
thermore, the transformation exists if σx(x, y), σy(x, y), and τ(t) are positive; it is
invertible if the derivatives dX,ij/dxi, dX,ij/dxj, dX,ij/dyi, and dX,ij/dyj are greater
than zero (and similarly for dY,ij and dT,ij).
Proof The lemma is proved for (5.10); the proof is similar for (5.8) and (5.9). The
transformation renders the field locally stationary because it satisfies (5.12)–(5.14).
To prove existence, equation (5.10) is written as
Ti − Tj =1
2ln
(τ 2i + τ 2
j
2τiτjexp
[2(ti − tj)2
τ 2i + τ 2
j
]).
If τi and τj are positive, then the natural log is real, and hence the forward trans-
formation exists. If dT,ij/dti, dT,ij/dtj > 0, then dT,ij is a strictly increasing function
of ti and tj. This implies that dT,ij is one-to-one and invertible.
Figure 5.3 shows an example of the two-dimensional spatial transformation using
decorrelation scales σx and σy of the form
σx = σy = σ0 − µ1
A∑a=1
e−µ2((xk−x0,a)2+(yk−y0,a)2), (5.15)
where a = 1, ..., A is the index of A nonstationarities, and x0,a and y0,a are their
locations. The above function represents a varying spatial decorrelation scale where
“dips” in the scale are centered at (x0,a, y0,a). On the right is the r-domain, which
has a square boundary. When the r-domain boundary is mapped to the R-domain, it
generates a new, curved boundary as shown in Figure 5.3. A uniform grid mapped
from the R-domain to the r-domain shows how space is warped to concentrate
measurements near the nonstationarity at (3,3).
86
R-domain r-domain
Figure 5.3: Example of the spatial transformation given by (5.12)–(5.13) with a nonstationarity of
form (5.15).
5.3.2 Decoupled Decorrelation Scales
Next, consider when the spatial decorrelation scales are decoupled, i.e., σxi =
σx(xi) and σyi = σy(yi). In this case, (5.8)–(5.10) reduce to
Xi −Xj =
[2(xi − xj)2
σ2xi + σ2
xj
+ ln
(σ2xi + σ2
xj
2σxiσxj
)]1/2
, (5.16)
Yi − Yj =
[2(yi − yj)2
σ2yi + σ2
yj
+ ln
(σ2yi + σ2
yj
2σyiσyj
)]1/2
, and (5.17)
Ti − Tj =
[2(ti − tj)2
τ 2i + τ 2
j
+ ln
(τ 2i + τ 2
j
2τiτj
)]1/2
. (5.18)
For a lattice topology with decoupled decorrelation scales, j = i + 1, i.e., Xj =
Xi + ∆Xi, xj = xi + ∆xi (and similarly for Y , y, T , and t). The following result
provides an analytical representation of (5.16)–(5.18) in the continuous limit as the
87
lattice spacing goes to zero.
Theorem 5.3.2 The following coordinate transformation for a nonstationary field
with covariance (2.6) and decoupled decorrelation scales ensures the R-domain is
locally stationary:
Xk =
xk∫0
1
σx(x′)dx′, (5.19)
Yk =
yk∫0
1
σy(y′)dy′, and (5.20)
Tk =
tk∫0
1
τ(t′)dt′. (5.21)
Furthermore, the transformation (5.19)–(5.21) exists and is invertible if σ(xk), σ(yk),
and τ(tk) are positive, bounded, and continuous functions.
Proof Assuming j = i + 1, i.e., Xj = Xi + ∆X and xj = xi + ∆x, then (5.16)
reduces to
∆X =
(2(∆x)2
σ2(xi) + σ2(xi + ∆x)+ ln
(σ2(xi) + σ2(xi + ∆x)
2σ(xi)σ(xi + ∆x)
))1/2
.
Dividing both sides by ∆x and taking the limit as ∆x,∆X → 0 yields
dXk
dxk=
1
σ(xk).
Integrating both sides yields the desired result. (The derivation of the temporal
transformation is similar.) If σk and τk are bounded and continuous, then the
integrals in both transformations exist. If the decorrelation scales are both positive,
then Xk, Yk, and Tk are increasing, invertible functions of xk, yk, and tk.
88
Either the numerical or analytical form of the transformation presented above can be
used for sampling a nonstationary spatiotemporal field, but the numerical transfor-
mation has the advantage that it is valid for any function of the decorrelation scales
(as long as they are continuous and positive); however, it has (relatively) stringent
conditions for invertibility. The analytical transformation is always invertible when
the decorrelation scales are positive, but it is only valid when the spatial scales are
decoupled. The analytical form of the transformation is of particular importance
when regarding the sampling speed of the vehicles. In the next section, I show
that performing control action in a domain that is transformed according to Lemma
5.3.2 drives vehicles to a constant sampling speed in the r-domain, which simplifies
mission planning.
5.4 Multivehicle Coverage Control
In the previous section, a numerical transformation and its continuous limit
(where the grid spacing is reduced to zero) are derived under which a nonstationary
spatiotemporal field is rendered locally stationary. In this section, I design a multi-
vehicle coverage algorithm that invokes the transformation to generate nonuniform
sampling trajectories. Note, again, that the control laws developed here are used
as input to a trajectory tracking and flight stability controller on the rotorcraft. I
first implement a multivehicle controller that uniformly covers the R-domain. The
resulting trajectories are mapped back to the r-domain.
To ensure that the R-domain is uniformly covered with no gaps or overlaps
89
between sensor measurements, I employ a coverage algorithm called Spanning Tree
Coverage (STC), introduced in [92].1 Intuitively, the algorithm works like a lawn-
mowing algorithm along a closed path. Path closure is crucial due to the temporal
nature of the field; locations are revisited to ensure that the temporal variation of
the field is captured. The STC algorithm is summarized as follows. Let D be a
spatial domain that is divided into square cells of size 2σ, where the constant σ will
later be chosen to be the spatial decorrelation scale. Let G(V,E) be a lattice graph
with nodes V placed at the center of each cell and undirected edges E connecting
adjacent cells. Starting in initial cell S, create a spanning tree for G, i.e., a graph
with the maximal set of edges of G that contains no cycles. Then, the set of points
that are a distance σ away from the spanning tree creates a closed path around the
spanning tree. Since the spanning tree is formed using nodes that are 2σ apart, and
the path is always σ/2 away from the tree, a vehicle with sensor size σ is guaranteed
to cover the entire domain with no gaps or overlaps in the coverage. As an example,
consider the spatial scale function given by (5.15) and the sampling boundary in
Figure 5.3. Figure 5.4 shows the spanning tree and generated path in the R-domain
(left) and the r-domain (right).
Next, I seek to steer a set of mobile vehicles to motion along the path generated
1Any algorithm that generates a single closed path that guarantees spatial coverage could
potentially be used in lieu of the STC algorithm. I select this algorithm as opposed to classical
lawn-mowing or milling [93], because it works for any simply connected spatial domain and allows
us to apply intuition from sampling of stationary fields to nonstationary fields because the paths
generated by the algorithm are closed.
90
−5 0 5
−6
−4
−2
0
2
4
6
R−domain
X
Y
−5 0 5−6
−4
−2
0
2
4
6
r−domain
x
yFigure 5.4: Example of the spatial transformation (5.12)–(5.13) with the generated STC path.
by the STC algorithm. Assume there is a mapping that converts the path coordinate
θk to the location on the path (Xpk , Y
pk ), i.e., Xp
k = f(θk) = fk and Y pk = g(θk) =
gk, where fk and gk are differentiable everywhere. Given the path from the STC
algorithm, fk and gk can be found numerically using a lookup table from the path
coordinate to Xp and Yp. The lookup table is created by discretizing the path
and associating with each discrete point a value of θk such that θk increases in
the counterclockwise direction. Consider the spatial coordinates (lk, θk) in the R-
domain, where lk is the shortest distance between the vehicle and the path and θk
is the distance along the path from an arbitrary fixed point θ0. These coordinates
are illustrated in Figure 5.5.
Using the (lk, θk) coordinates I design a distributed gradient controller to sta-
bilize a set of vehicles to the desired cross-path and along-path motion. Let the
91
αk
et
en
lk
ex
ey
(Xk, Yk)
(Xpk , Y p
k )
θk
Figure 5.5: Control coordinates in the R-domain.
kinematics of the kth vehicle be
dlkdTk
= ul,k anddθkdTk
= uθ,k. (5.22)
Accordingly, there is the following result.
Theorem 5.4.1 Consider the vehicle dynamics (5.22), where k = 1, ..., N , along a
smooth, closed path. Assuming that lk and θk are unique, choosing
ul,k = −dVdlk
and uθ,k = s0 −dS
dθk, (5.23)
where V = 12
N∑k=1
l2k and S is given by (5.2), stabilizes the set of splay formations
along the path with constant speed s0.
Proof The dynamics of lk and θk are decoupled, so their stability properties are
determined independently. The closed-loop θk dynamics are studied in [91], which
establishes that the system converges to the critical set of S, including the set of
splay formations. For the lk dynamics, the derivative of V with respect to time Tk
is negative semi-definite and zero only when lk is zero. Application of the invariance
principle from [73] completes the proof.
92
Note that θk may not be uniquely defined depending on f(θk) and g(θk). The STC
algorithm gives paths that resemble lawnmower patterns (as shown in Figure 5.4),
so the non-unique points sit on lines that are equidistant from two tracks. If a
vehicle does happen onto one of these locations, the value of θk that is closest to
the value of θk at the previous time step is used to ensure continuity. I have found,
in simulation, that vehicles pass unaffected through these problematic points when
using this strategy.
In order to implement (5.22), the control is converted to the (Xk, Yk) coordi-
nates. I start by defining the normal vector en (using a Frenet-Serret path frame as
in [94]) at the kth location:
en = −dgkdθk
ex +dfkdθk
ey,
where ex and ey are orthogonal unit vectors in an inertial frame. Using Figure 5.5,
Xk = Xpk + lk cosαk and Yk = Y p
k + lk sinαk, (5.24)
where αk is the angle between en and ex.
Taking the derivative of (5.24) with respect to Tk yields
dXk
dTk=dfkdθk
dθkdTk
+dlkdTk
cosαk − lkdαkdθk
dθkdTk
sinαk and
dYkdTk
=dgkdθk
dθkdTk
+dlkdTk
sinαk + lkdαkdθk
dθkdTk
cosαk,
where
dαkdθk
= −(
1 +
(dfkdθkdgkdθk
))−1 dgkdθk
d2fkdφ2− dfk
dθk
d2gkdθ2k(
dgkdθk
)2
.
93
The control in the R-domain is
dXk
dTk=dfkdθk
uθ,k + ul,k cosαk − lkdαkdθk
uθk sinαk = uX,k, (5.25)
dYkdTk
=dgkdθk
uθ,k + ul,k sinαk + lkdαkdθk
uθ,k cosαk = uY,k. (5.26)
Table 5.1 contains a pseudocode version of the Multivehicle Coverage Control Algo-
rithm. The inputs are the boundary of the r-domain, the decorrelation scales and
the initial positions of all the vehicles. The output is the set of trajectories that the
vehicles follow in the r-domain.
Table 5.1: Multivehicle Coverage Control Algorithm
Inputs: Boundary of r-domain, σx(xk, yk), σy(xk, yk),
τ(tk), vehicle initial conditions for all k = 1, ...,M
Outputs: Vehicle trajectories in the r-domain
1: Calculate R-domain boundary using (5.12)–(5.14)
2: Transform initial conditions to R-domain using (5.12)–(5.14)
3: Create lattice graph within boundary of R-domain
4: Use STC algorithm to construct path in the R-domain
5: Transform R-domain initial conditions to path coordinates (θk, lk)
6: Integrate (5.22) using gradient control (5.23)
7: Transform trajectories from path coordinates
(lk, θk) in R-domain to (Xk, Yk) coordinates
8: Transform trajectories to r-domain by numeri-
cally inverting using (5.12)–(5.14)
To illustrate the algorithm, I performed a simulation of twelve vehicles with
random initial conditions. Figure 5.6(a) shows the values of θk and lk for each
vehicle, which reach a splay formation along the path. Figure 5.6(b) shows the
steady-state trajectories in the R- and r-domains. The red circles represent vehicles
and the green lines show their recent trajectories. In steady-state, in the R-domain
(on the left of Figure 5.6(b)), it is seen by examining the green tail that the vehicles
reach a splay formation around the blue path. The trajectories in the R-domain are
94
0 20 40 60 800
1
2
3
4
5
6
θ
time
0 20 40 60 80
−0.4
−0.3
−0.2
−0.1
0
0.1
0.2
0.3
0.4
time
l
(a) R-domain path coordinates
−5 0 5
−6
−4
−2
0
2
4
6
R−domain
X
Y
−5 0 5−6
−4
−2
0
2
4
6
r−domain
x
y
(b) Steady-state trajectory
Figure 5.6: Coverage algorithm example using (5.25) and (5.26).
95
transformed back to the r-domain by numerically inverting transformation (5.12)–
(5.14), shown on the right of Figure 5.6(b). In the r-domain, vehicles cluster their
measurements in the area of the dip to ensure that the full domain is covered, even
in areas where the spatial and temporal decorrelation scales are small.
In the special case where the spatial scales are decoupled, the following theorem
shows that this coverage strategy corresponds to preserving the along-path steady-
state sampling speed in the r-domain.
Theorem 5.4.2 If the spatial decorrelation scales are decoupled and the R-domain
coordinates are given by (5.19)–(5.20), then the coverage-control strategy in Propo-
sition 5.4.1 preserves the steady-state sampling speed sk = s0 for all k.
Proof In steady state, ul,k = lk = 0 and uφ,k = s0. The controls uX,k and uY,k
become
uX,k = s0 cosαk and uY,k = s0 sinαk.
In the R-domain,
x =dxkdXk
dXk
dTk
dTkdtk
= s0 cosαkσx(xk)
τ(tk),
y =dykdYk
dYkdTk
dTkdtk
= s0 sinαkσy(yk)
τ(tk).
The speed and direction of motion of the kth vehicle are
vk =s0
τ(tk)
√σ2x(xk) cos2 αk + σ2
y(yk) sin2 αk, (5.27)
and its direction of motion is
βk = arctan
(ykxk
)= arctan
(σy(yk)
σx(xk)tanαk
). (5.28)
96
The sampling speed for a vehicle in a nonstationary field is
sk = vkτ(tk)
σc(xk, yk), (5.29)
where σc is the cross section of the measurement footprint along the direction of
motion of the vehicle. Using (5.28) and trigonometric relations, the along-path
spatial decorrelation scale is
σc =√σ2x(xk) cos2 αk + σ2
y(yk) sin2 αk. (5.30)
Substituting (5.27) and (5.30) into (5.29) shows that sk = s0 for all k, which com-
pletes the proof.
In steady-state, the vehicles travel around a closed path, so the number of vehicles
can be selected as described in Section 5.2. In particular, the steady-state sampling
speed is chosen so that the maximum required vehicle speed does not exceed the
vehicle speed limit. Figure 5.7 shows a simulated sampling task and the resulting
mapping error. There is a dip in the decorrelation scales centered at x0,1 = y0,1 = 0
km, and t = 12 hours. Five vehicles travel along a closed path in the r-domain. The
blue curve on the t = 0 plane shows the spatial path that the vehicles track. The
average mapping error is 0.271 using uniform coverage (Figure 7(a)) and 0.178 when
using the nonstationary sampling algorithm (Figure 7(b)). Likewise, the maximum
error is reduced from 0.983 to 0.768.
97
(a) (b)
Figure 5.7: Mapping error of a 3D nonstationary spatiotemporal field using (a) uniform sampling
and (b) the nonstationary sampling algorithm in Table 1.
5.5 Lag Space for Formation Control
The covariance function is dependent on the spatial separation (lag) between
ri and rj, defined as αk = ri − rj. In order to quantify the performance of a
given mapping mission the mapping error is calculated, for which the spatial and
temporal decorrelation scales of the field are needed. However, this means that I
want the vehicles to be placed at a variety of locations so that the lags between
vehicles completely cover the range in which the true decorrelation scale lies. This
desire is contrary to the goal of generating an accurate map of the field, because
optimal mapping requires all of the lags to be at one location; specifically, mapping
vehicles should be placed in a splay formation around the path so that they are
98
spaced equally [58, 60]. Thus, there is a need to explore the field to determine the
decorrelation scales before exploiting the knowledge of the scales to optimally cover
the field.
Figure 5.8 shows hows a plot of the covariance function (2.6) in lag space, where
the temporal portion of the function has been neglected for simplicity. Lag space is
defined as the domain of distances between vehicles. The blue + shows where all
the lags should be placed for optimal mapping. For optimal mapping, the vehicles
are in splay, i.e., at a lag of 2π/N , where N = 6 is the number of vehicles. The
red circles show where they should be placed to estimate the spatial decorrelation
scale if there is no prior information about σ, i.e., the vehicles are spaced at specific
intervals so that they are in splay in lag space. The decorrelation scales must first
be determined before transitioning the vehicles into a splay formation for accurate
mapping. Note, for a stationary field it is not necessary to cover the field while
estimating the scales since the scales are the same everywhere, but it does become
important for mapping nonstationary fields.
To optimally determine the decorrelation scale of the fields, the vehicles need
to be in a splay formation in lag space. Figure 5.9 shows the difference between
lag splay (Figure 5.9(a)) and vehicle splay (Figure 5.9(b)) on a closed path. For
determining the decorrelation scale, it is also desirable to cover the entire domain.
Thus, in this section I design a controller to drive vehicles to lag splay on a circle
that is off-center in a rotating reference frame, i.e., the circular path to which the
vehicles are driven rotates around the origin as depicted in Figure 5.10. In the
inertial frame, the vehicles follow a spirograph trajectory. The end result is that the
99
0 0.5 1 1.5 2 2.5 30
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Lag (rad)
Co
va
ria
nce
Figure 5.8: The covariance function (2.6) depicted in lag space. The red circles depict where lags
should be placed for scale estimation and the blue plus shows where the lags should be for mapping.
(a) Lag splay (b) Vehicle splay
Figure 5.9: Difference between (a) lag splay and (b) vehicle splay.
100
vehicles maintain lag splay, but also cover the space due to the rotation of the path
around the origin.
To stabilize to the lag splay formation on a circle, the vehicles use a controller
that is similar to that used for following the STC generated path. The cross path
controller is the same as the one proposed in Theorem 5.4.1. However uθ,k must
be modified to achieve lag splay. The following controller is used in the along-track
direction to stabilize to lag splay
uθ,k = −k sin(αk − αd,k), (5.31)
where αd,k is the desired lag between vehicles k + 1 and k. This drives the vehicles
to a formation where the lags between vehicles are in splay as depicted in Figure
5.9(a).
Both the along-track and cross-track controllers must compensate for the ro-
tation of the circle around a fixed point, denoted rc = (xc, yc), at rotation rate ωc.
To do this (5.25)–(5.26) are modified as follows:
Xk = uX,k + ωc||rc − rk||(xc −Xk) (5.32)
Yk = uY,k + ωc||rc − rk||(yc − Yk) (5.33)
The second term in the above equations account for the rotation of the circular
path.
101
−1 0 1 2 3 4 5 6−1
0
1
2
3
4
5
6
x
y
Figure 5.10: Spirograph formation used for maintaining lag splay while covering the domain.
5.6 Bayesian Estimation of Decorrelation Scales
I use a recursive Bayesian filter to estimate the decorrelation scales at each
time step [95]. Consider the likelihood function [96]
P (z|σ, τ) = ezTM−1(σ,τ)z, (5.34)
where z = [z1, · · · , zD]T contains all of the available measurements and M−1(σ, τ) is
the measurement covariance (see section 2.2. The likelihood function (5.34) assumes
that the random field A is a Gaussian process with zero mean; it is commonly used
in the prediction of Gaussian processes from collected measurements [96]. The
maximum likelihood estimate of σ and τ , denoted σ and τ , is the mode of the
posterior distribution [96]
P (σ, τ |z) = aP (z|σ, τ)P (z), (5.35)
102
where P (z) is the prior and a =∫P (z|σ, τ)P (z)dz. The marginal probability of σ
over all τmin ≤ τ ≤ τmax is
Pσ =
τmax∫τmin
P (z|σ, τ)dτ, (5.36)
For details on the recursive Bayesian estimator, please see Section 2.1.
5.7 Optimal Exploration vs. Exploitation
A metric is needed in order to switch from decorrelation scale estimation to
mapping. The metric used in this dissertation is based on the Kullbach–Leibler
divergence between the posterior distribution of the scale estimate and a Dirac
delta function. The metric is
K =
∫Pσ log (Pσ/Pδ)dσ∫Pσ log (Pσ/P1)dσ
, (5.37)
where Pδ = δ(σ − σ) is a Dirac delta function centered at the mode of Pσ and P1
is a uniform distribution. (A narrow Gaussian distribution is used to approximate
Pδ because locations of zero probability yields a singular KL divergence.) Equation
(5.37) is the KL divergence between Pσ and Pδ normalized by the KL divergence
between Pσ and a uniform distribution. Thus, if there is little or no known informa-
tion about the decorrelation scales, the numerator and denominator of (5.37) will be
similar and K will be close to one, whereas if Pσ is narrow, then the numerator will
be much less than the denominator and K ≈ 0. To switch from scale estimation to
mapping, (5.37) is compared to a threshold, i.e., when K < Kthresh, the formation
switches to mapping using the STC algorithm with the estimated scale.
103
Figures 5.11 and 5.12 show snapshots a simulation of the estimation/mapping
system for a 2D stationary field. In each figure, the top left shows the mapping
error (2.7), the top right shows the posterior distribution over time, the bottom left
shows the KL divergence metric, and the bottom right shows the quantities
Pθ =1
N
N∑j=1
(exp(iθj)) (5.38)
Plag =1
N
N∑j=1
(exp(ilj)), (5.39)
where lj is the jth lag. Equations (5.38) and (5.39) are when the vehicles are in
splay and lag splay respectively. Figure 5.11 shows the simulation at time step 89,
when the vehicles are in explore mode, and Figure 5.12 shows when the vehicles at
the final time step when they are in exploit mode.
There are several interesting features of the algorithm seen in the simulation.
First is that there is a sharp decrease in the mapping error once the vehicles switch
from explore to exploit, almost a 50% decrease in error. The other apparent feature
is that the slope of the KL divergence metric is higher when in explore mode.
This implies that starting with the vehicles in lag splay means that the spatial
decorrelation scale will be estimated faster than it would be in explore mode.
The extension of the algorithm to nonstationary fields is natural. There are
only two changes. First. the recursive Bayesian estimator is now estimating several
parameters. In the case of the dip function, this would include the base decorrelation
scale, the cartesian location of the dip, the strength of the dip, and its width. The
second change is that once the KL divergence metric lowers below the threshold,
the vehicles switch to an STC formation using the same formulation as that for a
104
0 2 4 6−1
0
1
2
3
4
5
6
x
y
0 200 400 600 800
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
iteration
post
erio
r0 200 400 600 800
0
0.2
0.4
0.6
0.8
1
iteration
KL divergenceAvg. Mapping Error
0 200 400 600 8000
0.2
0.4
0.6
0.8
1
iteration
P
lag
Pθ
Figure 5.11: Snapshot of explore and exploit simulation for a stationary field at time step 89.
0 2 4 6−1
0
1
2
3
4
5
6
x
y
0 200 400 600 800
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
iteration
post
erio
r
0 200 400 600 8000
0.2
0.4
0.6
0.8
1
iteration
KL divergenceAvg. Mapping Error
0 200 400 600 8000
0.2
0.4
0.6
0.8
1
iteration
P
lag
Pθ
Figure 5.12: Snapshot of explore and exploit simulation for a stationary field at time step 800.
105
field with known decorrelation scales.
106
Chapter 6: Conclusion
In this dissertation, I discussed and developed capabilities for mulit-agent
teams of autonomous unmanned rotorcraft for sampling spatiotemporal processes.
The dissertation treats these rotorcraft as sensor packages capable of hover and fast
transit. The purpose of this work is to design robust algorithms for sampling spa-
tiotemporal processes in the presence of strong winds using multi-rotor systems.fdsa
6.1 Summary of Results
I design estimators and controllers to guide a multi-agent aerial team to op-
timally cover a nonstationary spatiotemporal field, where the decorrelation scales
of the field can change in space and time. This section of work uses the concept
of exploration versus exploration, where vehicles first explore the region to deter-
mine the decorrelation scales, then switch to optimal mapping based on the results
of the scale estimation. The exploration strategy moves the vehicles in a rotat-
ing spirograph trajectory with the vehicle spacing decided to best sample the field
for scale determination. The mapping strategy involves using the estimate of the
decorrelation scale to create a persistent path through the domain using a spanning
tree coverage algorithm. The developed algorithm works for both stationary and
107
nonstationary 2D spatiotemporal fields modeled as a Gaussian process.
Analysis of the explore vs. exploit mapping algorithms shows that the team
benefits from first determining the decorrelation scales using a spirograph formation
before transitioning to the spanning tree based coverage algorithm. This is apparent
by examining the average mapping error, which is relatively high while determining
the scales, but drops rapidly once the vehicles transition to mapping.
I also created a physics-inspired algorithms for optimal exploration of a 2D
domain for the purpose of detecting an unknown number of moving targets using a
low-quality camera as the sensor. This work relies on the Likelihood Ratio Tracker,
a modified version of a recursive Bayesian estimator, to detect targets based on
binary measurements from a camera. Vehicle motion is coordinated to maximize
the probability of target detection. The algorithm was tested both in simulation
and using an experimental motion capture based testbed.
A closer inspection of the theoretical properties of the target detection strat-
egy coupled with the physics based controller showed the optimality of moving the
vehicles along the gradient of the LRT surface. In particular, moving the vehicles
along the gradient of the surface maximizes the expected gain in information, i.e.
the mutual information, for the next time step.
With both sampling problems discussed in this dissertation, there is still the
issue of robust flight. As a first step in developing robust flight controllers, I designed
several controllers for flight stability in windy environments. Specifically, I used
nonlinear feedback linearization to create a layered flight controller to compensate
for external wind fields. The controller, which was tested in simulation, was shown
108
to reduce the overshoot and settling time of a rotorcraft that is perturbed by an
external flowfield. This is true even in the case when the wind speed must be
estimated using a recursive Bayesian estimator.
In addition to the stability controllers, I also designed a artificial potential
based controller for the purpose of avoiding nearby multi-rotor systems by detecting
their downwash. This controller uses a recursive Bayesian estimator to determine
the position of a nearby rotorcraft by measuring its downwash. The downwash
avoidance algorithm was tested in a motion capture testbed using pitot tube type
pressure sensors to determine the airspeed. Experiments showed that the controller
allowed the vehicle to successfully avoid nearby rotorcraft.
6.2 Suggestions for Future Work
While this dissertation has addresses several problems in sampling and esti-
mation using multi-rotor aerial vehicles, it by no means completely solves all related
issues. In particular, there is much experimental validation to be performed on the
flight stability algorithms, as well as augmenting the algorithms to use other avail-
able sensors, such as inertial measurement units or readily available optical flow
sensors.
In the area of sampling nonstationary Gaussian processes, there is work to be
done in distributing the calculation of the map and the associated mapping error.
Additionally, while the STC algorithm has proven useful, there are other coverage
strategies, such as optimal foraging or information gathering, that may also lend
109
themselves easily for this purpose.
For the target detection work, the presented algorithms is distributed with an
all-to-all communication architecture. As such, it would be interesting to develop a
strategy for distributively merging measurements taken by all the vehicles using a
different architecture, such as range limited or nearest neighbor communication.
110
Bibliography
[1] A. Girard, A. Howell, and J. Hedrick. Border patrol and surveillance missionusing multiple unmanned air vehicles. In Proceedings of the 43rd IEEE Con-ference on Decision and Control, pages 620–625, December 2004.
[2] J.T.K. Ping, A. E. Ling, T. J. Quan, and C. Y. Dat. Generic unmannedaerial vehicle (UAV) for civilian application-a feasibility assessment and marketsurvey on civilian application for aerial imaging. In 2012 IEEE Conference onSustainable Utilization and Development in Engineering and Technology, pages289 –294, oct. 2012.
[3] M. Belkheri, A. Rabhi, A. Hajjaji, and C. Pergard. Different linearizationcontrol techniques for a quadrotor system. In 2nd International Conference onCommunications, Computing and Control Applications,, pages 1–6, December2010.
[4] B. Zhu and W. Huo. Trajectory linearization control for a quadrotor helicopter.In 8th IEEE International Conference on Control and Automation, pages 34–39, June 2010.
[5] R.C. Leishman, J.C. Macdonald, R.W. Beard, and T.W. McLain. Quadrotorsand accelerometers: State estimation with an improved dynamic model. IEEEControl Systems, 34(1):28–41, Feb 2014.
[6] D. Mellinger and V. Kumar. Minimum snap trajectory generation and controlfor quadrotors. In IEEE International Conference on Robotics and Automation,pages 2520 –2525, may 2011.
[7] A. Benallegue, A. Mokhtari, and L. Fridman. Feedback linearization and highorder sliding mode observer for a quadrotor UAV. In International Workshopon Variable Structure Systems, pages 365 –372, June 2006.
[8] E. de Vries and K. Subbarao. Backstepping based nested multi-loop controllaws for a quadrotor. In 11th International Conference on Control AutomationRobotics Vision, pages 1911 –1916, Dec. 2010.
111
[9] G. Hoffmann, H. Huang, S. Waslander, and C. Tomlin. Quadrotor HelicopterFlight Dynamics and Control: Theory and Experiment. AIAA, 2007.
[10] C. Powers, D. Mellinger, A. Kushleyev, B. Kothmann, and V. Kumar. Influenceof aerodynamics and proximity effects in quadrotor flight. In Proceedings of theInternational Symposium on Experimental Robotics, June 2012.
[11] K. Alexis, G. Nikolakopoulos, and A. Tzes. Experimental model predictiveattitude tracking control of a quadrotor helicopter subject to wind-gusts. In18th Mediterranean Conference on Control Automation, 2010, pages 1461 –1466, June 2010.
[12] K. Alexis, G. Nikolakopoulos, and A. Tzes. Constrained-control of a quadrotorhelicopter for trajectory tracking under wind-gust disturbances. In MELECON2010, pages 1411 –1416, April 2010.
[13] D. Alexander and S. Vogel. Nature’s Flyers: Birds, Insects, and the Biome-chanics of Flight. Johns Hopkins University Press, October 2004.
[14] M. Gewecke and Martin Woike. Breast feathers as an air-current sense organfor the control of flight behaviour in a songbird (carduelis spinus). In Zeitschriftfr Tierpsychologie, volume 47, pages 293–298, 1978.
[15] R. Brown and M. Fedde. Airflow sensors in the avian wing. In Journal ofExperimental Biology, volume 179, pages 13–30, 1993.
[16] S. Herwitz, K. Allmendinger, R. Slye, S. Dunagan, B. Lobitz, L. Johnson, andJ. Brass. Nighttime UAV vineyard mission: Challenges of see-and-avoid inthe NAS. In Proceedings of the AIAA 3rd Unmanned Unlimited Conference,Workshop and Exhibit, pages 1–6, September 2004.
[17] R. Beard, D. Kingston, M. Quigley, D. Snyder, R. Christiansen, W. John-son, T. McLain, and M. Goodrich. Autonomous vehicle technologies for smallfixed wing UAVs. In AIAA Journal of Aerospace Computing, Information, andCommunication, volume 2, page 92, January 2005.
[18] R. Hirokawa, D. Kubo, S. Suzuki, J. Meguro, and T. Suzuki. Small UAV forimmediate hazard map generation. In AIAA Infotech@Aerospace Conf, May2007.
[19] F. Hsiao, Y. Ding, C. Chuang, C. Lin, and Y. Huang. The design of a smallUAV system as a testbed of formation flight. In AIAA Infotech@AerospaceConf, March 2011.
[20] R. Eubank, E. Atkins, and D. Macy. Autonomous guidance and control ofthe flying fish ocean surveillance platform. In AIAA Infotech@Aerospace Conf,April 2009.
112
[21] N. Rasmussen, B. Morse, and C. Taylor. Fixed-wing, mini-UAV system foraerial search operations. In AIAA Guidance Navigation and Control Conferenceand Exhibit, August 2007.
[22] P. Xie, A. Flores-Abad, G. Martinez, and O. Ma. Development of a smallUAV with autopilot capability. In Proceedings of the AIAA Atmospheric FlightMechanics Conference, August 2011.
[23] M. Patel, Z. Sowle, T. Corke, and C. He. Autonomous sensing and control ofwing stall using a smart plasma slat. In Proceedings of the 44th AIAA AerospaceSciences Meeting, January 2006.
[24] P.Bowles and T. Corke. Stall detection on a leading-edge plasma actuatedpitching airfoil utiliizing onboard measurement. In Proceedings of the 47thAerospace Sciences Meeting, January 2009.
[25] Y. Xu, F. Jiang, S. Newbern, A. Huand, C. Ho, and Y. Tai. Flexible shear-stress sensor skin and its application to unmanned aerial vehicles. In Sensorsand Actuators A: Physical, volume 105, pages 321–329, 2003.
[26] C. Gorsjean, G. Lee, W. Hong, Y. Tai, and C. Ho. Micro balloon actuatorsfor aerodynamic control. In The Eleventh Annual International Workshop onMicro Electro Mechanical Systems, pages 166–171. IEEE, January 1998.
[27] Air Force Office of Scientific Research (AFOSR). Multidisciplinary universityresearch initiative (muri).
[28] W. Barnwell. Flight Control Using Distributed Actuation and Sensing. Master’sthesis, North Carolina State University, USA, 2003.
[29] S. Lion. Control Authorities of a distributed Actuation and Sensing Arrayon a Blended-Wing-Body Uninhabited Aerial Vehicle. Master’s thesis, NorthCarolina State University, USA, 2007.
[30] W.R. Blanding, P.K. Willett, and Y. Bar-Shalom. Multiple target tracking us-ing maximum likelihood probabilistic data association. In 2007 IEEE AerospaceConference, pages 1–12, March 2007.
[31] P. Willett, Y Ruan, and R. Streit. Pmht: problems and some solutions. IEEETransactions on Aerospace and Electronic Systems, 38(3):738–754, Jul 2002.
[32] L. D. Stone, C. A. Barlow, and T. L. Corwin. Bayesian Multiple Target Track-ing. Artech House, 1999.
[33] D.E. Clark and J. Bell. Bayesian multiple target tracking in forward scan sonarimages using the phd filter. IEEE Proceedings of Radar, Sonar and Navigation,152(5):327–334, October 2005.
113
[34] C-C. Huang and S-J Wang. A Bayesian hierarchical framework for multitargetlabeling and correspondence with ghost suppression over multicamera surveil-lance system. IEEE Transactions on Automation Science and Engineering,9(1):16–30, Jan 2012.
[35] Sebastian Thrun, Wolfram Burgard, and Dieter Fox. Probabilistic Robotics(Intelligent Robotics and Autonomous Agents). The MIT Press, 2005.
[36] S. Bandyopadhyay and Soon-Jo Chung. Distributed estimation using bayesianconsensus filtering. In American Control Conference, pages 634–641, June 2014.
[37] M. A. Peot, T. W. Altshuler, A. Breiholz, R. A. Bueker, K. W. Fertig, A. T.Hawkins, and S. Reddy. Planning sensing actions for UAVs in urban domains.volume 5986, pages 59860J–59860J–10, 2005.
[38] F. Rafi, S. Khan, K. Shafiq, and M. Shah. Autonomous target following byunmanned aerial vehicles. volume 6230, jun 2006.
[39] J. Kim and Y. Kim. Moving ground target tracking in dense obstacle areasusing uavs. In Proceedings of the 17th IFAC World Congress, 2008.
[40] V. Isler and M. Magdon-Ismail. Sensor selection in arbitrary dimensions. IEEETransactions on Automation Science and Engineering, 5(4):651–660, Oct 2008.
[41] G. M. Hoffmann and C.J. Tomlin. Mobile sensor network control using mutualinformation and particle filters. IEEE Transactions on Automatic Control,55(1):32–47, Jan 2010.
[42] Chris M Kreucher, Keith D Kastella, and Alfred O Hero III. Information-basedsensor management for multitarget tracking. In Optical Science and Technology,SPIE’s 48th Annual Meeting, pages 480–489, 2003.
[43] E. Cuevas, A. Echavarria, and M. A. Ramirez-Ortegon. An optimization al-gorithm inspired by the states of matter that improves the balance betweenexploration and exploitation. Applied Intelligence, 40(2):256–272, 2014.
[44] T. B. Apker and M. A Potter. Robotic swarms as solids, liquids and gasses. InAAAI Fall Symposium: Human Control of Bioinspired Swarms, 2012.
[45] W. M. Spears, D. F. Spears, J. C. Hamann, and R. Heil. Distributed, physics-based control of swarms of vehicles. Autonomous Robots, 17(2-3):137–162, 2004.
[46] M. A. Demetriou. Guidance of mobile actuator-plus-sensor networks for im-proved control and estimation of distributed parameter systems. IEEE Trans-actions on Automatic Control, 55(7):1570–1584, 2010.
[47] Z. Song, Y. Chen, J. Liang, and D. Ucinski. Optimal mobile sensor motion plan-ning under nonholonomic constraints for parameter estimation of distributedsystems. In Proceedings of IEEE International Conference on Intelligent Robotsand Sys., pages 3163–3168, Edmonton, Alberta, Canada, August 2005.
114
[48] D. Ucinski and M. Demetriou. An approach to the optimal scanning mea-surement problem using optimum experimental design. In Proceedings of theAmerican Control Conference, volume 2, pages 1616–1621, June 2004.
[49] R. Graham and J. Cortes. Cooperative adaptive sampling of random fields withpartially known covariance. International Journal of Robust and NonlinearControl, 5:504–534, 2012.
[50] R. Graham and J. Cortes. Adaptive information collection by robotic sensornetworks. IEEE Transactions on Automatic Control, 57(6):1404–1419, June2012.
[51] Y. Xu, J. Choi, and S. Oh. Mobile sensor network navigation using Gaus-sian processes with truncated observations. IEEE Transactions on Robotics,27(6):1118–1131, December 2011.
[52] Y. Xu, J. Choi, S. Dass, and T. Maiti. Sequential Bayesian prediction andadaptive sampling algorithms for mobile sensor networks. IEEE Transactionson Automatic Control, 57(8):2078–2084, August 2012.
[53] C. Song, F. Feng, Y. Fan, and Y. Wang. Decentralized adaptive awarenesscoverage control for multi-agent networks. Automatica, 47(12):2749–2756, De-cember 2011.
[54] Y. Wang and I. I. Hussein. Awareness coverage control over large-scale domainswith intermittent communications. IEEE Transactions on Automatic Control,55(8):1850–1859, August 2010.
[55] A. Kwok and S. Martınez. A distributed Deterministic Annealing algorithm forlimited-range sensor coverage. IEEE Transactions on Control Systems Technol-ogy, August 2010. Electronically available. DOI: 10.1109/TCST.2010.2053036.
[56] M. Zhu and S. Martınez. Distributed coverage games for mobile visual sensornetworks. SIAM Journal on Control and Optimization, 51:1–27, 2013.
[57] G. Mathew and I. Mezic. Spectral multiscale coverage: A uniform coveragealgorithm for mobile sensor networks. In Proceedings of the 48th IEEE Confer-ence on Decision and Control, pages 7872–7877, 2009.
[58] N. Sydney and D. A. Paley. Multi-vehicle control and optimization for spa-tiotemporal sampling. Proceedings of IEEE Conference on Decision and Con-trol, pages 5607–5612, December 2011.
[59] A. Alvarez and B Mourre. Optimum sampling designs for a glider-mooringobserving network. Journal of Atmospheric and Ocean Technology, 29, April2012.
[60] D. A. Paley. Cooperative Control of Collective Motion for Ocean Sampling withAutonomous Vehicles. PhD thesis, Princeton University, September 2007.
115
[61] Sergey Frolov, Bartolame Garau, and James Bellingham. Can we do betterthan the grid survey: Optimal synoptic surveys in presence of variable un-certainty and decorrelation scales. Journal of Geophysical Research: Oceans,119(8):5071–5090, 2014.
[62] D. Higdon, J. Swall, and J. Kern. Non-stationary spatial modeling. In BayesianStatistics 6, pages 761–768. Oxford UP, 1999.
[63] J. Cortes, S. Martinez, and F. Bullo. Coverage control for mobile sensing net-works. IEEE Transactions on Robotics and Automation, 20(2):243–255, 2004.
[64] N. E. Leonard and A. Olshevskyi. Nonuniform coverage control on the line.In Proceedings of IEEE Conference on Decision and Control, pages 3163–3168,Orlando, Florida, December 2011.
[65] P. D. Sampson and P. Guttorp. Nonparametric estimation of nonstationaryspatial covariance structure. Journal of the American Statistics Association,87:108–1195, March 1992.
[66] A. M. Schmidt and A. O’Hagan. Bayesian inference for non-stationary spatialcovariance structure via spatial deformations. Journal of the Royal StatisticalSociety: Series B, 65:743–758, August 2003.
[67] P. R. Liebelt. An Introduction to Optimal Estimation. Addison-Wesley, 1976.
[68] A. Eliassen and J. S. Sawuer. Upper air network requirements for numericalweather prediction. Technical Notes of th World Meteorological Organization,29, 1954.
[69] L. S. Gandin. Gidrometerologicheskoe Izdatelstvo - Objective Analysis of Mete-orological Fields. Israel Program for Scientific Translations, 1963.
[70] A. Bennett. Inverse Modeling of the Ocean and Atmosphere. Cambridge Uni-versity Press, 2005.
[71] F. P. Bretherton, R. E. Davis, and C. B. Faundry. A technique for objectiveanalysis and design of oceanographic experiments applied to MODE-73. Deep-Sea Research, 23(7):559–582, 1976.
[72] N. E. Leonard, D. A. Paley, R. Sepulchre, D. M. Frantantoni, and R. E. Davis.Collective motion, sensor networks and ocean sampling. Proceedings of theIEEE, 95(1):48–74, 2007.
[73] H. K. Khalil. Nonlinear Systems. Prentice Hall, 2002.
[74] A. Verhoff. Two-dimensional potential flow solutions with separation. Journalof Fluid Mechanics, 657:238–264, 2010.
[75] J. Seddon and S. Newman. Basic Helicopter Aerodynamics. AIAA, 3rd edition,2011.
116
[76] J. G. Leishman. Principles of Helicopter Aerodynamics. Cambridge UniversityPress, New York, 2000.
[77] F. Hoblit. Gust Loads on Aircraft: Concepts and Applications. AIAA EducationSeries, 1998.
[78] H. Huang, G. M. Hoffmann, S. L. Waslander., and C. J. Tomlin. Aerodynamicsand control of autonomous quadrotor helicopters in aggressive maneuvering. InIEEE International Conference on Robotics and Automation, 2009. ICRA ’09.,pages 3277 –3282, May 2009.
[79] J. Kasdin and D. Paley. Engineering Dynamics: A Comprehensive Introduction.Princeton University Press, 2011.
[80] Heemin Shin, Dongil You, and D.H. Shim. An autonomous shipboard landingalgorithm for unmanned helicopters. In International Conference on UnmannedAircraft Systems, pages 769–778, May 2013.
[81] N. Sydney, B. Smyth, and D. A. Paley. Dynamic control of autonomous quadro-tor flight in an estimated wind field. In IEEE 52nd Annual Conference onDecision and Control, pages 3609–3616, Dec 2013.
[82] F. White. Viscous Fluid Flow. McGraw-Hill Mechanical Engineering, 3 edition,January 2005.
[83] R. Jensen M. Albertson, Y. Dai and H. Rouse. Diffusion of submerged jets. InTransactions, volume 115, pages 639–697. American Society of Civil Engineers,1950.
[84] W. Khan, R. Caverly, and M. Nahon. Propeller slipstream model for small un-manned aerial vehicles. In AIAA Modelling and Simulation Conference. AIAA,August 2013.
[85] N. A. Macmillan and C. Douglas Creelman. Detection Theory: A User’s Guide.Psychology Press, 2nd edition, 2008.
[86] M. A. Richards. Fundamentals of Radar Signal Processing. McGraw-Hill, 2005.
[87] Cristobal Carnero Li nan. cvBlob. http://cvblob.googlecode.com.
[88] N. Moin. Fundamentals of Engineering Numerical Analysis. Cambridge, 2ndedition, 2010.
[89] J.E. Lennard-Jones. On the determination of molecular fields. Proceedings ofthe Royal Society of London, 106(738):463–477, 1924.
[90] M. Quigley, K. Conley, B. Gerkey, J. F., T. Foote, J. Leibs, R. Wheeler, andA.Y. Ng. ROS: an open-source robot operating system. ICRA Workshop onOpen Source Software, 3(3.2), 2009.
117
[91] R. Sepulchre, D. A. Paley, and N. E. Leonard. Stabilization of planar collectivemotion: All-to-all communication. IEEE Transactions on Automatic Control,52:811–824, 2007.
[92] Y. Gabriely and E. Rimon. Spanning-tree based coverage of continuous areasby a mobile robot. Annals of Mathematics and Artificial Intelligence, 31, 2001.
[93] E. M. Arkin, S. P. Fekete, and J.S. Mitchell. Approximation algorithms forlawn mowing and milling. Computational Geometry, 17:25–50, October 2000.
[94] E. Justh and P. Krishnaprasad. Equilibria and steering laws for planar forma-tions. System Control Letters, 52(1):25–38, 2004.
[95] N.J. Gordon, D. J. Salmond, and A.F. Smith. Novel approach to nonlinear/non-Gaussian Bayesian state estimation. In Radar and Signal Processing, volume140, pages 107–113, 1993.
[96] C. E. Rasmussen and C. K. I. Williams. Gaussian Processes for Machine Learn-ing. The MIT Press, 2006.
118