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