Patent Description:
Knowing the runway configuration of an airport is considered critical information in providing accurate services and predictions for airlines to operate efficiently. Predicting the runway configuration of departure and destination airports has a direct impact in the flight performance of an aircraft, allowing the right planning of total flight duration and the fuel needed to execute the flight.

Although some airports update and publish runway configuration information to airlines, this is not the case for many other airports. Existing solutions for airports not reporting this information requires a geometric modeling of the tracks of arrival and departure flights to find possible configurations for each runway. This approach has high computational cost and requires the flight to be landed on, so that it cannot be applied for real-time detection during flight, for instance. <CIT> relates to a method for providing flight plan information to a user in an aircraft. <CIT> relates to a method for estimating an operation of an aircraft at an airport and involves receiving first radio data from a transponder of a first flying aircraft, then determining from the first data a likelihood of the first aircraft landing at the airport. However, none of the documents discloses the determination of a current runway configuration.

Therefore, there is a need to provide a computationally-efficient method for determining the current runway configuration that overcome the existing drawbacks.

The present disclosure refers to a system, a computer-implemented method and a computer program product for determining the runway configuration of an airport and for updating an aircraft flight plan based on the determined runway configuration.

The method for determining the runway configuration employs a data-driven based prediction algorithm that identifies an airport runway configuration solely based on automated aircraft surveillance reports and the known airport layout. The method does not rely on geometric calculations of the aircraft trajectories to infer the runway configuration of an airport; instead, the method uses purely surveillance data of the terminal area.

The method includes a data collection step in which aircraft positions are obtained (e.g. reported by ADS-B (Automatic Dependent Surveillance - Broadcast), secondary radar or any other data source available at the airport). The method also includes defining a 3D mesh centered on the airport and counting the number of position reports of an aircraft in each of the surveillance cells of the mesh for a period of time. The selection of the 3D mesh and the size and number of the surveillance cells for the data-driven process may be improved in an iteration process.

The method of the present disclosure allows improving flight planning by predicting the airport runway configuration, offering better estimations of real flight time and fuel needed. The disclosure applies a machine learning method to determine the runway configuration for both the departure and destination airport. The goal is to minimize fuel consumption on approach and takeoff from the airport as well as taxi to/from gate once the configuration at the airports is known. With the runway configurations known an accurate estimate of fuel usage can be made. The method uses a model in which actual taxi distances can also be optimized in an iterative process with controlled training datasets.

A first aspect of the present disclosure refers to a computer-implemented method for determining the runway configuration of an airport and updating an aircraft flight plan as described in claim <NUM>. The method comprises retrieving recorded surveillance data including instances of aircraft positions at an airport; determining a plurality of three-dimensional surveillance cells at each end of at least one runway of the airport; computing a count of the number of aircraft positions within each surveillance cell; determining a current configuration for each runway based on the count computed for the surveillance cells of the runway; updating the flight plan of an aircraft based on the current runway configuration of the airport; and autonomously executing, by a system installed onboard the aircraft, the updated flight plan.

The step of determining surveillance cells may comprise the following steps: retrieving information on the spatial arrangement of the airport runways; defining a three-dimensional mesh on the airport, the mesh being formed by a set of mesh cells; and selecting the surveillance cells from among the mesh cells.

The step of determining the current runway configuration for each runway may comprise a previous training based on a plurality of training surveillance data sets including instances for the plurality of all available configurations for the corresponding runway, wherein each surveillance data set may correspond to a different period of time.

In an embodiment corresponding to a supervised learning approach, the training is performed using a machine learning algorithm fed with known runway configurations added to the training surveillance data sets.

In another embodiment, corresponding to an unsupervised learning approach, the training is performed by computing, for each surveillance data set, a count of the number of aircraft positions within each surveillance cell; indicating the number of available configurations for each runway; and, for each runway, clustering the counts for the surveillance cells associated to the runaway to obtain clusters corresponding to each available configuration.

According to an embodiment, the surveillance cells are parallelepipeds. The surveillance cells may have a symmetry axis which runs parallel to the associated runway. The dimensions of the surveillance cells associated to a runway may be proportional to the length of the runway.

The airport may be an arrival airport or a departure airport for the aircraft. In an embodiment, the updating of the flight plan is performed prior to the departure of the aircraft, and the method comprises updating the quantity of fuel to be loaded onto the aircraft based on the current runway configuration of the airport. In another embodiment, the updating of the flight plan comprises updating the taxiing plan of the aircraft on the airport. In yet another embodiment, the airport is an arrival airport of the aircraft, the updating of the flight plan is performed during the flight of the aircraft; and the updating of the flight plan comprises determining a flight path for approaching the airport considering the current runway configuration of the airport.

Another aspect of the present disclosure refers to a system for updating an aircraft flight plan as described in claim <NUM>. The system is installed onboard an aircraft and comprises a processing unit configured to execute the steps of the method for determining the runway configuration of an airport as previously described, and a flight plan update module configured to receive a flight plan of the aircraft and compute an updated flight plan for the aircraft based on the current runway configuration of the airport. The system is also configured to autonomously execute the updated flight plan.

In accordance with a further aspect of the present disclosure there is provided a computer program product for updating an aircraft flight plan as described in claim <NUM>. The computer program product comprises at least one computer-readable storage medium comprising a set of instructions stored therein which, when executed by a processor, causes the processor to perform the computer-implemented method for updating an aircraft flight plan as discussed before.

The features, functions, and advantages that have been discussed can be achieved independently in various embodiments or may be combined in yet other embodiments further details of which can be seen with reference to the following description and drawings.

A series of drawings which aid in better understanding the invention and which are expressly related with an embodiment of said invention, presented as a non-limiting example thereof, are very briefly described below.

The present disclosure refers to a computer-implemented method for predicting the runway configuration of departure and/or destination airports, and for updating an aircraft flight plan based on said prediction.

An active runway <NUM> of an airport can be operated in several configurations. Firstly, a runway <NUM> may be configured either as an arrival (A) or as a departure (D) runway. Besides, for each runway the direction of departure or arrival of aircraft <NUM> may also change with time, leaving four available configurations, as depicted in <FIG>. Runway configurations are typically designated in the form {A1, A2, D1, D2} where A1 and A2 are the arrival runways and D1 and D2 are the departure runways in the two available directions (s1, s2).

An active runway <NUM> can therefore operate in four available configurations (A1, A2, D1, D2). Using automated aircraft surveillance reports and the known airport geometry, the method of the present disclosure predicts the current configuration of one or more runways of an airport.

The steps of the method are depicted in the flow chart of <FIG>. In particular, the method comprises a first step of retrieving (e.g. obtaining) <NUM> recorded surveillance data <NUM> stored in a surveillance data repository <NUM>.

The surveillance data <NUM> comprise multiple instances of aircraft positions <NUM> at an airport, during take-off or landing maneuvers on one or more runways of the airport. The aircraft positions <NUM> may have been obtained by ADS-B, ASDI (Aircraft Situation Display to Industry), secondary radar, surface radar or any other data register source available at the airport. The aircraft positions <NUM> include all the necessary information to precisely locate an aircraft in space and time (for instance, altitude h, longitude λ and latitude ϕ) and time record t), along with an aircraft identifier (ID) such as the tail number.

The instances of aircraft positions <NUM> may have been recorded during a given period of time or several periods of times (T<NUM>, T<NUM>,. The aircraft positions <NUM> may have been registered for all the airport runways or for only a specific runway or group of runways (for instance, after applying a filtering process). Normally, the instances of aircraft positions <NUM> correspond to different aircraft and include a plurality of positions over time registered for each aircraft involved. For instance, aircraft positions may be taken each few seconds during the landing or taking off.

The method also comprises a step of determining <NUM> three-dimensional surveillance cells at each end of one or more runways <NUM> {R<NUM>, R<NUM>,. , Rm} of the airport. In the exemplary embodiment depicted in <FIG>, representing a perspective view of a runway <NUM>, two surveillance cells <NUM> (e.g. 302a, 302b) are defined at each end of a runway <NUM>. The more simple mesh employs just these depicted four volumes, two at each extreme of the runway, one near the ground and the other on top of that. This basic mesh captures the different slopes of aircraft landing and take-off, making possible to differentiate the direction in use of the runway. In the embodiment of <FIG>, the surveillance cells are parallelepipeds, the size of which may be proportional to the runway length (LR). For instance, the dimensions of the parallelepiped (length L, width W and/or height H) may be such that L = a · LR, W = b · LR , and/or H = c · LR. In order to define the three-dimensional surveillance cells <NUM> around each runway <NUM>, the spatial disposition of the airport runways <NUM> must be previously known.

As depicted in <FIG>, the surveillance cells <NUM> may also be obtained by defining one main parallelepiped <NUM> centered over the runway <NUM> and discarding its central part, such that two upper parts and two lower parts are defined at each end of the main parallelepiped <NUM>, obtaining four surveillance cells <NUM> in the form of four smaller parallelepipeds. The size (length TL, height TH and width W) of this main parallelepiped <NUM> may also be defined with relation to the runway length: TL = x · LR, W = b · LR, and/or TH = y · LR. The parameters a, b, c, x and y can be numbers or percentages related to the runway length LR, and which can be optimized in an iterative process with a controlled training dataset.

In the embodiment of <FIG> the surveillance cells <NUM> are represented as rectangular parallelepipeds. However, other shapes for the volume defining the three-dimensional surveillance cells <NUM> may be selected, such as cylinders, cubes or hollow cylinder sectors. Besides, although the embodiment of <FIG> shows only two surveillance cells <NUM> at each side of the runway <NUM>, there may be more than two surveillance cells <NUM> defined at each end of the runway <NUM>. In an embodiment, there are at least two surveillance cells <NUM> at different heights defined at each end of the runway <NUM>, so that aircraft taking off can be distinguished from aircraft landing on the runway <NUM>.

The surveillance cells <NUM> are defined at each end of the runway <NUM>. The expression 'at each end of the runway' may be understood as the surveillance cells <NUM> partially or completely covering the extreme regions or ends of the runway <NUM>, from a top view. For instance, in the embodiment of <FIG>, representing a top view of the example of <FIG>, each surveillance cell <NUM> overlaps or contains, in the plan view, one of the two ends (310a, 310b) of the runway <NUM>. <FIG> illustrates another embodiment of overlapping the end regions of the runway <NUM>, using cylinders instead of parallelepipeds as surveillance cells <NUM>. Alternatively, 'at each end of the runway' may also be understood as the surveillance cells <NUM> being located adjacent to the ends, as depicted in the example of <FIG>, or in an external region close (but not adjacent or overlapping) to the ends, as in the example of <FIG>.

In <FIG> represents, respectively, a perspective view and a top view of an airport with three runways (102a, 102b, 102c) and the spatial arrangement thereof. The airport has two parallel long runways (102a, 102b) and a crossing short runway (102c). In this embodiment, the step of determining surveillance cells <NUM> comprises, as reflected in the flow chart of <FIG>, retrieving <NUM> information on the spatial arrangement of the airport runways (e.g. length, orientation and starting point for each runway obtained from an airport layout <NUM> or any other equivalent information necessary to spatially locate the runways), and defining <NUM> a three-dimensional mesh <NUM> formed by a set of mesh cells <NUM> in the form of rectangular parallelepipeds, represented in broken lines in <FIG>. Although the use of rectangular parallelepipeds or cubes as basic mesh cells <NUM> may be advantageous for computational efficiency, the shape of the mesh cells <NUM> may also be different.

The mesh <NUM> is defined over an area covering the airport, such that at least it contains (in a top view) all the relevant airport runways. In this illustrative embodiment the mesh <NUM> is formed by a matrix of 9x9x3 mesh cells <NUM> (<NUM> rows, <NUM> columns and a height of <NUM> cells), although in a real scenario it may comprise many more mesh cells <NUM> (tens, hundreds or even thousands of cells). The surveillance cells <NUM> are then selected <NUM> from among the cells <NUM> of the mesh <NUM>. In the example of <FIG>, sixteen mesh cells <NUM> have being identified as relevant (i.e. as surveillance cells <NUM>) for the traffic counts in order to detect the configuration of the airport runways: two surveillance cells <NUM> at each end of the parallel long runways (102a, 102b) and four surveillance cells at each end of the crossing short runway (102c).

Once the surveillance cells have been selected <NUM>, the spatial arrangement <NUM> of each surveillance cell may be determined <NUM>; in particular, if i surveillance cells have been computed, each surveillance cell <NUM> is spatially defined so that the volume {V<NUM>, V<NUM>,. , Vi} delimiting each surveillance cell <NUM> may be determined.

In the example, as depicted in <FIG>, only the first two heights of the matrix <NUM> have been considered as relevant for the selection of the surveillance cells <NUM>, but a different selection of cells may also be considered (e.g. considering the cells at the third height of the matrix). As previously explained, the surveillance cells <NUM> may:.

Back to the flow chart of <FIG>, the method for determining the runway configuration also comprises a step of computing <NUM>, using the retrieved surveillance data <NUM>, the number of aircraft positions <NUM> contained in each surveillance cell <NUM> for a given period of time (Tx) or several periods of times (e.g. T<NUM> and T<NUM>).

<FIG> illustrates aircraft positions <NUM> registered within different periods of time, when the runaway <NUM> is working using two different configurations (A1, D1) in a first direction s1. instances of aircraft positions <NUM> normally correspond to samples taken from multiple different aircraft <NUM>, and wherein some of the samples may refer to a same aircraft, reflecting the departure or arrival process at different instances of time. The samples shown in the lower-left margin of <FIG> correspond to aircraft positions <NUM> recorded when the runway <NUM> is running in configuration A1 (i.e. arrival, direction s1), where most of the samples are within the corresponding lower surveillance cell 302a. The samples in the upper-right area relate to aircraft positions <NUM> registered when the runway <NUM> is working in configuration D1 (i.e. departure, direction s1), most of the samples being contained in the corresponding upper surveillance cell 302b.

In the embodiment of <FIG>, instances of aircraft positions <NUM> are registered when the runaway <NUM> runs in two different configurations (A2, D2) in a second direction s2, opposite to the first direction s1. The aircraft positions <NUM> in the lower-left of <FIG> were recorded when the runway <NUM> was running in configuration D2 (departure, direction s2), with most of the samples being contained in the corresponding upper surveillance cell 302b. The aircraft positions <NUM> in the upper-right were registered when the runway <NUM> was running in configuration A2 (arrival, direction s2), where most of the aircraft positions <NUM> are contained in the corresponding lower surveillance cell 302a.

In <FIG> a flow chart depicts an embodiment of the steps involved in the computing <NUM> of a count of the number of aircraft positions <NUM> within each surveillance cell <NUM>. The aircraft positions <NUM> stored in the surveillance data repository <NUM> may be grouped in different periods of time (T<NUM>, T<NUM>,. A first step comprises selecting <NUM> one or more of these periods of time and retrieving <NUM> the aircraft positions corresponding to the given period or periods of time (using for instance the time record t of register aircraft positions <NUM>), obtaining the selected aircraft positions <NUM>. For each aircraft position <NUM>, the registered aircraft location (h, A, ϕ) is compared <NUM> with the spatial arrangement <NUM> {V<NUM>, V<NUM>,. , Vi} of each surveillance cell <NUM> {SC<NUM>, SC<NUM>,. If the aircraft location (h, A, ϕ) is within the volume {V<NUM>, V<NUM>,. , Vi} associated to a surveillance cell <NUM> (e.g. inside of the surveillance cell), a count associated to said surveillance cell <NUM> is updated <NUM> (increased by <NUM>). Finally, once all the selected aircraft positions <NUM> have been checked <NUM>, the count <NUM> {N<NUM>, N<NUM>,. , Ni} of aircraft positions computed for each surveillance cell is obtained.

In a last step of the flow chart of <FIG>, the count <NUM> on the number of aircraft positions reported inside each surveillance cell is fed to an algorithm used to determine <NUM> the current configuration <NUM> {C<NUM>, C<NUM>,. , Cm} of each runway involved {<NUM>, <NUM>,. , m} based on the count computed for the surveillance cells <NUM> of the corresponding runway <NUM>. The configuration is selected among all the available configurations (A1, A2, D1, D2 or not in use, if the runway is not active).

To determine the current runway configuration a previous training is performed based on multiple training surveillance data sets including instances of aircraft positions registered for all the configurations available to each runway. Each surveillance data set normally corresponds to a different period of time in which the runway configuration may have changed. The training may correspond to a supervised learning approach, where the runway configuration is known for each instance of aircraft position, or to an unsupervised learning approach, where the runway configuration at the recorded time t of the instance is unknown.

In the supervised learning approach, the training is performed using a machine learning algorithm fed with known runway configurations added to the training surveillance data sets. The model features are the number of registered aircraft positions inside the surveillance cells <NUM>. For each period of time with counts on each surveillance cell, the known configuration (which is added to the data set) is the dependent variable and the count for the surveillance cells is the independent variable. After many known configurations and periods of time, a machine-learning algorithm is used to learn the pattern, so that just having the count <NUM> of the surveillance cells the algorithm outputs the runway configuration <NUM> {C<NUM>, C<NUM>,. , Cm} in use for all the runways {R<NUM>, R<NUM>,. , Rm} analyzed.

The size and shape of the surveillance cells <NUM> may also be optimized. To find the geometrical parameters that define the mesh and the surveillance cells ({a, b, c, x, y} in the example of <FIG>), the model is trained with a special controlled data set composed with data for a known period operating in each available runway configuration (A1, A2, D1, D2). Then, iterations with different geometrical parameters {ai, bi, ci, xi, yi) may be performed. The geometrical parameters which more clearly assign the right configuration to each data set in each period are selected. Once the geometrical parameters have been optimized, a definitive training may be carried out with the selected geometrical parameters for the real training data set, including for instance several different days with changing configuration.

In the unsupervised learning approach, a number of periods are clustered together to find at the end a number of clusters equal to the different airport configuration in use. For each runway, the model features are the number of registered aircraft positions <NUM> inside the surveillance cells <NUM>. In the embodiment of <FIG>, there are four features (since there are four surveillance cells) for one runway. Since the training is unsupervised, the trainer indicates the number of possible configurations expected for each runway (e.g. A1, A2, D1, D2, or not in use). The clustering algorithm is fed with many instances of the four features at different intervals and tries to find the clusters. Therefore, unlike the supervised training, the configurations are not known but the algorithm find them by clustering. The clustering algorithm tries to find clear clusters for five different scenarios: A1, D1 (<FIG>), A2, D2 (<FIG>), or not operating (zeros in the features). Then, for each cluster the centroids are found and reference values of the four features are used for classifying future situations. The centroids represent the typical configurations. Once the algorithm is trained, just having the counts of the surveillance cells the algorithm outputs which cluster the configurations belongs to, and knowing the cluster the configuration in use can be known.

The method for determining the runway configuration of an airport may be used to update a flight plan of an aircraft based on the predicted runway configuration of the airport. <FIG>, <FIG> and <FIG> show different scenarios in which an aircraft flight plan is updated.

In the example of <FIG>, the runway configuration is applied during preflight phase to select an upgraded flight path and/or an updated quantity of fuel to load. The airport which runway configuration is predicted may be an arrival airport <NUM> (<FIG>) or a departure airport <NUM> (<FIG>) for the aircraft. Knowing the runway configuration of an arrival airport <NUM> or a departure airport <NUM> may imply a shorter updated flight path <NUM> than the original flight path <NUM>, requiring less time and fuel to arrive at the destination.

The determination of the current runway configuration of an airport may also be applied during preflight to estimate the correct taxi time, as depicted in the example of <FIG>. Knowing the runway configuration of an airport (either departure or arrival airport) may imply shorter/longer taxi-out/taxi-in time than the reference time, so that delays in departure can be avoided adjusting target off-block time and schedule of arrival adjusted considering the right taxi time. The taxiing plan (1002a or <NUM>002b) of the aircraft is updated based on the current runway configuration and the runway <NUM> selected.

<FIG> represents another application of predicting the runway configuration, in this case performed in-flight to update the flight path in advance. In many cases, an aircraft follows an original flight path <NUM> until the flight plan is updated when being close to the arrival airport <NUM> (last minute flight path adjustment <NUM>). However, knowing a change in the runway configuration of the arrival airport <NUM> in advance may be used to an early change of the original flight path <NUM> to an updated flight path <NUM> (early flight path adjustment) to avoid the less-efficient last-minute flight path adjustment <NUM>. This update will imply shorter flight paths than waiting for last minute adjustments.

<FIG> represents a system for determining the runway configuration of an airport. The system basically executes the steps of the method previously described. In an embodiment, the system is installed onboard an aircraft. The system comprises a processing unit <NUM>, such as a processor, a microcontroller or a computer or any other similar electronic device equipped with data processing means. The processing unit <NUM> comprises:.

<FIG> depicts a system <NUM> for updating an aircraft flight plan. This system may be used, for instance, in the different scenarios described in <FIG>, <FIG> and <FIG>, when a flight path or taxiing plan needs adjustment (e.g. to be enhanced or updated for adjusting to changing conditions). The system is installed onboard an aircraft for autonomous real-time computation and execution of an updated and optimized flight plan.

Claim 1:
A computer-implemented method for updating an aircraft flight plan, comprising:
retrieving (<NUM>) recorded surveillance data (<NUM>) including instances of aircraft positions (<NUM>) at an airport;
determining (<NUM>) a plurality of three-dimensional surveillance cells (<NUM>) at each end (310a, 310b) of at least one runway (<NUM>) of the airport;
computing (<NUM>) a count of a number of aircraft positions (<NUM>) within each surveillance cell (<NUM>);
determining (<NUM>) a current configuration for each runway (<NUM>) based on the count computed for the surveillance cells (<NUM>) of the runway (<NUM>);
updating the flight plan of an aircraft based on the current runway configuration of the airport; and
autonomously executing, by a system installed onboard the aircraft, the updated flight plan (<NUM>).