Field of the Invention
[0001] The present invention relates to a method of providing data relating to the aircraft
intent of an aircraft using observations of the aircraft's trajectory. The inferred
aircraft intent may be used for predicting the future trajectory of the aircraft,
for use in conflict resolution within air traffic management, or for analysing air
traffic management.
Background to the Invention
[0002] The ability to describe, and also to predict, an aircraft's trajectory is useful
for many reasons. By trajectory, a four-dimensional description of the aircraft's
path is meant. The description may be the evolution of the aircraft's state with time,
where the state may include the position of the aircraft's centre of mass and other
aspects of its motion such as velocity, attitude and weight. In order to predict an
aircraft's trajectory unambiguously, one must solve a set of differential equations
that model both aircraft behaviour and atmospheric conditions.
[0003] Aircraft intent is described using a formal language that describes how the aircraft
is to be flown. The aircraft intent contains instructions that define aspects of motion
and configuration of the aircraft. The aircraft intent contains sufficient information
to allow an unambiguous determination of an aircraft's trajectory, i.e. the information
the aircraft intent contains closes all degrees of freedom of the aircraft's motion.
The aircraft intent may be expressed as a series of instructions spanning part of
a trajectory, with each instruction's length defining a flight segment. Each degree
of freedom is described as a thread, and an instruction may operate on one or more
threads. Thus, combinations of instructions may operate together to close all degrees
of freedom of the aircraft.
[0004] The aircraft intent that comprises a structured set of instructions is used by a
trajectory computation infrastructure to calculate the resulting unambiguous trajectory.
As noted above, the instructions should include both configuration details of the
aircraft (e.g. landing gear deployment) and procedures to be followed during manoeuvres
and normal flight (e.g. track a certain turn radius or hold a given airspeed). These
instructions capture the basic commands and guidance modes at the disposal of the
pilot and the aircraft's flight management system to direct the operation of the aircraft.
Thus, aircraft intent may be thought of as an abstraction of the way in which an aircraft
is commanded to behave by the pilot and/or flight management system into a set of
instructions that unambiguously capture the information and allow an unambiguous trajectory
to be calculated.
[0005] EP-A-2,040,137, also in the name of The Boeing Company, describes aircraft intent in more detail.
[0006] Knowledge of aircraft intent is incredibly useful in air traffic management. Knowledge
of an aircraft's intent in advance allows accurate predictions of aircraft trajectories
to be made that may be used to aid conflict detection and resolution. Furthermore,
knowledge of aircraft intent after a trajectory has been flown may be of use in analysing
air traffic management, for example to assess how efficiently the air traffic management
performs in areas such as fuel efficiency and noise performance. While aircraft intent
data may be provided by the aircraft or the aircraft operator, aircraft intent data
is not always readily available to other interested parties. In such situations, it
may be useful for other interested parties to be able to obtain the aircraft intent
in some other way. Previous works such as
Krozel et al., 'Intend Inference for Free Flight Aircraft, AIAA Guidance, Navigation
and Control Conference 2000, no. 4479, pages 1-11;
Krozel et al., 'Intent Interface with Path Prediction', Journal of Guidance, Control,
and Dynamics, volume 29, no. 2 , pages 225-236 (March-April 2006); and
Yepes et al. 'New Algorithms for Aircraft Intent Inference and Trajectory Prediction',
Journal of Guidance, Control, and Dynamics, volume 30, number 2, pages 370-382 (March-April
2007) relate to methods of inferring aircraft intent.
Summary of the Invention
[0007] The present invention provides a computer-implemented method of inferring the aircraft
intent of an aircraft from an observed trajectory of the aircraft according to claim
1.
[0008] Against this background and from a first aspect, the present invention resides in
a computer-implemented method of inferring the aircraft intent of an aircraft from
an observed trajectory of the aircraft. The method comprises obtaining the observed
trajectory of the aircraft. The observed trajectory may comprise a time-evolving sequence
of positions of the aircraft. The observed trajectory may be determined from radar
data, or ADS data like ADS-B data or ADS-C data.
[0009] The method also comprises determining the type of the aircraft and retrieving from
memory aircraft performance data relating to that type of aircraft. For example, radar
traces or other radar/ADS data may be used to identify each aircraft's call sign or
tail number, and this may be correlated against records to determine the aircraft's
type (e.g. Boeing 777).
[0010] Data regarding the atmospheric conditions along the observed trajectory are retrieved.
For example, the observed trajectory may be used to retrieve only the atmospheric
conditions pertaining to that trajectory from a database of atmospheric conditions
covering the general region of airspace through which the aircraft passed.
[0011] The aircraft intent is inferred using evolutionary algorithms. The starting point
is generating an initial set of candidate aircraft intents. Each candidate aircraft
intent comprises instructions that define aspects of the motion and configuration
of the aircraft such that the aircraft intent contains sufficient information to allow
an unambiguous determination of the aircraft's trajectory so that the information
the aircraft intent contains closes all degrees of freedom of the aircraft's motion.
Although the initial set of candidate aircraft intents are unlikely to produce trajectories
that match the observed trajectory with any accuracy, they may be evolved into candidate
aircraft intents with trajectories that match well the observed trajectory.
[0012] The method further comprises providing as inputs to a computer system the initial
set of candidate aircraft intents, the aircraft performance data and the atmospheric
conditions data. Then, the computer system is used to calculate from the inputs a
calculated trajectory defined by each candidate aircraft intent. The evolutionary
algorithm requires a cost function to allow it to measure the goodness of the candidate
aircraft intents it produces. This allows the best candidate aircraft intents to be
retained for further evolution towards better and better candidate aircraft intents.
Thus, the method comprises the computer system forming a cost function from a comparison
of each calculated trajectory to the observed trajectory.
[0013] Then, the computer system uses the evolutionary algorithm to evolve the set of initial
candidate aircraft intents into an evolved set of candidate aircraft intents. Iterations
of the evolutionary algorithm are repeated to evolve further the candidate aircraft
intents of the evolved set. The evolutionary algorithm uses the multi-objective cost
function to obtain a cost function value that measures the goodness of each candidate
aircraft intent.
[0014] The evolutionary algorithm terminates, and the computer system provides one or more
candidate aircraft intents with the best cost function value or values respectively.
Many different schemes may be used to determine when to terminate the evolutionary
algorithm. Examples, which may or may not be combined, include: performing a set number
of iterations, repeating until the cost function value of one or a selected number
of candidate aircraft intents meet a required value, repeating until the average cost
function value of a set number of candidate aircraft intents meets a required value,
and waiting for the evolution to converge as measured by the change in cost function
values of all or a set number of candidate aircraft intents. Where a set number of
candidate aircraft intents are used, preferably a set number of the candidate aircraft
intents with the best cost function values are used.
[0015] Thus, the present invention makes use of indirect measurements, which are readily
available in today's airspace management systems, to derive information about the
aircraft intent of the aircraft. There are no requirements for special airborne equipment
or for an additional data communication infrastructure. Moreover, the aircraft are
only passively involved and so there is no requirement for the aircraft to collaborate
actively. This aircraft intent may be used in a predictive and/or in an analytical
way.
[0016] For example, analysis of the performance of air traffic management may be performed.
This may be done to measure efficiency, in terms of throughput, delays to aircraft,
fuel efficiency and noise minimisation.
[0017] The aircraft intent is preferably expressed using a formal language.
[0018] Predictive uses require fast analysis of a trajectory of an aircraft still in flight
to allow the future aircraft intent of that aircraft to be predicted, and hence its
future trajectory to be predicted. For example, the inferred aircraft intent may conform
to that required by a standard terminal arrival route (STAR) or a standard instrument
departure (SID). Then, it may be assumed that the aircraft will continue to follow
the identified STAR or SID.
[0019] The method may further comprise providing as a further input to the computer system
initial conditions of the aircraft. Then, the calculated trajectory defined by each
candidate aircraft intent may be calculated from the inputs and the further input.
The method may comprise generating a common set of initial conditions from the observed
trajectory. That is, the observed trajectory may be used to determine the initial
position of the aircraft. Moreover, the rate of change of position of the aircraft
during the initial part of the observed trajectory may be used to derive speed information.
Alternatively, the method may comprise generating different sets of initial conditions
from the candidate aircraft intents. For example, the candidate aircraft intents will
by their nature provide a definition of the initial conditions of the aircraft including
position and speed.
[0020] Preferably, the method includes a random element in how the initial set of candidate
aircraft intents are generated. For example, the method may further comprise retrieving
a set of bounds. Then, the initial set of candidate aircraft intents may be generated
to include randomly-generated values that are constrained to remain within the bounds.
For example, the randomly-generated values may correspond to values of airspeeds,
rates of climb, bank angles, and high lift device settings. The bounds may provide
safe or usual limits to these values, such as limiting the airspeeds to those recommended
for the aircraft type or bank angles to a range that ensures passenger comfort. Furthermore,
the initial set of aircraft intents may be randomly generated while being guided to
provide a broad range of candidate aircraft intents. That is values with broad ranges
of variation may be produced to ensure diversity in the initial set of candidate aircraft
intents.
[0021] Different metrics may be used to derive the cost function. For example, the cost
function may be based upon a point-by-point score derived from summing the deviation
of the respective calculated trajectory from the observed trajectory at each of a
number of points sampled along the observed trajectory. This rewards a low average
deviation. The cost function may be based upon an overall consistency score derived
from the length of the respective calculated trajectory that deviates from the observed
trajectory by less than a threshold value. This may reward calculated trajectories
that deviate from the observed trajectory by less than a threshold value over the
greatest part of their extent.
[0022] The above two metrics may be combined. This is useful as the two different metrics
reward two different behaviours. Use of the first metric will drive the candidate
aircraft intents to produce trajectories with the lowest average deviation, but this
may produce trajectories with very low deviations in some parts and very high deviations
in other parts which it is not desirable. In contrast, the second metric punishes
trajectories with extremely low and high deviations as it promotes trajectories that
produce reasonable matches to the observed trajectory for as much of the observed
trajectory as possible.
[0023] The candidate aircraft intents may comprise threads, each thread defining one of
the degrees of freedom of the aircraft. Each thread may extend from the start of the
trajectory to the end of the trajectory. Generating the initial set of candidate aircraft
intents may comprise, for each candidate aircraft intent, filling each thread with
one or more instructions. As each thread is then completely defined, and as the threads
together define all degrees of freedom of the aircraft, this method necessarily closes
all degrees of freedom of the aircraft throughout the observed trajectory and so gives
rise to an unambiguous trajectory.
[0024] The degrees of freedom may comprise both degrees of freedom of motion of the aircraft
and degrees of freedom of configuration of the aircraft. There may be three degrees
of freedom of motion, for example two directional degrees (to define lateral and vertical
motion) and a speed degree most likely defined with reference to the throttle setting.
There may be three degrees of freedom of configuration, for example speed brakes,
high lift devices and landing gear. Hence, this would provide six threads.
[0025] An instruction may cover more than a single thread, i.e. an instruction may define
aspects relating to more than a single degree of freedom. For example, a VNAV vertical
navigation instruction may define vertical motion and speed so occupying one of the
threads relating to motion as well as a thread relating to throttle setting.
[0026] Evolving the candidate aircraft intents may comprise evolving the instructions. For
example, the types of instructions may vary, or the values an instruction defines
may vary.
[0027] Generating the initial set of candidate aircraft intents may comprise, for each candidate
aircraft intent, filling each thread with an instruction such that each thread contains
only a single instruction spanning the entire trajectory. The calculated trajectories
may be divided into flight segments defined by the instructions. That is, the start
and end of the flight segments may be defined by the starts and ends of the instructions.
For example, the trajectory may be divided according to the instructions: whenever
an instruction in any of the threads ends, a break between flight segments may be
provided. Not all instructions need necessarily start and end together. However, the
division into flight segments allows each flight segment to be defined by the instructions
it contains. The instructions of some threads may not change between consecutive flight
segments, although at least one instruction must change between flight segments.
[0028] Then, the method may comprise using the evolutionary algorithm to evolve a set of
evolved candidate aircraft intents in a stepwise manner. Each step comprises optimising
the candidate aircraft intents for one flight segment, and proceeding one flight segment
at a time. Optionally, the first flight segment is evolved first, that is the flight
segment starting with the start of the observed trajectory. Then the next flight segment
may be evolved, then the next, and so on.
[0029] To this end, the method may comprise evolving the initial set of candidate aircraft
intents iteratively to form the evolved set of candidate aircraft intents while allowing
the length of the instructions to vary while keeping the start of each instruction
tied to the start of the observed trajectory. That is, the initial set of candidate
aircraft instructions that have a single instruction per thread are evolved such that
they are constrained to have only a single instruction per thread, but with the length
of that instruction being allowed to vary: as the start of the instruction must match
the start of the observed trajectory, a variable length flight segment results determined
by how long the instruction remains active. Not all instructions of a candidate aircraft
intent need have the same length, in which case the length of the first flight segment
will be determined by the shortest instruction.
[0030] As the candidate aircraft intents no longer span the entire observed trajectory,
the evolutionary algorithm uses the multi-objective cost function to obtain a cost
function value that measures the goodness of each candidate aircraft intent based
upon a comparison of the calculated trajectory with the corresponding portion of the
observed trajectory that the flight segment spans.
[0031] Once the evolutionary algorithm has evolved the evolved set of candidate aircraft
intents for the first flight segment, the computer system retains the candidate aircraft
intents with the best cost function values. The computer system then uses the evolutionary
algorithm to perform outer loops of iterations and inner loops of iterations, as follows.
[0032] The outer loop of iterations comprises generating a further initial set of candidate
aircraft intents. This is done by generating multiple copies of the retained aircraft
intents. In general, each aircraft intent will contain a flight segment ending before
the end of the observed trajectory. Any retained candidate aircraft intents having
complete trajectories (i.e. with each thread filled by an instruction), no further
changes are necessary. For the other retained candidate aircraft intents, the threads
are supplemented with instructions to extend from the end of the last flight segment
to the end of the trajectory such that each thread is again filled by instructions
spanning the entire trajectory. Each instruction may be generated randomly, as described
before.
[0033] Next, each iteration of the outer loop performs repeated iterations of the inner
loop. Each iteration of the inner loop may comprise evolving the further initial set
of candidate aircraft intents to form further evolved sets of candidate aircraft intents.
The evolution allows the length of the instructions occupying the final flight segment
to vary while keeping the start of each instruction tied to the end of the previous
instruction. That is, again and again the instructions are allowed to move away from
the end of the observed trajectory to define a new flight segment.
[0034] In this way, the actual flight segments in the observed trajectory may be replicated,
for example changes in flight segments corresponding to the pilot switching autopilot
guidance modes may be replicated. As before, the evolutionary algorithm may use the
multi-objective cost function to obtain a cost function value that measures the goodness
of each candidate aircraft intent based upon a comparison of the calculated trajectory
calculated from the start of the observed trajectory to the end of the final flight
segment with the corresponding portion of the observed trajectory. Alternatively,
the comparison may be made of the calculated trajectory for the latest flight segment
with the corresponding portion of the observed trajectory.
[0035] The end of each iteration of the outer loop may see the candidate aircraft intents
with the best cost function values retained. Iterations of the outer loop are repeated
until an evolved set of candidate solutions is produced that includes candidate aircraft
intents with threads that are filled with instructions to span the entire observed
trajectory. This may be implemented in different ways. For example, the outer loop
may terminate when all retained candidate aircraft intents have full threads, or when
one candidate aircraft intent has full threads or when some predetermined number of
candidate aircraft intents have full threads.
[0036] When the outer loop terminates, all or some of the retained candidate aircraft intents
may be provided.
[0037] The use of flight segments allows another metric to be used when forming the cost
function. A metric may be included that rewards candidate aircraft intents with fewer
flight segments and penalises candidate aircraft intents with more flight segments.
This helps constrain the evolutionary algorithm that may otherwise excessively segment
a trajectory to achieve better and better matches between the calculated trajectory
and the observed trajectory.
[0038] How evolutionary algorithms operate to evolve solutions (solutions equating to candidate
aircraft intents in the present context) is well understood. For example, strategies
like retention of the fittest solutions, cross-breeding (particularly between fittest
solutions) and maintenance of diversity through iterations by injecting mutations
into solutions and even injecting new, random solutions are well known and may all
be used with the present method. Further details are provided below.
[0039] Any of the above methods may comprise providing multiple candidate aircraft intents
with the best cost function values to a user for the user to select a preferred candidate
aircraft intent. This allows the user to select the most appropriate candidate aircraft
intent. Many candidate aircraft intents may be suitable for selection. This may be
due to the accuracy of the evolutionary algorithm providing alternatives that all
fit the trajectories reasonably well, but in different ways. This may partly or wholly
arise from competing objectives in the cost function. For example, the contention
between the point-to-point score and the overall score may drive the evolutionary
algorithm to generate Pareto optimal solutions, and solutions on the optimal Pareto
front may be considered to be equally good. Also, alternative candidate aircraft intents
may be equally valid, remembering that an aircraft intent can only produce a single
trajectory without ambiguity but that the reverse is not true and the same trajectory
may result from different aircraft intents.
[0040] In the method described above comprising outer and inner loops, the end of each iteration
of the outer loop may see the best candidate aircraft intents presented to a user
so that the user may select which candidate aircraft intents should be retained for
the next iteration of the outer loop.
[0041] The method may further comprise ranking the provided candidate aircraft intents and
the step of providing one or more candidate aircraft intents with the best cost function
value or values respectively may comprise either (a) providing a ranked list of candidate
aircraft intents or (b) providing the highest ranked candidate aircraft intent. Ranking
the provided candidate aircraft intents may comprise at least one of: ranking according
to the cost function values, ranking according to number of flight segments, and ranking
according to the frequency with which that candidate aircraft intent appears in the
evolved set. Ranking may reward the candidate aircraft intents with the fewest flight
segments, for the same reasons as described above. Ranking according to the frequency
with which that candidate aircraft intent appears in the evolved set rewards candidate
aircraft intents that have been evolved independently multiple times by the evolutionary
algorithm. The ranking may be used to determine which candidate aircraft intents are
to be retained at the end of each iteration of the outer loop, when that method is
being employed.
[0042] The present invention also resides in a computer system programmed to implement any
of the methods described above. The present invention also resides in a computer program
comprising computer program instructions that, when executed, cause a computer system
to implement any of the methods described above. The present invention also resides
computer readable medium having stored therein such a computer program. For example,
the computer readable medium may comprise memory. Accordingly, the present invention
also resides in a computer system comprising such a memory.
Brief Description of the Drawings
[0043] In order that the present invention may be more readily understood, preferred embodiments
will now be described, by way of example only, with reference to the following drawings
in which:
Figure 1 is a system for computing an aircraft's trajectory using flight intent and
aircraft intent;
Figure 2 shows the system of Figure 1 in greater detail;
Figures 3a to 3c are three schematic representations of aircraft intent;
Figure 4 shows the horizontal and vertical profiles of a trajectory, and how the trajectory
may be divided into flight segments;
Figure 5 is a schematic representation of a method of providing aircraft intent data
of an aircraft according to a first embodiment of the present invention;
Figure 6 is a schematic representation to show part of the method of Figure 5 in greater
detail; and
Figure 7 shows an alternative arrangement to Figure 5.
Detailed Description of the Invention
[0044] To appreciate the present invention, it is necessary to explain several details related
to trajectory prediction. In essence, the process of predicting the trajectory of
an air vehicle involves the following pieces of information.
[0045] Aircraft intent (AI) is a formal description of how the air vehicle is to be operated
during the time interval for which the predicted trajectory is valid. This information,
which can be expressed by means of an aircraft intent description language (AIDL)
captures all the details related to the specific aircraft motion that gives rise to
the trajectory of interest.
[0046] The aircraft performance model (APM) provides all the aircraft-specific details that
influence aircraft response. For example, it may include aerodynamic and propulsive
characteristics, preferred and default flap schedules and other manoeuvres, operational
limitations, etc.
[0047] The Earth model (EM) provides all the details necessary to represent mathematically
the influences of the environment on the aircraft motion. For example, it may reflect
gravity, geopotential, atmospheric conditions, etc. The Earth model provides 4D predictions
(i.e. for any given position and time) of wind velocity, pressure and temperature.
[0048] The prediction process also requires a formulation of the initial conditions (IC),
namely the parameters that characterise the aircraft state (position, velocity, attitude)
at the beginning of the time interval of interest.
[0049] The trajectory computation process essentially consists of solving a mathematical
problem that arises from a certain formulation of the air vehicle's motion physics
made out in terms of the aforementioned elements. The result is the aircraft trajectory
(AT), i.e. a discrete sequence of aircraft states (position and velocity, and optionally
attitude and other additional characteristics of the motion).
[0050] In order to predict aircraft trajectory unambiguously, one must solve a set of differential
equations that model both aircraft behaviour and atmospheric conditions. The computation
process requires inputs corresponding to the aircraft intent, often derived from flight
intent.
[0051] Aircraft intent must be distinguished from flight intent. Flight intent may be thought
of as a generalisation of the concept of a flight plan, and so will reflect operational
constraints and objectives such as intended or required route and operator preferences.
Generally, flight intent will not unambiguously define an aircraft's trajectory, as
the information it contains need not close all degrees of freedom of the aircraft's
motion. Flight intent also comprises instructions that span flight segments. However,
instances of flight intent may not contain instructions that cover all threads and
so some degrees of freedom of the aircraft may be left open. Therefore, there may
be many aircraft trajectories that would satisfy a given flight intent. Flight intent
may be regarded as a basic blueprint for a flight or a set of requirements that the
ensuing aircraft trajectory must comply with, but that lacks the specific details
that are present in the aircraft intent and that are required to determine unambiguously
how the aircraft will behave as to meet these requirements (i.e. as to exhibit a particular
trajectory).
[0052] For example, the instructions to be followed during a standard terminal arrival route
(STAR) or a standard instrument departure (SID) route that typically appear in the
airport information publication (AIP) departure/arrival charts would correspond to
an example of flight intent. In addition, airline preferences such as a prescribed
cost index (e.g. describing a preference towards prioritising punctuality of flights
against economic cost of flights) to be achieved may also form an example of flight
intent. To derive aircraft intent instances from flight intent like a SID procedure,
the airline's operational preferences and the actual pilot's decision making process
can be combined.
[0053] Figure 1 shows a basic structure 100 to derive aircraft intent, and how aircraft
intent may be used to determine and compute the aircraft's trajectory univocally.
In essence, flight intent 101 is provided as an input to an intent generation infrastructure
103. The intent generation infrastructure 103 determines aircraft intent 114 using
the instructions provided by the flight intent 101 and other inputs to ensure a set
of aircraft intent instructions is provided that will allow an unambiguous determination
of the trajectory. The aircraft intent 114 output by the intent generation infrastructure
103 may then be used as an input to a trajectory computation infrastructure 110. The
trajectory computation infrastructure 110 calculates the resulting trajectory unambiguously
determined beforehand by the aircraft intent 114, for which additional inputs are
required to solve the equations of motion of the aircraft.
[0054] Figure 2 shows the structure 100 of Figure 1 in further detail. As can be seen, the
intent generation infrastructure 103 receives a description of the flight intent 101
as an input along with a description of the initial state 102 of the aircraft (the
initial state of the aircraft may be defined as part of the flight intent, in which
case these two inputs are effectively one and the same). The intent generation infrastructure
103 comprises an intent generation engine 104 and a pair of models, one encompassing
the user preferences 105 and one representing the operational context 106 of the aircraft.
[0055] The user preferences model 105 embodies the preferred operational strategies governing
the aircraft, e.g. the preferences of an airline with respect to loads (both payload
and fuel); how to react to meteorological conditions such as temperature, wind speeds,
altitude, jet stream, thunderstorms and turbulence as this will affect the horizontal
and vertical path of the aircraft as well as its speed profile; cost structure such
as minimising time of flight or cost of flight, maintenance costs, environmental impact;
communication capabilities; passenger comfort requirements and security considerations.
[0056] The operational context model 106 embodies constraints on use of airspace, e.g. those
imposed by the air traffic control to all flights operating within the given airspace
such as speed, altitude restrictions, etc. The intent generation engine 104 uses the
flight intent 101, initial state 102, user preferences model 105 and operational context
model 106 to provide the aircraft intent 114 as its output. The process performed
by the intent generation infrastructure 103 can be seen as determining a particular
way of commanding the aircraft such that the resulting trajectory 122 meets the requirements
set by the specific flight intent 101 and those generally imposed by the user 105
and the operational context 106.
[0057] Figure 2 also shows that the trajectory computation infrastructure 110 comprises
a trajectory engine 112. The trajectory engine 112 requires as inputs both the aircraft
intent description 114 explained above and also the initial state 116 of the aircraft.
The initial state 116 of the aircraft may be defined as part of the aircraft intent
114 in which case these two inputs are effectively one and the same. The initial state
116 may consist of the same information as the initial state input 102 provided to
the intent generation infrastructure 103 or it may be augmented to include further
aspects of the initial aircraft state as needed to determine an unambiguous trajectory.
For the trajectory engine 112 to provide a description of the computed trajectory
122 for the aircraft, the trajectory engine 112 uses two models: an aircraft performance
model 118 and an Earth model 120.
[0058] The aircraft performance model 118 provides the values of the aircraft performance
aspects required by the trajectory engine 112 to integrate the equations of motion.
These values depend on the aircraft type for which the trajectory is being computed,
the aircraft's current motion state (position, velocity, weight, etc) and the current
local atmospheric conditions. In addition, the performance values may depend on the
intended operation of the aircraft, i.e. on the aircraft intent 114. For example,
a trajectory engine 112 may use the aircraft performance model 118 to provide a value
of the instantaneous rate of descent corresponding to a certain aircraft weight, atmospheric
conditions (pressure altitude and temperature) and intended speed schedule (e.g. constant
calibrated airspeed). The trajectory engine 112 will also request from the aircraft
performance model 118 the values of the applicable limitations so as to ensure that
the aircraft motion remains within the flight envelope. The aircraft performance model
118 is also responsible for providing the trajectory engine 112 with other performance-related
aspects that are intrinsic to the aircraft, such as flap and landing gear deployment
times.
[0059] The Earth model 120 provides information relating to environmental conditions, such
as the state of the atmosphere, weather conditions, gravity and magnetic variation.
[0060] The trajectory engine 112 uses the inputs 114 and 116, the aircraft performance model
118 and the Earth model 120 to solve a set of equations of motion. Many different
sets of equations of motion are available that vary in complexity, and that may reduce
the aircraft's motion to fewer degrees of freedom by means of a certain set of simplifying
assumptions. Any of these sets of equations of motion may be used with the present
invention.
[0061] The trajectory computation infrastructure 110 may be air-based or land-based. For
example, the trajectory computation infrastructure 110 may be associated with an aircraft's
flight management system that controls the aircraft on the basis of a predicted trajectory
that captures the airline operating preferences and business objectives. The primary
role for land-based trajectory computation infrastructures 110 is for air traffic
management.
[0062] The basic relationship connecting aircraft intent 114, the aircraft performance model
118, the Earth model 120, the initial conditions 116 and the aircraft trajectory 122
can be written, using set notation, as {
AI, APM, EM, IC} ⇒
AT. In other words, given an instance of aircraft intent 114, for a specific aircraft
(as reflected by the aircraft performance model 118) performing in a certain environment
(reflected by the Earth model 120), starting from the given initial conditions (116),
the resulting aircraft trajectory (122) is univocally determined.
[0063] Formally speaking, the opposite is not true. That is to say, given an aircraft trajectory
122 (and hence initial conditions because
IC ⊂
AT) that belongs to a specific aircraft model (from the aircraft performance model 118)
performing in a certain environment (from the Earth model 120), there are in principle
many aircraft intents 114 that could give rise to that aircraft trajectory 122. This
is because the relationship between {APM, AT, EM} and AI is not bijective. So, when
determining aircraft intent from a trajectory, it is entirely possible that more than
a single solution might exist (i.e. the calculation may well find multiple aircraft
intents, each of which could give rise to the trajectory seen).
[0064] Figures 3a to 3c show how aircraft intent may be visualised. In this example, an
aircraft is considered to be defined by six degrees of freedom, three of which relate
to degrees of freedom of aircraft motion and three of which relate to degrees of freedom
of aircraft configuration. For example, one degree may relate to horizontal motion
and one degree might relate to landing gear configuration. The six degrees are shown
as six threads (thread 1 to thread 6) that extend throughout the time of the trajectory
being considered. The time elapsed through the trajectory is shown from left to right
in Figures 3a to 3c, with the start and end times indicated.
[0065] Each thread is filled by one or more instructions that define that degree of freedom.
In principle, a single instruction may be all that is required to define one thread
through the trajectory being considered as illustrated in Figure 3a. In practice,
normally more than a single instruction is required per thread. Figure 3b shows an
example of two instructions per thread, and Figure 3c shows a general example comprising
n instructions per thread. Where there are multiple instructions per thread, this
divides the trajectory into flight segments, with the end of an instruction creating
an end to a flight segment.
[0066] In Figures 3a to 3c, instructions of equal length are shown such that, at the start
of each flight segment, all threads also start with a new instruction. This need not
be the case. Some instructions may span multiple flight segments. For example, an
instruction to maintain a constant Mach speed may span three flight segments where
other instructions first define maintaining a heading, then define turning to a new
heading and then define maintaining the new heading. In addition, a single instruction
may span more than a single thread. An example is shown in Figure 3c where the second
flight segment (segment b) contains an instruction (instruction 1b) that defines both
the first and second threads. For example, the instruction may be a vertical navigation
guidance mode (VNAV) that may define three threads relating to vertical motion, throttle
configuration and high lift devices configuration.
[0067] Figure 4 shows an example of an aircraft 400 flying an approach into an airport and
shows the resulting trajectory 410. The horizontal profile is shown in the upper part
of the figure and the vertical profile is shown in the lower part of the figure. The
figure also shows how the trajectory may be decomposed into flight segments according
to the instructions of the aircraft intent.
[0068] The horizontal profile 410a comprises three sections of constant heading divided
by two left turns shown at 411 and 412. The vertical profile 410b comprises an initial
constant rate of descent 413, followed by a phase of maintaining altitude 414 and
then a phase of maintaining a constant rate of descent 415. The phase of flight where
altitude is held 414 begins shortly before turn 412 is started and ends shortly after
turn 412 is completed. These changes in motion lead to the following segments in the
aircraft intent. Segment a starts with the start of the trajectory and requires a
heading and a constant rate of descent to be maintained. Segment b is triggered by
a change to turn to a new heading instruction, the start of the turn marking the start
of segment b and the end of the turn marking the end of segment b. Segment c sees
heading and rate of descent maintained. Segment d is triggered by an instruction to
maintain altitude. Segment e corresponds to the instruction to change heading, while
the maintain altitude instruction remains in force. Segment f sees an instruction
to maintain the new heading while still maintaining altitude, which ends when the
new maintain a constant rate of descent instruction triggers segment g.
[0069] The above example is simplified, and further instructions are likely and so further
flight segments may arise. For example, configuration changes may be required. By
way of illustration, segment h is shown in Figure 4 that corresponds to an extend
landing gear instruction at 416. In addition, speed control will be required during
an approach to an airport, and this will give rise to further instructions not illustrated
in Figure 4.
[0070] Figure 5 shows an embodiment of a method of inferring aircraft intent using observations
of a trajectory 410 flown by an aircraft 400. The method may be implemented using
a computer system to perform the calculations required. Any type of commonly-available
computer system may be used to implement the method, provided it has sufficient performance
to perform the calculations at the required speed. The computer system may be conventional
in providing input devices like keyboards, computer mice, touch screens and microphones,
and providing output devices like monitors, displays and speakers. Data storage means
may be provided like volatile and non-volatile memory. The computer system may be
centralised, or may be distributed with connections provided by a network. For example,
the computer system may be located at an airport and may ingest trajectory surveillance
data related to the airspace around the airport, such as a defined terminal manoeuvring
area. The computer system may be required to determine the aircraft intent of multiple
aircraft, and so the performance of the computer system may be specified with this
in mind.
[0071] Turning now to Figure 5, the method of inferring aircraft intent begins at step 510
where the trajectory 410 of an aircraft of interest 400 is collected from the appropriate
surveillance source. This may be done using any convenient means. For example, radar
data may be used to provide the aircraft trajectory 410, and ADS data such as ADS-A,
ADS-B or ADS-C data may be used. The trajectory 410 may be saved into memory.
[0072] At 520, the aircraft type is determined. For example, the radar trace may be used
to identify the aircraft's call sign or tail number, and this may be correlated against
records to determine the aircraft's type (e.g. Boeing 777). Data pertaining to the
aircraft type is retrieved from the aircraft performance model 118 and associated
with the aircraft's trajectory 410 saved in memory.
[0073] At 530, the earth model is used to provide the atmospheric conditions affecting the
aircraft 400 while flying its trajectory 410. For example, the four dimensional trajectory
410 observed for the aircraft 400 may be used to identify positions of the aircraft
400 along the trajectory 410, and data retrieved that describes the atmospheric conditions
prevailing at each position at the time the aircraft 400 was at that position.
[0074] At 540, the computer system generates a set of initial candidate aircraft intents
that might describe the trajectory 410 flown by the aircraft 400. This initial population
of aircraft intents is generated randomly, as is described in more detail below.
[0075] At 550, a trajectory is calculated for each initial candidate aircraft intent generated.
That is, the initial candidate aircraft intent, the associated initial conditions
implied by the candidate aircraft intent, the aircraft performance data and the atmospheric
conditions data are used by the trajectory computation engine 112 to calculate a corresponding
calculated trajectory.
[0076] Next, at 560, each of the calculated trajectories is compared to the observed trajectory
410. This process is used to identify the best of the initial candidate aircraft intents
and to evolve the candidate aircraft intents to one that is most likely to match the
actual aircraft intent of the aircraft 400 that gave rise to the observed trajectory
410. That is, successfully matching a calculated trajectory to the observed trajectory
410 is used as an indication that the associated candidate aircraft intent accurately
describes the actual aircraft intent.
[0077] This comparison of trajectories is used to generate a multi-objective cost function
that characterises the difference between each calculated trajectory and the observed
trajectory 410. This multi-objective cost function uses two principal, competing measures
to characterise how well the calculated trajectory matches the observed trajectory
410. The first measure is the root mean square deviation between the trajectories,
and how this compares to a threshold value. The second measure counts the number of
time intervals over which the root mean square deviation is less than the threshold.
The time intervals may correspond to flight segments, although this need not be the
case.
[0078] At 570, the candidate aircraft intents are evolved by the computer system. The calculation
uses evolutionary algorithms to evolve the candidate aircraft intents to reflect the
actual aircraft intent better. The evolutionary algorithms use the multi-objective
cost function to drive the evolution. That is, the evolutionary algorithm evolves
new candidate aircraft intents, calculates the corresponding trajectories, and calculates
a new value for the cost function with the aim of minimising the cost function value.
The evolutionary algorithm seeks on the one hand to minimise the root mean square
deviation between the trajectories and to ensure the root mean square difference is
within the threshold value while, on the other hand, the evolutionary algorithm seeks
to maximise the number of time intervals over which the root mean square deviation
falls within the threshold. These two competing demands lead to candidate aircraft
intents that form a set of Pareto solutions occupying a Pareto front. These candidate
aircraft intents are equally valid solutions, and may arise either because they represent
equally good estimates or because they both represent valid aircraft intents (remembering
that multiple aircraft intents may give rise to any particular trajectory). Further
explanation of this step follows below.
[0079] With a set of solutions determined, the set of candidate aircraft intents having
the lowest cost function values are selected at step 580 and, at step 590, these candidate
solutions are provided to a user for the user to select one of the candidate aircraft
intents as being the inferred aircraft intent. The candidate aircraft intents may
be presented in different ways. The candidate aircraft intents may be ranked. For
example, candidate solutions having a range of the lowest cost function values may
be presented, with the lowest values being ranked highest. Other criteria may be used
for ranking, such as the least number of flight segments or the number of times that
candidate aircraft intent appears in the results (the nature of evolutionary algorithms
means that the same solution may be evolved independently more than once). Of course,
any of these criteria may be used to select a candidate aircraft intent automatically
rather than allowing a user to select an inferred aircraft intent.
[0080] Figure 6 shows the method of inferring aircraft intent of Figure 5 in more detail.
The method of Figure 6 starts with steps 510, 520 and 530 as already described above
with respect to Figure 5. Thus, the observed aircraft trajectory 410 is retrieved,
along with aircraft performance data relating to the aircraft 400 and the relevant
atmospheric conditions.
[0081] At step 540, candidate aircraft intents are generated. To do this, at step 542, bounds
for the aircraft intent instructions are retrieved. For example, the aircraft performance
data may be used to define upper and lower airspeeds for the aircraft, and to determine
maximum speeds when landing gear and high lift devices are deployed. Next, at step
544, the computer system generates a pre-determined number of candidate aircraft intents.
The generation is random, within bounds. Specifically, the aircraft intents may be
generated with any set of instructions although parameters must be set within the
bounds retrieved at step 542. Consequently, the trajectory may be divided into any
number of flight segments of any length, and the instructions for each segment are
generated randomly. Strategies may be used to ensure that the initial population of
candidate aircraft intents is suitably diverse, as is well known in the art. Although
most initial guesses will bear little resemblance to the actual aircraft intent, the
evolutionary process will quickly evolve the candidate aircraft intents closely resembling
the actual aircraft intent and will then refine those candidate solutions to ensure
a close match.
[0082] At step 550, each candidate aircraft intent is used to calculate a corresponding
trajectory as already described with respect to step 550 of Figure 5. Step 560 of
Figure 5 is followed next, that is step 560 of Figure 6 sees a multi-objective cost
function formed from a comparison of the calculated trajectories with the observed
trajectory 410.
[0083] At step 570, the candidate aircraft intents are evolved by the computer system using
evolutionary algorithms. That is, repeated iterations are used to evolve the candidate
aircraft intents to provide calculated trajectories that match better the observed
trajectory. This may be done in any well-known way. For example, at the end of each
iteration, several well-known selection criteria are applied. Some of the better candidate
aircraft intents are retained for the next iteration. In this embodiment, the top
20% are retained as ranked by the lowest cost function value. Then, a random selection
of 60% are cross-bred (i.e. portions of their aircraft intents are swapped) and the
resulting aircraft intents used in the next iteration. A further 10% of the aircraft
intents used in the next iteration are derived by randomly selecting 10% of the candidate
aircraft intents from the previous iteration and randomly introducing mutations, i.e.
removing a portion of the aircraft intent and replacing it with a randomly generated
portion. The remaining 10% of aircraft intents used in the next iteration are randomly
generated. Thus, genetic diversity is introduced into the evolutionary process, and
the selection process ensures that the better candidate aircraft intents are retained.
[0084] Step 570 may end after a pre-determined number of iterations of the evolutionary
algorithm have been performed. However, in this embodiment, it is preferred to end
the evolution process according to a test performed at the end of each iteration of
the evolutionary algorithm. The test may use the cost function values of the candidate
solutions, or a range of the best candidate solutions. How the cost function values
change from iteration to iteration may be used to indicate convergence of the evolutionary
process, for example when the cost function values improve by less than a convergence
threshold, step 570 exits. Alternatively, the cost function values themselves may
be used to cause step 570 to exit, for example when the best candidate solution has
a cost function value below a limit or an average cost function value is below a limit
or a certain number of candidate solutions have cost function values below a certain
limit. Combinations of these tests may also be used to determine when step 570 exits.
[0085] When step 570 exits, the best candidate aircraft intents are selected at step 580
and presented to the user at step 590, in accordance with any of the methods and variations
described with respect to steps 580 and 590 in Figure 5.
[0086] Figure 7 shows an alternative embodiment to that shown in Figure 6. As many parts
are the same, the following description focuses on the differences. The principal
difference is that the method of Figure 7 sees the evolutionary algorithm stage operate
one flight segment at a time. That is, the candidate aircraft intents are optimised
for a particular flight segment, before the evolutionary algorithm progresses to optimising
the aircraft intents for the next flight segment, and so on.
[0087] The observed aircraft trajectory 410, the aircraft performance data and the atmospheric
conditions are retrieved in steps 510, 520 and 530 as has already been described.
As before, step 520 begins with bounds being retrieved at 542.
[0088] Step 544 sees a difference to the previously-described methods. A further restriction
is placed on the random generation of candidate aircraft intents: all instructions
generated are required to span the entire observed trajectory 410 such that there
is no segmentation of the observed trajectory 410. Instructions may be allowed to
apply to more than a single thread, but still within the requirement that the instruction
will apply to all the applicable threads for the entire length of the observed trajectory.
Thus, the method initially tries to derive an aircraft intent with a single flight
segment occupying the entire observed trajectory 410.
[0089] With the candidate aircraft intents generated at step 540, the method progresses
through steps 550 and 560 where trajectories are calculated and the cost function
is formed as has been described previously.
[0090] The candidate aircraft intents are evolved at step 570. The evolutionary algorithm
is constrained to keep a single instruction per thread, but is free to allow the length
of that instruction to vary subject to beginning at the start time of the observed
trajectory 410. Consequently, step 570 evolves candidate aircraft intents that define
the initial part of the observed trajectory 410 only, while leaving the subsequent
part of the observed trajectory undefined. Hence, the evolutionary algorithm produces
a set of candidate aircraft intents at step 570 that produce part-trajectories that
match the initial part of the observed trajectory 410 well. As indicated at step 571,
the results of each iteration of the evolutionary algorithm are tested to see whether
a further iteration should be performed. This test may be performed as described above,
albeit only in respect of the initial part of the observed trajectory 410 defined
by the part-aircraft intent.
[0091] When the test at step 571 is passed, and evolution step 570 is exited, the method
continues to step 535 where the candidate aircraft intents with the lowest cost function
values are selected to be retained for the next part of the method. In the next part
of the method, the part-aircraft intents of the selected candidate aircraft intents
are developed to match the next part of the observed trajectory 410.
[0092] This is achieved, starting at step 545 where further instructions are added to the
candidate aircraft intents. Similarly to step 542, bounds are retrieved and used in
constraining the random values taken by instruction parameters. Each instruction added
is constrained to occupy the remainder of each thread, that is each instruction starts
at the end of the instructions already present in the candidate aircraft intent and
must end at the end of the observed trajectory 410. As before, an instruction may
apply to more than a single thread. In this embodiment, the different candidate aircraft
intents may not necessarily end at the same point in the observed trajectory 410.
However, in other contemplated embodiments, the evolutionary algorithm is constrained
to keep the end points of the instructions currently being evolved to be the same.
In any event, step 545 sees a new set of candidate aircraft intents being generated
where each candidate aircraft intent defines the entire observed trajectory 410 with
two flight segments.
[0093] It should be noted that one or more candidate aircraft intents may arise from step
570 that occupy the entire observed trajectory: thus, a check may be made at the start
of step 545 for such candidate aircraft intents and these intents may be either removed
and placed into a set of final results or they may be input back into the evolutionary
algorithm without the addition of further instructions.
[0094] Steps 550 and 560 are then repeated, that is a complete trajectory is calculated
for each candidate aircraft intent and a cost function is formed that reflects a comparison
of the complete trajectories (i.e. the trajectories resulting from both flight segments).
[0095] Step 575 sees the candidate aircraft intents evolved according to the evolutionary
algorithm. This step is similar to step 570, except that now the instructions for
each first flight segment are fixed and only the instructions relating to the second
flight segment are allowed to vary. The length of the second flight segment is allowed
to vary, subject to the requirement it must start at the end of the first flight segment.
Hence, the evolutionary algorithm evolves the candidate aircraft intents to form candidate
aircraft intents that describe well the first and second parts of the observed trajectory
410. The second part of each candidate aircraft intent may or may not extend till
the end of the observed trajectory. The evolutionary algorithm continues through iterations
as determined by test step 576 that corresponds to test step 571.
[0096] Steps 535, 545, 550, 560, 575 and 576 essentially repeat as a loop, such that with
each pass through the loop, candidate aircraft intents are evolved that match better
the next part of the observed trajectory 410 under consideration. That is, the evolutionary
algorithm is repeatedly invoked to determine a suitable length for the next flight
segment and to provide candidate aircraft intents that produce calculated trajectories
that match well the observed trajectory 410 up to the end of the flight segment currently
being considered. In this way, candidate aircraft intents are constructed one flight
segment at a time, in chronological order.
[0097] Accordingly, the method comprises step 577: when the current evolutionary step 570
exits after the determination at step 576, a further determination is made at step
577. This second determination looks at each candidate aircraft intent to see whether
the final flight segment has been defined, i.e. whether or not the latest flight segment
added extends to the end of the observed trajectory. This step may be combined with
the selection process of step 535 such that the length of only the best candidate
aircraft intents is considered. Any candidate flight intents defining the full extent
of the observed trajectory 410 may be either removed and placed into a set of final
results or they may be input back into the evolutionary algorithm without the addition
of further instructions.
[0098] Eventually, step 577 will determine that all candidate aircraft intents, or that
the best candidate aircraft intents to be selected, define the full extent of the
observed trajectory 410. When this point is reached, the method proceeds to steps
580 and 590 where, as described before, the best candidate aircraft intents are selected
and presented to the user.
[0099] As will be appreciated, the above methods see the aircraft intents segmented by the
evolutionary algorithm. This process can in theory lead to much segmentation in order
to arrive at the lowest cost function possible (i.e. to ensure better correspondence
between the calculated trajectories and the observed trajectory 410). In practice,
the aircraft 400 is likely to have been flown with relatively few flight segments,
so the selection process of which candidate aircraft intents to retain for the next
iteration of the evolutionary algorithm may reward those candidate solutions with
the fewest flight segments or, in the case of the method of Figure 7, those with the
longest flight segment currently under consideration.
[0100] Those skilled in the art will appreciate that variations may be made to the above
embodiments without departing from the scope of the invention that is defined by the
appended claims.
[0101] Moreover, additional applications of the present invention are contemplated. For
example, to communicate a trajectory, such as a predicted trajectory or a desired
trajectory, it may be necessary to apply compression algorithms so that a bandwidth
is not exceeded. Lossless compression algorithms are available for this purpose. However,
to achieve high compression ratios, it is often necessary to apply lossy compression
algorithms. Such lossy algorithms are undesirable since the resolution of the communicated
trajectory is diminished.
[0102] However, as explained above, an instance of aircraft intent can unambiguously define
a corresponding trajectory.
[0103] The methods of inferring aircraft intent from trajectory described above can therefore
be used as a method of compression of trajectory. Any instance of aircraft intent
that unambiguously defines the trajectory can be used.
[0104] The compressed aircraft intent can be transmitted from a transmitting system to a
receiving system instead of the trajectory. The aircraft intent can be decompressed
to express the trajectory at the receiving system.
[0105] In other words, a preferred embodiment of a method of transmitting aircraft trajectory
data from a transmitting system to a receiving system comprises:
inferring aircraft intent data from the aircraft trajectory data using the transmitting
system, for example in accordance with any of the methods described above;
transmitting the inferred aircraft intent data; and
deriving trajectory data from the transmitted aircraft intent data.
[0106] Preferably, the aircraft intent data is inferred from the aircraft trajectory data
using an Earth model and an aircraft performance model stored by the transmitting
system.
[0107] Preferably, the trajectory data is derived at the receiving system from the transmitted
aircraft intent data using the same Earth model and the aircraft performance model
used to infer the aircraft intent data.
[0108] In some cases, these models may already be available at the receiving system. In
other cases, the method may further comprise transmitting the Earth model and the
aircraft performance model from the transmitting system to the receiving system.
[0109] Optionally, the aircraft intent data can itself be compressed by the transmitting
system (preferably, using lossless compression), and decompressed after transmission
by the receiving system.
[0110] This does not unduly increase the amount of data to be transmitted, since one Earth
model and one aircraft performance model can be used to compress and decompress an
unlimited number of trajectories 122.
[0111] It has been shown experimentally that compression ratios (the ratio of size of trajectory
data to size of aircraft intent data) of 55:1 can be achieved using the above-described
method.
1. A computer-implemented method of inferring the aircraft intent (114) of an aircraft
(400) from an observed trajectory (410) of the aircraft, the method comprising:
obtaining the observed trajectory of the aircraft;
determining the type of the aircraft and retrieving from memory aircraft performance
data relating to that type of aircraft;
retrieving data regarding the atmospheric conditions along the observed trajectory;
generating an initial set of candidate aircraft intents wherein each aircraft intent
comprises a set of threads, wherein each thread comprises one or more instructions
that defines a degree of freedom of the aircraft, the set of threads together defining
all degrees of freedom of the aircraft from the start of the trajectory to the end
of the trajectory, thereby closing all degrees of freedom of the aircraft throughout
the observed trajectory;
providing as inputs to a computer system the initial set of candidate aircraft intents,
the aircraft performance data and the atmospheric conditions data;
calculating from the inputs a calculated trajectory defined by each candidate aircraft
intent by solving a set of equations of motion of the aircraft;
obtaining for each calculated trajectory a cost function value from a multi-objective
cost function that characterises the difference between a calculated trajectory and
the observed trajectory, and retaining the initial candidate aircraft intents with
the best cost function values;
using an evolutionary algorithm to evolve the set of best initial candidate aircraft
intents into an evolved set of candidate aircraft intents by evolving the instructions
of the candidate aircraft intents and repeating iterations of the evolutionary algorithm
to evolve further the candidate aircraft intents of the evolved set, wherein the evolutionary
algorithm uses the multi-objective cost function to obtain a cost function value for
the calculated trajectory obtained for each the candidate aircraft intents of the
evolved set; and
providing one or more candidate aircraft intents with the best cost function value
or values respectively.
2. The method of claim 1, wherein determining the trajectory of the aircraft comprises
using radar data, ADS-B data or ADS-C data.
3. The method of claim 1 or 2, comprising providing as a further input to the computer
system initial conditions (116) of the aircraft, and wherein the calculated trajectory
defined by each candidate aircraft intent is calculated from the inputs and the further
input.
4. The method of claim 3, comprising generating a common set of initial conditions from
the observed trajectory or generating different sets of initial conditions from the
candidate aircraft intents.
5. The method of any preceding claim, further comprising retrieving a set of bounds,
and randomly generating the
initial set of candidate aircraft intents to include randomly generated values within
the bounds.
6. The method of any preceding claim, further comprising randomly generating the initial
set of aircraft intents while being guided to provide a broad range of candidate aircraft
intents.
7. The method of any preceding claim, wherein the cost function is based upon the combination
of (a) a point-by-point score derived from summing the deviation of the respective
calculated trajectory from the observed trajectory at each of a number of points sampled
along the observed trajectory, and (b) an overall consistency score derived from the
length of the respective calculated trajectory that deviates from the observed trajectory
by less than a threshold value.
8. The method of any preceding claim, wherein generating the initial set of candidate
aircraft intents comprises, for each candidate aircraft intent, filling each thread
with an instruction such that each thread contains only a single instruction spanning
the entire trajectory.
9. The method of claim 8, wherein the calculated trajectories are divided into flight
segments, the start and end of the flight segments being defined by the starts and
ends of the instructions, and wherein the method comprises using the evolutionary
algorithm to evolve a set of evolved candidate aircraft intents in a stepwise manner,
each step comprising optimising one flight segment at a time starting with the first
flight segment and proceeding chronologically through the observed trajectory.
10. The method of claim 9, comprising:
evolving the initial set of candidate aircraft intents iteratively to form the evolved
set of candidate aircraft intents while allowing the length of the instructions to
vary while keeping the start of each instruction tied to the start of the observed
trajectory, and wherein the evolutionary algorithm uses the multi-objective cost function
to obtain a cost function value that measures the goodness of each candidate aircraft
intent based upon a comparison of the calculated trajectory calculated for the flight
segment with the corresponding portion of the observed trajectory;
retaining the candidate aircraft intents with the best cost function values;
and then performing outer loops of iterations and inner loops of iterations, wherein:
the outer loop of iterations comprises
generating a further initial set of candidate aircraft intents by generating multiple
copies of the retained aircraft intents and adding an instruction to each thread of
the copies of the retained candidate aircraft intents to extend from the end of the
last flight segment to the end of the trajectory such that each thread is again filled
by instructions spanning the entire trajectory,
repeated iterations of the inner loop comprising evolving the further initial set
of candidate aircraft intents to form further evolved sets of candidate aircraft intents
while allowing the length of the instructions occupying the final flight segment to
vary subject to keeping the start of each instruction tied to the end of the previous
instruction, and while the evolutionary algorithm uses the multi-objective cost function
to obtain a cost function value that measures the goodness of each candidate aircraft
intent based upon a comparison of the calculated trajectory calculated from the start
of the observed trajectory to the end of the final flight segment with the corresponding
portion of the observed trajectory, and
retaining the candidate aircraft intents with the best cost function values;
wherein the outer loop of iterations are repeated until an evolved set of candidate
solutions is produced that includes candidate aircraft intents with threads that are
filled with instructions to span the entire observed trajectory.
11. The method of any preceding claim, providing multiple candidate aircraft intents with
the best cost function values to a user for the user to select a preferred candidate
aircraft intent.
12. The method of any preceding claim, further comprising ranking the provided candidate
aircraft intents and the step of providing one or more candidate aircraft intents
with the best cost function value or values respectively comprises either (a) providing
a ranked list of candidate aircraft intents or (b) providing the highest ranked candidate
aircraft intent.
13. The method of claim 12, wherein ranking the provided candidate aircraft intents comprises
at least one of:
ranking according to the cost function values, ranking according to number of flight
segments, and ranking
according to the frequency with which that candidate aircraft intent appears in the
evolved set.
14. A computer system programmed to implement the method of any preceding claim.
15. A computer program comprising computer program instructions that, when executed, cause
a computer system to implement the method of any of claims 1 to 13.
16. A computer readable medium having stored therein a computer program according to claim
15.
1. Computerimplementiertes Verfahren zum Erschließen der zukünftigen Flugbahn (114) eines
Luftfahrzeugs (400) aus einer beobachteten Flugbahn (410) des Luftfahrzeugs, wobei
das Verfahren umfasst:
Erhalten der beobachteten Flugbahn des Luftfahrzeugs;
Bestimmen des Typs des Luftfahrzeugs und Abrufen der Leistungsdaten des Luftfahrzeugs,
die sich auf den Typ des Luftfahrzeugs beziehen, aus einem Speicher;
Abrufen von Daten bezüglich der Witterungsverhältnisse entlang der beobachteten Flugbahn;
Erzeugen eines anfänglichen Satzes von möglichen zukünftigen Flugbahnen, wobei jede
zukünftige Flugbahn einen Satz von Ausführungssträngen umfasst, wobei jeder Ausführungsstrang
eine oder mehrere Anweisungen umfasst, die einen Freiheitsgrad des Luftfahrzeugs definieren,
wobei der Satz von Ausführungssträngen insgesamt alle Freiheitsgrade des Luftfahrzeugs
vom Beginn der Flugbahn bis zum Ende der Flugbahn festlegt und dadurch alle Freiheitsgrade
des Luftfahrzeugs während der beobachteten Flugbahn festgelegt sind;
Bereitstellen des anfänglichen Satzes von möglichen zukünftigen Flugbahnen, der Leistungsdaten
des Luftfahrzeugs und der Witterungsdaten als Eingaben an ein Computersystem;
Berechnen einer berechneten Flugbahn, die durch jede mögliche zukünftige Flugbahn
bestimmt ist, aus den Eingaben, indem ein Gleichungssystem der Bewegung des Luftfahrzeugs
gelöst wird;
Erhalten eines Kostenfunktionswertes für jede berechnete Flugbahn aus einer mehrkriteriellen
Kostenfunktion, die den Unterschied zwischen einer berechneten Flugbahn und der beobachteten
Flugbahn charakterisiert, und Speichern der anfänglichen möglichen zukünftigen Flugbahnen
mit den besten Kostenfunktionswerten;
Verwenden eines evolutionären Algorithmus, um den Satz von besten anfänglichen möglichen
zukünftigen Flugbahnen in einen evolvierten Satz von möglichen zukünftigen Flugbahnen
zu evolvieren durch Evolvieren der Anweisungen der möglichen zukünftigen Flugbahnen
und Wiederholen von Iterationen des evolutionären Algorithmus, um die möglichen zukünftigen
Flugbahnen des evolvierten Satzes weiter zu evolvieren, wobei der evolutionäre Algorithmus
die mehrkriterielle Kostenfunktion nutzt, um einen Kostenfunktionswert für die für
jede der möglichen zukünftigen Flugbahnen des evolvierten Satzes erhaltene berechnete
Flugbahn zu erhalten; und
Angeben von einer oder mehreren möglichen zukünftigen Flugbahnen, die den besten Kostenwert
bzw. die besten Kostenwerte aufweisen.
2. Verfahren nach Anspruch 1, worin das Bestimmen der Flugbahn des Luftfahrzeugs die
Verwendung von Radardaten, ADS-B-Daten oder ADS-C-Daten umfasst.
3. Verfahren nach Anspruch 1 oder 2, das umfasst, als weitere Eingabe an das Computersystem
anfängliche Zustände (116) des Luftfahrzeugs bereitzustellen, wobei die für jede der
möglichen zukünftigen Flugbahnen bestimmte berechnete Flugbahn aus den Eingaben und
der weiteren Eingabe berechnet wird.
4. Verfahren nach Anspruch 3, das umfasst, einen allgemeinen Satz von anfänglichen Zuständen
aus der beobachteten Flugbahn oder verschiedene Sätze von anfänglichen Zuständen aus
den möglichen zukünftigen Flugbahnen zu erzeugen.
5. Verfahren nach einem der vorhergehenden Ansprüche, das ferner umfasst, einen Satz
von Beschränkungen abzurufen und den anfänglichen Satz von möglichen zukünftigen Flugbahnen
zufallsbedingt zu erzeugen, um zufallsbeding erzeugte Werte innerhalb der Grenzen
einzuschließen.
6. Verfahren nach einem der vorhergehenden Ansprüche, das ferner umfasst, den anfänglichen
Satz von möglichen zukünftigen Flugbahnen zufallsbedingt zu erzeugen, mit der Vorgabe,
eine große Bandbreite von möglichen zukünftigen Flugbahnen bereitzustellen.
7. Verfahren nach einem der vorhergehenden Ansprüche, worin die Kostenfunktion auf der
Kombination (a) einer punktuellen Wertung, die durch Aufsummieren der Abweichung der
jeweils berechneten Flugbahn von der beobachteten Flugbahn bei jedem von mehreren
entlang der beobachteten Flugbahn aufgenommenen Punkten erhalten wird, und (b) einer
Gesamtkonsistenzwertung basiert, die aus der Länge der jeweils berechneten Flugbahn
erhalten wird, die sich von der beobachten Flugbahn um weniger als einen Schwellwert
unterscheidet.
8. Verfahren nach einem der vorhergehenden Ansprüche, worin das Erzeugen des anfänglichen
Satzes von möglichen zukünftigen Flugbahnen umfasst, für jede mögliche zukünftige
Flugbahn jeden Ausführungsstrang so mit einer Anweisung zu versehen, dass jeder Ausführungsstrang
nur eine einzige Anweisung enthält, die die gesamte Flugbahn umfasst.
9. Verfahren nach Anspruch 8, worin die berechneten Flugbahnen in Flugsegmente unterteilt
werden, wobei Beginn und Ende der Flugsegmente durch Start und Ende der Anweisungen
festgelegt sind, und wobei das Verfahren eine Verwendung des evolutionären Algorithmus
zum schrittweisen Evolvieren eines Satzes von evolvierten möglichen zukünftigen Flugbahnen
umfasst, wobei jeder Schritt umfasst, jeweils nur ein Flugsegment zu optimieren, wobei
mit dem ersten Flugsegment begonnen wird und chronologisch über die beobachtete Flugbahn
fortgefahren wird.
10. Verfahren nach Anspruch 9, das umfasst:
iteratives Evolvieren des anfänglichen Satzes von möglichen zukünftigen Flugbahnen
zur Bildung eines evolvierten Satzes von möglichen zukünftigen Flugbahnen, wobei die
Länge der Anweisungen variieren kann, und wobei der Beginn einer jeden Anweisung an
den Anfang der beobachteten Flugbahn gebunden ist, und wobei der evolutionäre Algorithmus
die mehrkriterielle Kostenfunktion verwendet, um einen Kostenfunktionswert zu erhalten,
der die Güte einer jeden möglichen zukünftigen Flugbahn auf Basis eines Vergleichs
der für das Flugsegment berechneten berechneten Flugbahn mit dem entsprechenden Abschnitt
der beobachteten Flugbahn bemisst;
Speichern der möglichen zukünftigen Flugbahnen mit den besten Kostenfunktionswerten;
und anschließend Durchführen von äußeren Iterationsschleifen und inneren Iterationsschleifen,
wobei:
die äußeren Iterationsschleifen umfassen:
Erzeugen eines weiteren anfänglichen Satzes von möglichen zukünftigen Flugbahnen durch
Erzeugen mehrerer Kopien der gespeicherten zukünftigen Flugbahnen und Hinzufügen einer
Anweisung zu jedem Ausführungsstrang der Kopien der gespeicherten möglichen zukünftigen
Flugbahnen, damit sich dieser vom Ende des letzten Flugsegments zum Ende der Flugbahn
erstreckt, sodass jeder Ausführungsstrang erneut mit Anweisungen gefüllt ist, die
die gesamte Flugbahn umfassen,
wiederholte Iterationen der inneren Schleife umfassen:
Evolvieren des weiteren anfänglichen Satzes von möglichen zukünftigen Flugbahnen zur
Bildung weiterer evolvierter Sätze von möglichen zukünftigen Flugbahnen, wobei die
Länge der Anweisungen, die das letzte Flugsegment belegen, in Abhängigkeit davon variieren
kann, dass der Beginn einer jeden Anweisung an das Ende der vorhergehenden Anweisung
gebunden ist, und wobei der evolutionäre Algorithmus die mehrkriterielle Kostenfunktion
verwendet, um einen Kostenfunktionswert zu erhalten, der die Güte einer jeden möglichen
zukünftigen Flugbahn auf Basis eines Vergleichs der berechneten Flugbahn, die vom
Beginn der beobachteten Flugbahn bis zum Ende des letzten Flugsegments berechnet wurde,
mit dem entsprechenden Abschnitt der beobachteten Flugbahn bemisst, und
Speichern der möglichen zukünftigen Flugbahnen mit den besten Kostenfunktionswerten,
wobei die äußeren Iterationsschleifen solange wiederholt werden, bis ein evolvierter
Satz von möglichen Lösungen erzeugt wurde, der mögliche zukünftige Flugbahnen mit
Ausführungssträngen umfasst, die mit Anweisungen zum Umfassen der gesamten beobachteten
Flugbahn gefüllt sind.
11. Verfahren nach einem der vorhergehenden Ansprüche, das umfasst, für einen Benutzer
mehrere mögliche zukünftige Flugbahnen mit den besten Kostenfunktionswerten bereitzustellen,
damit der Benutzer eine bevorzugte mögliche zukünftige Flugbahn auswählen kann.
12. Verfahren nach einem der vorhergehenden Ansprüche, das ferner ein Einstufen der bereitgestellten
möglichen zukünftigen Flugbahnen umfasst und wobei der Schritt zum Bereitstellen von
einer oder mehreren möglichen zukünftigen Flugbahnen mit dem besten Kostenfunktionswert
oder den besten Kostenfunktionswerten umfasst, entweder (a) eine Rangliste von möglichen
zukünftigen Flugbahnen bereitzustellen oder (b) die mögliche zukünftige Flugbahn mit
dem höchsten Rang bereitzustellen.
13. Verfahren nach Anspruch 12, worin das Einstufen der bereitgestellten möglichen zukünftigen
Flugbahnen zumindest eines von Folgendem umfasst:
Einstufen gemäß den Kostenfunktionswerten, Einstufen gemäß der Anzahl der Flugsegmente
und Einstufen gemäß der Häufigkeit des Auftretens der möglichen zukünftigen Flugbahn
in dem evolvierten Satz.
14. Computersystem, das zur Ausführung eines Verfahrens nach einem der vorhergehenden
Ansprüche programmiert ist.
15. Computerprogramm, das Computerprogrammanweisungen aufweist, die bei Ausführung ein
Computersystem zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 13
veranlassen.
16. Computerlesbares Medium, auf dem ein Computerprogramm nach Anspruch 15 gespeichert
ist.
1. Procédé, mis en oeuvre par ordinateur, de déduction de l'intention d'aéronef (114)
d'un aéronef (400) à partir d'une trajectoire observée (410) de l'aéronef, le procédé
comprenant les étapes ci-dessous consistant à :
obtenir la trajectoire observée de l'aéronef ;
déterminer le type de l'aéronef et récupérer, à partir d'une mémoire, des données
de performance d'aéronef connexes à ce type d'aéronef ;
récupérer des données concernant les conditions atmosphériques le long de la trajectoire
observée ;
générer un ensemble initial d'intentions d'aéronef candidates dans lequel chaque intention
d'aéronef comprend un ensemble de fils, dans lequel chaque fil comprend une ou plusieurs
instructions qui définissent un degré de liberté de l'aéronef, l'ensemble de fils
définissant conjointement tous les degrés de liberté de l'aéronef, du début de la
trajectoire à la fin de la trajectoire, clôturant ainsi tous les degrés de liberté
de l'aéronef tout au long de la trajectoire observée ;
fournir, en qualité d'entrées à un système informatique, l'ensemble initial d'intentions
d'aéronef candidates, les données de performance d'aéronef et les données de conditions
atmosphériques ;
calculer, à partir des entrées, une trajectoire calculée définie par chaque intention
d'aéronef candidate, en résolvant un ensemble d'équations de mouvement de l'aéronef
;
obtenir, pour chaque trajectoire calculée, une valeur de fonction de coût à partir
d'une fonction de coût à objectifs multiples qui caractérise la différence entre une
trajectoire calculée et la trajectoire observée, et retenir les intentions d'aéronef
candidates initiales présentant les meilleures valeurs de fonction de coût ;
utiliser un algorithme évolutif en vue de faire évoluer l'ensemble de meilleures intentions
d'aéronef candidates initiales vers un ensemble évolué d'intentions d'aéronef candidates,
en faisant évoluer les instructions des intentions d'aéronef candidates, et répéter
des itérations de l'algorithme évolutif en vue de faire évoluer davantage les intentions
d'aéronef candidates de l'ensemble évolué, dans lequel l'algorithme évolutif utilise
la fonction de coût à objectifs multiples afin d'obtenir une valeur de fonction de
coût pour la trajectoire calculée obtenue pour chacune des intentions d'aéronef candidates
de l'ensemble évolué ; et
fournir une ou plusieurs intentions d'aéronef candidates présentant la ou les meilleures
valeurs de fonction de coût, respectivement.
2. Procédé selon la revendication 1, dans lequel la détermination de la trajectoire de
l'aéronef comprend l'utilisation de données radar, de données ADS-B ou de données
ADS-C.
3. Procédé selon la revendication 1 ou 2, comprenant la fourniture, en qualité d'entrée
supplémentaire, au système informatique, d'états initiaux (116) de l'aéronef, et dans
lequel la trajectoire calculée définie par chaque intention d'aéronef candidate est
calculée à partir des entrées et de l'entrée supplémentaire.
4. Procédé selon la revendication 3, comprenant la génération d'un ensemble commun d'états
initiaux à partir de la trajectoire observée, ou la génération de différents ensembles
d'états initiaux à partir des intentions d'aéronef candidates.
5. Procédé selon l'une quelconque des revendications précédentes, comprenant en outre
la récupération d'un ensemble de limites, et la génération aléatoire de l'ensemble
initial d'intentions d'aéronef candidates pour inclure des valeurs générées de manière
aléatoire dans les limites.
6. Procédé selon l'une quelconque des revendications précédentes, comprenant en outre
la génération aléatoire de l'ensemble initial d'intentions d'aéronef, tout en étant
guidé pour fournir un large éventail d'intentions d'aéronef candidates.
7. Procédé selon l'une quelconque des revendications précédentes, dans lequel la fonction
de coût est basée sur la combinaison de : (a) un score point à point dérivé de l'addition
de l'écart de la trajectoire calculée respective par rapport à la trajectoire observée
à chacun d'un nombre de points échantillonnés le long de la trajectoire observée,
et (b) un score de cohérence global dérivé de la longueur de la trajectoire calculée
respective qui s'écarte de la trajectoire observée de moins d'une valeur seuil.
8. Procédé selon l'une quelconque des revendications précédentes, dans lequel la génération
de l'ensemble initial d'intentions d'aéronef candidates comprend, pour chaque intention
d'aéronef candidate, le remplissage de chaque fil avec une instruction, de sorte que
chaque fil ne contient qu'une seule instruction couvrant l'intégralité de la trajectoire.
9. Procédé selon la revendication 8, dans lequel les trajectoires calculées sont divisées
en segments de vol, le début et la fin des segments de vol étant définis par les débuts
et les fins des instructions, et dans lequel le procédé consiste à utiliser l'algorithme
évolutif pour faire évoluer un ensemble d'intentions d'aéronef candidates évoluées
d'une manière progressive, chaque étape comprenant l'optimisation d'un segment de
vol à un instant commençant par le premier segment de vol et continuant par ordre
chronologique à travers la trajectoire observée.
10. Procédé selon la revendication 9, comprenant les étapes ci-dessous consistant à :
faire évoluer l'ensemble initial d'intentions d'aéronef candidates de manière itérative
en vue de former l'ensemble évolué d'intentions d'aéronef candidates, tout en permettant
à la longueur des instructions de varier tout en conservant le début de chaque instruction
lié au début de la trajectoire observée, et dans lequel l'algorithme évolutif utilise
la fonction de coût à objectifs multiples en vue d'obtenir une valeur de fonction
de coût qui mesure le bien-fondé de chaque intention d'aéronef candidate sur la base
d'une comparaison de la trajectoire calculée, qui est calculée pour le segment de
vol, à la partie correspondante de la trajectoire observée ;
retenir les intentions d'aéronef candidates présentant les meilleures valeurs de fonction
de coût ; et
mettre en oeuvre ensuite des boucles d'itérations externes et des boucles d'itérations
internes, dans lesquelles :
la boucle d'itérations externe comprend :
la génération d'un ensemble initial d'intentions d'aéronef candidates supplémentaire,
par la génération de multiples copies des intentions d'aéronef retenues et l'ajout
d'une instruction, à chaque fil des copies des intentions d'aéronef retenues candidates,
devant s'étendre de la fin du dernier segment de vol à la fin de la trajectoire, de
sorte que chaque fil est à nouveau rempli par des instructions couvrant l'intégralité
de la trajectoire ;
les itérations répétées de la boucle interne impliquant de faire évoluer l'ensemble
initial d'intentions d'aéronef candidates supplémentaire en vue de former des ensembles
évolués supplémentaires d'intentions d'aéronef candidates, tout en permettant à la
longueur des instructions occupant le segment de vol final de varier sous réserve
du maintien du début de chaque instruction lié à la fin de l'instruction précédente,
et tandis que l'algorithme évolutif utilise la fonction de coût à objectifs multiples
pour obtenir une valeur de fonction de coût qui mesure le bien-fondé de chaque intention
d'aéronef candidate, sur la base d'une comparaison de la trajectoire calculée, qui
est calculée du début de la trajectoire observée à la fin du segment de vol final,
à la partie correspondante de la trajectoire observée ; et
retenir les intentions d'aéronef candidates présentant les meilleures valeurs de fonction
de coût ;
dans lequel les boucles d'itérations externes sont répétées jusqu'à ce qu'un ensemble
évolué de solutions candidates soit produit, lequel inclut des intentions d'aéronef
candidates avec des fils qui sont remplis par des instructions afin de couvrir l'intégralité
de la trajectoire observée.
11. Procédé selon l'une quelconque des revendications précédentes, comportant la fourniture
de multiples intentions d'aéronef candidates présentant les meilleures valeurs de
fonction de coût, à un utilisateur, en vue de permettre à l'utilisateur de sélectionner
une intention d'aéronef candidate préférée.
12. Procédé selon l'une quelconque des revendications précédentes, comprenant en outre
le classement des intentions d'aéronef candidates fournies, et dans lequel l'étape
consistant à fournir une ou plusieurs intentions d'aéronef candidates présentant la
ou les meilleures valeurs de fonction de coût comprend soit (a) la fourniture d'une
liste classée d'intentions d'aéronef candidates, soit (b) la fourniture de l'intention
d'aéronef candidate classée la plus haute.
13. Procédé selon la revendication 12, dans lequel le classement des intentions d'aéronef
candidates fournies comprend au moins un classement parmi : un classement selon les
valeurs de fonction de coût, un classement selon le nombre de segments de vol, et
un classement selon la fréquence à laquelle une intention d'aéronef candidate apparaît
dans l'ensemble évolué.
14. Système informatique programmé pour mettre en oeuvre le procédé selon l'une quelconque
des revendications précédentes.
15. Programme informatique comprenant des instructions de programme informatique qui,
lorsqu'elles sont exécutées, amène un système informatique à mettre en oeuvre le procédé
selon l'une quelconque des revendications 1 à 13.
16. Support lisible par ordinateur dans lequel est stocké un programme informatique selon
la revendication 15.