Predicting Pilot Intent and Aircraft ... Uncontrolled Airspace D.

advertisement
Predicting Pilot Intent and Aircraft Trajectory in
Uncontrolled Airspace
by
Christopher D. Lowe
B.E. Electrical Engineering, University of New South Wales (2008)
Submitted to the Department of Aeronautics and Astronautics
in partial fulfillment of the requirements for the degree of
MASSAC~e
Master of Science in Aeronautics and Astronautics
at the
June 2014
@ Christopher D. Lowe, 2014. All rights reserved.
The author hereby grants to MIT permission to reproduce and to
distribute publicly paper and electronic copies of this thesis document
in whole or in part in any medium now known or hereafter created.
Signature redacted
Department of Aeronautics and Astronautics
Signature redacted
May 22, 2014
Certified by..............
Jonathon P. How
Richard C. Maclaurin Professor of Aeronautics and Astronautics
Thesis Supervisor
CN
Accepted by.........
OF TECHNOLOGy
JUN 16 2014
MASSACHUSETTS INSTITUTE OF TECHNOLOGY
A uthor ...............
NS'fE
Signature redacted
Paulo C. Lozano
Chair, Graduate Program Committee
LIBRARIES
~~
~~~~~~~
2
Predicting Pilot Intent and Aircraft Trajectory in
Uncontrolled Airspace
by
Christopher D. Lowe
Submitted to the Department of Aeronautics and Astronautics
on May 22, 2014, in partial fulfillment of the
requirements for the degree of
Master of Science in Aeronautics and Astronautics
Abstract
The ability to predict the likely trajectory is a key element of safely integrating Unmanned Aerial Systems (UAS) in the National Airspace System (NAS). A particularly
challenging environment is in the vicinity of uncontrolled airports, where the route
the pilot plans to follow is not available. Existing trajectory prediction methods that
rely on propagating the current velocity of the aircraft are not well suited to long-term
prediction of pilot behavior in this environment.
This thesis proposes a new probabilistic trajectory prediction method within a
hierarchical pilot behavior framework that extends the model proposed by Liao et
al. [41]. In general trajectories are predicted using only low-level measurements of
aircraft state, with no a priori of pilot intent. Trajectories are drawn from a novel
navigation model that represents aircraft motion as a Hidden Markov Model in which
the state space is composed of possible mode change points. A likelihood function
inspired by the approach of Yepes et al. [63] is used to map current aircraft state in
continuous space to a high probability discrete sequence of mode change points. An
unsupervised learning process is used to identify both the structure and parameters
of the navigation model. This approach addresses the weakness of previous Markov
model-based approaches that require a fine discretization of the Cartesian state space
by representing only features where a branch in aircraft trajectory may occur. Using
the proposed likelihood function, learning can be achieved without requiring training
data spanning the entire state space. This approach also allows very computationally
efficient prediction over a long prediction window to be performed in real time.
The resulting long-term trajectory predictions are shown to be far more accurate
than can be achieved with other methods that do not take into account intent, particularly in the challenging uncontrolled airport environment. These predictions can be
used by UAS to safely plan trajectories through uncontrolled airspace in the NAS.
Thesis Supervisor: Jonathon P. How
Title: Richard C. Maclaurin Professor of Aeronautics and Astronautics
3
4
Acknowledgments
First, I'd like to acknowledge the support of my advisor, Professor Jonathon How.
He gave me the opportunity to study at MIT and was the catalyst for the work in
this thesis. Being his student was an excellent learning experience.
I thank past and present members of the Aerospace Controls Laboratory, of which
I have been a member during my time at MIT. Many a late night in the lab was spent
in your company. In particular, I acknowledge the cohort who joined the laboratory
at the same time as me - Steven Chen, Sarah Ferguson, Rob Grande, Bobby Klein
and Jack Quindlen. It's been a privilege flying with you. I wish you all the best in
your ongoing studies and professional pursuits.
I also thank faculty and staff of AeroAstro, the Lincoln Laboratory, the Sloan
School of Management, the Harvard Business School and the wider MIT community
I have engaged with in my work for your assistance, insights and guidance. In particular, I acknowledge administrative staff Quentin Alexander and Beth Marois for
their essential work behind the scenes that enables all that goes on at the Institute
to happen.
The practical aspects of this research required a deep understanding of typical
pilot behavior, which is not formally documented and varies widely between pilots
and airports. To that end, I was able to obtain my Private Pilot license during my
time in Boston. I thank the East Coast Aero Club at Hanscom Airport for the great
service you provide, and my instructor Maurice Morneau for trusting me to take the
controls of an airplane on a regular basis.
To family and friends, old and new, in Boston and scattered around the world your friendship, kindness and support has been instrumental in my achievements so
far, and were essential to my ongoing sanity during an often strenuous experience at
MIT. A special thank you goes to my housemates over the past two years - Baldin
Llorens, Trevor Campbell and Nazim Kemal Ure.
I also acknowledge the continuing support of the Royal Australian Air Force while
allowing me to pursue these academic pursuits studies. It is a rare opportunity to
5
be able to study full-time with the full support of your employer. I look forward to
returning the favor.
Finally, I would like to sincerely thank the General Sir John Monash Foundation
for generously providing the scholarship that funded my research at MIT. In particular, I would like to thank Peter Binks and Carol Clark for their constant and
enthusiastic support throughout my time here.
Per ardua ad astra
6
Contents
1
1.1
2
19
Introduction and Motivation
Literature review
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
1.1.1
State Estimation
. . . . . . . . . . . . . . . . . . . . . . . . .
22
1.1.2
Behavior Learning and Trajectory Prediction . . . . . . . . . .
24
1.2
Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
1.3
Thesis Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
31
Problem Background
2.1
2.2
2.3
Problem Domain
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
2.1.1
Uncontrolled Airspace
. . . . . . . . . . . . . . . . . . . . . .
31
2.1.2
Uncontrolled Airport . . . . . . . . . . . . . . . . . . . . . . .
32
2.1.3
Weather . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
2.1.4
ADS-B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
. . . . . . . . . . . . . . . . . . . . . .
37
2.2.1
State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
2.2.2
Trajectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
2.2.3
Navigation States . . . . . . . . . . . . . . . . . . . . . . . . .
39
. . . . . . . . . . . . . . . . . . . . . . . .
41
Aircraft State and Trajectory
Hierarchical Intent Model
2.3.1
Intent Model
. . . . . . . . . . . . . . . . . . . . . . . . . . .
41
2.3.2
Intent Inference . . . . . . . . . . . . . . . . . . . . . . . . . .
44
2.4
Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
2.5
Summary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
7
3
State and Mode Estimation
51
3.1
Problem Statement . . . .
51
3.2
ADS-B Measurement Model . . . . . . . . . . . . . . .
. . . . .
54
3.2.1
Horizontal Position Error . . . . . . . . . . . . .
. . . . .
54
3.2.2
Horizontal Velocity Error . . . . . . . . . . . . .
. . . . .
56
3.2.3
Altitude Error . . . . . . . . . . . . . . . . . . .
. . . . .
56
3.2.4
Summary of Measurement Error Parameters . .
. . . . .
57
. . . . . . . . . . . . . . . . . . . . .
. . . . .
58
. . . . . . . . . . . . . .
. . . . .
58
. . . . .
59
3.3
3.3.1
Hybrid System Model
3.3.2
IMM Estimation Algorithm
3.3.3
Kalman Filter for Correlated Measurement Error
. . . . .
61
3.3.4
Kalman Filter for Quantized Measurements
. .
. . . . .
63
3.3.5
Aircraft Hybrid Model . . . . . . . . . . . . . .
. . . . .
67
3.3.6
IMM Implementation . . . . . . . . . . . . . . .
. . . . .
70
. . . . . . . . . . . . . . .
. . . . .
72
3.4.1
CUSUM Mode Estimation . . . . . . . . . . . ..
. . . . .
73
3.4.2
Design Parameter Selection
. . . . . . . . . . . .
. . . . .
75
3.4.3
Summarized Design Parameters . . . . . . . . . .
. . . . .
85
3.5
Sample Estimation Performance . . . . . . . . . . . . . .
. . . . .
85
3.6
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
88
3.4
4
State Estim ation
Maneuver Mode Estimation
. . . . . . . . . . .
Learning the Navigation Model
89
Navigation Model . . . . . . . .
. . . . . . . . . . . . .
89
4.1.1
State and Action Space .
. . . . . . . . . . . . .
90
4.1.2
State Uncertainty . . . .
. . . . . . . . . . . . .
91
4.1.3
Transition Model . . . .
. . . . . . . . . . . . .
91
4.1.4
Observation Model
. . .
. . . . . . . . . . . . .
92
4.2
Problem Statement . . . . . . .
. . . . . . . . . . . . .
92
4.3
Clustering . . . . . . . . . . . .
. . . . . . . . . . . . .
93
4.4
Learning Model Parameters
. . . . . . . . . . . . .
94
4.1
. .
8
4.5
4.6
5
97
4.5.1
C lustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
4.5.2
Parameter Learning . . . . . . . . . . . . . . . . . . . . . . . .
101
C onclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
102
103
Inferring Pilot Intent
5.1
Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . .
103
5.2
Behavior Classification
. . . . . . . . . . . . . . . . . . . . . . . . . .
106
5.2.1
Navigation State Matching . . . . . . . . . . . . . . . . . . . .
107
5.2.2
Previous Navigation State Estimation . . . . . . . . . . . . . .
108
5.2.3
Next Navigation State Distribution . . . . . . . . . . . . . . .
109
5.2.4
Behavior Classification . . . . . . . . . . . . . . . . . . . . . .
114
5.2.5
Navigation State Refinement . . . . . . . . . . . . . . . . . . .
117
. . . . . . . . . . . . . . . . . . . . . . .
118
5.3.1
Uninformed Navigation Intent Search . . . . . . . . . . . . . .
119
5.3.2
Informed Navigation Intent Search with Known Goal State . .
123
Trajectory Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . .
125
5.4.1
Prediction without Navigation Intent . . . . . . . . . . . . . .
125
5.4.2
Prediction with Navigation Intent . . . . . . . . . . . . . . . .
126
5.3
5.4
5.5
6
Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .
Navigation Intent Inference
131
C onclusion . . . . . . . . . . . . . . . . . . . . . . . . . . .
133
Experimental Results
6.1
6.2
Dubins Airplane Simulation
. . .
133
. .
. . .
134
6.1.1
Behavior Classifier Implementation and Results
6.1.2
Rate of Prior Observation Acceptance
. . . . . . .
. . .
136
6.1.3
Trajectory Prediction Implementation and Results .
. . .
137
. . . . . . . . . . . . . . .
. . .
146
R esults . . . . . . . . . . . . . . . . . . . . . . . . .
. . .
146
High Fidelity Flight Simulation
6.2.1
6.3
. . . . . . . . . . . . . . . . .
C onclusion . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
- . . 149
7
Conclusions
151
7.1
Sum m ary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
151
7.2
Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
152
A Simulating Aircraft Trajectories
155
. . . . . . . . . . . . . . . .
155
Reference Trajectory Tracking ...
. . . . . . . . . . . . . . . .
156
A.2.1
Lateral Path Pure Pursuit
. . . . . . . . . . . . . . . .
156
A.2.2
Vertical Path Pure Pursuit
. . . . . . . . . . . . . . . .
157
A.2.3
Airspeed Tracking . . . . . .
. . . . . . . . . . . . . . . .
158
Airport Operations . . . . . . . . .
. . . . . . . . . . . . . . . .
158
A.4 Random Maneuver Trajectories . .
. . . . . . . . . . . . . . . .
159
A.1
Aircraft Dynamics
A.2
A.3
.........
10
List of Figures
1-1
Controlled Airspace in Massachusetts (Source: FAA)
20
2-1
Standard Traffic Pattern . . . . . . . . . . . . . . . . . . . . . . . . .
33
2-2
Sample Traffic Pattern Entry and Exit Procedures . . . . . . . . . . .
35
2-3
Sample Aircraft Trajectory . . . . . . . . . . . . . . . . . . . . . . . .
40
2-4
Hierarchical Pilot Intent Model
. . . . . . . . . . . . . . . . . . . . .
43
2-5
Pilot Intent for Navigating vs Maneuvering Behavior
. . . . . . . . .
44
2-6
Sense-and-Infer Model
. . . . . . . . . . . . . . . . . . . . . . . . . .
45
2-7
Hybrid Sense-and-Infer Model . . . . . . . . . . . . . . . . . . . . . .
46
3-1
VFR Maneuver Statistics [30]
. . . . . . . . . . . . . . . . . . . . . .
53
3-2
Position Measurement Error, NACp of 9 (95% bound < 30 m) . . . .
56
3-3
Laplace Distributed Altitude Error
. . . . . . . . . . . . . . . . . . .
57
3-4
Interacting Multiple Model Algorithm Structure . . . . . . . . . . . .
60
3-5
Error and Standard Deviation for Horizontal Position . . . . . . . . .
71
3-6
Error and S.D. for Horizontal Velocity, without Uncorrelated Noise
71
3-7
Error and S.D. for Horizontal Velocity, including Uncorrelated Noise
71
3-8
Coordinated Turn Mode Likelihood Statistics
. . . . . . . . . . . . .
76
3-9
Average Time to Detect Horizontal Mode Change - 50 knots . . . . .
78
. . . .
78
3-11 Average Time to Detect Mode Change - Longitudinal Acceleration . .
79
. . . . . . . . . . . . . . . . . . . . . . . .
79
. . . . . .
80
3-14 Horizontal Error in Estimated Mode Change Time - 50 knots . . . . .
80
3-10 Average Time to Detect Horizontal Mode Change - 100 knots
3-12 CV-CT-CV Flight Profile
3-13 Horizontal Mode Change Detection Probability - 50 knots
11
3-15 Average Time to Detect Vertical Mode Change
. . . . . . . . . . .
82
. . . . . . . . . . . . . . . . . . . . . . .
83
3-17 Vertical Mode Change Detection Probability . . . . . . . . . . . . .
83
3-18 Average Error in Estimated Vertical Mode Change Estimated Time
84
3-19 MCP Detection Algorithm Performance . . . . . . . . . . . . . . . . .
84
3-20 Sample Terminal Trajectory
. . . . . . . . . . . . . . . . . . . . . . .
86
3-21 IMM Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
86
3-22 Mode Estimation Performance . . . . . . . . . . . . . . . . . . . . . .
87
4-1
Mean Within-Cluster Distance (meters) . . . . .
98
4-2
Clustering - Over-fitting (top) and Under-fitting (bottom)
99
4-3
Navigation Model Clusters . . . . . . . . . . . .
100
4-4
Clusters in 3D Space . . . . . . . . . . . . . . .
101
4-5
Model Parameter Learning Likelihood . . . . . .
102
5-1
Behavior Classification . . . . . . . . . . . . . . . . . . . . . . . . . .
107
5-2
Flight Path Angle Variance Calculation . . . . . . . . . . . . . . . . .
111
5-3
Heading Variance Calculation . . . . . . . . . . . . . . . . . . . . . .
113
5-4
Horizontal Geometry for Standard Rate Turn
. . . . . . . . . . . . .
128
5-5
Horizontal Geometry for High Turn Rate . . . . . . . . . . . . . . . .
129
6-1
Classification Minimum Probability Threshold . . . . . . . . . . . . .
135
6-2
Classification ROC Curve
. . . . . . . . . . . . . . . . . . . . . . . .
135
6-3
Classifications with Valid Prior Observations . . . . . . . . . . . . . .
137
6-4
Feasible Predicted Paths . . . . . . . . . . . . . . . . . . . . . . . . .
139
6-5
Computational Complexity of Path Search . . . . . . . . . . . . . . .
140
6-6
Average Prediction Error . . . . . . . . . . . . . . . . . . . . . . . . .
141
6-7
Prediction Error - Average vs Most Likely Path . . . . . . . . . . . .
142
6-8
Duration of Predicted Paths . . . . . . . . . . . . . . . . . . . . . . .
144
6-9
RMS Error - Informed vs Uninformed Search . . . . . . . . . . . . . .
145
3-16 CH-CD-CH Flight Profile
6-10 Sample Trajectory Set
. . . . . . . . . . . . . . . . . . . . . . . . . .
12
147
6-11 Sample Trajectory Set - Ground Track . . . . . . . . . . . . . . . . .
147
6-12 High Fidelity Simulation Classification ROC . . . . . . . . . . . . . .
148
. . . . . . . . . . . . . . . . . .
149
. . . . . . . . . . . . .
149
Pure Pursuit Control Law [49 . . . . . . . . . . . . . . . . . . . . . .
157
6-13 High Fidelity Simulation RMS Error
6-14 High Fidelity Simulation Prediction Duration
A-1
13
14
List of Tables
2.1
ADS-B Message Elements and Performance Requirements [2, 7]
. . .
37
3.1
ADS-B Measurement Error Parameters . . . . . . . . . . . . . . . . .
58
3.2
Mode Estimation Algorithm Design Parameters
. . . . . . . . . . . .
85
5.1
Behavior Classification Categories . . . . . . . . . . . . . . . . . . . .
104
6.1
Informed Search Performance
. . . . . . . . . . . . . . . . . . . . . .
144
6.2
High Fidelity Simulation Informed Search Performance
. . . . . . . .
148
. . . . . . . . . . . . . . . . . . . . . .
156
A. 1 Aircraft Dynamic Constraints
15
16
List of Algorithms
. . . . . . . . . . . . . . . . . . . . . .
73
. . . . . . . . . . . . . . . . . . . . . . . .
108
. . . . . . . . . . . . . . . . . . . . . . . . . .
115
4
Behavior Classification Threshold . . . . . . . . . . . . . . . . . . . . .
116
5
Uninformed Navigation Intent Search
. . . . . . . . . . . . . . . . . .
120
6
Informed Navigation Intent Search . . . . . . . . . . . . . . . . . . . .
124
1
Mode Change Point Detection
2
Navigation State Matching
3
Behavior Classification.
17
18
Chapter 1
Introduction and Motivation
Detect, sense and avoid is an essential safety requirement for the integration of Unmanned Aerial Vehicles (UAVs) in civil airspace such as the United States National
Airspace System (NAS) [3]. It refers to the ability for a UAV to detect the presence
of another aircraft, determine how the other aircraft is behaving, and avoid a conflict
with the other aircraft. In all civil airspace, pilots are responsible for avoiding collisions with other aircraft [5]. For an autonomous UAV, an important enabler of this
is the ability to predict what a human pilot might do.
A particularly challenging environment is uncontrolled airspace, in which air traffic control (ATC) does not provide separation services to aircraft.
In the United
States, aircraft are considered uncontrolled if they are flying in Class G airspace, or
under Visual Flight Rules (VFR) and not in contact with ATC when flying in class
Class E airspace. A significant proportion of traffic in uncontrolled airspace are light
General Aviation (GA) aircraft. It is likely that many UAV operations will occur in
uncontrolled airspace due to the nature of missions they perform and safety concerns
surrounding use of busier airspace and airports. As such, UAVs must be able to
operate independently of ATC instructions.
The majority of airspace below 18,000 feet outside busy airports in the United
States is classified Class E and G airspace.
Figure 1-1 highlights in red all Mas-
sachusetts airspace in which aircraft must be in contact with ATC, including Class
B,C, and D airspace in addition to restricted and prohibited airspace. This repre19
Figure 1-1: Controlled Airspace in Massachusetts (Source: FAA)
sents less than 20% of the total airspace in the region. All other airspace is classified
Class E or Class G in which VFR traffic does not need to contact ATC. This airspace
includes numerous airports without an operating control tower.
Locations where aircraft converge are especially hazardous.
Aircraft converge
at airports and navigation aids while also performing maneuvers such as turns or
descents. The majority of mid-air collisions and near-misses occur below 8,000 feet
and within 30 nautical miles of an airport [35, 5].
The current state-of-the-art for collision avoidance is the Traffic Collision Avoidance System (TCAS), introduced in the 1980s [4].
This system has proven very
effective in preventing collisions between commercial aircraft.
However, TCAS is
only mandated on aircraft large aircraft, so is not generally carried by GA aircraft
that make up the bulk of traffic in uncontrolled airspace.
For GA aircraft, pilots primarily achieve detect, sense and avoid by visually detecting aircraft and observing their path. Using knowledge of aviation regulations and
20
experience, pilots are able to make predictions of where other aircraft will be some
time into the future. If other pilots are behaving in a way consistent with this knowledge, these predictions can be quite accurate. Furthermore, at uncontrolled airports,
pilots may communicate their approximate location and intentions on a common radio frequency. This assists pilots in both detecting other aircraft and predicting what
path they will follow.
A recent advance has been the introduction of Automatic Dependent Surveillance Broadcast (ADS-B) [7]. This technology allows aircraft to communicate their current
position and velocity to other aircraft, along with other information such as call sign.
Measurements are primarily obtained using the Global Positioning System (GPS).
The FAA has mandated that the majority of aircraft be equipped with ADS-B by
2020 [7].
There are also initiatives to convince operators of aircraft not covered by
this mandate to equip with ADS-B [36].
New collision avoidance algorithms have recently been proposed that make use of
ADS-B [35, 20, 31].
These algorithms predict the state of an intruder aircraft at a
future time. They achieve this by propagating the current state estimates of the ownship and intruder aircraft forward in time. As a result, the uncertainty in the future
state of the intruder aircraft grows with time. Uncertainty in the future state estimate
can be reduced by combining the current state estimate with knowledge of the higher
intention of the pilot, taking into account experience from prior observations of other
aircraft. This can be used to predict when maneuvers, such as turns or descents, will
be performed by a pilot.
Most collision alerting mechanisms provide a pilot with a reactive resolution advisory to avoid an imminent collision. A better approach is to avoid potential collisions
entirely by planning a trajectory that does not come into close proximity with other
aircraft. An autonomous UAV would benefit from having this capability to safely
operate in uncontrolled airspace. The problem can be broken into four major components:
e Learn the expected behavior of pilots from observations of previous aircraft
trajectories.
21
"
Estimate the current state and intention of nearby aircraft from available measurements.
" Predict the expected trajectory of nearby aircraft from current state measurements and learned behaviors.
" Plan a trajectory for the own-ship that avoids other aircraft and conforms to
what other aircraft expect to see.
This thesis presents methods to address the first three elements of this problem
for aircraft operating in uncontrolled airspace, under the assumption that all aircraft
are equipped with ADS-B. The goal is to accurately predict the trajectory of other
aircraft when their route information is not available, an essential enabler to enable
safe path planning for UAS.
1.1
Literature review
As described above, the problem can be divided into four different areas - behavior
learning, state estimation and trajectory prediction. There has been significant prior
work addressing each of these areas.
1.1.1
State Estimation
Tracking maneuvering aircraft from available measurements has been an area of significant research since the 1970s. Of particular interest is the position and velocity of
the aircraft over time, usually in Cartesian coordinates. The control input sequence
to the dynamics of aircraft is usually not known, which contributes to uncertainty
from other process noise such as wind. Motion of aircraft is usually classified as nonmaneuvering if the aircraft is straight and level, with constant horizontal velocity
and altitude. All other motions are maneuvering modes [40]. In a non-maneuvering
mode, often called constant velocity (CV), aircraft can be modeled using as a white
noise process with small variation around a nominal airspeed and altitude.
22
One of the most popular methods of modeling maneuver modes is to model the
control input as a random process. In particular, the Weiner-sequence acceleration
model is often used to model constant acceleration modes [12].
These models are
not very accurate for long-term predictions, as aircraft seldom maneuver with constant acceleration. However, good estimates can be obtained given measurements at
frequent enough intervals.
Early tracking algorithms used a single model for estimation. Once class of steadystate filter is the a -
/
filter for a white-noise acceleration model, or the a - / - y
filter for a Weiner-process acceleration model [12].
This filter uses a maneuvering
index, the ratio of uncertainty in position due to maneuvering and measurement
noise, to calculate values for coefficients in the filter realization. This approach is very
computationally cheap, but suffers from high uncertainty in tracking exact maneuvers.
When multiple maneuver modes exist, an approach must be used to determine
which mode is in effect at a given time in order to minimize state uncertainty. A popular method is hybrid estimation, make use of multiple models [38]. A hybrid model
is a model that contains both continuous and discrete components. For target tracking, the mode is a discrete value, while state is continuous. This is typically modeled
as a Markov jump system, in which the mode takes a discrete value that changes
instantaneously at a point in time according to some time-independent transition
probability.
Among multiple model methods, the interacting multiple model (IMM) algorithm
has been the most popular [16]. The IMM algorithm assumes that a vehicle will be in
one of a finite number of modes at any given point in time, with an estimator matched
to each possible mode. Estimates are obtained by conditioning each estimator with
the likelihood that a mode is correct, then mixing the output of all filters weighted
by the probability that each filter is correct at that time. The IMM can produce poor
estimates if a behavior is observed that is not modeled by one of the modes, but the
behavior of aircraft tends to be predictable enough that a small number of modes
adequately represents the vast majority of motion patterns [38].
The IMM has been so successful that it has become the de facto standard for
23
target tracking. In particular, it has been shown to be particularly suited to ATC
applications [37]. Analysis found that a two-model IMM configuration for horizontal
motion, consisting of a CV model and a coordinated turn (CT) model, provides very
good tracking for civil aircraft. Performance is much better than single model filters
such as the a -
3 filter or extended Kalman filter (EKF) [29].
Mode estimates provided by the IMM can be used for detecting a mode change
point, the moment that the maneuver mode changes. However, the mode probabilities
generated by the IMM are very sensitive to noise. One method of improving mode
predictions is the residual means IMM (RMIMM) [23]. This takes advantage of the
fact that if the vehicle is in a particular mode, the associated filter should have
zero mean residual while all other filters will have a non-zero residual mean. This
reduces false alarms in instantaneous mode predictions.
Another method uses a
cumulative sum hypothesis test for detecting when a steady-state mode changes [26].
This approach gives a smoothed estimate of when a mode change occurs, though it
also introduces a time delay.
Most tracking algorithms have focused on measuring position using a sensor that
provides range, bearing and azimuth measurements, such as a radar. These measurements are in spherical coordinates. Measurements in this case are characterized
by ellipsoidal uncertainty [39].
The most popular approaches have been to use a
mixed coordinate system - Cartesian for state dynamics, spherical for measurements.
Nonlinear estimation and filtering techniques, such as the EKF, have successfully
been used [44]. Fortunately, ADS-B provides measurements in Cartesian coordinates.
Assuming measurements obtained using GPS/ADS-B, a linear Kalman filter can be
used for state estimation.
1.1.2
Behavior Learning and Trajectory Prediction
The current state estimate of aircraft trajectory can be projected to a future time using a dynamic trajectory model. Trajectory prediction algorithms can be categorized
into three types: nominal, worst case, and probabilistic [34].
The nominal case involves propagating the current state along a single trajectory,
24
without considering uncertainty. This approach is accurate over a short time frame
(a few seconds), during which aircraft velocity does not change significantly. It is not
a good method for long-term prediction, particularly if the aircraft does not behave
as expected.
TCAS is the most widely implemented version of a nominal trajectory prediction algorithm. It uses range measurements and range-rate estimates to predict if a
collision will occur in the horizontal plane [4]. Measurements are from transponder
interrogation signals, using reported altitude and the time signals take to propagate between aircraft. More recently, the Traffic Situation Awareness with Alerting
(TSAA) algorithm has been proposed, which estimates the closest approach to another aircraft by propagating the current velocity as measured by ADS-B [35]. TSAA
is primarily intended for GA aircraft. This is a more accurate estimate of future state,
but is still only valid for a short time window if aircraft are maneuvering.
The worst case scenario assumes that an aircraft can perform any of a range of
maneuvers. Any trajectory that will cause a collision with another aircraft becomes
the prediction. In reachability analysis for dynamically constrained vehicles, it can be
shown that almost any point in a state space can be reached given enough time [61].
This limits the utility of this approach to short time frames. This approach is also
very conservative, giving a false prediction of collision in many cases that generally
doesn't reflect the action a rational pilot would take. This approach can be useful in
determining if a collision is possible if no other information regarding pilot intent is
available. The method of Vink et al. is an example of this approach [60].
In the probabilistic approach, uncertainty in the future state of the aircraft is
modeled by propagating the probability density function of position into the future.
This approach is useful because it allows uncertainty in state to be accounted for,
while allowing a more accurate estimation of behavior in different scenarios [42].
This may be achieved by assigning a probability to a set of possible trajectories, or
adding uncertainty to a nominal trajectory. Trajectory properties and statistics may
be described using expert knowledge, or learned from observed data.
The Airborne Collision Avoidance System X (ACAS-X) being developed by the
25
Lincoln Laboratory is an example of an algorithm that makes use of a probabilistic
model of aircraft behavior [31]. This model is derived from radar data collected for
aircraft flying within the NAS over a prolonged period of time [32]. The algorithm
assesses the probability that an aircraft will come into conflict based on a likely set
of maneuvers, rather than a worst-case set of maneuvers. As a result, the frequency
of false collision alerts is reduced. A similar approach is proposed by Jackson and
Boskovic, combining the set of space that an aircraft can reach in a given time period, then assigning a distribution over this space by repeatably sampling from the
probabilistic model [24].
Other probabilistic methods make use of known intent information, such as a filed
flight plan, assigned instrument procedure or knowledge of weather conditions. Intent
in this context refers to navigation waypoints - locations at which the aircraft velocity
changes. If intent is accurate, this reduces the uncertainty in the future state. An early
example of this was proposed by Yang and Kuchar, which incorporated maneuvers
into the predicted path based on prior knowledge of intended heading, altitude or
airspeed at a particular point [62].
A more vigorous approach that could infer intent from a set of possible change
points was introduced by Krozel and Andrisani [33].
This approach calculated the
correlation between the current velocity of an aircraft with the optimal direction to
each intent location, using this as a metric for determining which of the set of possible
intents is most likely. A sequence of these intents can be used to predict the trajectory
an aircraft will follow. This approach has been extended to integrate state estimation
methods such as the IMM by a number of authors [63, 57]. Inferred intent can also
be used to update the mode transition probabilities used for the IMM algorithm.
This has been applied in both the enroute and terminal environments [54, 42]. This
method improves the accuracy of trajectory predictions, assuming the inferred intent
is accurate.
The weakness of these intent-based approaches is that it is assumed that the flight
plan is either known, or a complete set of intents is known a priori. This is applicable
to aircraft assigned a specific route by ATC, as they are required to achieve a certain
26
level of navigational accuracy. For VFR traffic in uncontrolled airspace, this is difficult
to achieve because procedures are not assigned to aircraft and there is no requirement
for a flight plan. A range of possible trajectories could be used to fly to the same
location. This makes identifying possible intent models difficult.
Another probabilistic approach is to use entire prototype trajectories as the intent
model.
Bateman and Lichter defined a velocity field over airspace in the terminal
environment as a lookup table using a training set of trajectories, and used this to
empirically identify a set of prototype trajectories [13]. An unscented Kalman filter
is then tuned to each of these intent models. An intent model is rejected when an
aircraft diverges from the path. This method works well when a trajectory matches
an intent model, but few inferences can be drawn in areas where no prior data has
been observed.
Gaussian processes (GP) have been popular in long term path prediction. Usually, a GP-based approach will group previously observed trajectories into clusters,
with each cluster representing a single trajectory. Given a partial path, these algorithms then select the most likely trajectory by comparing the partial path to each
cluster [14]. In the approach of Fulgenzi et al. a GP learned from observing previous
trajectory data is used to represent likely motion patterns, which is used to calculate
the likelihood of collision with other vehicles [19].
These approaches are able to generalize well from sparse data, but GPs suffer
from high computational complexity. One method of addressing this is to generate a
path by randomly sampling learned GPs [10]. A Bayesian nonparametric clustering
approach using a Dirichlet process called DPGP can be used to learn these GPs [27].
Another approach is the GP change point detection algorithm [53], based on the
Bayesian online change point detection algorithm [6]. Recent work seeks to combine
these methods to model prototype trajectories in an urban environment using DPGP,
and perform hypothesis testing of observed behavior against this set online [18].
The state space may also be discretized. Motion models are then typically based on
Markov chains - the vehicle's discrete state changes based on some learned transition
probabilities [64]. This approach can suffer from over-fitting where a fine discretiza27
tion of the state-space is used. It also relies on training data being available across
the state space.
A hierarchy of Markov models was used by Liao et al. to infer navigation and
goal locations using only measurements available from GPS [41]. If a goal location
cannot be inferred, a new behavior model is assumed and predictions made based on
current state only. This model works well in predicting the goal location and a path
to arrive at that point, but suffers when training data is not available.
1.2
Contributions
This thesis proposes a new probabilistic trajectory prediction method within a hierarchical pilot behavior framework that extends the model proposed by Liao et al. [41].
This is achieved by integrating the IMM filter and a mode change detection algorithm
with behavior classification and intent inference algorithms. In general trajectories
are predicted using only low-level measurements of aircraft state, with no a priori of
pilot intent. Behavior classification and intent inference are performed by comparing the current state and previous observations to a novel navigation model. The
navigation model represents aircraft motion as a HMM in which the state space is
composed of possible mode change points. A likelihood function inspired by the approach of Yepes et al. [63] is used to map current aircraft state in continuous space to
a high probability discrete sequence of mode change points. An unsupervised learning
process is used to identify both the structure and parameters of the navigation model.
This approach addresses the weakness of previous Markov model-based approaches
that require a fine discretization of the Cartesian state space by representing only features where a branch in aircraft trajectory may occur. Using the proposed likelihood
function, learning can be achieved without requiring training data spanning the entire
state space. This approach also allows very computationally efficient prediction over
a long prediction window to be performed in real time.
The resulting long-term trajectory predictions are shown to be far more accurate
than can be achieved with other methods that do not take into account intent such as
28
TCAS, particularly in the challenging uncontrolled airport environment. These predictions can be used by UAS to safely plan trajectories through uncontrolled airspace
in the NAS.
1.3
Thesis Overview
The remainder of the thesis is structured as follows:
Chapter two provides a background of the problem domain and states the problem
to be solved. In particular, it discusses characteristics of operations in uncontrolled
airspace and introduces the hierarchical intent model representing pilot behavior and
decision making used for subsequent algorithms.
Chapter three develops methods for estimating the state and mode of aircraft,
representing the bottom layers of the hierarchical pilot behavior model.
State es-
timation is achieved using a variant of the IMM, while mode estimation uses the
Mode Change Detection (MCD) algorithm. This chapter also details the practical
properties of ADS-B measurements used to estimate aircraft state in detail.
Chapter four describes the navigation model in detail. This model concisely captures pilot behavior by taking advantage of the characteristics of aircraft trajectories.
The clustering and parameter estimation algorithms used to learn the structure of
the navigation model are also described, including results of implementation.
Chapter five details the behavior classification, path prediction and trajectory
generation algorithms used for inference of the top layers of the hierarchical pilot
behavior model.
These methods make extensive use of the navigation model and
estimates of aircraft state and mode to achieve this.
Chapter six presents experimental results evaluating the performance of path prediction and behavior classification algorithms.
This includes evaluation through a
simple Dubins dynamics simulation environment and with a high-fidelity simulation
including variables such as weather.
Finally, Chapter seven summarizes the major conclusions and contributions of
this thesis, and suggests possible extensions to this work.
29
30
Chapter 2
Problem Background
This chapter describes the real-world problem domain considered by this thesis. This
includes the operating environment and sensing. In particular, the hierarchical intent
model used to describe pilot and aircraft behavior is formalized.
This forms the basis for the problem statement that this thesis seeks to address,
detailed at the end of this chapter.
2.1
Problem Domain
This section describes the properties of the problem domain. This is used to frame
the problem statement later in this chapter.
2.1.1
Uncontrolled Airspace
For the purposes of this thesis, uncontrolled airspace is defined as any airspace in
which an aircraft does not receive services from ATC. In the United States, this
applies to all aircraft in Class G airspace and to VFR traffic in Class E airspace not
receiving flight following services from ATC
[5]. This corresponds to the majority
of low-level airspace away from major airports. Aircraft in other classes of airspace
(Class A-D) must be in contact with ATC, so are considered controlled.
Class E airspace is controlled airspace that covers all airspace below 18,000 feet
31
that is not designated as a more restrictive class of airspace. VFR aircraft are not
required to contact ATC in Class E airspace.
Class G airspace is any airspace that has not been designated as controlled. In
general, airspace below 700 or 1,200 feet above ground level is designated Class G,
though it may extend as high as 14,500 feet in some areas. The airspace surrounding
most airports without an operating control tower is designated Class G to the surface.
No ATC services are available in this airspace.
Since ATC is not actively controlling aircraft in uncontrolled airspace, there are
no separation standards between aircraft.
In a controlled airspace, the en route
separation standard for aircraft near a radar site is 3 nautical miles longitudinally
and 1,000 feet vertically. This is a reasonable benchmark for aircraft separation in
uncontrolled airspace.
Pilots are responsible for ensuring that they see and avoid terrain, obstacles and
other traffic. In general, pilots are not able to communicate with each other directly
in uncontrolled airspace. The exception is at uncontrolled airports, detailed below.
With no centralized control from ATC, each pilot in uncontrolled airspace plans
their flight path independently of other air traffic. As a result, traffic may be considered uncorrelated with each other [30]. The exception to this is when pilots maneuver
to avoid each other. Though there is no coordination between pilots, regulations for
right-of-way dictates what maneuvers should be performed when aircraft are converging [21]. In general, the recommended procedure is for a pilot to maneuver to
maintain separation even when they have right-of-way [5].
2.1.2
Uncontrolled Airport
An airport is uncontrolled if it does not have an operating control tower providing
ATC services [5]. The airspace in the immediate vicinity of an uncontrolled airport is
of particular interest because of converging traffic and the large range of maneuvers
pilots perform when compared to the en route environment. Analysis of NTSB reports
following mid-air collisions indicate that 59% of accidents occur in the vicinity of an
airport, the majority of those within the traffic pattern [35].
32
DOWNWIND LEG
Lnr
DIRLCFION OF LANDING
EAI U RE LEG
FINAL APROACH
UPWIND LEG
Figure 2-1: Standard Traffic Pattern
Key to operations at uncontrolled airports is the traffic pattern, a rectangular
course around the runway. The standard traffic pattern is flown with left-hand turns,
at 1,000 feet above the airport elevation.
Details of non-standard traffic patterns
applicable to specific runways are published in the Airport/Facility Directory. The
standard traffic pattern is shown in Figure 2-1.
The traffic pattern consists of the following segments:
1. Departure leg - flight path after takeoff along the extended runway centerline,
extending to at least a half mile beyond the departure end of the runway and
within 300 feet of traffic pattern altitude.
2. Upwind leg - flight path parallel to the landing runway, in the direction of
landing. This is typically flown as part of a missed approach.
3. Crosswind leg - flight path at right angles to the landing runway, beyond the
departure end.
4. Downwind leg - flight path parallel to the landing runway, in the opposite direc-
33
tion of landing. Traffic pattern altitude is maintained until abeam the approach
end of the landing runway.
5. Base leg - flight path at right angles to the landing runway, at the approach
end of the runway.
6. Final approach - flight path along the extended runway centerline from the end
of the base leg to the landing runway.
When arriving at the airport, the recommended procedure for entering the traffic
pattern is to arrive at a point on the downwind leg abeam the midpoint of the runway,
at a 45 degree angle and at traffic pattern altitude [5]. In practice, pilots may decide
to enter the traffic pattern directly on final or at the base leg, depending on the angle
of approach to the airport. For example, if approaching from the opposite side of the
runway to the standard traffic pattern, pilots may elect to either overfly the airport
above traffic pattern altitude and execute a teardrop entry, or alternatively use a right
traffic pattern where a left traffic pattern would normally be used. Neither procedure
is published by the FAA, but may be observed in practice.
When departing the airport, the recommended procedure is to maintain runway
heading until at traffic pattern altitude, then either turn 45 degrees in the direction
of the traffic pattern or continue straight out. As for the approach case, pilots may
elect to follow a different procedure, depending on where the first waypoint in their
flight plan is.
A sample of possible traffic pattern entry and departure procedures are shown in
Figure 2-2. Note that this is not an exhaustive set of all procedures.
Pilots may decide to execute one of a number of options at the end of the final
approach leg. A full stop landing results in the aircraft coming to a complete stop
on the ground and leaving the runway. A touch and go results in the aircraft landing
and immediately taking off again without coming to a full stop. A missed approach
is executed when a safe landing can not be made, aborting the landing attempt and
entering the upwind leg of the traffic pattern.
The FAA recommends that aircraft do not execute unexpected maneuvers in the
34
1
ft
(000"
L)IRLC I ION O - LANDING
4
FILNL)LD VN AL
IRAG
I
UI
DEPARTIU RL
Figure 2-2: Sample Traffic Pattern Entry and Exit Procedures
traffic pattern, such as 360 degree turns. Doing so can disrupt traffic flows or cause
conflict between aircraft. Minor maneuvers to maintain separation such as shallow
S-turns can be anticipated and are acceptable.
Pilots may communicate with each other at uncontrolled airports using a Common
Traffic Advisory Frequency (CTAF). This is a frequency that allows pilots to communicate their intentions while operating at the airport. Use of CTAF is recommended,
but not mandatory
[51.
Separation standards at controlled airports are typically less stringent than in the
en route environment. ATC may reduce separation standards to whatever ensures a
collision is prevented. Pilots are expected to maintain visual separation, maneuvering
to avoid or follow other aircraft. Similar separation can be expected at uncontrolled
airports.
When landing, the aircraft at the lowest altitude has right-of-way [21].
Pilots use this rule to naturally sequence aircraft attempting to land, with pilots
maneuvering to allow other aircraft ahead of them in the sequence to safely land.
CTAF is typically used to determine and confirm this sequencing.
35
2.1.3
Weather
For VFR pilots to legally be able fly, weather must meet Visual Meteorological Conditions (VMC) minimums [21]. Weather information is available in the air from a
number of sources, including automated weather observation systems and Flight Service Stations. Wind is the principle weather condition of interest, as this determines
the landing direction at an airport. Aircraft will always land into the wind if possible.
Since VFR aircraft must remain clear of clouds, they may maneuver to avoid clouds,
either by turning or changing altitude.
2.1.4
ADS-B
As discussed in Chapter 1, a recent technical advance has been the introduction of
ADS-B. Aircraft equipped with ADS-B equipment transmit messages to other aircraft
with information including position, velocity and call sign [2]. The FAA has mandated
that most aircraft are to be equipped with ADS-B by 2020. The mandate includes
the elements needed for an ADS-B message and minimum performance requirements
for each message element [7]. Key elements from the ADS-B standard and the FAA
mandate are summarized in Table 2.1.
Minimum state information in an ADS-B message includes position in three dimensions, and horizontal velocity. The ADS-B standard does not specify any particular type of sensor for position and velocity measurements. However, the required
accuracy standards are based on either GPS or radar being used as the primary sensor
[2]. It is assumed that GPS is used for horizontal position and velocity measurements,
and a barometric altimeter may be used to measure altitude.
The NACp, NACv, NIC and SIL dictate the minimum accuracy and integrity
requirements for ADS-B. NACp is the 95% containment radius for horizontal position measurements, and NACv is the 95% containment radius for horizontal velocity
measurements. NIC is the maximum containment radius for horizontal position measurements, with an hourly exceedance rate given by the SIL. The ADS-B mandate
does not set a required performance standard for altitude.
36
The call sign element
Table 2.1: ADS-B Message Elements and Performance Requirements [2, 7]
Performance
Element
Note
Requirement
Latitude & Longitude
Barometric Altitude
See NACP
Velocity
See NACv
Aircraft Call Sign
-
Navigational Accuracy
Category for Position (NACp)
< 0.05 NM
(92.6m)
<30m
< 10 m/s
Navigational Accuracy
Category for Velocity (NACv)
WGS84
Quantized - 25 or
100ft increments
North and East
components, in m/s
Aircraft registration or
airline call sign
NACp 8
NACp 9
NACv 1
< 3 m/s
NACv 2
Navigation Integrity Category
< 0.2 NM
NIC 7
(NIC)
(370.4m)
Source Integrity Level (SIL)
< 10-7
per hour
SIL 3
identifies the aircraft, and allows information communicated by a pilot using CTAF
to be associated with ADS-B messages.
All aircraft are assumed to report measurements of state using ADS-B, allowing
the focus of thesis to be trajectory prediction and planning. Specifics of the ADS-B
measurement model are described in Chapter 3.
2.2
Aircraft State and Trajectory
This section defines key terminology and notation used for state and trajectory
throughout this thesis.
37
2.2.1
State
Aircraft state is represented in three-dimensional space in the Cartesian East-NorthUp coordinate frame. The state vector x
X
where
= [
zZ
7
C R" in this frame is given by:
]T
(2.1)
is east-west position, 77 is north-south position, and z is altitude above mean
sea level. The coordinate system is centered at geographic point of interest, such as
the center of an airport.
The state vector can be divided into the horizontal plane
(
-
plane) and vertical
plane. Dynamics in these two planes are assumed to be independent of each other.
Hence, horizontal and vertical state can be represented as:
Xv =[
ZJ
(2.2)
.. ]T
Xh
[ =
(2.3)
T
(2.4)
XV ]T
X =Xh
Unless explicitly stated, state x without subscripts applies equivalently to both
horizontal and vertical coordinates without loss of generality.
The state vector may also be divided into position, velocity and acceleration:
XPOS = [
Xvel =
Xacc=
Z ]T
(2.5)
]T
(2.6)
.
[
(2.7)
j]T
Some important quantities relating to aircraft velocity can be calculated from the
component velocities. These are horizontal airspeed V, heading 0, turn rate
38
4,
and
vertical flight path angle (FPA) -y, given by:
V =
g2+
(2.8)
2
= arctan2( , r)
(2.9)
(
(2.10)
=tan
where arctan2 is the four-quadrant arctangent function, defined as the counter-clockwise
angle from the positive north-south axis. Heading is in the interval 7P E [00, 3600),
E [-180 deg/s, 180 deg/s), and FPA is in
turn rate wrapped to be in the interval
the interval -y
2.2.2
C [-90o, 90 ].
Trajectory
The trajectory
T of an aircraft is the discrete sequence of position at each time
t C [to, tf] C R, where to is the initial time and tf is the final time. For convenience,
time is indexed with k
c
Z, corresponding to discrete observations y(k). Time index
ki maps to time ti. A trajectory is denoted:
Tko:k = {Xpos
Tko:k,
(k0)
, xpos
(k 1 ),.
is a function of pilot intent
.
,
pos (kf-)
,
xpos (kf)}
(2.11)
I(k), aircraft maneuver mode m(k), and aircraft
state x(k). These intent and maneuver mode are described in Section 2.3. The time
between elements of this sequence is usually constant, though this isn't necessary. An
example trajectory is shown in Figure 2-3.
2.2.3
Navigation States
Aircraft trajectories tend to be dominated by segments of nearly straight flight, such
that aircraft heading and FPA are nearly constant. This can be seen in Figure 2-3.
These segments begin and end with some maneuver that causes a change in airspeed,
heading or vertical speed. The point at which this maneuver occurs, and the type of
39
Ground Track
1000
0 -.....-
...
-...
..........
800
........
6 00
0
0
- - --...
............ ..... - - - ---.....--
-10 00
-2 0 0 0 -.--..-
z -3 0 0 0
-4000
-3000
..
...
a3)
......
....
.....--........... -.. -.
--...
..-..
..
..
-2000
....
....
-..
-1000
..... .....
2000
1000
0
East-West Position (m)
..
--..
......
3000
4000
--..
-....
--...
......-
5000
400
2 00
0
Figure 2-3: Sample Aircraft Trajectory
maneuver performed at that point, is defined as a navigation state, denoted s.
Two types of navigation states are of interest.
The most common relates to
a change in turn rate or vertical speed, which changes the direction an aircraft is
heading.
This is called a trajectory change point (TCP), and is denoted s, with
tuple:
(2.12)
s'r = (XPOS, 7M)
where m denotes the type of maneuver performed. Maneuver mode is discussed in
depth in Chapter 3.
The other types of navigation state define locations an aircraft navigates to without necessarily maneuvering. These are called goal states, denoted sg. Only position
xPO is needed to define these states. An example goal state is a specific runway at
an airport. A goal state is not necessarily the final state in a path - for example, a
pilot performing a touch and go will pass a goal state at the runway threshold before
navigating away from the runway.
A path can be concisely represented as a sequence of navigation states:
nko:kf = {so(ko), si(ki),..
.
(2.13)
, sm(kf)}
40
where initial navigation state so is the current aircraft state.
In predicting trajectory, the sequence n describes the navigation intent of a pilot,
the path that they intend to follow. The sequence of navigation states can be used by
a generating function to reconstruct the trajectory in Equation 2.11. This is described
in Chapter 5.
2.3
Hierarchical Intent Model
Pilot behavior can be analyzed using control theory and aviation psychology theory.
Control theory considers stability, control, guidance and navigation of the aircraft,
while understanding of the human decision making process explains why control decisions are made. The human decision making process can be modeled as a hierarchical
structure. The inner loops of this process use reflexive actions at fast update rates
of the order 1-10 Hz, while outer loops consider changes to guidance and navigation
at longer intervals of the order of 1-10 minutes [58]. Long term prediction of aircraft
trajectory must therefore include a model of this outer loop of decision making.
Intent is defined as what a pilot is planning to do in the future. The execution
of this intent can be observed through the trajectory the aircraft follows.
Intent
inference is the process of predicting the pilot intent from observations of available
data.
2.3.1
Intent Model
Liao et al. introduced a hierarchical behavior model for a person navigating through
an urban environment [41].This model uses low level GPS measurements of a person's
position and velocity to infer the path a person is taking to a goal. Motion is modeled
based on transportation mode, such as walking or on a bus. The path chosen depends
on what the person's goal location is. In this work, this hierarchical model is extended
by the addition of an extra layer at the top of the hierarchy representing whether the
pilot is maneuvering in compliance with the known set of pilot behaviors, or randomly
maneuvering with no set goal. Non-complying behavior is typical of activities such as
41
pilot training, aerobatics or irrational behavior in violation of standard procedures.
This hierarchical behavior model, shown in Figure 2-4, is a dynamic Bayesian
network. It is divided into three significant layers. The highest layer represents pilot
intent, representing the guidance and navigation elements of decision making. The
middle layer is aircraft activity, representing the control inputs the pilot applies to
the aircraft. The lowest layer represents the physical state of the aircraft, including
observations of aircraft state.
Within these three layers are six parameters:
Observation y(k). Available measurements of the aircraft state, in this case provided
by ADS-B. The time k is indexed to when observations are received. In Figure 24, y(k) is highlighted in blue as the only observable parameter in the intent
model. Discussed in Chapter 3.
State x(k). The aircraft state as described in Section 2.2. Estimation of state from
observations y(k) is discussed in Chapter 3.
Maneuver mode m(k).
Represents the type of maneuver a pilot is performing,
displayed through dynamics of the aircraft.
The aircraft may be in a non-
maneuvering mode with roughly constant heading and altitude, or a maneuvering mode with changing heading and/or altitude.
Estimation of mode is
discussed in Chapter 3.
Navigation intent n(k). The sequence of navigation states the pilot intends to use
to navigate from the current location to the final navigation state.
equivalent to the sequence described in Equation 2.13.
This is
This is discussed in
Chapters 4-5.
Goal states g(k). A set of goal states within n(k). In general goal states are unknown,
but may be communicated by means including CTAF or ADS-B messages. Discussed in Chapters 4-5.
Behavior b(k). A classification of pilot behavior. Possible classifications are complying, in which the pilot maneuvers with reference to a defined navigation intent,
42
k+1
Time
k
Behir
Behavior
Goal State
Gonl State
Navigation
Intent
Navigation
Intet
Maneuver
Mode
MNkueuver
Plot
Intent
Aircraft
Activity
AircaftAircraft
Mode
Ai craft State
State
State
Figure 2-4: Hierarchical Pilot Intent Model
and non-complying without a navigation intent.
In Figure 2-5, the pilot is
displaying a compliant intent on the left, and correspondingly has a goal and
navigation intent. On the right, the pilot is instead non-compliant, hence goal
and navigation intent are bypassed. Discussed in Chapter 5.
The state of each parameter may change at each observation (from time k to k+1).
43
Behavior
Behavior
Compiving
NoC;n-Com Din
Figure 2-5: Pilot Intent for Navigating vs Maneuvering Behavior
However, parameters in the bottom two layers of the model are expected to change
much more frequently than those in the upper layer. Pilot intent parameters b(k),
g(k) and n(k) can be considered constant over a short time (1-10 minutes). Over a
longer time frame, intent may change as part of the pilot decision making process as
new information becomes available. The slow-changing parameters of pilot intent are
concisely represented by the tuple:
1(k)
2.3.2
=
(2.14)
(b (k) , g (k) , n (k))
Intent Inference
The intent inference approach used in this thesis uses the sense-and-infer model described by Heinze, shown in Figure 2-6 [22].
44
In this model the intending agent is
Q~)
Recognizing Agent
Intending Agent
Pilot
Intent
Aircraft
Q
~k
x(k)
x(k)
State
Figure 2-6: Sense-and-Infer Model
the pilot making decisions and executing an intent, and the recognizing agent is an
external agent attempting to infer that intent.
For the intending agent, a key assumption is that the decision making process flows
from the top of the model down - behavior type determines whether there is a goal,
which determines the navigation intent, and so on. This leads to observations of the
aircraft state as the pilot intent is executed, which is available to the recognizing agent.
Intent inference can then be performed bottom up, using available measurements to
estimate state and mode, then predicting the most likely navigation intent, and so
on.
If a pilot communicates elements of their intent, a hybrid intent inference approach
incorporating labeling to the sense-and-infer model is used, shown in Figure 2-7. In
this model, the recognizing agent has direct access to a subset of the intent. Validation of this information, and inference of intent information not directly available, is
performed using the sense-and-infer approach.
45
Aircraft
Intending Agent
Recognizing Agent
x(k)
(k)
State
Figure 2-7: Hybrid Sense-and-Infer Model
2.4
Problem Statement
Consider an aircraft AO, designated as the own-ship and the recognizing agent. The
own-ship is considered a point object in three dimensional space. The world that
the own-ship can exist in is denoted W C R'. This space includes all static position
constraints such as terrain and restricted airspace. For the purposes of this work,
velocity and acceleration are unconstrained in this set.
For a particular mission, the own-ship operates in a subset of the global space,
X C W. This region encompasses the allowable space that aircraft can exist in,
though aircraft may enter and exit the space through the boundaries.
Within X is a set of NA other aircraft, {A,,... , ANA}.
All aircraft Ai (includ-
ing the own-ship) are subject to dynamics given by the discrete-time time-invariant
46
system:
xi(k + 1) = f (xi(k), ui(k)) + wi(k)
(2.15)
Xi (0) ~ M(.'i (0), Pi(0))
(2.16)
wi (k) ~ AI(O, Qi)
(2.17)
where xi(k) E R' is the state vector as described in Section 2.2, ui(k)
input vector and wi(k)
E RP is the
E R" is an additive disturbance vector acting on the system.
A"(&, Pa) represents a normal distribution with mean
& and covariance Pa. Equa-
tion 2.16 represents the Gaussian uncertainty in the initial state due to measurement
uncertainty. Equation 2.17 represents a zero-mean Gaussian process noise that models
uncertainty in the model, external disturbances such as wind, and other factors.
Each aircraft is subject to state and input constraints:
xi(k) E X - Xi(k)
(2.18)
ui(k) E Ui(k)
(2.19)
where the (-) operator denotes set subtraction. The set Xi(k) C X C R" corresponds
to dynamic constraints on aircraft Ai, including a surrounding region of protected
airspace that other aircraft cannot enter. Constraints on aircraft velocity and accel-
Ui E RP corresponds to limits on input, which may
eration are also included. The set
be time-varying depending on the state of the aircraft.
For recognizing agent
A, the input vector ui(k) for another aircraft Ai is not
observable. Equation 2.15 for other aircraft then simplifies to:
(2.20)
xi(k + 1) = f (xi(k)) + zDi(k)
where process noise tTi(k) now includes both external process noise wi(k) and the
unknown input vector ui(k). The function
assumed to be known and linear
f(-)
is dependent on the aircraft mode,
[38]. Observations of the state of other aircraft are
47
assumed to be available, of the form:
yi(k)
(2.21)
Cixix(k) + vi(k)
where yi(k) E R1
is the measurement vector and v(k) E Rq is an additive noise vector
corrupting the measurements. Measurement matrix C, is assumed to be linear timeinvariant (LTI). The measurement noise process vi(k) is assumed to be uncorrelated
with process noise, but is not assumed to be a Gaussian noise process.
Over a period of time k E [ko, kf], aircraft A, will fly some trajectory 'T:kf, follow-
ing some slowly-evolving pilot intent 1(k) and subject to state and input constraints
in Equations 2.18-2.19. It is assumed that bounds on state and input constraints are
known, but pilot intent is unknown.
The objective of the recognizing agent Ao is
to accurately predict the future trajectory of every other aircraft Ai.
This can be
expressed as follows:
Problem 1. Given observations y2 (k), k = 0, 1, ...
, ko
of aircraft Ai, i E [1, NA],
calculate the predicted trajectory over the interval k
E [ko, kf],
Tko:k,,
that
minimizes the mean square error in predicted position over the entire predicted
trajectory:
min
ko<k<kf
(xp,, (k) - ±,p,(k))
(2.22)
subject to state and input constraints in Equations 2.18-2.19.
The problem of minimizing prediction error is typical of most work in trajectory
prediction. However, in much of the literature for aircraft trajectory prediction it is
assumed that pilot intent is well defined a priori [63, 42].
2.5
Summary
This chapter has described the problem domain, including the characteristics of uncontrolled airspace and airports. The basic characteristics of ADS-B were also intro48
duced, along with notation for aircraft state, mode and trajectories were then defined.
Next, principles of pilot decision making were described and framed in a hierarchical
behavior model.
The next chapter details how ADS-B measurements are used to estimate current
aircraft state and mode. Following chapters then describe how this information is used
to infer intent parameters in Equation 2.14, with the objective of solving Problem 1.
49
50
Chapter 3
State and Mode Estimation
For the recognizing agent, the first element in of inferring the intent of another pilot
is to accurately estimate aircraft state x(k) and mode m(k) from available observations y(k).
Observations of aircraft state are assumed to be provided by ADS-B
measurements. This chapter first defines the state and mode estimation problems.
The ADS-B measurement model is then described in detail. The state and mode
estimation algorithms are then presented, and their performance evaluated.
These algorithms estimate elements of aircraft behavior in the two lower layers of
the hierarchical intent model in Figure 2-4.
3.1
Problem Statement
The focus of this chapter is to accurately estimate the current state x(k) and maneuver mode m(k) of an aircraft. This forms the basis for inference of the current pilot
intent, and prediction of the future aircraft trajectory.
The state estimation problem is as follows:
Problem 2.1.
state
Given observations
{y(O),
y(l), ... , y(k)}, calculate the estimated
(k) that minimizes the mean square error:
min J = E [(x(k) - i (k))
T
(x(k) - - (k))
51
(3.1)
Assuming linear dynamics and zero-mean Gaussian noise processes the Kalman
filter is known to be the optimal approach to solving this problem [45].
However,
without knowledge of the input to the aircraft controls, state estimates will be very
conservative or inaccurate. Also, a Kalman filter provides limited information for
estimation of maneuver mode. Instead, the Interacting Multiple Model (IMM) algorithm is used in this work, as it has been shown to be highly effective for tracking
aircraft [40]. The IMM algorithm is presented in Section 3.3.
The IMM algorithm also calculates the maneuver mode likelihoods for each state
estimate, denoted p(k). An aircraft is assumed to be in one of the following predefined
maneuver modes at any time k in the horizontal plane [54]:
1. Constant Velocity (CV) - maintaining airspeed and heading
2. Coordinated Turn (CT) - maintaining airspeed while changing heading
and one of the following modes in the vertical plane:
1. Constant Height (CH) - maintaining altitude
2. Constant Climb/Descent (CD) - changing altitude
Horizontal and vertical dynamics are assumed to be independent of each other.
Dynamics for these modes are detailed in Section 3.3.5. Performance parameters for
mode estimation are chosen using data in Figure 3-1
[30].
This shows the results
of analysis of VFR traffic in the NAS from radar data obtained over a long period
of time by the Lincoln Laboratory. It provides useful data on expected airspeed,
longitudinal acceleration, turn rate, and vertical speed for VFR traffic.
52
(I
I
200
MY
300
- 3
400
0
2000
-1
0
1
2
Acceleration (kt/s)
Airspeed (kt)
41000
-
2000
4000
o
A
IA
-
->
ii
0I
Turn rate (deg/s)
Vertical rate (ft/min)
Figure 3-1: VFR Maneuver Statistics [30]
Using expected values for turn rate
and vertical speed % from this Figure, we
choose the design objectives for mode change detection using the following problem
statement:
Problem 2.2. Given mode likelihood {p(0), p(1),... , p(k)}, calculate the estimated
mode rhn(k) from the predefined set of modes {CV, CT, CH, CD} such that:
CV
O(k) < 1.5 deg/s at 50 knots
(3.2)
r7nh(k) = CT
4(k) > 1.5 deg/s at 50 knots
(3.3)
rnh(k)
(k)
n(k) = CH
rhn,(k)
=
CD
53
200 fpm
(3.4)
z(k) > 200 fpm
(3.5)
with probability p > 0.95.
In this work a cumulative sum (CUSUM) approach is used for mode estimation.
This approach also estimates maneuver mode change points (MCPs).
The mode
estimation algorithm is presented in Section 3.4.
3.2
ADS-B Measurement Model
The following sources of error in measurements are modeled, using the approach of
Kunzi for TSAA [35]:
* Position error
" Velocity error
* Altitude error
ADS-B messages are transmitted at one second intervals. The effects of processing
latency are not modeled.
3.2.1
Horizontal Position Error
As listed in Table 2.1, the FAA ADS-B mandate requires that horizontal position
measurements must meet NACP=8 , which is equivalent to a 95% bound on error of
less than 0.05 nautical miles (92.6 m) [7]. This is a conservative bound - the GPS
Performance Standard requires the 95% bound on worst-case position error be less
than 17 m horizontally [1]. The FAA regularly releases performance analysis of the
GPS system that validates that measurements meet the required standard [59]. A
more optimistic estimate of GPS performance is assumed used, with NACp
=
9 for
position measurements (95% bound less than 30 in).
GPS position error is strongly time correlated, and in discrete time can be modeled
as a first order Gauss-Markov process [47]. Error at time k in each horizontal axis is
54
given by:
aposVh(k
Vh
-
(3.6)
1) + Vwhite(k)
Vh(0) ~K(0,rad)
(3.7)
2>8 )
(3.8)
VUhite (k)
~ A(0,
where coefficient apos is a correlation factor that dictates how strongly position measurements are correlated to each other, grad is the standard deviation of radial measurement error in each horizontal axis, and upcr
is the standard deviation of the
non-correlated Gaussian component of measurement noise.
GPS is modeled with
apo, = 0.9966, corresponding to an autocorrelation time of 300 seconds [35].
Radial error in horizontal GPS measurements is given by
where rad and
?,Tad
distribution P1(0,
Rad =
'ad
+
712ad,
are the east and north components of position error with Gaussian
ad).
Then
Rad
is a random variable with a Rayleigh distribution,
with cumulative distribution function given by [47]:
F(r) = 1 - exp
(3.9)
2
rad
Rearranging, we obtain:
0Urad =
For large k,
(3.10)
-2 ln (1- F (r))
apo, can then be approximated by [47]:
-pos = 0-rad
a2
1 - a20s
(3.11)
Assuming NACp = 9, such that F(ro,
8 ) = 0.95 and rp,= 30 m, we calculate
from Equation 3.10 that -rad = 12.26 m. Substituting this result into Equation 3.11,
we obtain
apo, = 1.01 m. An example of typical evolution of measurement error in
both horizontal dimensions over 200 samples is shown in Figure 3-2.
55
20
LU
-15 -
0,
-15-
-20
-20
-15
-10
-5
0
10
5
15
20
EastVest Position Error (m)
Figure 3-2: Position Measurement Error, NACp of 9 (95% bound < 30 m)
3.2.2
Horizontal Velocity Error
Velocity error from GPS is closely related to position error [35]. Consequently, the
same Gauss-Markov model used for position error is used for velocity. In this case,
NACv is used instead of NACp. Assuming NACv
=
2, the 95% bound on velocity
error is 3 m/s horizontally. Time correlation factor ave is assumed to be identical to
apos .
Radial error is calculated first by applying Equation 3.10, yielding
Urad =
1.23 m/s.
Applying Equation 3.11, we obtain standard deviation for the Gaussian component
of velocity measurement error, -vel = 0.10 m/s.
3.2.3
Altitude Error
Aircraft report vertical position using a barometric altimeter. The International Civil
Aviation Organization (ICAO) defines error models to be used for testing systems with
barometric altimeters [481. Altimeter error is constant, characterized by a zero-mean
56
Laplace distribution:
v,(k) = v2(0)
(3.12)
v2(O) ~ Laplace(0, A,)
(3.13)
The scaling parameter Az is chosen to be 18 meters, the worst-case value for
altitude below 10,000 feet listed by ICAO. The probability distribution function is
shown in Figure 3-3. Furthermore, as stated in Table 2.1 altitude is encoded using
quantization of 25 feet (7.62 m). It is assumed that midpoint rounding is used for
quantization.
0.03
0.025
0.02
-o
0 .015 F
0
0~
0.01 l0.005F
-100
I
-50
I
I
0
50
Altitude Error (m)
100
150
Figure 3-3: Laplace Distributed Altitude Error
3.2.4
Summary of Measurement Error Parameters
The parameters required for characterizing ADS-B measurement error in Equations 3.6
and 3.13 are shown in Table 3.1.
57
Table 3.1: ADS-B Measurement Error Parameters
Parameter
Horizontal Position Error Bound (NACp)
Horizontal Position Radial Error SD
Horizontal Position Gaussian SD
Horizontal Position Correlation Factor
Horizontal Velocity Error Bound (NACv)
Horizontal Velocity Radial Error SD
Horizontal Velocity Gaussian SD
Horizontal Velocity Correlation Factor
Altitude Laplace Scaling Parameter
Altitude Quantization
Measurement Interval
3.3
Symbol
rp0 s
Uradp
UPOS
apos
re
Urad,
0vel
ave,
A,
-
T
Value
30 m
12.26 m
1.01 m
0.9966
3 m/s
1.23 m/s
0.10 m/s
0.9966
18 m
7.62 m
1 s
State Estimation
State estimation is performed using the IMM algorithm [12]. This approach has been
used extensively in other tracking applications [54, 42, 11, 25]. In this application,
the IMM has the advantage of providing information about when maneuver mode
likelihoods.
For the purposes of estimation, aircraft dynamics are modeled as a hybrid dynamic
system, in which the state (position, velocity and acceleration) vary continuously,
while the set of matrices defining the system dynamics is one of a finite set of flight
modes that changes at discrete times [12].
3.3.1
Hybrid System Model
A stochastic linear hybrid model consists of system dynamics and measurement models for a set of r discrete modes, and a mode transition model. Assuming the system
58
is LTI, dynamics and measurements in discrete time are given by:
x(k + 1)
y(k)
=
Aix(k) + Biw(k)
(3.14)
Cix(k) + vi(k)
(3.15)
w (k) ~ A (O, Qj)
(3.16)
v (k) ~ Ar(0, Rj)
(3.17)
where subscript i denotes the mode. Process noise w(k) captures both noise due to
external disturbances and control inputs, as the input vector is not observable. Each
mode corresponds to a set of LTI matrices Aj, Bi, Ci, Ri,
Qj.
Mode transitions are modeled as a finite Markov chain, with known mode transition probabilities from mode i at time k to mode
j
at time k + 1, given by [12]:
7rij = p (m (k + 1) = jm (k) = i)
3.3.2
(3.18)
IMM Estimation Algorithm
The IMM algorithm makes use of a bank of r Kalman filters, one matched to each
of the maneuver modes described previously, such that r E
{CV, CT} or {CV, CT}.
The algorithm is shown schematically at Figure 3-4. Note that a separate IMM is
used for horizontal and vertical planes.
The IMM is updated at each measurement y(k + 1) as follows [12]:
1. Mixing probability. The probability that the system is in mode i at time k,
given that it is in mode
1
pij (kIk) = -rij
ci
where cj =
j
at time k + 1:
(3.19)
pi (k)
>1 7rijpti(k)
is a normalization constant, and pi(k) is the probability
that the system is in mode i at time k. The initial probability pi(O) is assumed
given from system properties.
59
pgk)
x,(k)
P(k)
Mi xi nr
Probabilities
Mixing
pai~ k k)
Mode
Probability
up date
<-
<- y(k 1)
KF Bank
A(k)
Combination
i(k+1)
P(k+1)
Figure 3-4: Interacting Multiple Model Algorithm Structure
2. Weighted initial state estimate and covariance. The state estimate and covariance from the update step of each Kalman filter at time k are conditioned with
the mode probability:
r
I 0; (k) = >3
Poj(k) =
j(k) pij (kIk)
(3.20)
{Pi(k) + [ij(k) - Joj(k)] [i j(k) - -o(k)]T} [tpi(kIk)
(3.21)
3. Kalman filter update. The r Kalman filters are updated in parallel using the
weighted state estimates and covariances as input to obtain new state estimates
4(k + 1) and covariances P(k + 1).
The Kalman filter formulation depends
on the properties of the system and measurements. The formulations for time
correlated and quantized measurements are described later in this chapter.
4. Mode likelihood function. The likelihood function is a measure of how likely the
60
model used by Kalman filter
Aj (k + 1) =
g
j
is the correct one at time k. It is given by
[23]:
(3.22)
(rj (k + 1); 0, Sj (k + 1))
where rj(k + 1) = y(k + 1) - C.± (k + Ik) is the residual of Kalman filter
j
before the measurement update, and S 3 (k + 1) is the covariance of the residual.
5. Mode probabilities. The probability that the system is in mode
j
at time k + 1
is updated using the likelihood function:
1
p 3 (k + 1) = -Aj (k + 1)pij (kIk)
c
where c =
>
(3.23)
Aj(k + 1)pi (klk) is a normalization factor.
6. Combination. The output of the IMM is the weighted sum of the r Kalman
filters, conditioned by the mode probabilities.state estimate and covariance.
The estimated mode is the mode with the highest probability. This output is
given by:
(k + 1) =Zij(k + 1)pj(k + 1)
P(k + 1)
(3.24)
{FPj(k + 1) + [iy (k + 1) - i(k + 1)]
(3.25)
[ij(k + 1) -:
(k + 1)]T}Pj (k + 1)
The results of Equations 3.24-3.25 are used by all subsequent algorithms in this
thesis.
3.3.3
Kalman Filter for Correlated Measurement Error
The standard Kalman filter formulation must be modified to account for time-correlated
measurement errors. The approach of Petovello et al. is used to achieve this [50]. It
is assumed that all system matrices are time-invariant. The IMM system formulation
61
is modified to include correlated measurement error described in Section 3.2:
x(k + 1) = Ax(k) + Bw(k)
(3.26)
w (k) ~ Ar(0, Q)
(3.27)
y(k) = Cx(k) +vor(k)
Vwhite(k)
(3.28)
+ Vwhite(k)
(3.29)
~ A(0, N)
Vcor (k) = Mn(k - 1) + n(k)
n(k) ~
(3.30)
(0, R)
(3.31)
Note that the noise component has been decomposed into an uncorrelated part
Vwhite
and a time-correlated part Vco,. In this formulation, the measurement equation
y(k) must be rewritten such that measurement noise is white and uncorrelated with
time. It can be shown that this can be expressed as:
y(k) = CcorX(k) + ncor(k)
where Cco, and
(3.32)
ncor (k) are given by:
Cco, = C - MCA 1
(3.33)
ncor(k) = MCA-Bw(k - 1) + n(k
where
(.) T
-
1) + Vwhite(k)
-
MVwhite(k -
1)
(3.34)
denotes the transverse of the inverse of matrix (.).
With w(k - 1), n(k - 1),
Vwhite(k) and vwhite(k -
uncorrelated with each other,
related with time,
ncor ,
1) all assumed to be white and
ncor(k) becomes a white noise process that is uncor-
~(0,
Rcor). The covariance matrix for measurement noise
ncor(k) is given by:
Rcor =
=
E [ncor(k)nc.r (k)T]
R + N + MNMT + MCA-BQBT A -T
0
MT
Measurement noise is now a function of process noise at the previous time step.
62
The correlation between measurement and process noise is given by:
Hor = E [w(k - 1)vor(k)T]
(3.36)
= BQBT A-TCTMT
The standard Kalman filter propagation equations are used
[45]:
(kjk -- 1) = A±(k - 1)
(3.37)
P(kk - 1) = AP(k - 1)AT + BQBT
(3.38)
Using Equations 3.33-3.38, the Kalman filter update equations at time k are given
by:
K(k)
[P(klk - 1)Cr + Hcor] ,
[Clo,.P(k k - 1)Co, + Reor + CcorHeor + HL
;CL ,]
±(k)
(kjk
P(k)
P(klk
-
1) + K(k) [y(k) - Ci(k k - 1)]
(3.39)
(3.40)
-1)-
K(k) [CcoP(klk - 1)C a,.+
Re,, + CcorHco, + HcjrCr,] K(k)T
(3.41)
3.3.4
Kalman Filter for Quantized Measurements
The standard Kalman filter formulation must be modified to account for quantization
of altitude measurements as described in Section 3.2.3. The approach of Duan et al.
is used to achieve this [17]. It is assumed that all system matrices are time-invariant.
The system formulation in Equations 3.14-3.17 are modified to include quantized
63
measurement error:
x(k + 1) = Ax(k) + Bw(k)
(3.42)
w(k) ~ K(O, Q)
(3.43)
y(k) = Cx(k) + v(k)
(3.44)
y1(k)
=
Qy[y(k)]
(3.45)
All that that can be inferred from a quantized measurement yq(k) is that the true
measurement y(k) E
Y,
where:
Y = {y(k) E R : a(k)
y(k) < b(k)}
(3.46)
The following notation is defined to refer to observed quantized measurements:
Yk= {a(k) < y(k) < b(k)}
(3.47)
yk
(3.48)
{y
y
yk}
The standard Kalman filter propagation equations are used, as per Equations 3.373.38. If the true measurement y(k) was available, the update equation would be given
by:
K(k) = P(klk - 1)CT [CP(klk - 1)CT + R]
(3.49)
J*(k) = E [x(k)|Yk, y(k)]
= i(kjk - 1) + K(k) [y(k) - AP(kjk - 1)]
P*(k) = E [(x(k) -
j*(k))(x(k)
- i*(k))
T
yk-1, y(k)]
= [I - K(k)C] P(klk - 1) [I - K(k)C] T + K(k)RK T (k)
64
(3.50)
(3.51)
With quantized measurements, the update equations are:
: (k) = E (x(k) lYk]
= E [E [x(k) yk-1, y(k)] |yk]
= :(k k - 1) + K(k) [(k) - Ad(kjk - 1)]
P(k)
(3.52)
E [(x(k) - ii(k))(x(k) - :(k))f|Yk]
= E [E [(x(k) - 7(k))(x(k) - i(k))T |Yk] |yk]
(3.53)
P*(k) + K(k)cov (y(k)) KT(k)
where
Q(k)
Jb(k)
E [y(k)Yk
Ib(k)
y(k)p (y(k) Yk) dy (k)
(3.54)
y(k)y T (k)p (y(k)IYk) dy(k) - Q(k)Q T (k)
(3.55)
a(k)
The integrals in Equations 3.54-3.55 can be approximately calculated by numerical
integration. First, the propagation equation for the estimated true measurement, and
iassociated covariance, are calculated:
(3.56)
Q(kjk - 1) = C.(kk - 1)
S(k) = CP(klk -
1
)CT
(3.57)
+ R
The upper and lower bounds of the true measurement y(k) are inferred from the
quantized measurement yq(k) such that y(k)
65
E [a(k), b(k)). This is partitioned into
L segments of equal length such that:
L
U
1 (k),
[a-
ai (k))
=
[a(k), b(k))
j=1
a - 1 (k), ai(k)) n [a- 1 (k), a'(k)) = 0,
=
j: t
L,
= b(k) - a(k)
a3(k) - a'-1 (k)
ao(k)
j, t =1
L
aL
a(k),
j
The center of partition
is given by:
a (k) +2ai- 1 (k)
.
(3.58)
g\J)
-2
The normalized probability that y(k) is in partition
P{aj1 (k) < y(k) < a(k)} =
I a(k)b(k) p (y(k)yk)
p [g (J)|Y (k)]
i
[-!
(g
dy(k)
b(k) -a~k
L
(g (j) -
exp [-'
is approximately given by:
L(k)-Lask)
j=1 [g (j)JY (k)]
exp
j
(j)
Q(k~k -
1))T S- 1 (k) (g
(j)
-
Q (k~k - 1))
Q (k~k - 1))T S- 1 (k) (g (j)
(k(k - 1))5
(3.59)
=P(j)
Using the approximation in Equation 3.59, the estimated true measurement and associated covariance in Equations 3.54-3.55 are approximately given by:
L
Q (k) ~~
P(j)g(j)
(3.60)
j=1
L
cov (y(k)) ~
3 P(j)g(j)g
T
(j) - Q(k)QT(k)
j=1
66
(3.61)
3.3.5
Aircraft Hybrid Model
Aircraft are modeled using a stochastic linear hybrid model as defined in Section 3.3.1.
The model selected is based on that proposed by Seah and Hwang [54].
Mode Transition Model
Maneuver modes as defined in Section 3.1 are mh(k) E {CV, CT} in the horizontal
plane, and m,(k) E
{CH, CD} in the vertical plane. Vertical and horizontal modes
are considered to be independent of each other. Mode i, j E
{CV, CT} or {CH, CD}
are represented by Markov transition matrices for horizontal and vertical modes [54]:
0.9
Hh=
0.1
,
U
=
0.95
0.05
0.05 0.95
0.1 0.9
Aircraft Dynamics
Aircraft dynamics are given in discrete time by:
(3.62)
x(k + 1) = Aix(k) + Biw(k)
w (k) ~ AI(0,
where subscript
Qj)
(3.63)
i denotes the horizontal or vertical mode the aircraft is in at time
k. Process noise w(k) captures both noise due to external disturbances and control
inputs, as the input vector is not observable. Each mode corresponds to a set of LTI
matrices Aj, Bi,
Qj.
Process noise values are selected to obtain mode transition prop-
erties representative of GA aircraft, as shown in simulation results in Section 3.4.2.
CV horizontal mode is modeled as a white noise process with near constant velocity
67
in both horizontal axes, with system matrices:
10T
0
01
0T
0 0
1
T
00
0 7
00
0
0
2
0 0
T
0
,QCv
0
0
1
0
0
0
T
0 0
0
0
0 0
1
0
0 0 0
0
0 0
0
1
0
[0.52
=-
BCv
,
0
[ 0 0.52
1
(ms)
CT horizontal mode uses a Wiener-sequence acceleration model, with system matrices:
1
0 T
0
T2
0
T2
0
0
1
0
T
0
02
0
7
0
0
1
0
T
0
T
0
0
T
ACT
,
BCT
QCT=
=
0 0 0
1
0
T
0 0 0
0
1
0
1
0
0 0 0
0
0
1
0
1
(m/s2)
-0
32
CH vertical mode is modeled as a white noise process with near constant altitude,
with system matrices:
ACH=
0
,
BCH:=
,
0
QCH
=1(m/s
2
)
2
0
CD vertical mode is modeled as a white noise process with near constant rate of
change of altitude, with system matrices:
ACD=
,
0
11
BCD
=
[
QCD
68
=1(m/s
2
)
2
2
Measurement Model
Measurements are independent of mode, and are provided by ADS-B as presented in
Section 3.2. As described in Equation 2.21, measurements in discrete time are given
by:
(3.64)
y(k) = Cx(k) + v(k)
where y(k) is the measurement vector at time k and v(k) is the process noise at time
k. Measurements in the horizontal and vertical plans are considered independently
of each other, though they are received at the same time. The measurement matrices
in the horizontal and vertical planes are given by:
1 0
Ch =
0 0 0
0
0 0 1 0 0 0
0
0
0
1
0
,
CV
[
0
0
In the horizontal plane, time-correlated measurement noise is given by:
cork + vwhit(k)
Vh(k)
=
- Vwhite(k)
(3.65)
nh(k) ~ jV(0, Nh)
(3.66)
AV(0, Rh)
(3.67)
Vivhite(k)
where
Mhnh(k - 1) + nh(k)
Mh
~
is the transition matrix for time-correlated measurement error, nk is the
white component of time-correlated error, and
69
Vwhite
is the white component of un-
correlated error. Mh, Nh and Rh are given by:
apos
0
0
0
0
ave
0
0
Mh(k)
,
0
Rh(k) =
3.3.6
Nh(k)
=
o-uOs
0
0
0
0
2-el
0
0
0
0
apos
0
0
0
2
0
0
0
0
ave
0
0
0
avel
0
0
0
0 0.62
0
0
0
0
0
0
0
0
0 0.62
IMM Implementation
An IMM is designed using the aircraft hybrid model parameters, and the performance
evaluated by long-term simulation of an aircraft performing a sequence of maneuvers
including turns, airspeed changes, climbs, descents, and a full stop landing. Measurement noise is assumed to be at the worst-case limits of the NACp and NACv
requirements.
For position measurements, the long time constant for time-correlated error means
that measurement error does not change significantly between time steps. This is because there is not significant information added to the filter at each measurement.
Therefore, error in position measurements evolve as a slow random walk. The correlated measurement Kalman filter formulation ensures that the calculated covariance
accounts for this. This can be seen for position measurements in Figures 3-5. Steadystate covariance is approximately 12.3 m, which agrees with the radial error from
Section 3.2. On the other hand, the combination of position measurements with velocity measurements allows more accurate estimation of velocity. This is because the
error between successive position measurements is relatively small.
Non-zero covariance is chosen for uncorrelated error in velocity measurements to
act as an artificial noise source. Without this, uncertainty in estimates of velocity is
too optimistic, as shown in Figure 3-6. This results in inaccurate velocity estimates
70
-
50
Position Error - North
..
---
40
-----
Position Error - East
-- Error
50
1oBound
40
--------...
30
-...
30
20
20
10
10
E
L, 0
0
t:
W -10
EJ 0
-10
-
- ---
1000
1200
-
-20
-20
-- - -
-
-30
--
-
-30
----
- - - ---
-40
-40
1000
800
600
Time (s)
400
200
0
0
1400
1200
200
400
800
600
Time (s)
1400
Figure 3-5: Error and Standard Deviation for Horizontal Position
Velocity Error - East
Velocity Error - North
5
-
Error
1 Bound
--
4
--
3o bound
3
4
3
2
2
1
-
-
-E
0
0
2 -1
uj-1
2
-2
-3f
-
-4
800
600
Time (s)
400
200
0
1000
1200
0
1400
200
400
600
800
1000
1200
1400
Time (s)
Figure 3-6: Error and S.D. for Horizontal Velocity, without Uncorrelated Noise
Velocity Error - North
-
---.
4
- -.--.-
Error
1 Bound
--3a bound
Velocity Error - East
4-
L.L.UA
3
2_
2
0..
0-u~j
ui
-1
2
-2
rl-
-
-3
43
-4 - -.
0
200
-.
400
800
600
Time (s)
1000
1200
0
1400
200
400
800
600
Time (s)
1000
1200
1400
Figure 3-7: Error and S.D. for Horizontal Velocity, including Uncorrelated Noise
71
that frequently exceed the 3- bounds, with significant time correlation. With artificial
uncorrelated noise included, as shown in Figure 3-7, more realistic uncertainty is
computed. Error in velocity estimates are now bounded more accurately. The effects
of time correlation are also less pronounced. Measurement error for altitude is given
by:
v (k) = vz(0) + Vwite(k)
Vwhite
(3.68)
(3.69)
(k) ~ A(0, Rv)
where v,(0) is constant error, calculated using Equation 3.13. Rv is chosen to be 2
In 2 .
Altitude measurements are quantized according to:
yV (k)
=
(3.70)
Qy[yv(k)]
where Qy(-) is a function that quantizes measurement yv(k). Values for all measurement parameters are listed in Table 3.1.
3.4
Maneuver Mode Estimation
The posterior mode probabilities calculated in Equation 3.23 are used to estimate
the maneuver mode at each measurement, and to detect when a transition between
modes occurs. The simplest approach is to simply choose the mode with the highest
probability at time k as the current mode estimate:
rn=(k) = arg max pj (k)
(3.71)
However, this approach is very sensitive to measurement and process noise.
This
results in a high rate of false alarms in detecting mode changes. Instead, the cumulative sum (CUSUM) hypothesis test of Jilkov et al. is used to obtain higher mode
estimation accuracy [26]. The integration of the IMM with the CUSUM hypothesis
test allows accurate detection of change in mode. The position and time that a mode
72
Algorithm 1: Mode Change Point Detection
Input: Mode probabilities uy(k), state estimate ±(k)
Output: MCP ym(kc) = (n(kc), i (kc))
Persistent: CUSUM statistic S, maximum CUSUM statistic Sma,
1: S(0), Smax <-
0
2: n(0) <- arg maxj pj (0)
3: for k =1, 2,... do
4:
Calculate CUSUM statistic S(k)
5:
if S(k) > Smax then
S(k)
Smam
6:
7:
<(kc) < i(k)
8:
end if
9:
Hypothesis test on S(k), Smax
if Ho rejected then
10:
11:
S(k) <- 0
12:
return MCP ym(kc) = (n(kc), z(kc))
end if
13:
14: end for
change occur at are a mode change point (MCP). The algorithm for MCP detection
is presented in Algorithm 1. Input to the algorithm is the mode probabilities and
state estimate from the IMM algorithm. If an MCP is detected, output is the estimated state, mode and time of the MCP, denoted ym(kc) = (K(kc),J4(kc)). There is
no output if an MCP is not detected. Algorithm
1 executes in constant time at each
time k.
3.4.1
CUSUM Mode Estimation
Steady-state mode is denoted mj,, and the start time for this mode is denoted k,.
The initial steady-state mode is determined using Equation 3.71. A change in mode
is detected using the hypotheses:
Ho = {m= m, V ks, k. + 1, ... ,k}
(3.72)
mj, V k,, k+1,.... , k}
(3.73)
Hi ={m
73
where k, E (k 8, k] is the unknown time that the mode changes, to be estimated. It
is assumed that there are no mode changes in the interval (kc, k]. CUSUM statistics
are recursively computed from time k, for k > k,:
S(k,) = 0
(3.74)
S(k) = S(k - 1) + pj(k) - Aj,
(3.75)
where pj, (k) is the probability that steady-state mode mrn
is in effect at time k, and
Ae, E (0, 1) is a sensitivity parameter. The decision rule for testing the hypotheses is:
Reject HO
if S(k) -
(3.76)
max S(r,) < -y,
where rj, is the decision threshold for a change from mode mj.,. When a model change
is detected by Equation 3.76, the time the mode changed kc is estimated as the time
the maximum CUSUM statistic value occurred:
(3.77)
k, = arg max S(K)
k,<r,<k
Since only two modes are possible in vertical and horizontal directions, the new
steady state mode is simply the complement of the previous mode. The estimated
state at the mode change is the corresponding state estimate, -(k,).
If a mode change
is not detected, then the updated mode estimate is does not change from the previous
estimate:
rin(k) = rn(k - 1)
(3.78)
Design parameters for this algorithm are sensitivity parameter
Aj., and decision thresh-
old rj,. As Aj, increases, the algorithm becomes more sensitive to mode changes. Increasing
rj, leads to an increase in the number of measurements required to recognize
a mode change. Selection of these parameters is discussed in Section 3.4.2. At the
74
1
limit pJs
(k) -+ 0, Equation 3.75 simplifies to:
(3.79)
S(k) = S(k - 1) - Aj,
This is the maximum rate of decrease for S(k).
Assume that max (S(k)) occurs at
time k = ko, and that the limit in Equation 3.80 holds for k > ko.
Then S(k)
will strictly decrease with time. There is a therefore a lower limit to the number of
measurements Ny required to recognize a mode change, given by:
min Ny =
(3.80)
A.Th
Conversely, if p(k) > Aj,
2
then the CUSUM in Equation 3.75 is strictly non-
decreasing. Therefore, the CUSUM is diverging from the threshold -rj,
and an MCP
will not be detected. This is the desired behavior, as a mode change only occurs when
p, (k) is sufficiently small over multiple observations.
3.4.2
Design Parameter Selection
The design parameters for Algorithm 1 are the decision threshold Tj, and sensitivity
parameter A7 , for each mode. These are evaluated for the IMM filters described in
Section 3.3.5, assuming worst-case measurement noise at the limits of the NACp and
NACv requirements.
Mode Change Threshold
To ensure that the algorithm is able to recognize short-duration maneuvers, the mode
change threshold rj, for all modes is chosen to be:
(3.81)
Tj, = 3Aj,
With this threshold, the theoretical minimum time to detect a mode change is
3 measurements, as shown in Equation 3.80. Due to measurement noise, the limit
75
Airspeed 100 knots
Airspeed 50 knots
0 ..
0-05
U8
04
08
06
03
063
01
020
0.2
-.-.
040
1
0
3
Turn Rate (deg/s)
5
02
10
6
04
-.-.-
5
4
3
Turn Rate (deg/s)
6
Figure 3-8: Coordinated Turn Mode Likelihood Statistics
1pt (k)-
-
0 is highly unlikely to be achieved, so the practical minimum time to detect
a mode change is 4 measurements.
Horizontal Modes
In the horizontal plane, an aircraft in CV mode has approximately constant airspeed
with zero turn rate. In CT mode, the aircraft changes heading with non-zero turn
rate. In Figure 3-1, expected turn rate is in the range ±7 deg/s. A pilot deliberately
changing heading will usually choose turn rate in the range 1.5-4.5 deg/s, with a
standard rate turn being 3 deg/s.
Turn rate is a ratio of the two components of horizontal acceleration.
For a
constant rate turn at constant airspeed, it can be deduced that the magnitude of the
horizontal acceleration decreases as a function airspeed. Hence, the mean probability
of being in CT mode also decreases as a function of airspeed. Figure 3-8 shows this
effect.
Turns at low speed are therefore more difficult to detect.
Parameters are
selected for an aircraft at 50 knots, which is near stall speed for typical GA aircraft.
This ensures that turns at higher speeds will also be detected with at least as much
certainty as at 50 knots. A pilot may also change the airspeed of the aircraft with
2
longitudinal acceleration, in the range ±2 knots/s (approximately t1 m/s ).
76
The goal for turn detection is to minimize the time required to detect a true
mode change, while minimizing the probability of a spurious mode change during a
maneuver. Specifically, at 50 knots a standard rate turn should be detected within
10 observations, corresponding to a 300 course change. The end of the turn should
not be detected until turn rate is less than 1.5 deg/s. False mode change detections
(to CV during a turn, or to CT during straight and level flight) should be minimized.
Steady-state characteristics of the algorithm in a constant rate turn are assessed
by a 10,000 second simulation of an aircraft at constant airspeed. Figures 3-9 and 3-10
show the average time to detect a mode change for different values of the sensitivity
parameters Acv and ACT at 50 knots and 100 knots, respectively. In each figure, the
left plot shows the average time taken to detect CT mode at the start of a turn, while
the right plot shows the average time to detect CV mode at the end of a turn.
To achieve the design goals at 50 knots, Acv > 0.65 and
ACT
< 0.3 should be
chosen. At 100 knots, both the start and end of a turn is detected at a lower turn
rate. The minimum time to detect a mode change given sufficiently high turn rate is
4 measurements, as expected.
Classifying longitudinal acceleration in CT mode results in the false detection of
the start of a turn. The goal is to remain in CV mode for acceleration of up to 2
knots/s. Steady-state characteristics of the algorithm in constant acceleration are
assessed by a 5,000 second simulation of an aircraft in level flight. Figure 3-11 shows
the average time required to detect a change to CT mode for different values of the
sensitivity parameter Acv This shows that for any AcV < 0.9, more than 25 seconds
of prolonged acceleration is required for a mode change to occur at 2 knots/s. This is
highly unlikely, as this would cause the maximum speed of the aircraft to be exceeded,
or a stall to occur.
Using values Acv = 0.7 and
ACT
=0.3, the mode change estimation performance
evaluation is evaluated by Monte Carlo simulation of an aircraft at 50 knots performing the maneuver sequence CV-CT-CV, with 20 seconds in each phase. Different turn
rates are evaluated for the CT phase, with 200 simulations of each turn rate. This
trajectory is shown in Figure 3-12.
77
Mode Change from CT to CV
Mode Change from CV to CT
20-
20
18-
18
16-
-
-
-
14-
--
-
12
0 10
2 10
-...-.-...-.
E8
I-
8 -
CT-=0
-
14
..........-.
2 12
-
0.63
~
. ~c=0
CT
16
9
0
=0 9
-- -
--
-.-.-.-.--
---
6
6
<4
<4
2
2
02
25
3
0
5
4.5
4
3.5
Turn Rate (degis)
35
3
2.5
2
15
Turn Rate (degls)
1
0.5
4
Figure 3-9: Average Time to Detect Horizontal Mode Change - 50 knots
Mode Change from CT to CV
Mode Change from CV to CT
20
20
18
16
14
12
18
Cv0.6
16 -
cv=.9
-----
--
-
- v=03
CT
03 14
-xA
. .
=0 6
.......
6
-7LC=0g9CT
12 - -
..
.....-.
OT
-.
-.-.
-
- -
.
0 10
0 10
. . .- .. . . . .
-.
E
8
6
2)
>4
2
1
1.5
2
2.5
3
Turn Rate (degls)
35
0
4
0.5
1
Turn Rate (deg/s)
15
Figure 3-10: Average Time to Detect Horizontal Mode Change - 100 knots
78
2
Mode Change from CV to CT
...
...
..
..
...
...
..
....
...
....
..
....
..
..
..
..
..
....
..
..
..
...
......
-7L
=0
.............:..............
....
.....
CV 3
.............................
........ .....
c v=0.6
50
45
cn
40
X OV=0.9
35
..... ....................
..............
30
.....
.........
............
.
...
..
...
...
.....
....
....I...
..
..
..
..
...
.:...
...
...
..
...
..
..
.:........ ..
...
....
....
25 ...
...
......
:
...
...
..
..
.....
...
..
...
..
...
....
..
...
....
....
..
...... ..
..
.....
....
..
E 20
........
.........................................................
...
V) 15
.......
...
.........
..
....
..
.....
...
..
..
...
...
..
....
....
..
.....
....
..
...
.. ...
...
10 ....
..............
.......................................I..
5
n
3
2.5
2
1.5
1
Acceleration (knots1s)
0.5
0
Figure 3-11: Average Time to Detect Mode Change - Longitudinal Acceleration
900
800
.. .. .. .. .. .. .. .. .. .. . .. .... . .. ... . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . ... . . . . . . . . . ... . . . . .
....
. . .. .. .. .
700
. ...
.. .. . ..
600
.. .. . .. .
. ... . .. .. . . .. .. .. .. . . .. .. .. .. . .. . .. .. .. . ...
.. ...
.. .. ... ..... . .. .. .. .. ...
.. .. . .. . .. .. .. . . .. .. . .. . .. ...
.. .. .. . .. .. .. . .. .. .. ..
0
z
.. . .. .. .. . ..
400
.. . .. ..
.. .. .. . ...
.. .. .. . .. .
. .. . ... . .
.. .. .. . .. .... . .. .. .. .. . .. .. .. . .
... .. .. . .. ... .. . .. . .. .. . .. .. .. . .. .. .. . . .. .. ...
300
200
.. . .. .. ..
...
.. .. .. .. .. .. .. .. .. ....... .. .. .. ...... .. .. .. ...... .. .. .. . ...
. . ...
500
.. .. .. .. .. .. .. .. .
100
. .. .. ... .. .. .. .. . .. .. . .. .. . .. .
.. .. .. .. ... . .. . .. .. ... .. . ... ... .
0
100
200
300
. .. . .. ..
.. .. . ....
500
400
East
.
. .. ....
. .. .. ..
600
I... . .. .. .. . . .. .. .. . ..
. . .. .. .. .. .. .. .. .. . -
700
Figure 3-12: CV-CT-CV Flight Profile
79
800
900
1
09 -
.......................
TPR
F PR
..............
.................
..............
0 .8 - .- ........... ......... ....... ........... ....................... .................
..............................
0 .7 ................ - ............... ....... ........
..
.....
...
..
...
..
....
...
...
..
...
..
..... ..
.
...
...
..
....
..... ..
..
....
...
c 0.6 ........ ..
..............
(D 0 .5 .................
............... .................. ................
.............
I............. .................. ....
0 .4 ................. : ........ ........ ...
0 .3 ................. .............. ............................ .......... ......... .........
...... ........I..................- .................
....
0.2-- .................
...........
0 .1 ................. ..... ................ ...................... ...... ...
00
3
2
Turn Rate (degIs)
1
4
5
Figure 3-13: Horizontal Mode Change Detection Probability - 50 knots
1 4 ................. .............. ................ ..................... ......... .........
CV-CT
CT-CV
......
E 1 2 ............ ........................ .............
CL
E
U)
......
................
...........
....
1 0 .......... ..
...........
8 ................
..........
6 ......... ....... ..
.................
...........
......... .................
4 ........... ....... ...................... ...... ...... ........................... ...... ...
>
..
.
...
. .. ....
...
.......
..
2 .........
0
1
3
2
Turn Rate (deg/s)
...
..
...
..
..
...
.. ..
..
..
...
..
4
5
Figure 3-14: Horizontal Error in Estimated Mode Change Time - 50 knots
80
Figure 3-13 shows the true positive rate (TPR) and false positive rate (FPR)
for detecting the two mode changes. A true positive occurs when a mode change
is correctly detected, and a false positive occurs when a mode change is incorrectly
detected when no change has happened. The probability of detecting a standard rate
turn is approximately 0.95, while the probability of detecting a slow turn of 1 deg/s
is less than 0.02. The crossover point at which a turn has an a 50% chance of being
detected is approximately 2.1 deg/s at 50 knots. The probability of falsely detecting
a mode change is close to zero at any turn rate.
Figure 3-14 shows the mean error in the estimated time that each mode change
occurred. The error in the estimated start time of the maneuver (CV-CT) is less than
2.5 seconds for all turn rates greater than 1 deg/s. Error in end time (CT-CV) is up
to 14 seconds for a slow turn, but less than 2 seconds for a 2 deg/s turn or higher.
The MCP detection algorithm therefore detects a standard rate turn at 50 knots with
high probability, and with low error in the estimated mode change time.
Vertical Modes
In the vertical plane, an aircraft in CH mode has approximately constant altitude
with zero vertical speed. In CD mode, the aircraft climbs or descends with non-zero
vertical speed. In Figure 3-1, expected vertical speed is in the range ±1000 fpm.
Most GA aircraft are capable of climbing with vertical speed of least 500 fpm.
As for horizontal maneuvers, the goal for vertical maneuvers is to minimize the
time required to detect a true mode change, while minimizing the probability of a
spurious mode change during a maneuver.
Specifically, a climb or descent at 200
fpm should be detected within 15 observations, corresponding to a 50 foot altitude
change. The end of the climb or descent should not be detected until vertical speed
is less than 200 fpm. False mode change detections (to CH during a climb or descent,
or to CD during level flight) should be minimized.
Steady-state characteristics of the algorithm in a constant rate climb are assessed
by a 10,000 second simulation, resetting the mode estimator each time a change is
detected. Figure 3-15 show the average time to detect a mode change for different
81
Mode Change from CD to CH
Mode Change from CH to CD
20
20
18
16
-
0.
-
=0
18
0~
(9
14
12
16
....
..
-- ...
14
a)
a)
12
C
a)
10
-..- ..
-
C
10
O
-XC
E 8
a)
a)
a)
6
4
01
0
CD
200
600
400
Vertical Speed (fpm)
800
1
0
1000
=09
-X
2
2
50
150
100
Vertical Speed (fpm)
200
250
Figure 3-15: Average Time to Detect Vertical Mode Change
values of the sensitivity parameters ACH and ACD. The left plot shows the average
time taken to detect CD mode at the start of a climb or descent, while the right
plot shows the average time to detect CH mode at the end of a climb or descent. To
achieve the design goals of detecting a mode change within 15 observations, ACH > 0.3
and ACD < 0.6 should be chosen.
Choosing values ACH = 0.5 and ACD
- 0.6, the mode change estimation perfor-
mance evaluation is evaluated by Monte Carlo simulation of an aircraft performing
the maneuver sequence CH-CD-CH, with 20 seconds in each phase. Different climb
rates are evaluated for the CD phase, with 200 simulations of each climb rate. This
trajectory is shown in Figure 3-16.
Figure 3-17 shows the TPR and FPR for detecting the two mode changes. The
probability of correctly detecting a climb or descent at 200 fpm or greater is close to
1. The probability of falsely detecting a mode change is close to zero for any vertical
speed. Figure 3-18 shows the mean error between the estimated and true time each
mode change occurred. This shows that a mode change for vertical speed less than
150 fpm is unlikely to occur. The error in the estimated start time of the maneuver
is less than 3 seconds for vertical speed greater than 200 fpm. Error in end time
estimation is less than 2 seconds for any vertical speed.
82
10 0 ............
.....................................
.....
................................
..
go- .........................I.................
..
..
.
...
..
...
...
....
...
...
..
....
. ...
..
...
...
..
8 0 ................. ............. ..
7 0 ........................................... ........ .......... ......................
a)
42
................ .................................
6 0 ................. .........
...
.....
...
..
..
....
...
..
..
..
..
...
...
...
.....
....
...
...
....
...
...
..
...
...
50 ....... ...
4 0 ..................................
......
................. .........
I............. ..............
..
3 0 ................. ........... ...... ................ ..
............................................................
.
2 0 ......... ..... ..........
1 0 ................. ..... ............ ................
.....
...
....
...
......
..
...
....
..
..
.....
...
...
...
...
...
....
..
...
..
0r
50
40
30
20
10
0
Time (s)
Figure 3-16: CH-CD-CH Flight Profile
.................
0 .9 --
.............
...
.. ................. ....
...
..
....
....
...
....
....
...
...
0 .8 ................. ....... ........ .................................
2
TP R
FPR
.......
0 .7 ...........................................
...
..
.
..
...
...
...
...
..
....
..
.....
...
..
..
..
..
..
..
..
....
..
...
...
0 .6 ........
0
. ...
...
..
..
...
...
..
...
...
I..
...
..
..... ....
...... ...
........
a) 0 .5 - .- ...........
(D
Q
0.4 ........
........ .................... ........ ........................
... ....
.
.....
...
..I..
..
...
...
...
...
0 .3 --....
0 .2 ................ .........
..
..
....
....
....... ..
..
..
..
.....
........
..
...
...
..
....
..
...
...
....
..
0 .1 ................. ................................ ............................. ........
01
0
100
300
200
Vertical Speed (fpm)
400
500
Figure 3-17: Vertical Mode Change Detection Probability
83
5-(D
- -..
...- -...- ..- -..-.
.-.
.-..
-...
................- - .-..-- - - .
-- CH-CD
4.5
E
4
ICL
3.5
CD
-DC
3
---- ...
-..
-.
E
rLn
2.5
LU
0
.-..
-. -.-.-.-.--..-- - .-.- -........
-.
.........
- -.--.........
2
4
........
- ---.. ---.--.-.-- .............
--.-.
- -........ ..-- .-.-- - .- - --.
- -.-.
--
-..
............ - -..
......
1.5
)
1
0.5
0
0
200
400
600
Vertical Speed (fpm)
1000
800
Figu re 3-18: Average Error in Estimated Vertical Mode Change Estimated Time
0.35
CL
E
0.3
MCPD
Max Likelihood
LO
025
0.25
-.
.....
Z
0.2
0.3
--
E
-
-.
...........
0
...........
MCPD
-- axLikel hood
0.35
-
..............
....
.........
~...
.~ ~
..
C 0.15
0
...
-..
.-.........
~- 0.5
......
C-
-.. ....
-. ........
0.1
......
.. -..
-.
-....... .
a)
0
.. .....
-~0.05
0)
0
1
2
3
Turn Rate (deg/s)
4
0
5
100
200
300
400
Vertical Speed (fpm)
Figure 3-19: MCP Detection Algorithm Performance
84
500
600
Mode Change Detection Performance
The performance of the MCP detection algorithm at steady-state is evaluated against
the maximum likelihood mode estimation criterion in Equation 3.71 in Figure 3-19.
This is simulated over 10,000 seconds for an aircraft at 50 knots and with constant
turn and climb rate. This shows that the MCP algorithm is significantly less likely
to falsely detect a mode change for any maneuver type. In particular, the maximum
FPR for the MCP detection algorithm is less than 0.03 in both horizontal and vertical
planes, in contrast to greater than 0.25 for the maximum likelihood criterion. The
design goals of the problem statement are met for the MCP detection algorithm.
3.4.3
Summarized Design Parameters
Design parameters for the mode estimation algorithm are listed in Table 3.2.
Table 3.2: Mode Estimation Algorithm Design Parameters
Parameter
CV Sensitivity Parameter
CV Mode Change Threshold
CT Sensitivity Parameter
CT Mode Change Threshold
CH Sensitivity Parameter
CH Mode Change Threshold
CD Sensitivity Parameter
CD Mode Change Threshold
3.5
Symbol
Acy5
TOC,
AcT,
TOT,
ACH
TCH
ACD
TCD
Value
0.7
3 x Acv
0.3
3 x ACT
0.5
3 x AcH
0.6
3 x ACD
Sample Estimation Performance
A sample terminal trajectory is considered, as shown in Figure 3-20.
The aircraft
in this trajectory enters the left downwind leg with a standard 450 entry, executes a
missed approach, and performs a full stop landing after flying the traffic pattern. The
performance of the IMM algorithm and the mode estimation algorithm are shown in
Figures 3-21 and 3-22.
85
Ground Track
-
~non
1000
...
.
.....
..
0 --.
-
-500
..
..
..
...
..
800
...
... .......
.....
....
......
..
1000
0
900
. .......
.............
700
.....
~..
.~.....~....
...
........
- ....... -.
1500
a)
00
....... ..........
-.
100
300
......................-. ......
.2000 .
z -2500
..
...... ....... ....
....
............
-3000
-3500-3000
..... ....... .....
........ .................... ....
1
........ ....
200
100
4000
3000
2000
1000
0
-1000
-2000
....
...
...
........ .......
.......
East-West Position (m)
Figure 3-20: Sample Terminal Trajectory
Velocity Error - North
Posi on Error. North
50-
0
0
5 -
Ld
50
600
400
200
Time (s)
Positios
800
Error
1000
1200
0
1400
200
600
400
Time s
st
1000
1200
1400
1200
1400
Velocity Error - East
1 -
50-
800
"'------------
0
-----
-51
0-
0
-----------------B0
600
400
200
Time (s)
1000
1200
0
1400
200
400
600
800
1000
Time (s)
Velocity Error - Vercal
Position Error(eocluding constantr error). -0Alitud
200
400
5100-
200
-400
0
200
400
00
000
10,00
12,00
-6000
14100
200
400
600
Time (s)
Timeo (s)
---
Bound
3a bound
1o
Figure 3-21: IMM Performance
86
800
1000
1200
1400
Lateral Maneuvers
350 -
-
-Headmng
300
-
--
MCP (CT)
I
-
-I
-- MCP (CV)
250 200150 100 -
-
t
50
200
0
400
600
II
800
1000
1200
1400
800
1000
1200
1400
Time (s)
Vertca Maneuvers
3000
2500 2000 1500 1000
-
5 --- --
A lude
MCP (CD)
- MCP (CH)
200
0
400
600
Time
(s)
Figure 3-22: Mode Estimation Performance
In the top four plots of Figure 3-21, the IMM performs as expected for time
correlated measurements.
In the bottom two plots, the influence of quantization
on vertical position and velocity estimates can be seen.
For position, covariance
remains relatively constant, but does provide much greater confidence in estimates
than the quantization step size of 25 feet. In level flight, vertical speed error is close
to zero while altitude error remains constant within the bounds of the quantization.
In a climb or descent, both error and uncertainty in vertical speed grow but remain
bounded within approximately 300 fpm on average. Note that the constant error in
altitude measurements is not considered here, as no information about this error is
contained in the measurements. Constant altitude error has no impact on velocity
estimation.
In the top plot of Figure 3-22, it can be seen that a mode change is correctly
predicted at the start and end of each change of heading, corresponding to a turn. It
is clear that the flight is predominantly in CV mode, with short periods in CT mode.
Of note is the final mode change to CT mode at approximately 1360 seconds. This
corresponds to the rapid deceleration associated with the full stop landing.
In the bottom part of Figure 3-22, it can be seen that a mode change is correctly
87
predicted at the start and end of each change of altitude, corresponding to a climb
or descent. in contrast to the horizontal case, segments in CD mode are much longer
than segments in CT mode as a result of the time needed to reach the desired altitude,
though the predominant mode is still CH for the majority of the flight. Of note is
the segment from approximately 410 seconds to 600 seconds, in which the aircraft is
in a slow descent but is classified in CH mode. This behavior is expected, since the
vertical speed in this segment is less than 100 fpm.
3.6
Conclusion
The IMM and MCP estimation algorithms described in this chapter have been shown
to provide good estimates of the state and mode of a maneuvering aircraft from ADSB measurements. This represents the aircraft maneuver elements in the bottom layer
of the hierarchical intent model in Figure 2-4. State and mode estimates are used to
estimate the trajectory of an aircraft and to accurately divide it into maneuvering
and non-maneuvering segments. The algorithms presented in this chapter are used
for learning and predicting the navigation intent and behavior of the pilot, described
in Chapters 4-5.
88
Chapter 4
Learning the Navigation Model
Central to inferring the intent of a pilot is the navigation model. This is a novel
representation of our knowledge of the maneuvers that we expect to observe based
on prior observations of aircraft trajectory. The navigation model contains elements
that form the navigation intent n(k) and pilot goal g(k) of the hierarchical intent
model in Figure 2-4.
This chapter describes the elements of the navigation model, defines the learning
problem for identifying the parameters of the navigation model, and then presents
methods to learn the model using observations of aircraft state. The navigation model
is used for predicting pilot behavior in Chapter 5.
4.1
Navigation Model
The navigation model represents prior knowledge of aircraft motion patterns. It models all locations in the region of interest X that an aircraft could maneuver at, either
by changing heading in a turn or by changing altitude by climbing or descending. If
an aircraft is behaving in accordance with the navigation model, these maneuvers will
only occur at locations described by the navigation model. At all other times, the
aircraft is moving with nearly constant velocity. A principled way of modelling such
navigation under uncertainty is representation as a Hidden Markov Model (HMM)
or a Partially Oberservable Markov Decision Process (POMDP) [8].
89
[64]
Previous approaches to aircraft trajectory prediction using a Markov model required a fine discretization of the Cartesian state space to achieve sufficient model
accuracy [64]. In many cases, this discretization was uniform across the state space.
Training such a model requires a huge quantity of data, and many states are not likely
to have any training data. Representing the state space using a navigation state-based
HMM allows possible trajectories in a large region to be compactly represented by a
much smaller set of trajectory features by taking advantage of the structure of aircraft
motion. The model can also be generalized to any starting state in X by calculating
the initial distribution over states as a function of this state. This process is described
in Chapter 5.
In this work, the navigation model is represented as a HMM, denoted by the tuple:
A = (S, A, T, 0)
(4.1)
Here S is the state space of the navigation model, A is the action space, T is the
state transition model corresponding to the action space, and 0 is the observation
model.
4.1.1
State and Action Space
The set S = {Si, s 2 ,.. -,
SS}
is the set of S known navigation states in the navigation
model. State i is denoted si, where i - [1, S] C Z. A navigation state represents the
location at which an aircraft performs a maneuver. The state-space can be divided
into two disjoint sets
S = S, U S9 , where S, is the set of TCPs and Sg is the set of
goal states. TCPs and goal states were defined in Chapter 2.
Chapter 3 defined the MCP. All TCPs in the navigation model relate to an MCP
transition.
Possible TCPs are CV-CT (start of a turn), CH-CD (start of a climb
or descent), and CD-CH (end of a climb or descent). The transition CT-CV (end
of a turn) is not considered a TCP, as velocity is changing throughout a turn and
the transition to CV represents the end of that maneuver. On the other hand, a
change in vertical speed occurs over a very short time. The remainder of the climb
90
or descent itself is a period of constant velocity. Goal states in this model to possible
start and end points for paths at airports. They are defined a priori from published
navigation data such as the A/FD. These states are considered to be deterministic,
and no learning is performed on them other than to calculate transition probabilities.
Goal states allow known pilot intent to be taken into account in intent inference.
Each navigation state has an associated action space, denoted A =
{a(s)}. This is
the finite set of states that can be directly reached from state s, including returning to
s. Thus, each state may have up to S possible actions, though in practice this number
is much smaller. A measure of how many actions are in the navigation model is the
branching factor,the average number of actions per navigation state. The probability
of each action is represented in the transition model.
4.1.2
State Uncertainty
The HMM formulation of the navigation model assumes that the location of each
state is deterministic. In reality, there is uncertainty as a result of variations in the
way pilots fly. Even if two pilots have identical navigation intent, the accuracy with
which they execute that intent is likely to vary. To account for this, we define the
mean and covariance for the navigation model states:
(4.2)
s = E[s]
E(s) = E[(s -
4.1.3
s)(s - s)T]
(4.3)
Transition Model
The transition model T =
{w7 3} represents the probability of moving from one state
to another within the set S. An individual state transition is the probability
P(snext =
sjsprcv =
52).
We require 7ir
E [0, 1] and
Ei
ri
=
7rij
1, Vi = 1,. .. , S. In
the worst case, every state will have full connectivity such that it is possible to move
to any other state, including returning to the same state. In that case, the transition
model is a S x S matrix.
91
In this domain, it is likely that many states will not be directly accessible from
a given state. If it is not possible for a transition between two states to occur, then
7rij = 0 for that particular transition. The branching factor for the navigation model is
therefore small relative to the number of states, resulting in a sparse transition matrix
with many zero entries. To reduce computation and space requirements when using
the transition model, only non-zero transition probabilities are stored. This sparsity
assumption is used in many cases when considering tractability of algorithms.
4.1.4
Observation Model
The observation model is 0 = {j(sy)}, where the observation probability is
P(y = syls = sj).
X:S= 1 5
#5j(y)
=
The sum requirement for probabilities is relaxed, such that
< 1, Vj = 1,
...
, S.
In the worst case, in which any observation could
correspond to any state, 0 is a S x S matrix. This is not the case in general, so only
non-zero observation probabilities are stored.
4.2
Problem Statement
The objective of the navigation model learning problem is to use observations of
aircraft trajectories to identify the navigation model A
=
(S, A, T, 0) that best rep-
resents behavior observed in some region of interest around an airport. It is assumed
that the navigation model is static, allowing the structure and parameters of the
model to be learned offline.
Unsupervised learning is performed using observations of past trajectories. Assume we have a set of L observation sequences, Y = [Yr, y 2 ,..
,
yL].
Each obser-
vation sequence is indexed by 1. Each observation sequence consists of ni observed
navigation states Y' = [Y1', Y2 , - - , Y.] E Y. Prior to learning, the structure of the
HMM representing the navigation model is unknown, with the exception of some goal
states such as runway thresholds. The first task is to identify the state space of the
navigation model S that minimize the mean distance between each navigation state
and corresponding observations.
92
Problem 3.1.
Given observation set Y = [Y 1 , Y 2 ,..., yL], identify the set of S
navigation states S = (si, s2, ...
, SS)
that minimize the objective function:
S
yJ- sj 112
J(S) = Z
(4.4)
j=1 yiCY
jth navigation state, yi is the ith observation assigned to navi-
where sj is the
gation state
j,
and I y - sj|| is the Euclidean distance between the position of
observation yi and navigation state sj.
With the basic structure of the navigation model identified, the second task is to
learn the parameters of the HMM that best represent aircraft behavior.
Problem 3.2.
Given the state space S and observations Y =
[Yi,
y
2
, yL]
identify the structure of the navigation model A = (S, A, T, 0) that maximizes
the posterior probability P (YIA).
4.3
Clustering
Clustering is performed on a the unordered set of observations contained in Y, since we
are only interested in the frequency of similar observations rather than the ordering
of those observations for clustering. Observations are divided into disjoint subsets
corresponding to each of the possible navigation state types such that Y
YCH + YCD + Ygoal.
= YCT +
Clustering is performed on each of these subsets independently.
It is assumed that there are ki underlying navigation states for each navigation state
type i, such that S)
{S,...,Sk
}
for i E {CT, CH, CD,goal}.
The goal is to
identify the underlying states for the navigation model. The union of each Si forms
the state space of the navigation model A.
Clustering by position is performed on each subset of Y using the k-means algorithm. This algorithm is very popular in a range of scientific and industrial applications, and is very well suited to clustering geometric points with numeric points [15].
The k-means algorithm finds the set of ki clusters Si by identifying the centroid si
93
for each cluster. The centroid represents the mean of the cluster. In this context,
the set of clusters S is the set of states in the navigation model, and a centroid s2
is the nominal location for a navigation state. Centroids are found by optimizing an
objective function for all observations.
k-means is a two-phased iterative algorithm that alternates between an expectation step and a maximization step. The objective function in this case is to minimize
the sum of squares of errors between observations and their corresponding centroids,
as described in Equation 4.4. A key design choice in using the k-means algorithm
is the number of means k to use. A small number of clusters will be insufficient to
capture transitions between states, while a large number may result in over-fitting. In
general, solving the k-means clustering problem is NP-hard [9]. However, a number of
heuristic algorithms reduce complexity to allow an approximate solution to be found,
though there are no theoretical guarantees that this solution will be optimal [43, 28].
In this work, an implementation using Lloyd's algorithm is used.
In the first part of the algorithm, each observation is assigned to the nearest
centroid. The mean of each centroid is then recomputed. These two steps repeat
until a stopping criteria is reached, such as no more reassignments of observations.
At this point, a local minima of the objective function has been found.
There is
no guarantee that this is the global optimal solution to the problem though.
To
avoid local minima, it is standard practice to initialize the algorithm by randomly
partitioning the observation space, and iterating the entire algorithm several times.
The best solution is then chosen.
The variance for each navigation state is then
calculated using the mean location of the state and the location of each observation
associated with it.
4.4
Learning Model Parameters
The k-means algorithm identifies the set of navigation states S that form the state
space of the navigation model A.
Each state represents a location that the same
maneuver is consistently performed at over many observations. The next step is to
94
learn the structure of the navigation model representing transitions between these
states, required for predicting a sequence of maneuvers defining a trajectory. This
requires estimation of the remaining
A = KS, A, T, 0), assuming that the state space
S is true. The objective is to find the navigation model that maximizes the probability
that the observations fit the model:
(4.5)
J = arg max P (Y A)
A
To achieve this, the Baum-Welch algorithm is used
[511.
This is an Expectation Max-
imization algorithm that finds the maximum likelihood estimate of the parameters
of a HMM, given a set of observations. This algorithm has been used in a range of
applications including speech recognition [51] and information extraction [55]. The
2
computational complexity of the Baum-Welch algorithm is O(TS ), where T is the
number of observations and S is the size of the state space [56]. In this application,
this is tractable given a relatively small number of navigation states.
Recall from the problem statement that our observation set Y consists of a L
individual trajectories. For effective training, a large set of observations containing
a many subsequences for individual trajectories is used. This requires some changes
to the standard Baum-Welch formulation. The methodology of Rabiner is used to
achieve this [56]. Given the set of observation sequences Y =
[Y', Y 2 , ...
, YL
, where
each observation sequence is indexed by 1, the objective is to find the parameters of
the HMM A that maximize the posterior:
L
(4.6)
P(Y' A)
P(ZIA) =
1=1
The expectation step of the algorithm involves calculating application of the ForwardBackward algorithm. The forward and backward variables for each subsequence are
95
defined as [51]:
at(i) = P(y1y 2 ... Yt, st = si IA)
41 (i) = P(yt+lYt+2 ... YT st =
(4.7)
(4.8)
si, A)
The forward probabilities represent the likelihood of the observation sequence up to
time t leading to state st = si at time t, given the navigation model A. The backward
variables represent the probability of the observation sequence from t +1 to final time
T given the system is in state st = si at t.
At the start of each observation sequence, the initial state distribution is chosen
randomly.
To prevent numerical problems arising due to small likelihoods, a nor-
malization constant cl is calculated at each step of the forward algorithm such that
the sum of normalized forward variables 61(i) sum to one at each time step.
The
same normalization constants are applied to obtain normalized backwards variables
!3t(i). Using the forward and backward variables, and the normalization constants,
the transition and observation probabilities are then updated according to [51]:
= E
V3 (yk)
=
i l
L E -1&(i)7ij#j(yj+1) ^+1(j*)/CI
t=
t
(jt
,Y,Sk
1'l=
&
(4.9)
(4.10)
)
where y = sk is an indicator function that is 1 if observation yi matches sk, and is
0 otherwise. The choice of parameters maximizes the log-likelihood of all observed
data given the estimated model parameters. At each iteration, the Baum-Welch al-
gorithm will increase the log-likelihood of the data, asymptotically approaching some
maximum value.
The algorithm is iterated until the solution converges.
However,
the designer must be aware that over-fitting the model to the data is possible - the
log-likelihood of the fitted model may be greater than the likelihood of the true model.
Initially, we have no knowledge of the structure of the navigation model A. We assume that the model is fully connected initially, with uniform transition probabilities.
96
In this way, every state can be reached from every other state with equal likelihood.
When the Baum-Welch algorithm converges to a solution, it is likely that many state
transitions will have an extremely low probability. The action space is then pruned to
remove all transitions below some minimum probability threshold, and the remaining
transition probabilities normalized to sum to one. The parameters of the updated
model with a more constrained structure are then re-estimated using the Baum-Welch
algorithm to ensure that the solution is consistent with the observed data. Using this
method, the first iteration allows the structure of the navigation model action space
A to be learned, and the second iteration refines the parameters T and 0 of the
model with this structure.
4.5
Implementation
The clustering and learning algorithms described in the previous section are now applied to the uncontrolled airport problem domain. A set of 3,000 training trajectories
is used, generated by simulation and representing a mixture of pilot behaviors including approaching and departing an airport, transiting airspace near an airport and
performing random maneuvers. This simulation environment is described in more
detail in Chapter 6. The state and mode of aircraft are estimated for every trajectory
to obtain a set of mode change points using algorithms from Chapter 3. The set of
mode change points detected forms the set of observations used for the navigation
model learning problem.
4.5.1
Clustering
The k-means algorithm is applied to each subset of observations for different numbers
of clusters k. As the number of cluster increases, the quality of the solution improves
as measured by the mean distance between each observation and the centroid of the
cluster they are assigned to. This is shown in Figure 4-1. This shows that to obtain
some desired mean within-cluster distance, the number of CT clusters required is
greater than the number of CH clusters, which in turn is greater than the number of
97
10000
CT
9000 -------.-
CD
-- -8 0 0 0 .....--......--
Q
60 00
E
5000
-...
. ....
-. .
.....
- -.-.
-..
...
0
....
-. ......
..
---
-
-
----
1 0 0 0 ---. --.--
CH
.
- -- --.--.
---- --
C2 0 00 --- - -
-- .
...
...
--- ......
--.
-.5
..--.
10
Number of Clusters
15
20
Figure 4-1: Mean Within-Cluster Distance (meters)
CD clusters required.
Choosing too few clusters results in under-fitting, with a poor representation of
the underlying aircraft behavior. Clearly, choosing less than 6 clusters in any case
will result in
large variance within each cluster. However, choosing too many clusters
results in over-fitting to the data, with very low variance in each cluster, which is
equally problematic. This is demonstrated in Figure 4-2 (note that the runway is
marked as a black rectangle centered at the origin). In the under-fitting case, observations that are distinctly separate behaviors are assigned to the same cluster. In the
over-fitting case, some regions are modeled by many more clusters than necessary.
In these figures, the 2a- covariance bounds are shown. Covariance is calculated independently in horizontal and vertical planes using the distance between observations
and the centroid of each cluster. Note that covariance is spherical horizontally. At
first glance, this does not appear to provide the best fit to the data. For example, note
the area along the easterly axis at the right of each plot. Using an alternate clustering scheme such as Expectation Maximization clustering or a hierarchical clustering
98
Coordinated Turn - 20 Clusters
200015 0 0 --
. - .
-. .
.
1000
500 ... ....
-
-
-
-
- -
-.
-
......
-
0
z
-500
-1000
-
....
..
V..
....
-1000*
-5000
-4000
-3000
0
-1000
-2000
1000
2000
3000
5000
4000
East (m)
Constant Turn - 5 Clusters
2000 - 1500
-
.
- -
-.
A.
f
.
......
if
0
. ..
---
500 ---.....
0
-500
-1000
-1500
0..
.
--
-4000
-3000
-
-2000
1000
0
East (m)
1000
2000
3000
4000
+
5000
Figure 4-2: Clustering - Over-fitting (top) and Under-fitting (bottom)
scheme would likely create a single cluster in this region. The resulting uncertainty
ellipse would have high covariance along the east axis but tight uncertainty bounds in
the north axis. While this is a good fit for the data, this would mask the underlying
behavior required for the making predictions with the navigation model.
Predictions are made by constructing a Markov chain of navigation states and
fitting a trajectory to the piecewise linear path linking those states. As discussed
in Chapter 5, the path is created by linking the mean of each navigations state as
99
- -- -
2 000- -
- -- - --
Coordinated Turn
1000 -
- -
-- -
- - - - ---
-.......................................
E
-.......
*-.. -..
0
I
0
z
-1000 -----..............-- --
2000
.
1 00 0
.....
0
E~
....
5000
0
East (m)
0
,0
-
Constant Height
- ---
--
# . ... . . .
...........
...
z-1000 -
-3000
3000 -
-
-
E
1000 .---
-
-
- - -
3000
4000
5000
Constant Climb/Descent
- ----................--.-.-.---.
--.-
-.-.-.--.--.--.--.---
--
2 000 . -
1000
2000
East (m)
0
-1000
-2000
++.+-.---.-.-
- -.-.-
1-0
-2000......
-3000
-2000
-1000
0
1000
2000
3000
4000
East (m)
Figure 4-3: Navigation Model Clusters
100
5000
6000
2000
1500
-20.0
500
-
-500
11500
20002000
5000
41000
30000
2000
2-00
0
10
500
0
-1000
000
000
1500
5000
2000
East (m)
Figure 4-4: Clusters in 3D Space
represented by these clusters. Hence, a more expressive navigation model that allows
more accurate trajectory prediction is achieved by allowing this region to be divided
into clusters in which observations have approximately equal separation from the
centroid.
A tradeoff between the extremes of under- and over-fitting is found by choosing
k = 11 for CT, k
=
7 for CH and k = 6 for CD. Resulting clusters are shown in
Figure 4-3. Note that clustering is performed in three dimensions, as demonstrated
in Figure 4-4.
4.5.2
Parameter Learning
Using the set of states S identified in the previous section, the parameters of the navigation model are identified by applying the Baum-Welch algorithm to convergence.
This process is first applied to the fully connected navigation model. Actions with
a transition probability
7r 7
< 10-6 are then pruned from the model, and the Baum-
Welch algorithm is applied again to the resulting model. The resulting log-likelihood
of the solution for the two steps is shown in Figure 4-5.
101
-15X 104
-.
0
0
05
Figure
~
~
10
15
~ Afe
~ ons~ 4-:MPerarutenernn
~ Iterati
20
ikengo
25
Figure 4-5: Model Parameter Learning Likelihood
This shows convergence within 25 iterations in both cases. The log-likelihood of
all observations in the model after low probability actions have been pruned is slightly
higher than in the fully-connected case. The model contains a total of 25 states, and
has a branching factor of 5.2. This low branching factor relative to the size of the
state space has important practical implications for the computational complexity of
path prediction algorithms described in the next chapter.
4.6
Conclusion
This chapter has described the representation of the navigation model as a HMM,
with a novel state space consisting of mode changes. An implementation of standard
clustering and learning algorithms to identify the navigation model at a particular
airport given observations of aircraft trajectories was presented, which was shown to
produce a valid model given a representative set of trajectories from simulation. This
model is used to classify pilot behavior and predict aircraft trajectories in Chapter 5.
102
Chapter 5
Inferring Pilot Intent
Given state and mode estimates of other aircraft obtained using the algorithms in
Chapter 3, the next objective of the recognizing agent is to infer the pilot intent.
As defined in Equation 2.14, pilot intent 1(k) consists of three elements - behavior
class b(k), goal state g(k), and navigation intent n(k). Key to intent inference is the
navigation model, described in Chapter 4. For the purposes of intent inference, it is
assumed that the parameters of the navigation model are static.
This chapter first defines intent inference problem. Algorithms to perform behavior classification and intent inference are then presented and evaluated. Finally,
methods to generate a predicted trajectory using the inferred intent are described.
5.1
Problem Statement
The focus of this chapter is to infer the current pilot intent 1(k) = (b(k), g(k), n(k))
given the state and mode estimates from Chapter 3. This provides information needed
to predict the aircraft trajectory required for Problem 1 in Section 2.4.
quantities in this chapter are always denoted with a hat (for example,
Inferred
b(k) is the
inferred behavior b(k)).
The first objective is to classify pilot behavior at the current time, 6(k). This can
be analyzed using signal detection theory (SDT) [46]. Table 5.1 shows the mapping
between the output of this classifier and SDT categories. A positive classification im103
plies that pilot intent is complying with the navigtion model. A negative classification
implies a pilot is maneuvering at random.
Table 5.1: Behavior Classification Categories
Actual:
Complying
Actual: NonComplying
Classification:
Complying
True Positive
Classification:
Non-Complying
False Negative
False Positive
True Negative
The objective of the behavior classification problem is to maximize the true positive rate, which allow accurate trajectory predictions, while minimizing the false
positive rate, which result in overly optimistic predictions which increase the risk of a
collision. More formally, we seek to optimize classification of b(k) such that the true
positive rate TPR is maximized, while ensuring that the false positive rate FPR is
less than some positive upper bound FPRaX < 1. In this thesis, the design goal
is to ensure that FPR < 0.05. This is assessed using the Receiver Operating Characteristic (ROC) curve, which plots TPR against FPR for different values of design
parameters in classifier [46].
The behavior classifier assesses if pilot behavior fits the navigation model A using
as input the state and mode estimates, 1(k) and rin(k), obtained using the IMM and
MCD algorithm in Chapter 3. The classification problem statement is as follows:
Problem 4.1. Given the current state estimate -i (k), mode estimate
rn(k), and nav-
igation model A = (S, A, T, 0), classify current pilot behavior b(k) as complying
or non-complying such that TPR is maximized and FPR < 0.05.
If pilot behavior is classified as non-complying, then no further inference of navigation intent can be made and trajectory prediction is performed by propagating the
current state and mode estimates only. Note that since trajectory prediction methods
like TSAA have been demonstrated to be accurate for a short time, classification as
104
non - complying is not safety critical - it just means that long-term predictions based
on pilot intent cannot be made.
If behavior is classified as complying, then the next objective is to infer the pilot
navigation intent h(k) from the navigation model. Even if it is assumed that the set
of possible paths is limited to the navigation model, it is likely that there will be
many possible paths given the current aircraft state. In the worst case, the number
of possible paths representing navigation intent will grow exponentially as
O(S m ),
where S is the size of the state space in the navigation model and m is the number
of navigation states in the path. To limit the number of possible paths, we seek to
identify only trajectories that are have a reasonable likelihood of occurring.
To achieve this, path probability P (h) is defined.
This is the total probability
that the path from the current aircraft position to the final navigation state in the
path is the true navigation intent. Since a path is a Markov chain of segments drawn
from the navigation model, this probability is calculated for a path with
j
navigation
states using the law of total probability:
j
(5.1)
P (h) = p(silx, m) Zp(siisii)
i=1
where p(silsi_1) is the transition probability 7r(_1)i from the navigation model and
p(s Ix, m) is the probability of the first navigation state given the current state
x and
mode m of the aircraft. A probabilistic approach to navigation intent inference is used,
in which we calculate a distribution over possible paths. The set of possible paths is
denoted N. The objective is to calculate this set such that the path probability of
each predicted path exceeds some threshold pmi,. The intent inference problem for
an aircraft classified as complying is as follows:
Problem 4.2.
model A
=
Given state estimate , (k), mode estimate rn(k), and navigation
(S, A, T, 0), calculate the set of all feasible paths N such that
P(h) > pmji, for all h E N.
Problem 4.2 is called the uninformed intent inference problem, as it is assumed
that no knowledge of the intended destination of the pilot is known. There is no
105
requirement to infer goal state
(k), though a feasible path that includes a goal state
such as an airport may be predicted. On the other hand, the informed intent inference
problem allows a priori knowledge of the goal state g(k) to be taken into account.
The problem is as follows:
Problem 4.3. Given state estimate -(k),
mode estimate ii(k), navigation model
A = (S, A, T, 0), and goal state g(k), calculate the set of all feasible paths N
such that P(f) > p., for all h - N.
5.2
Behavior Classification
In the hierarchical pilot intent model discussed in Section 2.3, the highest level is
the pilot behavior type, b(k).
Two types of behavior are defined - complying and
non-complying. The navigation model is only applicable for a pilot with complying
behavior. This implies that the observed behavior fits the navigation model. Noncomplying behavior may occur if a pilot is maneuvering randomly, executing a navigation intent with poor accuracy, or displaying a novel navigation intent. Attempting
to predict the trajectory using the navigation model if the pilot has non-complying
behavior results in overconfident projections that are unlikely to match true pilot
intent.
The goal of behavior classification is to determine whether a pilot is complying
with the navigation model. The proposed classifier is shown in Figure 5-1. Using the
Markov properties of the navigation model, classification considers the distribution
over navigation states most recently observed P(S(O)), and the distribution over next
navigation states P(S(1)). The aircraft state
i and mode 7'n are also considered, as
they represent the intermediate state of the aircraft when moving between navigation
states. The components of the classifier in are described in detail below.
106
i~k) ~
i(k)
Next Navigation
State Distribution
Navigation State
Matching
Prior Navigation
State Estimation
Behavior Classifier
P(S(0))
b(k)
Figure 5-1: Behavior Classification
5.2.1
Navigation State Matching
The goal of navigation state matching is to identify the most likely observed navigation state, denoted y,(O) =, when an MCP is observed at time kc, denoted ym(kc).
Note that index 0 in y, is the most recent sequential observation, not the time scale for
observations of state and mode. Algorithm 2 describes the navigation state matching
method, executed whenever a mode change is detected.
The algorithm executes in
O(S) time and returns a single navigation state, or null if no navigation state matches
the MCP.
The likelihood function Qo(s ym) for an observed MCP matching navigation state
s is defined as the product of two likelihood functions in the horizontal and vertical
planes:
QO(S Iy,) =
(5.2)
lt- f,
The likelihood in horizontal and vertical planes is a function of the Euclidean distance between the location of the aircraft and the nominal location of the navigation
state. This distance is denoted Axps. The likelihood function in each dimension is
calculated using the PDF for the zero-mean normal distribution, weighted such that
107
Algorithm 2: Navigation State Matching
Input: Set of navigation states S, observed MCP ym
Output: Maximum likelihood observed navigation state y,(O)
1:
y'(0) +-
{}
2: Qmax <-
0
3: for every s in S do
if m(s) matches m(ym) then
4:
Calculate state likelihood Q(s y,)
5:
if QO(Slym) > Qmax then
6:
Y,(0) -s
7:
8:
Qmax
Qo(s)
Q-
end if
10:
end if
11: end for
12: return y,(0)
9:
the maximum likelihood (when Ax,,
f = exp
=
0) is 1:
SAx2
2pos
(5.3)
where o-2 is the variance in the position of navigation state s from the navigation
model covariance matrix E(S). The maximum likelihood observed navigation state,
denoted ys(O), is given by:
(5.4)
Ys(O) = argmaxQo(slym)
s CS
An important condition is that the MCP mode must match the mode of the maximum
likelihood navigation navigation state. For example, if the detected mode change was
the start of a turn, the mode will not be matched to a navigation state for a climb.
5.2.2
Previous Navigation State Estimation
When an MCP is detected at time k,, the objective is to estimate the distribution over
previous navigation states P (SlYi.0), given the navigation state observation history
Yq:O
{y.(q), y,(q + 1),
.. . , ys(-1),
ys(0)}. Here, y,(0) is the most recent observation
(matched to ym(kc) using Algorithm 2) and y,(q), q < 0 is the first observed navigation
108
state in the trajectory.
The forward algorithm takes advantage of the conditional independence of the
HMM to efficiently calculate this distribution recursively with constant computational
cost [52]. The forward algorithm uses a recursive equation to calculate the individual
elements of P (S(0)1Y:o):
p (s(0) = SjIYq:o) = ap (y,(0) = sy Is(0) = si)
S
Z P(s(O) = sjIs(-1) = Si)P (S(-1) = silY
1 i)
S
=
SiI Y: 1)
rijp (s(-1)
Oj((sy) E
(5.5)
i= 1
where a is a normalization constant such that Es(O),s(o) P (S(0) Yq:o) = 1. Note that
q5 (sy) and 7rij are obtained from the observation model 0 and transition model T,
respectively. Initial distribution P (S(q)) is given by the state matching probability
in Equation 5.2.
It is possible that p (s(0)1Yq.o)
=
0 for all s
E S, meaning that there is no tran-
sition to the most recent observation from the observed path so far.
This can be
interpreted as a maneuver that does not fit the navigation model. Note that if there
are no available observations, either because no MCPs have been observed yet or the
s(0) is
observation history has been rejected, then
5.2.3
not defined.
Next Navigation State Distribution
The previous algorithm is used to determine which navigation state was the most
likely prior state. This section describes the method for calculating the likelihood
distribution over all navigation states in the navigation model to determine which
navigation state is likely to be the next state. This calculation is performed after
every state and mode update, and requires
O(S) operations.
By definition, segments of constant velocity end at a navigation state. Hence an
aircraft at constant velocity will continue with the same orientation until reaching a
109
navigation state, with small variation due to external disturbances and minor course
corrections by the pilot. Constant velocity modes are CV, CH and CD. In these cases,
the direction of aircraft travel as determined by heading and vertical speed remains
roughly constant. Note that an aircraft in CT mode has non-constant velocity. This
special case is considered later in this section.
An intent inference approach that assigns likelihood to a navigation state as a
function of aircraft state and the position of the navigation state has been proposed
by Yepes et al. [63]. In that work, the location of navigation states was assumed to
be deterministic and the likelihood that the pilot intent was to fly to a particular
location was calculated using fixed parameters. We modify this approach to include
uncertainty in the location of navigation states. We use the navigation state variance
obtained through the unsupervised learning process in Chapter 4 to calculate the
parameters required for calculating state likelihood. Furthermore, the we also extend
the likelihood function to take into account navigation error when the aircraft is very
close to the nominal location of a navigation state. The likelihood function for the
next navigation state is given by:
(5.6)
Q1 (s|Ii, fn) = max {Qdi,(S2in),Qdist(Si)}
dir (SLI,
iii)
=
fdir,h(sl.,
2dist ( s -')
where
Qdi,
T) -n ir,(S|,
(5.7)
fn)
dist,h( sl S) - fdist,v ts1--0
(5.8 )
is the likelihood based on the direction an aircraft is moving relative
to state s, and
Qdit
is the likelihood based on distance from s. Both are divided
into horizontal and vertical components,
£h
and fv. where
eh
and C, are the spatial
likelihoods, in horizontal and vertical planes respectively, that s is the next navigation
state given the current aircraft state ,i and maneuver mode fn.
Direction Likelihood
Direction likelihood is a measure of how closely the aircraft velocity vector is aligned
with state s. It takes advantage of the constant velocity assumption between naviga110
Si
Figure 5-2: Flight Path Angle Variance Calculation
tion states, such that if an aircraft is currently oriented towards a state s then it is
likely to fly very close to that state as the trajectory propagates.
In the vertical plane, aircraft orientation is given by flight path angle (FPA)
yc, where FPA is calculated by Equation 2.10. The FPA required to fly direct to
navigation state si is denoted 'yi. The difference between the two FPAs is denoted:
(5.9)
Ay, = -y' - ye
The vertical spatial likelihood of si is calculated by evaluating a weighted normal
distribution at A-y:
f, (si
,n)
= exp
(5.10)
-
2a2
where FPA variance a is calculated using the vertical component of navigation state
uncertainty ou
from the navigation model covariance matrix E(S).
The geometry
of this calculation is shown in Figure 5-2. By application of the cosine rule, FPA
variance a, is given by:
U-
= cos- 1
(a2 + b2 -2
b
a
1(
2ab
(5.11)
"e)
In the horizontal plane, current aircraft direction is given by heading '0c, where
heading is calculated by Equation 2.9. The course required to fly direct to navigation
111
state si is denoted 0j. The relative bearing to si is the difference between the current
heading and required course, given by:
Aoi = WrapTo180[oi - 0,]
(5.12)
where operator WrapTol80(.) wraps the bearing to the interval [-1800, 1800). This
difference represents the minimum course change required to align the aircraft with
the navigation state.
At constant velocity, a distribution similar to that in Equation 5.10 can be used to
determine horizontal likelihood. However, when an aircraft is in a turn the constant
velocity requirement is violated, since the northerly and easterly components of velocity are changing at a rate governed by turn rate
c. In this case, it is assumed that
any TCP within 180' in the direction of the turn is equally likely. This can be represented by a uniform distribution over the 180' interval in the direction of the turn,
weighted such that likelihood is one if the aircraft is turning in the direction of the
navigation state. The horizontal spatial likelihood of si is calculated by evaluating:
180 -U (Aoi; -1800 , 0) if rfn = CT, $cE[1800 , 0), Nc< 0
f h(Si srn)
180- U (Ai; 0, 180')
exp
(2o,)
if in = CT,
c
(0, 180'], '
> 0
otherwise
(5.13)
where variance a
uncertainty
is calculated using the horizontal component of navigation state
a 2 from the navigation state error covariance matrix E(S), as shown in
Figure 5-3:
aV, = tan- I
(5.14)
(9s'h)
Calculating horizontal likelihood in this way recognizes the normal pilot intent
to turn in the direction of the smallest heading change, while allowing for a small
112
Figure 5-3: Heading Variance Calculation
amount of overshoot in a turn.
Distance Likelihood
When an aircraft is very close to a navigation state, the direction likelihood calculated in the previous section may give an inaccurate results, as the direction to the
state will diverge rapidly from the aircraft orientation. For example, an aircraft may
start a maneuver shortly after passing the nominal navigation state location. Spatial
likelihood in this case will be close to zero, because the bearing to the navigation
state will be close to 1800. To overcome this, distance likelihood
Qdist
is calculated
as a function of the distance between the current aircraft position and the navigation
state:
AxPOS =
lxPOS (s) - _401
(5.15)
Distance likelihood for state s in both horizontal and vertical planes is:
£dist (s x)=
exp
/Ax2
2a2los
(5.16)
where variance a is the horizontal or vertical component of navigation state uncertainty from the error covariance matrix E(S). Distance likelihood is only significant
compared to direction likelihood when an aircraft is close to a navigation state.
Distribution over Navigation States
Assume that the next navigation state is in the set of known navigation states in the
navigation model, such that s(1) c S. Then the probability that given navigation
113
state s
C S is next is found by normalizing the navigation state likelihood function
in Equation 5.6:
p (s(1)
(S)
fn)
=1
1(s
3
(5.17)
)
The distribution over navigation states is represented as a vector:
P(S(1)
in)
=
[p(s
1(1)
fn), ... ,p(ss() i, r)]
T
(5.18)
Note that:
S
p (si(1)2,fn) = 1
(5.19)
i=1
Hence, the vector in 5.18 is a sufficient statistic for a S-element categorical distribution
over navigation states. In the context of the navigation model, if we consider the
current aircraft position xps as a navigation state sc, then p (s(1)f, fn) represents
the transition probability of going from the current state represented by sc to state
s(1). This interpretation is useful for inferring navigation intent.
5.2.4
Behavior Classification
The behavior classifier uses a hypothesis test to assess whether a pilot is exhibiting
complying or non-complying behavior, based on distributions over the previous and
next navigation states. This is achieved by checking whether observations are consistent with the navigation model. The behavior classification process is detailed in
Algorithm 3. The hypotheses for behavior classification to be evaluated are:
Ho : b(k) = complying
(5.20)
H1 : b(k) = non - complying
114
Algorithm 3: Behavior Classification
Input: Distribution over prior navigation states P (S(0)), distribution over
navigation states P (S(1))
Output: Behavior classification b(k)
1: Calculate pciaesh
2: if max P (S(0)) > 0 then
3:
Calculate s(0)
4: end if
5: Calculate s(1)
6: Hypothesis test on s(1)
7: if Ho rejected then
8:
return b(k) = non - complying
9: else
return b(k) = complying
10:
11: end if
The decision rule for the hypothesis test is:
Reject Ho
if p
(1)) < Pirsh
(5.21)
where ptresh is the threshold likelihood minimum likelihood for the next navigation
state. The hypothesis test is performed using the most likely next navigation state,
denoted
s(1):
(5.22)
A(1) = arg max P (S(1))
The next navigation state is dependent on the most likely previous navigation state,
if there is an observation history of navigation states that has not been rejected by
Algorithm 4. The most likely prior navigation state is defined in the same way as
s (1):
s(0)
= arg max P (S(0))
(5.23)
scs
If s(0) is defined, then
s(1)
must also be reachable from
s(0)
in the navigation model.
This is the case if transition likelihood between the two states is non-zero.
115
Equa-
Algorithm 4: Behavior Classification Threshold
Input: Distribution over prior navigation states P (S(O))
Output: Classification threshold pcires
1: kman +- 0 initially
2: for every update do
if max P (S(0)) = 0 then
3:
4:
Reject observation history Yq:0
5:
6:
kman+
7:
8:
9:
10:
11:
12:
0
else
kman <-
kman + 1
end if
Calculate pian
Pires a max{pani, pijn}
return Piesh
end for
tion 5.22 is modified to include this condition:
s(1)
=
arg max P (S(1))
scs
s.t. p (s(1)
=
s(1)
s(0) =
(0)) > 0
(5.24)
Behavior Classification Threshold
The threshold Piresh
[0, 1] is a time-varying quantity that depends on the observa-
tion history. The constant-time algorithm for calculating the threshold is detailed at
Algorithm 4.
The value Pian in this algorithm is a measure of our belief that the current behavior is non-complying. Our belief that the current behavior is instead complying
is represented by the likelihood distribution over next navigation states. Classification is based on which belief is stronger. Hence, as p'an increases, we require more
convincing evidence that the pilot is conforming to the navigation model to classify
behavior as complying.
If the most recently observed navigation state does not fit the navigation model
at all, such that p (s(0)) = 0 for all s E
S, then we are certain that a pilot is not
navigating using a previously observed path. We then set pan = 1.
The observa-
tion history is also rejected, which has the effect of reinitializing the previous state
116
estimation algorithm.
If a pilot maintains constant velocity over time, we become less certain that pilot
behavior is non-complying. Correspondingly, it becomes more likely that pilot behavior conforms to the navigation model. To represent this, pian exponentially decays
with time:
Pman =
where
kman
exp
(
(5.25)
km""
is the number of measurements since the last observed navigation state
that did not fit the navigation model, and rTF is a time constant for the classifier that
determines how quickly the threshold decreases with time. A low value of
Tci
reduces
time to revert to a complying behavior classification, which may result in a high false
positive rate if maneuver behavior is correct. Conversely, a high value increases the
time to correct an erroneous maneuver classification if complying behavior is correct.
Given sufficient time, pian will become very small, in which case we may be too
confident that the navigation model is correct. In the limit
Tc,
= 0, we have pcie
=
0,
such that we are certain that pilot intent corresponds to the navigation model. A
minimum value for the threshold pein is defined to reduce false positive classifications
caused by the decay of pian with time. The threshold used for the hypothesis test is
then the larger of these two quantities:
Pthresh =
5.2.5
ma
(5.26)
rpcanPmii}
Navigation State Refinement
If the classification is complying and the most likely prior state
s(0)
is defined, we
can refine the distribution over next states by conditioning on
s(O).
We calculate
P (S(1)
s(0),
,frn) by setting p(s (1)
s(),irn) =
117
0 for all si that cannot be reached
from
s(O),
and normalizing the resulting distribution such that:
S
>p(s (1)|s.(O), i,rin) = 1
(5.27)
i=1
If every navigation state can be reached from
s(O),
then the conditioned dis-
tribution over next states is unchanged. As such, knowledge of the previous navigation state provides us with no additional confidence in prediction.
though,
s(O)
does not have full connectivity to other navigation states.
p (s (1)1s(0), ,, rn) > p (s(1) ., rin) for all si that can be reached from
that
s(O)
In practice
s(0).
Hence,
Assuming
is accurate, we can therefore predict the next navigation state with greater
certainty using the conditioned likelihood distribution.
5.3
Navigation Intent Inference
If pilot behavior has been classified as complying, the next step is to infer what
the pilot's current navigation intent n(k) is. The inferred navigation intent at time
k is denoted h(k), the expected path through the navigation model. The method
here is inspired by the approach of Seah and Hwang [54].
In their method, a set
of possible aircraft trajectories such as instrument departures and approaches were
encoded as a deterministic sequence of mode changes. Uncertainty was introduced by
making these mode changes probabilistic events, with guard conditions determining
the sequence of mode changes at different points in the trajectory. However, this
approach relies on knowing the deterministic trajectory set. The navigation intent
inference approach proposed in this thesis instead considers the transitions between
navigation states from a purely Markovian perspective, with the sequence of mode
changes and associated transition probabilities determined entirely using observations
of pilot behavior. This approach allows irregular and unpublished pilot behavior to
be learned and predicted.
The structure of the navigation model is a directed graph G
(V, E), with the
set of navigation states S forming the set of vertices V and the action space A
118
forming the set of edges E linking vertices, weighted by the transition probabilities
'T. A candidate navigation intent h(k) is a finite Markov chain through this graph
containing m vertices, rooted at the current aircraft position
, (k). Note that cycles
are possible within this graph structure.
There may be several candidate inferred paths from a given aircraft state, so
additional notation is introduced. We denote a path hi, denoting the first i navigation
states in the
j-th inferred path. For example, ni is the sequence of the first five
states in the second predicted path. The set of
j
candidate paths is denoted N.Two
inference cases are considered. First is the uninformed case in which the goal state
g(k) is unknown. Second is the informed case in which goal state is known.
5.3.1
Uninformed Navigation Intent Search
The algorithm used to search the navigation model to find the set N is outlined in
Algorithm 5. This is a variant of the forward algorithm. Given the current state of the
aircraft and the initial distribution over navigation states, this algorithm returns the
set of all candidate paths that satisfy certain conditions. At line 6 of the algorithm,
path expansion stops if any of the following conditions are met:
" If an self-transition state is added to the path
" If total path probability is less than the threshold probability pmriin
" If path time exceeds the maximum path time
trnax
The first condition is self-explanatory, occurring if a navigation state si has transition
probability 7rij > 0. The other two conditions are described below.
Path Probability
If the navigation model is large, then searching all possible paths is computationally
intractable as complexity grows exponentially with the number of states m in each
partial path, O(S't) in the worst-case. Fortunately, an exhaustive search is not necessary in this problem. Many of the feasible paths have very low likelihood, such that
119
Algorithm 5: Uninformed Navigation Intent Search
Input: Navigation model (S, A, T, 0), distribution over navigation states P (Si),
aircraft state :i
Output: Set of inferred navigation intents Ncomplete
1: Ncomplete <2: Npartial-
{}
all partial paths rTi such that P (hl) > pmin
3: while Ntjal is not empty do
for all partial paths in Np, tier do
4:
5:
Remove partial path h i) from front of Npartia
6:
if hY) satisfies any stopping condition then
Add hnz) to
7:
8:
Ncompiete
else
9:
10:
for all s E S with transitions from end of partial path n() do
<-
11:
Add h()
12:
end for
13:
end if
14:
end for
15: end while
16: return Ncomplete
add sj±
to partial pathjji
to end of Nartia
it is more likely that a pilot is maneuvering randomly than following that particular
navigation intent. We are interested in identifying only paths that have a reasonable
probability of being correct. In the following analysis, it is assumed that the navigation model is fully connected with S navigation states. This is the worst-case scenario
for computational complexity.
In Section 5.2, we defined the initial distribution over navigation states P (S(1) i, rh)
with no prior navigation information, or P (S(1)
state known.
s(0), 2, rn)
with the prior navigation
For notationally simplicity, both cases are denoted P (S(1)) in this
section. As noted previously, this distribution can be interpreted as the set of transition probabilities from the pseudo-navigation state s, corresponding to the current
aircraft position ipo, to the next state s(1). By construction, the sum of probabilities
in P (S(1)) = 1. Since all elements of this distribution are non-negative, this implies
that p (s(1)) E [0, 1] for all navigation states. Also, the properties of the navigation
model require transition probabilities
7ra E [0, 1] for all subsequent navigation states.
120
Consider a path with m states, hm
= (Si, s2, ...
Sm)
E S. Recall from Equation 5.1
that path probability for hm is found by applying the chain rule for probability at each
state in the path, repeated here for clarity:
m
(5.28)
p(si+1IS)
P (h) = p(si)
where initial probability p (si) is obtained from P (S(1)), and p (si+11Si) = 'rij,i
2, 3,...
=
i - 1. Then, P (h,,m) is bounded by the closed interval [0,1] and is
, m,j
non-increasing such that P (hm) < P (am-i).
Now consider the set of all possible
f].
For m = 1, the total probability for
partial paths of length m, Nm = [h,
...
,
the S possible single-state paths sums to:
P (hi)
(5.29)
p (si) = 1
by definition. For a particular path
nt$Q E
Nm, path probability as given by Equa-
tion 5.1 is:
P (h-)
p
=
p(
s
P (iii)
...
p (sM
) p
(s$ )
p (s$)
(5.30)
Then the sum of path probabilities for the S one-step extensions of path h('_
where subscript
P
j=1
(nT)
j
= i
+ 1, is:
=
P
1)P (Sm
SjjSm-1
to
ri,
Si)
j=1
K
= P ((i)
rij
j=1
P
(5.31)
M
that is, the sum of path probabilities for all possible one-step extensions is equal to
the path probability for the previous path, h(_1. Then, the sum of path probabilities
121
for every possible m-length partial path is:
S
S
K
P(n
)
=Z
Pn-
(5.32)
=1
i=1
i=1 j=1
This result is obtained by induction from Equation 5.29. This can be used to define
bounds on the number of possible paths in Nm. We choose minimum path likelihood
Pmin
C [0, 1]. The threshold is a measure of confidence in the accuracy of the navi-
gation model. If P (hm) > pmin, then we are reasonably confident that the path hm
could realistically be the pilot's true navigation intent n(k) and we continue to expand
the path. If P (inm)
< pmi,, then confidence in the inferred intent at that point is
low and the path is not expanded any further. Since path probability monotonically
decreases as m increases, it is not possible for a low probability path to increase above
Pmin if it is extended further.
The number of m-length paths with P (hm) > Pmin is a maximum when path
probability is uniformly distributed, with every path having equal probability. Using
Equation 5.32, the upper bound on the number of paths is
[i].
Hence, as Pmin
decreases the upper bound on the number of m-length paths increases independent
of the size of the state-space. Assuming Pmin > 0, worst-case computational complexity reduces to polynomial time, 0
(7M).
This is a significant computational
improvement on 0 (S m ) without this probability criteria.
In the limit
Pmin = 0, every feasible path is added to the set of possible navi-
gation intents. Note that the sum of paths with probability above the threshold is
_- P (n()
< 1. Residual probability is the aggregated likelihood that the true
intent is any other path with probability P (hm) < Pmin.
Path Time
It is theoretically possible that a path with an infinite number of states, with P ()
>
Pmin may exist if all states are only connected to one other state, such that 7'r
1
for every state. This is most likely to happen if a cycle between such states exists.
To prevent infinite length paths, we define total path distance D(hm). This is the
122
lower bound on distance to travel from the current aircraft position to the final state
through the path n, obtained using straight line segments linking each state in the
sequence:
m
D(hm)
where si(2,-o)
=
|si(p,,)
- si
1
(i- os)
5
(5.33)
is the mean location of navigation state si. The position of so is the
current estimated aircraft position. Uncertainty in a trajectory grows with time. To
bound this growth in uncertainty, we define design parameter maximum path time
tmax
as the greatest duration for a predicted path. Assuming aircraft airspeed V,
as calculated using Equation 2.8, remains constant over the prediction window, the
maximum path distance dmax is then given by:
(5.34)
dmax = tmaxV
Refinement of the prediction window to account for aircraft dynamic constraints is
discussed in Section 5.4.
5.3.2
Informed Navigation Intent Search with Known Goal
State
If the goal state g(k) is known, the set of candidate paths is reduced to those that end
in the navigation state s = g(k). The uninformed search procedure in Algorithm 5
is guaranteed to find any path to the goal that satisfies the likelihood and time
constraints, but also finds spurious paths that do not reach the goal.
Path search
can be made more efficient by applying a dynamic programming approach, searching
backwards from the goal. This is described in Algorithm 6. Stopping conditions in
this case are:
" If an emitting state is added to the path
" If total path probability is less than the threshold probability pmin
123
Algorithm 6: Informed Navigation Intent Search
Input: Navigation model (S, A, T, 0), goal state g(k), distribution over navigation
states P (Si), aircraft state ,i
Output: Set of inferred navigation intents Ncomplete
1: Ncomplete - {}
2: Npartial <-
g(k)
3: while Npaftial is not empty do
4:
for all partial paths in N ,tiel do
5:
Remove partial path h(') from front of Npartiai
6:
if h(') satisfies any stopping condition then
7:
8:
Add n () to Ncomplete
else
9:
for all s
E S with transitions to start of partial path h(4 do
21) * - add sj_1 to partial path
Add h(') to end of Nartiai
10:
11:
atl
j-1
12:
13:
14:
nj()
end for
end if
end for
15: end while
16: return Ncomplete
9 If path time exceeds the maximum path time
tmax
The first condition occurs if no transition to navigation state si exists, such that
pIji = 0 for all
j E [1, s]. In that case, the path is rejected if the likelihood that state
si is the next navigation state is low.
The parameters
Pmin
and
tmax
may be chosen to permit more paths than in Algo-
rithm 5, reflecting the increased certainty in the end point for paths. Path probability
includes the transition likelihood from the current aircraft position to the first naviga-
tion state in the candidate path as described by the distribution P(Si). Path distance
includes the distance from the current aircraft position to the first navigation state
in the candidate path.
Algorithm 6 has the same worst-case computational complexity, probabilistic completeness guarantees and consistency as Algorithm 5. In the average case, computational complexity is reduced as only paths leading to the goal state are expanded.
124
It is possible that this algorithm will fail to return a feasible path to the current aircraft position if stopping conditions are met prematurely. In this case, path
prediction reverts to the uninformed case using Algorithm 5.
5.4
Trajectory Prediction
The final step is to calculate the set of possible 4D trajectories
Tk:kf
using all infor-
mation inferred about the hierarchical behavior model - inferred intent
, estimated
state , and estimated mode r&. The length of the prediction window is dependent
on confidence in
I. The goal is to predict the trajectory that minimizes mean square
error with the true trajectory over the prediction window. Two cases are considered
- prediction with and without navigation intent.
5.4.1
Prediction without Navigation Intent
With no knowledge of the navigation intent, the best we can do in predicting the
future trajectory is to propagate the current velocity of the aircraft forward from the
current aircraft position.
A closed-form generating function that models aircraft dynamics is used to predict
aircraft position at any time t E [to, tf] E R, where to is the current time corresponding
to the latest observation of aircraft state at discrete time step k, and tf is the end of
the prediction window corresponding to kf. As prediction without navigation intent
does not reflect the long-term intention of the pilot, the prediction window must be
limited to a relatively short window. We choose tf = to + 40. A 40 second prediction
window is comparable to similar prediction algorithms such as TCAS and TSAA.
At to, aircraft velocity parameters airspeed V(to), heading 4(to), turn rate 4(to)
and vertical speed
(to) are calculated according to Equations 2.8-2.9, noting that
(to) is obtained directly from the state estimate :i(k).
prediction window, it is assumed that V,
4
For the duration of the
and % remain constant. This reflects
the tendency of a pilot to maintain relatively constant velocity in the short term.
Assuming the pilot is in coordinated flight, the aircraft dynamics are approximated
125
by a Dubins airplane model such that turning radius is constrained. The generating
function for predicted position for t E [to, tma] is:
f(t)
=
((to) + V(to)At sin(,0 (to) + 0(to) At)
(5.35)
=
0(t)00(t) + V(to)At cos('(to) + 4(to)At)
(5.36)
2(t)
=
2(to) +
(5.37)
where At
=
t - to. These equations can be used to generate a trajectory of the form
in Equation 2.11.
(to)At
Note that this type of predicted trajectory can also be used as
a candidate in the case where an inferred navigation intent exists. This provides a
safety margin for near-term prediction in the case that the predicted paths from the
navigation model are incorrect.
5.4.2
Prediction with Navigation Intent
Trajectory prediction over a much longer window is possible using navigation intent. In general, multiple navigation intents will be considered feasible with sufficient
probability. Trajectory prediction is performed on each inferred navigation intent.
Consider a single inferred navigation intent h
E N. The navigation intent consists
of a sequence of m states:
S= {so(to), si(ti), ...
where ti
, Sm(tm)}
(5.38)
C R is the predicted time an aircraft will arrive at the ith navigation state if
constant airspeed is maintained. An aircraft is considered to have reached a navigation state when the distance to that state is at a minimum. Initial state so corresponds
to the current aircraft state. Initial aircraft velocity parameters airspeed V(to), heading O(to), turn rate /(to) and vertical speed 2(to) are calculated in the same manner
as in the previous section. In this case, only airspeed V is considered to be constant
throughout the trajectory.
The predicted trajectory is given by a set of generating functions defined by Equa126
tions 5.46-5.49 and Equation 5.51, each defined for an interval of time between navigation states. These can be used to generate a trajectory of the form in Equation 2.11.
The total prediction window is over the interval [to, t,]. Depending on the confidence
in predictions and distance between navigation states, this could result in prediction
several minutes into the future, up to tmax. The probability that an aircraft is at
a given predicted point corresponding to one of the predicted paths is given by the
path probability up to that point, calculated using Equation 2.14.
Horizontal Position Prediction
To increase the accuracy of the predicted trajectory, the predicted path includes
arcs for coordinated turns. Turns start at the beginning of each segment in
n. The
geometry of the turn is shown in Figure 5.4.2. A turn starts at navigation state si,
continuing around a circle of constant radius until the relative bearing to the next
navigation state si+1 is zero. Hence, the path from si to si+1 then consists of two
parts - a turning section, and a straight line section. Using this fact, a closed-form
generating function can be defined for each segment between navigation states, with
a small set of parameters:
" Initial horizontal position (north, east)
" Initial horizontal velocity (airspeed, heading)
" Turn rate
" Time turn ends
" Time segment ends
The parameters of the turn are calculated to allow position to be predicted at any
point in the lookahead window. In a coordinated turn with turn rate
4,
the aircraft
follows an arc with radius:
V
(5.39)
127
Figure 5-4: Horizontal Geometry for Standard Rate Turn
The center of the circle described by this arc is related to the original location at si
by:
G, = i + r cos(Oi)
(5.40)
r/, = i/i + r sin(oi)
(5.41)
The distance from the center of the circle to si+1, denoted di+,, is the Euclidean
distance in the horizontal plane. The distance from the center to si is the radius r.
The angle between the lines
joining si and si+1 to the center of the circle is denoted
0. The range of possible heading changes are 0 E [- 3600, 360'], where positive values
indicate a right turn and negative values a left turn.
It is assumed that an aircraft will use a standard rate coordinated turn starting
at si, such that
(ti) = 3 deg/s.
(ti) is positive for a right turn (if A7P > 0) and
negative for a left turn. The turn ends at point si,, when relative bearing to si+1 is
zero. At this point, the turn is complete and
(ti,) = 0. Observe that the straight
line from sil to si+1 is tangent to the circle described by the turn. In Figure 5.4.2, the
angle 01 is the angle subtended by the arc from si to sit, and
128
02
is the angle subtended
S:andard ra-e
:urn circle
Figure 5-5: Horizontal Geometry for High Turn Rate
by the line from si' to si+1. The second angle is given by:
62 = cOS
1
(5.42)
+)
The first angle 61 is then the difference between 6 and 62. If dj+ 1 < r, then a standard
rate turn will not allow relative bearing to reduce to zero since si+1 lies inside the
turning circle of the aircraft. In that case, we increase the predicted turn rate of the
aircraft such that r = di+1, as shown in Figure 5.4.2. Increasing turn rate causes the
center of the circle to be closer to the aircraft than in a standard rate turn, but the
center is still tangent to the aircraft velocity at state si. There is no straight line
segment to the path from si to sj+1 in this case. If the turn rate required is excessive
(greater than 6 deg/s), then the path is not dynamically feasible. In this case, state
sj+1 is skipped.
Total path length from si to s~i+ is the sum of the arc length and straight line
segment:
(5.43)
d = r0 1 i+ r tan(6 2 )
129
noting that 01 must be in radians for this calculation. The predicted times the aircraft
will arrive at si' and si+1 are then given by:
01
ti = ti +
ti1= ti
±
(5.44)
S(ti )
V
(5.45)
Horizontal position of the aircraft can be predicted using the closed-form equations:
=
-
rT(t)
cos(i(ti)
+ '(ti)At) + r cos(i4)
r(t) = i(tj) + r sin(O(ti) +
(tj)At) - r sin(oi)
(5.46)
(5.47)
for t E [ti, ti,] and where At = t - ti, and:
(t)=
(t') + V(to)Atsin(
(tj,))
(5.48)
(t (t') + V (to) At Cos (V)(ti))
(5.49)
for t E [tl, ti+1 ] and where At = t
til.
Vertical Position Prediction
Constant vertical speed from si to si+1 is assumed, given by:
~to) =zi+1 ti+1
-
zi
Vt
ti
E
(5.50)
[ti, ti+1]
where tj+1 was calculated in Equation 5.45. Vertical position of the aircraft is then
predicted using the equation:
(5.51)
(t) = (ti) + g~ti) At
for t E [ti, ti+1] and where At = t - ti.
130
Propagation from Initial State
The predicted trajectory of the aircraft near the initial state is calculated by propagating the initial velocity (both vertical and horizontal) until the aircraft is oriented
with the next state, or it reaches a junction point where aircraft path is diverging
from the navigation intent. For a turn, divergence occurs when the relative bearing
to the next state is increasing and exceeds some threshold. At this point, a course
correction is added to the predicted trajectory to prevent further divergence. Vertical speed is propagated while vertical separation with the next navigation state is
decreasing.
5.5
Conclusion
This chapter introduced computationally efficient algorithms that allow pilot intent
1(k), consisting of behavior class b(k), goal state g(k), and navigation intent n(k),
to be evaluated. These algorithms take advantage of the characteristics of aircraft
flight and draws on prior work in HMM state space search and intent-based trajectory
prediction. Intent inference allows a closed-form trajectory to be predicted, which can
be evaluated to obtain the predicted aircraft position at any time in the prediction
interval.
The predicted trajectories directly address the Problem 1 in Chapter 2.
These algorithms are implemented experimentally in the next chapter to identify
appropriate choices for design parameters and to empirically evaluate performance.
131
132
Chapter 6
Experimental Results
The algorithms defined in the previous chapters are implemented experimentally in
this chapter. Through this process, appropriate choices for design parameters are
found. Performance of each method of path prediction is evaluated empirically. Two
experiments are presented.
The first uses a simulation environment with aircraft
dynamics modeled as a simple Dubins airplane.
The second uses trajectory data
from a high-fidelity commercial flight simulator to evaluate performance on a more
realistic data set. Both experiments consider aircraft operating in the vicinity of an
uncontrolled airport.
6.1
Dubins Airplane Simulation
A simple simulation environment with a sample uncontrolled airport is defined. The
environment considers an airport at the center with a 6,000 foot runway, and a cylinder
of airspace with radius 10 nautical miles and height 6,000 feet surrounding it. A
Dubins aircraft model with dynamic constraints on aircraft performance is used. The
aircraft tracks a reference trajectory using a pure pursuit controller. Details of this
scheme are detailed in appendix A. A set of 2000 trajectories is used to test the
algorithms, different from the set of trajectories to the set used for learning the
model. Half of trajectories are airport operations, while the remainder are randomly
generated maneuvering paths in the vicinity of the airport.
133
6.1.1
Behavior Classifier Implementation and Results
For classification purposes, any point in a trajectory relating to airport operations
are considered positive, while points relating to random maneuvering trajectories
are negative. Two design parameters need to be selected - minimum probability
threshold
mi
in the range
and time constant 7,i. The minimum probability threshold is evaluated
E- [10-12, 1], and with classification time constant
T,1
=
{0, 10, 20}
s. Recall from Table 5.1 that a true positive classification occurs when behavior is
classified as complying when the pilot is flying a terminal trajectory, while a false
positive occurs when behavior is incorrectly classified as complying for a randomly
maneuvering or navigating trajectory. The positive classification rates (both true
and false) for different thresholds are shown in Figure 6-1, and the associated receiver
operating characteristic (ROC) curve is shown in Figure 6-2.
When time constant
Pthresh
is equal to pc
T1
= 0, the probability threshold for hypothesis testing
at every observation. As a result, both TPR and FPR will
be a maximum at this value for a given pcine As pci
decreases, both the TPR and
FPR increase. The design objective from Problem 4.1. is achieved for pci
=
10-4,
at which point FPR < 0.05 and TPR ~ 0.83.
Conversely, choosing
than when
Tci
> 0 results in TPR and FPR rates that are both less
rc = 0. Interestingly, both TPR and FPR converge to an approximate
maximum as pci* decreases when compared to the
Tc,
= 0 case. Choosing pci,
< 10-4
does not have a significant affect on either the TPR or the FPR in this case. The
key benefit of choosing
TcI
> 0 is therefore to place an approximate upper bound on
the FPR, at the expense of a reduced TPR when compared to the maximum possible
value.
A false negative (classified not complying when the true behavior is complying) is
not a critical failure of the classifier, as the trajectory prediction algorithm reverts to a
velocity propagation method in this case. This methodology is known to be relatively
accurate over a short period of time, allowing collisions to be avoided. On the other
hand, a false positive can result in overly confident predictions of the position of an
134
<D
M
0
....... ................... -
.......
0 .9 ............ ...... ........... .. .
TPR (-c--Os)
TPR (,c= 1 Os)
TPR (-c--20s)
F P R (-c=O s)
FPR (-c--1 Os)
FPR (-u=20 S)I
..................... ......
.......
............
of po 6 " 04 44 0 00 it 04 04
01 Oi
- - - - - - - - - - - 77a7..
...... ...
.......
....
7.
..........
0 .7 . ........ ......
...
0 .6 ......
.......
......
....... ........
.............
......-
M
Cn
O A ............ ...........
.......... .................
0 .3 .........
...
..
.....
..
.
......
..........
..... ......
....... ...... ....
.........
0 .2 - 1- 1- - l-.......
0 .1
.....
....
.......
...
....... ..
...
...
.. ..
..... ..
... .............
........
...........
.......
04 9i 64 i
0
10-12
10-10
0
10
10-2
10-4
10 -6
10-8
Minimum Probability Threshold
Figure 6-1: Classification Minimum Probability Threshold
1
.................
0.9 .............................
........................................................
-C=OS
'U= 1 Os
...
.
.
.
...
.
.
..
..
. . . . ..
T=20s
................... ...............................
0.8
0.7
.. . .. . . .. . .. .. . . .. .. . ..
0.6
0.5
(D
0.4
. . .. . .. . .. . .. . .
. . ..
.. . .. . .. . .. .. . .. . .. .. . .. .. .. . . .
.. . .. . .
0.1
.. . . .. . .. .
oA0
.. . .. . .. . .. . .. .. . . .. .
.. . . .. .. . .. .. . . .. .. . ..
0.05
. .. . .. . .
......
. . .. . .. . .
03
0.2
.. . . ..
. . .. . .
. . .. . .. . .. .. . . .. . .. . .. .
. .. . . .. . .. .
. . .. . .
. . .. . .. . .. .. . . ..
0.1
..........
0.15
False Positive Rate
Figure 6-2: Classification ROC Curve
135
.............
0.2
aircraft far into the future with significant error. Hence, a low FPR is preferable to
a high TPR.
A good trade-off that achieves the design objective of FPR < 0.05 with an acceptably high TPR is obtained with p'l
of order 10-
and Trc = 10. With these
parameters, the expected average performance of the classifier is TPR > 0.75 and
FPR < 0.04. This provides a solution to Problem 4.1 in Chapter 5. It should be
noted that for terminal trajectories, some maneuvers performed by a pilot to set up
an approach are not modeled by the navigation model. This has the effect reducing
TPR.
6.1.2
Rate of Prior Observation Acceptance
Another feature of the classifier is an assessment of whether the sequence of observed
mode changes up to the current time agrees with the next predicted mode change.
As discussed in Chapter 5, knowledge of the prior mode change can be used to more
accurately predict the next mode change if the pilot is complying with the navigation
model. The proportion of all observations for which behavior was classified both as
complying and with a valid sequence of prior observations that agree with the current
observed state of the aircraft are shown for different values of pci
and T,1 are shown
in Figure 6-3.
This shows the maximum rate of accepting prior observations is around 0.3 for
pi<
i0,
while increasing Tr1 marginally reduces this rate. For comparison, with
TPR = 0.75, we expect approximately 40% of positive classifications to have a valid
sequence of proceeding observed mode changes.
This relatively low rate can be explained by the fact that the navigation model in
this case only considers the area in the immediate vicinity of the airport. A significant
proportion of true positive classifications will occur while an aircraft is approaching
an airport, prior to any mode changes that fit the navigation model being observed.
When the aircraft is maneuvering in the traffic pattern at the airport, we can expect
a much higher proportion of classifications to have a valid prior observation sequence.
This will improve confidence in trajectory prediction in this important phase of flight
136
0.3G
C
-Os
....
-. ----..........
............--.
0 .3 -.......... -.
-
...
, = 2 0s
-0
0
0 .2
E
..
- . -.
.. ........
-.-.--.-......
-..- -.
0.15 -
.-
0.05
- -.-.
-
0
0
0 -10
10
-
10
10
10
10
100
Minimum Probability Threshold
Figure 6-3: Classifications with Valid Prior Observations
when several maneuvers are being performed in rapid succession.
6.1.3
Trajectory Prediction Implementation and Results
Path prediction performance is evaluated using classification settings described in
the previous section. Throughout this section, the minimum prediction window is 40
seconds, while the maximum prediction window is 300 seconds. The minimum time
is commensurate with the prediction window for velocity propagation methods.
Path Prediction
The key design parameter for path prediction is the minimum path probability, which
is evaluate over the range Pmin E [10-3, 1]. Figure 6-4 shows the average number of
paths predicted at each time step and the average duration of each predicted path.
As expected, the average number of paths generated decreases as Pmin increases, as
does the average duration of predicted paths. However, the average number of paths
predicted does not approach the theoretical maximum number possible paths allowed
137
by the threshold. This suggests that the limiting factor in the number of paths is the
structure of the navigation model, which is relatively small in this case. Of particular
note is the duration of predictions made when a false positive occurs. A prediction
over 200 seconds long for an incorrect positive is drastically overconfident, highlighting
the undesirable nature of false positive classification.
Figure 6-5 shows the average computational cost of the path prediction path as
pmin varies. This shows that both the total number of navigation states tested and
the number of navigation states accepted with sufficient probability increase as the
probability threshold decreases. Observe that the difference between these two figures
converges as the probability threshold increases. This means that the proportion of
navigation states tested that are subsequently added to a path is highest for high
probability threshold. If computational resources are constrained, this is an important
consideration in ensuring the algorithm remains tractable, particularly if the number
of states in the navigation model is large.
Figure 6-5 also shows that there is a small decrease in computational cost when
a valid prior observation is available. Hence, use of prior observations in predicting
future mode changes serves to make the algorithm more efficient on average.
Prediction Accuracy
The accuracy of trajectory predictions is assessed by measuring the RMS error between predicted position and the true position throughout the prediction window. For
comparison, the prediction algorithms developed in this thesis are compared to basic
propagation schemes of current collision avoidance technology. Results are shown in
Figure 6-6. Here, state propagation refers to straight line propagation of the current
estimated velocity only and mode propagation refers to propagation of the current
observed maneuver (such as a turn or straight and level flight). In the intent-based
framework, prediction performance using the learned navigation model is compared
against a basic model encoded without any learning performed. The model implemented without learning is based on a interpretation of the FAA-recommended traffic
pattern procedures.
138
180
a
-. --..--.--.--
160
-
- ...
....-..
140
---
-- True Positive
TPwl rior
\-FaFalse Positive
C1
(n
0
(3)
.O
E
z
a)
100 --..-
...
......
.......-......
..... .....
-..-.-.-.-.-......
-.--
-.
-...
--.
-..
CD
....
. ...-.-.-.- .-
..-.....
.. .-..
...... ....
.
*.
..
- --.
-...-.-...
.......
--...-
40
.
.....
---. ..
....
---...
-..
- .....
...
---.
80 - ......
60
.
... ..
-----.-..----.--.
-..--- ..
-.
..
...
- -. -.
. ..-.
....
-- -..
120 ..
20
0
1
1
10'
102
Minimum Path Probability
10
300
LO
....
. .......
..
......
....
...
...
....
... ..
....
- 250
-I
-.
0
200
- - --.- -..
- -.
(D
0
'o
-.-- ... .-.. . - .-.
.. . .
-- - -.
. ..
150
.
--
- -
0
-
-
- -
100
CD
.-
-.
-
- - -
-
- - -
50
ni
-1
10 -
10'1
102
Minimum Path Probability
Figure 6-4: Feasible Predicted Paths
139
100
1500
- - -
\-
t
-
-
States
States
States
States
Tested (TP)
Tested (TP w/ prior)
Added (TP)
Added (TP w/ prior)
1000
V
Z
S 00
.. . .. ... ..
.. .
.. .
E
01
103
...
. . .. . .
102
10'
Minimum Path Probability
100
Figure 6-5: Computational Complexity of Path Search
These results clearly show that intent-based approaches given much better predictions of aircraft position for a long prediction window than can be achieved using
the current state and mode alone, reducing average error by more than a factor of 2
for most of the prediction window. Where a navigation model is used, it can also be
observed that more accurate predictions are obtained when using a model with parameters have been optimized through the unsupervised learning approach in Chapter 4
than using a model encoded without learning. The best results are achieved when
using the optimized navigation model in the hierarchical pilot behavior framework is
used, where average prediction error after 200 seconds is less than 1 nautical mile and
after 300 seconds is less than 2 nautical miles. This is much less than the 3 nautical
mile separation standard used by air traffic control in controlled airspace.
Note that path error decreases when a larger value for pmin is chosen, as demonstrated by the curves corresponding to pmin = 0.05 and pin, = 0.2 in Figure 6-6. The
same high likelihood paths will be found in both cases both values. However, several
low probability will also be predicted with a smaller value of pi..
These results
suggest that these lower probability paths are less accurate than the high probability
paths, which causes average error to increase. Consequently, it can be concluded that
high probability paths are generally more accurate than low probability paths. As
140
-. . . . . . . . . . . . . . . . . . . .
90uuu
8000
State Only
Mode Only
Uninformed, no learning
Uninformed, p =0.05
7000
Uninformed, p
0
LJ
=---2
-- -- ---- ------ - - -
6000
02
m -n
5000
. . .......
.... -.
-.
....
-.-...........
- -.-.
o 4000 ...-..
...
-- ----.
S3000 ..-
.......
..
-.
...
... .
..
..-.
.-.
.......
2000
1000
0'
(
200
150
(s)
Time
Lookahead
10 0
50
250
Figure 6-6: Average Prediction Error
such, a sensible choice of pj,
should be relatively large. This has the added effect
of reducing computational cost, as the bound on the maximum number of paths that
can be found decreases with increasing pmin. However, caution must be taken to
ensure that pmin is sufficiently small for feasible paths to be found.
to
The path search algorithm will return a set of possible paths, distributed according
the likelihood of individual paths. The complete set of paths may be used to
form a distribution over possible aircraft positions at a given time in the future.
Alternatively, the most likely path may be chosen. The most likely path is defined
as the path with the highest likelihood initial navigation segment. This reflects the
path we have most confidence in for the near future. The total probability at the end
141
4 000
...-------
...
.--..-.
3500
3000
..............
/...........
..................
..... .......................................
2500
0
C
0
-..
....
....
- -.
............
..
-
2000
-0-
........
.
.
.011
-1C
0
a)
1500
1000
p
500
010
0
-
..
--
50
100
150
0.2 (Average)
pm
p
= 0.2 (Most Likely Path)
p
= 0.01 (Most Likely Path)
=
0.01
(Average)
I
200
250
Path Duration (s)
Figure 6-7: Prediction Error - Average vs Most Likely Path
of the most likely path may be less than for other paths, depending on how many
segments are in the path and their individual probabilities. The average prediction
error for the best path compared to the average case is shown in Figure 6-7.
For pmin = 0.2, the most likely path has comparable error to the average case for
the first 150 seconds of the prediction. Beyond this, average path prediction gives
better results. Similarly, for Pmin=O.oi the most likely path has comparable or smaller
error than the average case for the first 210 seconds, before diverging. This reflects
the fact that the most likely path will not reflect infrequently observed pilot behavior,
while the distribution over possible paths will include this path in the distribution if
142
Pmnin is sufficiently small.
Of note, prediction error for the most likely path in both cases is roughly the same
for most of the prediction window. Error becomes larger for pmin = 0.01 for predictions beyond 240 seconds. This is because the most likely path for both threshold
probabilities is the same initially, but the most likely path for the small pmin will
have a longer duration in most cases than for large
Pmin.
By definition we have less
certainty in the likelihood of this longer path, so it is more likely to diverge from the
true path.
Sources of error in prediction includes:
* Estimation error, particularly in velocity as this causes position uncertainty to
grow with time
" Unmodeled behavior, such as variation of velocity with time
" Path execution that doesn't match pilot actions
While estimation error is difficult to improve without better sensing, error caused by
the latter factors can be reduced through a more expressive navigation model.
Prediction Duration
The duration of predicted paths varies depending on the total probability of that path
- a high probability path is likely to be longer in duration than a low probability path.
However, even a high probability path may have a short duration if it is expected to
terminate in the near future, such as when an aircraft is very close to landing. The
proportion of predicted paths with different durations is shown in Figure 6-8.
There is a significant drop when duration exceeds 40 seconds, reflecting that paths
are only propagated for 40 seconds if the behavior classification is negative. Beyond
that, a diminishing proportion of paths are predicted as duration increases. A higher
probability threshold reduces the average duration of predicted path, reflecting that
confidence in a path decreases as the duration of the path increases.
143
100
---....
- - . .............
---...........
--.-.--.-.------
9 0 ..----
p
..
..-.-.-
-- -
a 80
pmn = 0.2 (average)
.--..
--.. ....-- ....-...
..
= 0.05 (average)
CL
-
---..-
g 40 - -- -
--
-
-
-
Ln
60 -
-
:O 30
-.
-
-
----
--
"20
0
0
50
100
200
150
Path Duration (s)
250
Figure 6-8: Duration of Predicted Paths
Table 6.1: Informed Search Performance
Search
Method
Average No.
of Paths
Average States
Sampled
Average States
Added
Informed
Uninformed
1.64
5.49
75.85
101.33
16.81
16.67
Informed Search
With pmi
= 0.05 chosen, the performance of the informed search algorithm is eval-
uated on a subset of trajectories ending with a full stop landing. For the informed
search, it is assumed that the pilot objective is known through monitoring of CTAF
radio. Position error is shown in Figure 6-9. Computational performance of the path
search algorithm is shown in Table 6.1.
These results show a number of benefits to using the informed search approach.
Computationally, the average number of paths is reduced by 70% and the number
of samples required to find paths is reduced by 25%, while the number of paths
added to the candidate paths is roughly the same. In the uninformed case, only 16%
144
..
- ----. -.--..
3500 -...........
Uninformed
I
-nformed
3000
-- .-...--..--.--............-. ....-..
.-- -..- ..-.
.. .- -..-- ..-.-. -.-..--.
-.-.-.
2500
0
0
0
:t:
En
2000
1500
..-.---------
-.-.---....----....
-.-.--..-.-.--..---.--......
...
-.
... ...
---.
---.
- - -.
- - --.
...
- -.-.-.-.. ....
1000 ---- .- .-.
.....
-.-.- - ---.....
- --
.
-- -.-
.
-
--- --- .
500
00
0
50
I
100
200
150
Path Duration (s)
250
Figure 6-9: RMS Error - Informed vs Uninformed Search
of sampled states are added to a path, improving 22% in the informed search. The
informed search strategy therefore is more efficient and effective in searching the state
space.
Predicted position error is comparable for the first 90 seconds of the prediction
window, with improvements seen for predictions further into the future. The peak
error for predicted trajectories resulting from an informed search is reduced by approximately 33% compared to the uninformed search method. For short term prediction, both predictions are comparable. For long-term predictions, using a dynamic
programming approach to path search from the goal ensures that paths that diverge
from the pilot's goal are not searched or added to the set of predicted paths, reducing error in long-term predictions while also significantly reducing the number of
predicted paths.
145
6.2
High Fidelity Flight Simulation
High fidelity simulation of aircraft dynamics is achieved with data obtained using Microsoft Flight Simulator X. The simulation environment considered is in the vicinity
of Julia Creek Airport (ICAO: YJLC), an uncontrolled airport in Queensland, Australia. This airport is chosen because it is located in a remote area, surrounded by
flat terrain. It has a single runway (10/28), which uses a standard left traffic pattern.
The effects of real-world weather - particularly wind - are included in this simulation.
A sample set of 18 trajectories flown by a human pilot are recorded.
This set
includes 3 departures, 5 approaches with a standard 450 entry to the traffic pattern,
5 closed traffic pattern paths, and 5 navigating paths that overfly the airport but do
not enter the traffic pattern or land. These trajectories are shown in Figures 6-10-611. Each trajectory is translated such that the airport is at the origin and rotated
such that the runway is oriented at 900. This allows the navigation model learned
from the Dubins simulation results to be used without modification.
6.2.1
Results
The accuracy of the classifier is assessed with probability threshold in the range
pi
E
[10
, 1] and time constant
T,
= 0, with the ROC curve shown in Figure 6-
12. This shows FPR < 0.02 and TPR approaching 0.71 as p'l
decreases.
This
performance is comparable to the results shown in Figure 6-2, with a slightly lower
TPR achieved in this case. This is to be expected, as no learning has been performed
on the navigation model.
Next, the performance of the navigation intent search and trajectory prediction
algorithms are assessed, with classification probability pin
path probability Pmin = 0.05.
=
10-'
and minimum
The average RMS error of the different prediction
methods are shown in Figure 6-13, and the average duration of predicted paths is
shown in Figure 6-14. These results are also comparable with results obtained in
the previous section. However, the average path error for the first 60 seconds of the
trajectory is slightly worse for the intent-based methods than the naive state-only
146
Trapcdory
1400
-,
K
12000
00
3000
Figure 6-10: Sample Trajectory Set
~~ ~ ~ ~ ~ ~
-
000
200
.w
400
00
0
4000
20000
10
Figure 6-11: Sample Trajectory Set
-
00
Ground Track
prediction, likely a result of mismatch between the navigation model and the true
behavior. On the other hand, the informed path accuracy is significantly lower than
in the previous section.
Finally, the computational performance of the uniformed and informed navigation
intent search algorithms are compared in Trable 6.2. As before, the informed search
is more efficient than an uniformed search, requiring fewer samples and generating
147
- -
0 .8
--
0 .7
.....
-.. -
-
--
-
--
--
0 .9
-
--
-
...-- ...
-..-.--...........-..
..
..........
--..--.-..-.---
..
..
- -.---.-.-.--.--..----.-...--.
0 .6 -.
CL
<D
:--.-.-.--.-...........
.........
--..--.---.-.-.--...-............
0 .4 -.
"t
Posol
False
.....
0 -3 - - -..-.-.---.----...-.--.-...-..--...-.-
.......-- ....---
...................
.......
--..-...--...---.--....-.-.
....
---- -.-0 .2 Figure..........
6-2
Hig Fidliy.Smuatin.
lasifcatonRO
0
0.005
0.01
False Positive Rate
0.015
0.02
Figure 6-12: High Fidelity Simulation Classification ROC
Table 6.2: High Fidelity Simulation Informed Search Performance
Search
Method
Average No.
of Paths
Average States
Sampled
Average States
Added
Informed
2.99
79.68
13.69
Uninformed
6.92
90.62
14.82
fewer paths. From Figure 6-13, we can also conclude that this smaller set of paths
for the informed search is very accurate compared with an uninformed search.
While definitive conclusions should not be drawn from this limited set of test
trajectories, these results show that using a the classifier and the prediction algorithms
coupled with a navigation model directly applied from a low-fidelity simulator results
in high accuracy predictions of aircraft position over a long time frame. It is likely
that even better results could be obtained with a navigation model trained using a
larger set of aircraft trajectories.
148
600 0 --
-- - - - -State Only
Uninformed w/o pnor
Uninformed wl prior
Informed w/ prior
5000
E
p0
-.- --...-----
40 0 0
- - --
-
- -
-
---
-.
Uj
.O
-----
3000 -
-..
..
-...--.-- -....
-..----..
..
---.. -.
2 00 0 -- ....
-
---- -.-..-.1 00 0 ------ ...
0
150
100
50
0
...--.
200
250
Lookahead Time (s)
Figure 6-13: High Fidelity Simulation RMS Error
.
-.-.-..-.-.-.- .-Uninformed w/o prior
--......-- - -.--...--..-
1 00
Uninformed w/ prior
80
.....
60
-.-.-
..
Inform ed w/ prior
.
......--.-..
--.-
-.-.-
-- --..--.-
0
-
~40 - - - - - - S
0
30
-
--
-
0
-
-.-.-.-.-.----.-
I
0
50
200
100
150
Path Duration (s)
250
Figure 6-14: High Fidelity Simulation Prediction Duration
6.3
Conclusion
The results in this section show that the integrated model learning, classification and
prediction algorithms that make use of alkl9irarchical behavior model are effective in
making long-term predictions of pilot intent and aircraft position in the vicinity of an
uncontrolled airport, given observation of past behavior. This offers significant improvement over previous methods used to predict aircraft trajectory based on aircraft
state or mode estimates alone. It was shown that while an intent-based approach
using an expected navigation model offers improvements in prediction accuracy, the
use of a navigation model trained on prior observations offers the best performance.
The concise representation of aircraft behavior offered by the navigation model allows
predictions to be made very efficiently. In particular, the informed search algorithm
improves prediction accuracy while also reducing computational cost when compared
to the uninformed case.
A key consideration in choosing design parameters is the tradeoff between high
prediction accuracy and the consequences of false positive classification. From a safety
perspective, the designer should bias design choices towards minimizing FPR.
The average error in predicted paths in the airport environment is less than one
nautical mile after 200 seconds. This provides an excellent starting point for long-term
path planning by a UAS near that airport.
150
Chapter 7
Conclusions
7.1
Summary
Chapter 2 defined the application domain for the work in this thesis, along with the
path prediction problem to be addressed. A hierarchical pilot behavior model was
defined that extended the previous work of Liao et al.
to include the concept of
behavior compliance. This model describes the flow of information from the highlevel intent of a pilot through to the observed state of the aircraft was described in
detail. By sensing this observed low-level state, pilot intent may be reconstructed.
Chapter 3 detailed the characteristics of measurements available using Automatic
Dependent Surveillance - Broadcast (ADS-B) technology. The Interacting Multiple
Model (IMM) estimator and the Mode Change Detection algorithm were implemented
using ADS-B. These algorithms provide maximum likelihood estimates of the state
and maneuver mode of the aircraft, respectively. The Mode Change Detection algorithm also allows the estimated time that a maneuver started to be estimated. These
algorithms were shown to give excellent estimates of the state and mode of an aircraft
over time.
Chapter 4 defined a novel navigation model that takes advantage of the characteristics of aircraft trajectories to concisely represent pilot behavior. The navigation
model represents aircraft behavior as a Hidden Markov Model with state space consisting of navigational features at which aircraft are observed to commonly maneuver.
151
Aircraft paths are defined as a Markov chain of navigation states drawn from this
model. Unsupervised learning of structure and parameters of the navigation model
was achieved using the well-known k-means and Baum-Welch algorithms.
In Chapter 5, the navigation model was leveraged to first develop a behavior
classification algorithm for determining whether a pilot is navigating in accordance
with the navigation model by assessing whether the path observed up to the current
time, including the current state and mode of the aircraft. Efficient path prediction
algorithms inspired by prediction methods proposed by Seah and Hwang were then
described, for both the uninformed and informed cases. These algorithms efficiently
return a distribution over a finite set of possible paths that fit the navigation model.
Finally, a closed-form trajectory generation function was defined that allowed the
position of an aircraft to be predicted at any point during the lookahead window,
taking into account dynamic constraints on the aircraft.
Finally, Chapter 6 validated the performance of all these methods when integrated together using both a low-fidelity and high-fidelity simulation. The results
showed that pilot behavior could be classified with high accuracy. With a positive
classification, long-term predictions of future aircraft trajectory was shown to have
much greater accuracy than could be achieved with by considering current state or
mode alone. The advantages of training a navigation model using prior observations
was demonstrated through reduced prediction error when compared to an untrained
model. The benefits of using an informed search were also demonstrated, shown to
reduce both the computational cost and the prediction error relative to an uninformed
search.
7.2
Extensions
This work may be extended in several ways. In particular, the expressiveness of the
navigation model can be improved by modeling factors such as aircraft velocity and
distributions over the heading that aircraft approach and depart a navigation state.
The navigation model may also be modified to be non-stationary, with parameters
152
that vary depending on time of day, day of the week, or the season. The region of
interest around the airport could also be expanded to allow earlier classification of an
aircraft navigating to that airport, provided that low likelihood navigation states not
related to terminal operations can be discounted. Finally, the navigation model could
be updated incrementally online when a novel behavior is observed. Such work will
make the navigation model more accurate, reducing error in predicted trajectories.
More practical validation of these techniques should also be pursued using real-world
data, particular through the use of real air traffic data. This data is likely to become
more accessible as ADS-B is adopted over the coming years.
The prediction algorithms described here can then be used by other agents using
the airspace. Passively, long-term prediction of position can be used as a safety tool
by pilot and air traffic controllers for situational awareness. As an active tool, these
predictions may be combined with a path planner to find probabilistically safe paths
through airspace containing other aircraft.
153
154
Appendix A
Simulating Aircraft Trajectories
This appendix describes the simulation environment used to generate trajectories
for evaluation of the algorithms in this thesis. Dynamics of aircraft are modeled as a
Dubins airplane. Trajectories for airport operations are generated using a database of
random behaviors, while trajectories for randomly maneuvering aircraft are obtained
by sampling the Lincoln Laboratory uncorrelated encounter model [30].
Aircraft Dynamics
A.1
For simulation purposes a Dubins airplane model is used for system dynamics, which
constrains the turn radius of the aircraft [40].
This model provides a reasonable
approximation of aircraft behavior. The model is given by:
V(t) sin(4 {)
(A.1)
(W)
=VMt Cos(N)
(A.2)
(t)
=
(t)
nz(t)
(A.3)
V (t)
=,u(t)
(A.4)
< (t)
=
(A.5)
(
where rj is northerly position,
is easterly position, z is altitude, V is horizontal speed
(airspeed) and 0 is heading. Control inputs are horizontal acceleration, vertical speed
155
and turn rate. Dynamic constraints are placed on performance similar to a small
general aviation aircraft. Dynamic constraints are listed in Table A.1. Constraints
are typical of a light fixed wing GA aircraft such as the Cessna 172. Note that these
quantities are listed with standard aviation units of measurement for aviation.
Table A.1: Aircraft Dynamic Constraints
Variable
Airspeed
Horizontal Acceleration
Constraint
V > 50 knots
V < 130 knots
VTO = 55 knots
IVI < 1 knot/s
VI
Vertical Speed
Vertical Acceleration
Turn Rate
Turn Acceleration
A.2
< 3 knot/s
< 700 fpm
z> -1000 fpm
< 0 fpm
i > 0 fpm
I2 < 200 fpm/s
i4'l < 10'/s
< 5/s 2
Description
Stall speed (in air)
Maximum speed
Takeoff speed (on ground)
in air
on ground
Maximum climb rate
Maximum descent rate
Below T/O speed (on ground)
(on ground)
Reference Trajectory Tracking
Pure pursuit control is implemented for tracking both lateral and vertical reference
paths [49]. Desired airspeed tracking is achieved by minimum-time control.
A.2.1
Lateral Path Pure Pursuit
Tracking of the desired trajectory is achieved using a non-linear pure pursuit control
law . This is chosen to provide accurate tracking of the reference path while ensuring
that turns follow a smooth curve. The lateral acceleration command is given by:
aSm
V
=
2
(A.6)
2 - sin(r/)
L,
156
aircraft
desired path
reference point
R
R
Figure A-1: Pure Pursuit Control Law
[49]
where as,d is the lateral acceleration command (perpendicular to the horizontal
velocity vector), 77 is the difference between the aircraft heading and the bearing to
the reference point on the trajectory, and L 1 is a constant distance ahead of the
aircraft to a reference point on the desired trajectory. The geometry of the guidance
law is shown in Figure A-1.
The lateral acceleration command in Equation A.6 is
converted to a change in heading for a small time step At according to:
A* = 2 a
=
A.2.2
2
"dAt
V sin(A)At
L1
Vertical Path Pure Pursuit
A similar approach is used for vertical guidance.
Using the same geometry as in
Figure A-1, the vertical acceleration command is given by:
V2
avm
=
(A.8)
2 L- sin(TI)
157
where aVcd is the vertical acceleration command (perpendicular to the velocity vector), rq is the difference between the aircraft flight path angle and the flight path
to the reference point on the trajectory, and L 1 is a constant distance ahead of the
aircraft to a reference point on the desired trajectory.
When climbing or descending, the aircraft vertical axis is not aligned with the
Earth-reference vertical axis. Vertical acceleration in the Earth frame is given by:
a, =
a,,d
(A.9)
cos(y)
where -y is the aircraft flight path angle. However, the selected constraints in Table A. 1
result in a maximum flight path angle of approximately 50. Hence, the Earth-frame
vertical acceleration command can be approximated by Equation A.8.
If a large step altitude change is commanded, the control law will yield an infeasible
climb or descent rate. As a result, it is important that constraints on vertical speed
are enforced.
A.2.3
Airspeed Tracking
Minimum-time tracking of airspeed is achieved by commanding longitudinal acceleration to match the delta between actual and reference airspeed:
along = Vref -
(A.10)
V
As for the vertical acceleration command, longitudinal acceleration constraints must
be enforced to ensure step changes in commanded velocity and feasibly propagated.
A.3
Airport Operations
For an aircraft performing airport operations, a range of pilot behaviors may be
exhibited including:
e Entry to left traffic pattern with standard 45 degree entry
158
* Entry to traffic pattern at left or right base
" Straight in approach on extended final
* Teardrop entry to traffic pattern (overflying airport first)
" Non-standard entry to right traffic pattern
" Full stop landing, touch and go, or missed approach
" Closed circuit traffic pattern operations
" Takeoff with left, right of straight out departure
* Takeoff with departure from downwind leg
A trajectory may be composed of a sequence of different behaviors. For example,
one possible sequence is an entry to the traffic mattern, a missed approach, a complete
circuit of the traffic pattern and a full stop landing. A database of waypoint sequences
is defined that describes each of these behaviors. The control laws described in the
previous section are used to track this waypoint sequence.
During simulation, one of these sequences is selected at random. The location
of each waypoint is then moved some random distance to model the low navigation
accuracy typical of VFR traffic.
A.4
Random Maneuver Trajectories
Randomly maneuvering trajectories are generated by sampling the Lincoln Laboratory uncorrelated encounter model [30]. This is a dynamic Bayesian network model
with statistics drawn from extensive observations of VFR traffic in uncontrolled
airspace throughout the United States. The characteristics of trajectories sampled
from this model depend on factors including altitude, airspeed, turn rate and type of
airspace.
159
The simulation is modified such that the initial state is limited to low altitude
Class E and G airspace. Rejection sampling is used to ensure that sampled trajectories
satisfy the dynamic constraints in Table A.1.
160
Bibliography
[1] Global positioning system standard positioning service performance standard,
2008.
[2] DO-282B - Minimum Operational Performance Standard for Universal Access
Tranceiver (UAT) Automatic Dependent Surveillance - Broadcast (ADS-B),
2009.
[3] Literature review on detect, sense and avoid technology for unmanned aircraft
systems. Technical report, Federal Aviation Administration, 2009.
[4] Introduction to TCAS II Version 7.1.
2011.
Federal Aviation Administration, Feb
[5] Aeronautical Information Manual. Federal Aviation Administration, 2013.
[6] Ryan Prescott Adams and David JC MacKay.
detection. Cambridge University, 2007.
Bayesian online changepoint
[7] Federal Aviation Administration. Automatic Dependent Survellaince-Broadcast
Out performance requirements to support Air Traffic Control service, final rule,
May 2010.
[8] Ali-akbar Agha-mohammadi, Suman Chakravorty, and Nancy Amato. FIRM:
Sampling-based feedback motion planning under motion uncertainty and imperfect measurements.
International Journal of Robotics Research (IJRR),
33(2):268-304, 2014.
[9] Daniel Aloise, Amit Deshpande, Pierre Hansen, and Preyas Popat. NP-hardness
of Euclidean sum-of-squares clustering. Machine Learning, 75(2):245-248, 2009.
[10] Georges S. Aoude, Brandon D. Luders, Joshua M. Joseph, Nicholas Roy, and
Jonathan P. How. Probabilistically safe motion planning to avoid dynamic obstacles with uncertain motion patterns. Autonomous Robots, 35(1):51-76, 2013.
[11] Kwangyul Baek and Hyochoong Bang. ADS-B based trajectory prediction and
conflict detection for air traffic management. InternationalJournal of Aeronautical and Space Sciences, 13(3):377-385, 2012.
161
[12] Y. Bar-Shalom, X.R. Li, X.R. Li, and T. Kirubarajan. Estimation with Applications to Tracking and Navigation. Wiley-Interscience, 2001.
[13] Alec J Bateman and Matthew D Lichter. Predicting aircraft intent in the terminal area. AIAA Guidance, Navigation, and Control Conference, 2012.
[14] Maren Bennewitz, Wolfram Burgard, Grzegorz Cielniak, and Sebastian Thrun.
Learning motion patterns of people for compliant robot motion. International
Journal of Robotics Research, 24:31-48, 2005.
[15] Pavel Berkhin. A survey of clustering data mining techniques.
multidimensional data, pages 25-71. Springer, 2006.
In Grouping
[16] H. Blom and Y. Bar-Shalom. The Interacting Multiple Model Algorithm for Systems with Markovian Switching Coefficients. IEEE Transactions on Automatic
Control, 33(8), 1988.
[17] Zhansheng Duan, Vesselin P Jilkov, and X Rong Li. State estimation with
quantized measurements: Approximate MMSE approach. In Information Fusion,
2008 11th InternationalConference on, pages 1-6. IEEE, 2008.
[18] Sarah Ferguson. Real-time predictive modeling and robus avoidance of pedestrians with uncertain, changing intentions. Master's thesis, Massachusetts Institute
of Technology, 2014. to be published.
[19] C. Fulgenzi, C. Tay, A. Spalanzani, and C. Laugier. Probabilistic navigation
in dynamic environment using rapidly-exploring random trees and gaussian processes. In IEEE/RSJ InternationalConference on Intelligent Robots and Systems
(IROS), pages 1056-1062, Nice, France, September 2008.
[20] Maxime Gariel, Fabrice Kunzi, and R John Hansman. An algorithm for conflict
detection in dense traffic using ADS-B. In Digital Avionics Systems Conference
(DASC), 2011 IEEE/AIAA 30th, pages 4E3-1. IEEE, 2011.
[21] United States Government. Title 14 CFR Part 91 - General operating and flight
rules, 2014.
[22] Clint Heinze. Modelling intention recognition for intelligent agent systems. Technical report, Defence Science and Technology Organization, 2004.
[23] Inseok Hwang, Jesse Hwang, and Claire Tomlin. Flight-mode-based aircraft
conflict detection using a residual-mean interacting multiple model algorithm. In
Proceedings of the AIAA Guidance, Navigation and Control Conference, 2003.
[24] Joseph A Jackson and Jovan D Boskovic. Application of airspace encounter
model for prediction of intruder dynamics. AIAA Modeling and Simulation Technologies Conference, 2012.
162
[25] Shau-Shiun Jan and Yu-Chun Kao. Radar tracking with an interacting multiple
model and probabilistic data association filter for civil aviation applications.
Sensors, 13(5):6636 - 6650, 2013.
[26] Vesselin P Jilkov, X Rong Li, and Lei Lu. Performance enhancement of the IMM
estimation by smoothing. In Information Fusion, 2002. Proceedings of the Fifth
InternationalConference on, volume 1, pages 713-720. IEEE, 2002.
[27] Joshua Joseph, Finale Doshi-Velez, A. S. Huang, and N. Roy. A Bayesian
nonparametric approach to modeling motion patterns. Autonomous Robots,
31(4):383-400, 2011.
[28] Tapas Kanungo, David M Mount, Nathan S Netanyahu, Christine D Piatko,
Ruth Silverman, and Angela Y Wu. An efficient k-means clustering algorithm:
Analysis and implementation. Pattern Analysis and Machine Intelligence, IEEE
Transactions on, 24(7):881-892, 2002.
[29] Keith Kastella and Mark Biscuso. Tracking algorithms for air traffic control
applications. Air Traffic Control Quarterly, 3(1):19-43, 1996.
[30] MJ Kochenderfer, JK Kuchar, LP Espindle, and JD Griffith. Uncorrelated encounter model of the National Airspace System, version 1.0. Technical report,
Lincoln Laboratory, 2008.
[31] Mykel J Kochenderfer, Jessica E Holland, and James P Chryssanthacopoulos.
Next-generation airborne collision avoidance system. Lincoln Laboratory Journal,
19(1), 2012.
[32] Mykel J Kochenderfer, Matthew W M. Edwards, Leo P Espindle, James K
Kuchar, and J Daniel Griffith. Airspace encounter models for estimating collision risk. Journal of Guidance, Control, and Dynamics, 33(2):487-499, 2010.
[33] Jimmy Krozel and D Andrisani. Intent inference and strategic path prediction. In
AIAA Guidance, Navigation and Control Conference and Exhibit, pages 15-18,
2005.
[34] J. K. Kuchar and L. C. Yang. A review of conflict detection and resolution
modeling methods. IEEE Transactions on Intelligent Transportation Systems,
1(4):179-189, 2002.
[35] Fabrice Kunzi. Development of a High-PrecisionADS-B Based Conflict Alerting
System for Operations in the Airport Enviornment. PhD thesis, Massachusetts
Institute of Technology, 2013.
[36] Edward Lester and R John Hansman. Benefits and incentives for ADS-B
equipage in the national airspace system. 2007.
[37] X.-R. Li and Y. Bar-Shalom. Multiple Model Estimation with Variable Structure.
IEEE Transactions on Automatic Control, 41(4), 1996.
163
[38] X. R. Li and V. Jilkov. A survey of maneuvering target tracking. part V: Multiple
model methods. IEEE Transactionson Aerospace and Electronic Systems, 41(4),
2005.
[39] X. Rong Li and Vesselin P. Jilkov. A survey of maneuvering target tracking part III: Measurement models. In Proc. 2001 SPIE Conf. on Signal and Data
Processing of Small Targets, pages 423-446, 2001.
[40] X.R. Li and V.P. Jilkov. Survey of maneuvering target tracking. part I: Dynamic
models. IEEE Transactions on Aerospace and Electronic Systems, 39(4):1333-
1364, 2003.
[41] Lin Liao, Donald J Patterson, Dieter Fox, and Henry Kautz. Learning and
inferring transportation routines. Artificial Intelligence, 171(5):311-331, 2007.
[42] Weiyi Liu and Inseok Hwang. Probabilistic trajectory prediction and conflict
detection for air traffic control. Journal of Guidance, Control, and Dynamics,
34(6):1779-1789, 2011.
[43] James MacQueen et al. Some methods for classification and analysis of multivariate observations. In Proceedings of the fifth Berkeley symposium on mathematical
statistics and probability, volume 1, page 14. California, USA, 1967.
[44] Pravas R Mahapatra and Kishore Mehrotra. Mixed coordinate tracking of generalized maneuvering targets using acceleration and jerk models. Aerospace and
Electronic Systems, IEEE Transactions on, 36(3):992-1000, 2000.
[45] Peter S. Maybeck. Stochastic Models, Estimation and Control, volume 2. Academic Press, 1982.
[46] Don McNicol. A primer of signal detection theory. Psychology Press, 2005.
[47] Satish C Mohleji and Ganghuai Wang. Modeling ADS-B position and velocity
errors for airborne merging and spacing in interval management application.
MITRE Corporation,2010.
[48] International Civil Aviation Organization. ICAO Annex 10 Volume 4, 2002.
[49] Sanghyuk Park, John Deyst, and Jonathan P How. Performance and lyapunov
stability of a nonlinear path following guidance method. Journal of Guidance,
Control, and Dynamics, 30(6):1718-1728, 2007.
[50] MG Petovello, K OKeefe, G Lachapelle, and ME Cannon. Consideration of timecorrelated errors in a Kalman filter applicable to GNSS. Journal of Geodesy,
83(1):51-56, 2009.
[51] L. R. Rabiner. A Tutorial on Hidden Markov Models and Selected Applications
in Speech Recognition. IEEE Trans., 77(2), 1990.
164
[52] S. Russell and P. Norvig. Artificial Intelligence: A Modern Approach, 3rd Edition. Prentice-Hall, 2010.
[53] Yunus Saatgi, Ryan D Turner, and Carl E Rasmussen. Gaussian process change
point models. In Proceedings of the 27th International Conference on Machine
Learning (ICML-10), pages 927-934, 2010.
[54] Chze Eng Seah and Inseok Hwang. Terminal-area aircraft tracking using hybrid
estimation. Journal of Guidance, Control, and Dynamics, 32(3):836-849, 2009.
[55] Kristie Seymore, Andrew McCallum, and Roni Rosenfeld. Learning hidden
markov model structure for information extraction. In AAAI-99 Workshop on
Machine Learning for Information Extraction, pages 37-42, 1999.
[56] Sajid M Siddiqi, Geoffrey J Gordon, and Andrew W Moore. Fast state discovery
for hmm model selection and learning. In International Conference on Artificial
Intelligence and Statistics, 2007.
[57] Yue Song, Peng Cheng, and Chundi Mu. An improved trajectory prediction algorithm based on trajectory data mining for air traffic management. In Information and Automation (ICIA), 2012 International Conference on, pages 981-986.
IEEE, 2012.
[58] Robert F Stengel. Toward intelligent flight control. Systems, Man and Cybernetics, IEEE Transactions on, 23(6):1699-1717, 1993.
[59] Federal Aviation Administration GPS Test Team. Global Positioning System
(GPS) Standard Positioning Service (SPS) performance analysis report. Technical Report 83, October 2013.
[60] Alex Vink, Seppo Kauppinen, Jos Beers, and Koen de Jong. Medium term conflict detection in EATCHIP phase III. In Digital Avionics Systems Conference,
1997. 16th DASC., AIAA/IEEE, volume 2, pages 9-3. IEEE, 1997.
[61] Albert Wu. Guaranteed Avoidance of Unpredictable, Dynamically Constrained
Obstacles using Velocity Obstacle Sets. Master's thesis, Massachusetts Institute
of Technology, Department of Aeronautics and Astronautics, Cambridge MA,
June 2011.
[62] Lee C Yang and James Kuchar. Using intent information in probabilistic conflict
analysis. In AIAA Guidance, Navigation, and Control Conf, pages 797-860, 1998.
[63] J.L. Yepes, I. Hwang, and M. Rotea. New algorithms for aircraft intent inference
and trajectory prediction. AIAA Journal on Guidance, Control, and Dynamics,
30(2):370-382, 2007.
[64]
Q.
Zhu. Hidden Markov model for dynamic obstacle avoidance of mobile robot
navigation. IEEE Transactions on Robotics and Automation, 7(3):390-397, 2002.
165
Download