Method for selecting cruise phase route of aircraft

By utilizing multivariable flight data and atmospheric conditions, combined with machine learning technology, predicting the aircraft's fuel combustion volume and selecting the optimal route, the aviation industry's challenges in reducing fuel combustion and carbon dioxide emissions are solved, and fuel consumption and emission reductions are achieved.

CN120020928APending Publication Date: 2025-05-20THE BOEING CO
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411651247.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-05-22
Filing Date
2024-11-19
Publication Date
2025-05-20

AI Technical Summary

Technical Problem

The aviation industry faces challenges in reducing fuel combustion and carbon dioxide emissions, especially in transoceanic flights, where it is difficult to quantify the impact of wind-optimized routes on carbon emissions.

Method used

A method based on multivariable flight data and upcoming atmospheric conditions is proposed to predict fuel combustion through machine learning techniques and select candidate routes with the lowest fuel combustion.

Benefits of technology

This method can effectively predict the amount of fuel burning of the aircraft during the cruise phase, helping airlines choose wind-optimized routes, thereby reducing fuel consumption and carbon dioxide emissions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120020928A_ABST
    Figure CN120020928A_ABST
Patent Text Reader

Abstract

The application discloses a method for selecting a cruise phase route for an aircraft, and proposes a method (800) for selecting a cruise phase route for an aircraft. The method (800) includes receiving (810) a sequence of multivariable flight data (630) from at least one previous flight, and receiving (820) a set of candidate cruise phase routes (634). For each of the set of candidate cruise phase routes (634), an upcoming atmospheric condition (636) is received (830), including at least an upcoming downwind. For each (840) candidate cruise phase route (634), a sequence of fuel burns is predicted (850) based on the sequence of multivariable flight data (630) and upcoming atmospheric conditions (636). The fuel combustion amount is summed (860) over the candidate cruise phase route (634) to obtain an estimated fuel combustion (624). A preferred candidate cruise phase route with the lowest estimated fuel combustion (624) is indicated (870).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross - Reference to Related Applications

[0002] This application claims the benefit of priority of U.S. Provisional Application No. 63 / 600,986, filed on November 20, 2023, entitled "METHODS FOR DETERMINING FUEL BURN SAVINGS IN WIND - PREFERRED ROUTES", the entire content of which is incorporated herein by reference for all purposes. Technical Field

[0003] This disclosure generally relates to commercial aviation and, more particularly, to predicting fuel consumption and carbon dioxide emissions of an aircraft based on wind - preferred candidate routes. Background Art

[0004] As efforts to combat global warming and climate change similarly become priorities for both public and private enterprises, monitoring and recording carbon dioxide emissions into the atmosphere has become increasingly important. A major cause of atmospheric carbon dioxide emissions is air transportation. Accordingly, both governments and the air travel industry place greater emphasis on monitoring the carbon footprint of air transportation, implementing emission targets, and mitigation measures. Summary of the Invention

[0005] A method for selecting a cruise - phase route for an aircraft is presented. The method includes receiving a sequence of multivariate flight data from at least one previous flight and receiving a set of candidate cruise - phase routes. For each of the set of candidate cruise - phase routes, receive upcoming atmospheric conditions, which include at least an upcoming tailwind. For each candidate cruise - phase route, predict a sequence of fuel burn amounts based on the sequence of multivariate flight data and the upcoming atmospheric data. Sum the fuel burn amounts over the candidate cruise - phase routes to obtain an estimated fuel burn. Indicate a preferred candidate cruise - phase route having the lowest estimated fuel burn.

[0006] The Summary of the Invention is provided to introduce a selection of concepts in a simplified form that are further described in the Detailed Description. The Summary of the Invention is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. The claimed subject matter is not limited to embodiments that solve any disadvantages noted in any part of this disclosure. Brief Description of the Drawings

[0007] Figure 1 Schematically illustrates the climb, cruise, and descent phases of an example flight.

[0008] Figure 2 Shows a map of an example cruise trajectory between New York and London.

[0009] Figure 3 is an example plot of the relationship between Δ headwind and Δ fuel flow.

[0010] Figure 4 Schematically shows an example machine learning pipeline.

[0011] Figure 5 Shows aspects of an example machine that can be trained to predict fuel burn and emissions for an aircraft flight.

[0012] Figure 6 Shows aspects of an example machine that is trained to predict fuel burn and emissions for an aircraft flight.

[0013] Figure 7 Shows a flowchart of an example method for training a machine to predict fuel burn for an aircraft during the cruise phase of flight.

[0014] Figure 8 Shows a flowchart of an example method for selecting a cruise phase route for an aircraft.

[0015] Figure 9 Schematically shows aspects of an example computing system. Detailed Description

[0016] The operating cost of an aircraft is directly related to the amount of fuel it consumes. In the aviation industry, this amount is referred to as "fuel burn". Fuel burn is also directly related to carbon dioxide, nitrogen oxides, ozone emissions, and noise from the aircraft, all of which have an adverse impact on climate and health. Therefore, economic and environmental factors together provide a strong incentive to limit fuel burn in commercial aviation.

[0017] To systematically meet this goal, there is a need to be able to predict and reduce fuel burn on a flight-by-flight basis. A major mitigation measure is to utilize various operational efficiency solutions, such as selecting a wind-optimal route instead of a non-wind-optimal route to reduce carbon emissions. Although the qualitative values of headwind and tailwind routes are well known, their impact on carbon emissions has not been quantified, making it difficult for airlines to calculate the amount of carbon emissions that a flight is expected to generate when selecting a wind-optimal route instead of a non-wind-optimal route. This makes it difficult for airlines to optimize routes based on wind optimality, particularly for transoceanic flights, in terms of minimizing carbon emissions or fuel burn.

[0018] Each flight profile can be divided into a climb phase, a cruise phase, and a descent phase, as Figure 1is represented by 100. The climb phase extends from takeoff at the departure airport to the top of the climb. The cruise phase begins at the top of the climb. The cruise phase is typically marked by a long-term level altitude above the crossover altitude (where the indicated airspeed becomes Mach number). The descent phase extends from the end of the cruise phase (top of descent) to touchdown and landing.

[0019] The airspace operating efficiency operates with a set of established parameters that favor the selection of one flight path over another. In this article, the cruise phase of flight is analyzed, during which the aircraft tends to level off and then fly at a roughly the same altitude (e.g., unless there is convective weather). Generally, the aircraft will attempt to reach the highest feasible altitude based on temperature, pressure, and other factors, where the least amount of fuel is burned.

[0020] The largest emissions are generated during transoceanic flights. The flight route can be segmented along a series of trajectories. For transoceanic flights, these trajectories are more restricted than domestic flights. Figure 2 An example route map 200 between New York 202 and London 204 is shown. At the start and end of the trajectory segment, there are many potential transitions between trajectories. Based on wind preference, a route that reduces emissions or fuel burn can be selected. In many cases, this will involve selecting a route that crosses a set of trajectories at takeoff. However, changes in atmospheric conditions can also allow for the selection of a transition between trajectories during flight, as can changes in the flight plan. Given many options, the disclosed method aims to determine which route has the highest degree of wind preference and / or weather preference based on the constraints and circumstances of the flight and thus has the lowest emission rate and fuel burn. Such determination can be performed during flight, allowing for the advantageous dynamic selection of trajectory segments.

[0021] It is well known that fuel efficiency is improved if the tailwind is greater than the headwind. The method in this article quantifies the impact of the wind-preferred route on emissions, calculates the emissions generated by the wind-preferred route and the non-wind-preferred route, and compares them. Initially, a category of "wind-preferred route" can be defined. Using the true heading of the aircraft, wind magnitude, and direction, the tailwind (for the entire cruise phase of the flight) can be calculated over time and averaged. In addition, the average external temperature during the cruise is also calculated. Using continuous parameter logging (CPL) data, a more practical method can be to simply determine the tailwind as equal to (ground speed - airspeed).

[0022] Using a combination of parameters, a tailwind spectrum can be created. Flights with high tailwinds and low temperatures can be marked as weather-preferred routes. In some examples, the cruise altitude can be used as a supplement or alternative to temperature, as the higher the altitude, the lower the temperature. The cruise altitude represents temperature but is not susceptible to temporal climate / weather variations (e.g., the temperature may be lower during winter flights).

[0023] In a preliminary example, given the category of mean tailwind, two subsets of flights were compared based on the combination of mean tailwind, flight level (e.g., top of climb), and weight. The tail number and route direction were ignored, although it is well known that the tailwind for east - west flights (i.e., London to New York) is zero or negative, while the mean tailwind for west - east flights (i.e., New York to London) is positive.

[0024] To evaluate the impact of wind on emissions / fuel burn, discrete categories or buckets were created for each parameter. For example, for the parameter of cruise level, it was set to 38K feet, 39k feet, 40k feet, etc. For the parameter of weight, it was set to 400k lbs, 410k lbs, 420k lbs, etc. Using these categories, two sets of data were created, where the two sets had the same cruise level and weight but different tailwinds. The fuel flows for the two sets were compared, and data indicating the impact of wind on emissions were obtained. Additionally, the differences in lateral cruise distance were accounted for by padding shorter flights.

[0025] Table 1 indicates some results of this analysis. Clustering flight data in this way can help identify the degree of wind preference for each flight, as the "wind - preferred route" is more like a flight profile spectrum rather than a binary choice. Here, tailwind discretization was applied in 10 - knot steps, from - 50 - 40 - 30 - 20 to + 80. This allows for highly granular results in terms of how much fuel is burned or emissions are produced based on tailwind and temperature, thus defining the wind - preferred route.

[0026] Table 1

[0027]

[0028]

[0029]

[0030]

[0031] Based on this data classification, the relationship between tailwind change and fuel flow savings can be plotted, as shown by 300 in Figure 3 Note that there is an approximately linear correlation between Δ tailwind and Δ fuel flow (%), e.g., the greater the difference in tailwind, the greater the difference in fuel burn (%). Whether analyzing the same route or the opposite route, the difference does not seem to be affected by the route. Overall, there is a rough correlation where a 10 - knot tailwind corresponds to approximately a 2% reduction in fuel burn and thus a corresponding reduction in emissions.

[0032] The impact of wind-optimized routes on carbon emissions has never been quantified before. Overall, current methods can be very valuable to the global aviation industry, by which they can calculate the total carbon emissions generated by global flights under various conditions, namely, wind-optimized routes and non-wind-optimized routes, to monitor and achieve the net-zero carbon emissions target by 2050.

[0033] To address these issues and provide further advantages, the present disclosure presents a deep learning, data-driven, stochastic tool for aircraft fuel burn prediction on a flight-by-flight basis. Fuel burn prediction is defined as a sequence learning problem, where it is assumed that fuel burn can be described as a function of time-resolved flight data recorder (FDR) and atmospheric data. Given a set of previous flights of varying lengths, the trained model predicts the fuel burn at each time step along a planned flight, provided such data is available. In some examples, the model employs an encoder-decoder (E-D) long short-term memory (LSTM) architecture.

[0034] Given a set of previous flights with associated FDR and atmospheric data, the training objective is to train a model that predicts the fuel burn of another flight before it takes off. To address this problem, a flight is defined as a sequence of sensor readings at a specific frequency. A "sequence" is a set of values arranged in a specified order; in this context, the values are sorted according to the ascent or descent time. In some examples, the time step between adjacent values in the sequence is fixed. This type of sequence can also be referred to as a "time series". If the flight time is 8 hours and the frequency of sensor readings is 1 Hz, then for all sensors, the flight is defined by 28,800 time steps, where one reading is recorded for each sensor at each time step. Due to the variation in observed flight times, even between a fixed departure airport and arrival airport, the historical FDR data has varying lengths for each flight and flight phase. Therefore, the models disclosed herein must address the multi-variable, multi-step sequence prediction problem for the climb, cruise, and descent phases of a flight. To this end, for each route, the sequence of flight phases of varying length is adjusted to a sequence of flight phases of fixed length. This can be achieved by padding the shorter sequences.

[0035] Once the model is trained and validated against other competing models, it can be used to predict the fuel burn for the cruise phase of a flight based on wind-optimized and / or weather-optimized conditions.

[0036] The disclosed method provides a quantitative value for fuel burn and carbon dioxide emissions savings in the case of using a wind-optimal route instead of a non-wind-optimal route during flight. The disclosed method also uses machine learning techniques to formulate savings in carbon emissions and fuel burn for each flight based on various meteorological parameters (which include headwind / tailwind and temperature) that define a wind-optimal route.

[0037] To provide these capabilities, the disclosed method uses CPL data and classifies flights based on the origin-destination pair, aircraft type, and operator (airline) of the flight. Next, based on the label of the flight in the CPL data, each category of flight is divided into three phases (climb, cruise, and descent). Only using the cruise phase, the flights are further divided into sub-categories based on their headwind value, which is calculated using various parameters in the CPL data.

[0038] To determine the composition of the wind-optimal route, the disclosed method uses the true heading of the aircraft and the wind magnitude and direction to calculate the headwind over time during the entire cruise phase of the flight and then averages it. Additionally, the disclosed method calculates the average outside temperature during the cruise. Using these combinations, the disclosed method creates a spectrum, i.e., discrete categories of headwind, and considers those flights with high headwind and low temperature as weather-optimal routes.

[0039] Once flights with wind-optimal routes and non-wind-optimal routes are identified, the disclosed method performs a comparative analysis. However, for a fair comparison, the disclosed method uses a set of wind-optimal routes and non-wind-optimal routes where their cruise altitudes and weights at the top of climb (ToC) match. Additionally, to match the lateral distances between the two groups, the disclosed method adds an additional fuel burn amount for the flight group that presents a shorter average lateral distance.

[0040] Using the classified CPL dataset, the disclosed method also runs a series of machine learning (linear, non-linear, ensemble) and deep learning algorithms (recurrent neural network) based on two meteorological parameters (wind speed / direction and temperature), and constructs multiple regression models that compete with each other for higher accuracy. The top-ranked algorithms are used to formulate savings in carbon emissions and fuel burn for each flight. An additional benefit is that predictions can be made before refueling, thus limiting the initial weight of the aircraft and further reducing fuel consumption and emissions.

[0041] Figure 4An example machine learning pipeline 400 is schematically shown, which can be used to train a model for inferring fuel burn and emissions for the cruise phase of a flight based on wind preference. The machine learning pipeline 400 uses a data-driven approach, such as historical data of flights that have actually flown. Therefore, the quantitative value of the calculated fuel burn is based on ground truth. Mapping fuel burn and emissions involves training various regression models and inferring fuel burn / emissions according to wind preference and / or weather preference. Using a classified CPL dataset, the machine learning pipeline 400 runs a series of machine learning (linear, non-linear, ensemble) and deep learning algorithms (recurrent neural network, LSTM) based on configurable parameters (such as downwind vector and temperature), and constructs multiple regression models that compete with each other for higher accuracy. The top-ranked algorithms are used to formulate savings in carbon emissions and fuel burn for each cruise phase. Such a machine learning pipeline can be selected to be specific to aviation. The resulting models can be specific to fuel burn / emissions and the cruise phase of each flight. Because there is a time series in the data, the machine learning pipeline 400 can be specific to sequence-to-sequence learning problems. Therefore, long short-term memory models can be used.

[0042] Historical CPL data 402 can include multivariate data for one or more previous flights. A set of parameters is extracted from the historical CPL data in the form of a time series, including time, latitude, longitude, altitude, aircraft weight, flight phase, left engine fuel flow, and right engine fuel flow. Atmospheric conditions such as wind speed, wind direction, temperature, pressure, humidity, etc. can also be provided in the historical data.

[0043] The machine learning pipeline 400 obtains historical data, such as CPL data, and feeds it into raw data processing 404. Raw data processing 404 includes at least dimensionality reduction and feature engineering to select significant features of the data. Raw data processing 404 can help develop a finer-grained and more adaptable dataset, thus producing more accurate results. Raw data processing 404 can further include data normalization, such as normalizing the cruise phase by distance. This can include filling the cruise phase in some cases and pairing the cruise phase in other cases to generate data clusters with the same or similar distances.

[0044] Raw data processing can include iteratively reducing the number of parameters fed into model training. Raw data processing can include performing parameter correlation. Historical data and CPL data can include hundreds of parameters recorded at a frequency of 1 Hz, and not all parameters can predict the wind preference of the cruise phase.

[0045] In some examples, the processed raw data is selected as training data 408 and fed directly into model training 410. However, to improve accuracy and confidence, the processed raw data can first be fed into a search wind 406. The search wind 406 is performed on the processed data. The search wind is a heuristic algorithm for first identifying the tailwind from multivariate data. If the cruise phase has not been extracted from the flight data, they can be done at the search wind. In some examples, the tailwind can be considered a continuum. The search wind can otherwise group flights into discrete bins of cruise phases based on a tailwind range (e.g., wind preference). The tailwind can be based on wind speed, wind direction, air temperature, barometric pressure, ground speed, airspeed, etc. Each discrete bin can include cruise phases with a certain range of tailwind (e.g., 0 - 10 mph, 10 - 20 mph, etc.). In some examples, the cruise phases can be classified by air temperature and / or altitude (e.g., weather preference). The search wind then looks at how those cruise phases map to additional emissions or fuel burn. The search step can consider takeoff weight, weight at top of climb, aircraft type, origin - destination pair, airline, etc.

[0046] Some or all of the historical wind search data is considered training data 408 and fed into model training 410. Two or more prediction models can be used for model training 410, including various types of prediction models. Such prediction models can include linear regression, lasso, elastic net for non - linear classification regression, trees, support vector regression, k - nearest neighbors, ensemble models, extra gradient boosting, random forests, extra - tree regression, and conventional artificial neural networks. Multiple architectures can be used in a competitive manner to determine a single best model. The inputs for each model can be the same or similar, but the outputs, hidden layers, number of neurons in each layer, etc. can vary across models. The models can run in parallel and in a distributed manner with the goal of selecting the best - performing model as the prediction model.

[0047] Sequence prediction generally involves predicting the next value in a sequence, which can be conceived as a sequence prediction problem of one input time step to one output time step, or multiple input time steps to one output time step. However, a more challenging problem is taking a sequence as input and returning another predicted sequence as output. This is the sequence - to - sequence (seq2seq) prediction problem, and it becomes even more challenging when the lengths of the input and output sequences can vary. An effective way to solve the seq2seq prediction problem is the encoder - decoder long short - term memory (E - D LSTM) architecture. The system includes two collaborating models - an encoder that reads the input sequence and encodes it into a fixed - length vector, and a decoder that decodes the fixed - length vector and outputs the predicted sequence.

[0048] Consider a sequence X of length L = {x (1) , x (2) ,..., x (L)}, where each point is an m-dimensional vector of readings for m variables at time instance t i . This implies a scenario where the flight consists of L time steps, where at each time step t i , m sensor readings are recorded. In one example, an E-D LSTM model is trained to reconstruct instances of recorded fuel combustion. The LSTM encoder learns a fixed-length vector representation of the input sequence, and the LSTM decoder uses this representation to reconstruct the output sequence using the current hidden state and the values predicted at the previous time step.

[0049] Given is the hidden state of the encoder at time t i for each i ∈ {1, 2,..., L}, where and c is the number of LSTM cells in the hidden layer of the encoder. The encoder and decoder are jointly trained to reconstruct the time series in reverse order, i.e., the target time series is {x (L) , x (L-1) ,..., x (1)}. The final state of the encoder is used as the initial state for the decoder. A linear layer on top of the LSTM decoder layer is used to predict the target. During training, the decoder uses x (i) as input to obtain the state and then predicts x′ (i-1) corresponding to the target x (i-1) . During inference, the predicted value x′ (i) is input to the decoder to obtain and predict x′ (i-1) . The model is trained to minimize the objective

[0050]

[0051] (Equation 1)

[0052] where s N is the set of training sequences.

[0053] In this spirit, Figure 5 aspects of an example trainable machine 500 are shown, which can be trained to predict fuel combustion and emissions during the cruise segment of an aircraft flight, at least based on the wind preference of a candidate flight trajectory. The trainable machine particularly includes an input engine 502, a training engine 504, an output engine 506, and a trainable model 508.

[0054] The input engine 502 is configured to receive, for each of a preselected series of previous flights, training data for a cruise phase. For each cruise phase of each of the previous flights of the series, the training data includes a corresponding sequence of multivariate flight data recorded during the previous flight. In some examples, each corresponding sequence includes FDR data selected via principal component analysis. In some examples, each corresponding sequence includes atmospheric data.

[0055] The trainable machine may further include an adjustment engine 510. When included, the adjustment engine may be configured to adjust each corresponding sequence to provide a common cruise length for the cruise phase. In some examples and scenarios, adjusting each corresponding sequence includes padding the corresponding sequence during the cruise phase. A given phase may be padded in order to adjust the length of the phase. In some examples and scenarios, adjusting each corresponding sequence may include trimming longer corresponding sequences.

[0056] The training engine 504 is configured to process each corresponding sequence of multivariate flight data according to a trainable model 508. As described herein, such processing progressively develops a hidden state in the trained model. When fully developed, the hidden state is the state that minimizes the overall residual for replicating the fuel burn in each corresponding sequence. As described above, replicating the fuel burn includes transforming the multivariate flight data from previous time steps in each corresponding sequence based on the hidden state.

[0057] In some examples, the trainable model 508 includes a trainable encoder 512 logically arranged upstream of a trainable decoder 514. The encoder is trainable to emit a vector that characterizes an input sequence of multivariate flight data; the decoder is trainable to replicate the fuel burn of the input sequence based on the vector, thereby generating an output sequence. The number of parameters included in the input sequence may vary by example. In some examples, the parameters include, but are not limited to, flight date, time, duration, latitude, longitude, aircraft weight, wind speed, wind direction, air temperature, air pressure, altitude, ground speed, airspeed, etc. Those parameters may be used in particular to calculate the headwind. In other examples, other parameters, additional parameters, or fewer parameters may be used. Generally, a model trained for a specific trajectory and a specific aircraft may be able to make accurate predictions based on fewer input parameters than a more generally applicable model.

[0058] In some examples, the encoder and decoder are configured according to a long short-term memory (LSTM) architecture. In some examples, the trainable model includes an encoder-decoder LSTM (E-D LSTM) model; a convolutional neural network (CNN) LSTM encoder-decoder (CNN LSTM E-D) model; or a convolutional LSTM encoder-decoder (ConvLSTM E-D) model. In some examples, the trainable model further includes a fully connected layer 516, which is configured to interpret the fuel burn amount for each time step of the output sequence before the final output layer. More specifically, the fully connected layer can be the second-to-last layer of the trainable model. The fully connected layer can be configured to feed an output layer (see below), which predicts a single step in the output sequence (e.g., not all L steps at once). As an illustration, consider a flight that includes ten-minute time steps. In the output layer, the fuel flow can be predicted as the series {120, 1130, 2142,...}, where the first number 120 corresponds to the amount of fuel burned in the first 1-minute time step, the second number corresponds to the amount of fuel burned in the first two time steps (e.g., 11 minutes), and so on. The trainable model 508 can include one or more hyperparameters 518, which can manage machine learning model training. The hyperparameters can be set manually at the start of training and can be tuned manually or automatically during model training.

[0059] When included, the E-D LSTM model can include an encoder that reads the input sequence and outputs a vector that captures features from the input sequence. The number of time steps L can vary depending on the duration of the cruise phase, which defines a fixed length as the input. The internal representation of the input sequence can be repeated multiple times in a repeat layer and presented to the LSTM decoder. Such an E-D LSTM model can include a fully connected layer to interpret each time step in the output sequence before the final output layer. The output layer can predict a single step in the output sequence, rather than all L steps at once. To this end, the interpretation layer and the output layer can be wrapped in a TimeDistributed wrapper, which allows the wrapped layer to be used for each time step from the decoder. Such a TimeDistributed wrapper can create fully connected (e.g., dense) layers that are applied separately to each time step. This enables the LSTM decoder to figure out the context required for each step in the output sequence and enables the wrapped dense layers to interpret each time step separately, but reuse the same weights to perform the interpretation.

[0060] When included, the CNN LSTM E-D model can include a first CNN layer and a second CNN layer that act as an encoder. The first CNN layer can read across the input sequence and project the result onto a feature map. The second CNN layer can perform the same operation on the feature map created by the first CNN layer, attempting to amplify any significant features. A max pooling layer can simplify the feature map by keeping the values of a quarter that have the maximum signal. The refined feature map downstream of the max pooling layer can be flattened into a long vector in a flattening layer, which can be used as the input to the decoding process after being repeated in a repeating layer. The decoder can be another LSTM hidden layer, followed by a TimeDistributed wrapper that feeds the output layer.

[0061] When included, the ConvLSTM E-D model can use a CNN layer to read the input into the LSTM cell. ConvLSTM is a recurrent neural network for spatio-temporal prediction that provides a convolutional structure in both the input-to-state and state-to-state transitions. ConvLSTM determines the future state of a cell in the grid based on the past states and input of its local neighbors. In some examples, the CNN layer is logically arranged upstream of the flattening layer, the repeating layer, the LSTM decoder, and the TimeDistributed layer.

[0062] The output engine 506 is configured to expose at least a portion of the hidden state of the trainable model 508 developed by training. The manner in which the portion of the hidden state is "exposed" can vary by implementation. In particular, the present disclosure contemplates scenarios in which a computer system receives and processes training data for a large number of previous flights and is then assigned the task of making predictions based on the hidden state developed therein. In other words, the trainable machine, after developing the hidden state, is the trained machine. In this scenario, exposure simply means that the portion of the hidden state required for prediction is available to the prediction engine (see below). For example, a data structure that stores the weights and coefficients representing the hidden state can be scoped in a way that enables the prediction engine to access it. The present disclosure also contemplates scenarios in which the computer system that receives and processes the training data is different from one or more computer systems assigned the task of making predictions. In other words, the trainable machine can be different from the trained machine. In this scenario, exposure of the portion of the hidden state means that the weights and coefficients required for prediction are transferred from the computer system that has processed the training data to one or more computer systems assigned the task of making predictions. After appropriate training, the trainable machine 500 or another trained machine can be used to make fuel burn and emission predictions for aircraft flights.

[0063] Back to Figure 4, model training 410 generates training evaluation results 412. The goal of model training 410 is to approximate a function that maps input parameters (e.g., headwind, altitude, temperature) to fuel burn, and is thus a regression problem. Thus, function approximation is used to predict the fuel burn for a particular flight given specific flight parameters and conditions. The training evaluation results 412 can use relevant metrics (such as root mean square error (RMSE), mean absolute error (MAE), mean absolute percentage error (MAPE), etc.) to evaluate such function approximation to quantify the quality and performance of the trained model.

[0064] The training evaluation results 412 are used to perform a hyperparameter tuning step 414. Based on iteration, the tuned hyperparameters are fed back into model training 410. Each different model type can expose its own set or sets of hyperparameters. In some examples, multiple sets of hyperparameters can be used to train and evaluate a single model. For each model, depending on whether it is linear (e.g., linear, lasso, or elastic net regression), non-linear (e.g., classification and regression tree, support vector regression, k-nearest neighbor), ensemble (e.g., adaptive boosting, extra gradient boosting, random forest regression, or extra tree regression), or neural network-based (e.g., variants of LSTM), the hyperparameters can be tuned by using various search techniques (e.g., grid search, optuna, bohb, random) to achieve the highest performance value for each model. Then the models are ranked.

[0065] Some of the search wind data are considered test data. For example, given the value of a year's worth of flight data, 11 months can be used as training data 408 for building the model, and one month is considered "new" test data, even though the results are known. In some examples, the content of the training data 408 and the test data 416 is rotated across different training and prediction iterations, e.g., until all available data has been evaluated as test data. The test data 416 is fed into one or more trained prediction models 418 informed by the model training 410.

[0066] Figure 6 Aspects of an example trained machine 600 are shown that is trained to perform fuel burn and emissions predictions for an aircraft flight. The trained machine 600 particularly includes an input engine 602, a prediction engine 620, a summing engine 622, an output engine 606, and a trained model 608.

[0067] The input engine 602 is configured to receive at least one sequence of multivariate flight data 630 recorded during a previous flight. The input engine 602 is further configured to receive flight parameters 632. The flight parameters may include aircraft type, airline, aircraft weight, any constraints on the flight, etc. The input engine 602 is further configured to receive one or more candidate routes 634. Any number of unique candidate routes may be input, although the candidate routes may share one or more cruise segments. The candidate routes may include cruise tracks that are available for flight selection. The input engine 602 is further configured to receive atmospheric conditions 636. Atmospheric conditions may include wind conditions, temperature, humidity, and any other weather conditions that may affect the flight of the aircraft during the cruise phase. The atmospheric conditions may be associated with one or more candidate routes 634 and may include current atmospheric conditions as well as predicted atmospheric conditions during the expected flight.

[0068] Prediction engine 620 is configured to predict a sequence of fuel burn on a candidate route based on at least one sequence of multivariate flight data recorded during a previous flight and the trained hidden states of machine 600.

[0069] In some examples, the trained model 608 includes a trained encoder 612 logically arranged upstream of the trained decoder 614. The encoder is trained to emit a vector that features an input sequence of multivariate flight data; the decoder is trained to replicate the fuel burn of the input sequence based on the vector, thereby generating an output sequence. In some examples, the encoder and decoder are configured according to a long short-term memory (LSTM) architecture. In some examples, the trained model includes an encoder-decoder LSTM (ED LSTM) model, a convolutional neural network LSTM encoder-decoder (CNN LSTM ED) model, or a convolutional LSTM encoder-decoder (ConvLSTM ED) model. In some examples, the trained model further includes a fully connected layer 616, which is configured to interpret the fuel burn of each time step of the output sequence before the final output layer. In some examples, the fully connected layer can be the penultimate layer of the trained model. The trained model 608 can be operated with a set of hyperparameters 618, which can evolve as the trained model 608 is deployed.

[0070] Back to Figure 4 , the results of the predictive models are evaluated via heuristics 420 to obtain the highest ranking algorithm. Heuristics 420 can be used to determine which models perform best, and then used to select which models to continue to the next round of evaluation. The number of models that continue to move forward can depend on the relative performance of the models, for example, in the event of a significant drop in performance.

[0071] The heuristic 420 is fed into the validation assessment result 422. The validation assessment result 422 is used to iteratively inform the hyperparameter tuning 414. The validation assessment result 422 can include various performance metrics such as accuracy, standard deviation, confidence, RMSE, absolute error, percentage error, etc. The hyperparameter tuning can be performed iteratively, where successful models are trained, retrained, and tested.

[0072] In this way, multiple models can be evaluated in parallel, where the model with the best performance is iteratively selected to inform the prediction model. For example, multiple neural networks can be developed and run in parallel simultaneously, and then ranked, where the top K move forward, and finally a single best-performing model that can be used for inference is determined. The models can vary in terms of how many layers they have, how many neurons each layer includes, what activation functions are used, optimization algorithms, hyperparameter values, etc.

[0073] Returning to Figure 6 , the trained machine 600 includes a summing engine 622. The summing engine 622 is configured to sum the fuel burn over the candidate cruise phases to obtain the fuel supply estimate as described above. The output engine 606 is configured to output the estimated fuel burn for each candidate route 624. In some examples, the output engine 606 is further configured to output an emissions estimate based on the fuel supply estimate. For example, the output engine can multiply the fuel burn estimate (in mass units) by 3.16 to output a carbon dioxide emissions estimate.

[0074] The fuel flow will change over time across the application step, resulting in a change in the aircraft weight over time. The prediction engine 620 can thus be applied to determine the fuel burn for each time step on each candidate route, where the summing engine generates the total fuel burn for each candidate route 624. The fuel burn for each candidate route 624 can be used to determine the amount of fuel to be loaded before takeoff, can be used to inform the pilot and air traffic control which candidate routes will result in the least amount of fuel burned to optimize the control of fully autonomous or partially autonomous aircraft, etc. The fuel burn for each candidate route 624 can be output as the total fuel burn, as the left engine fuel flow and the right engine fuel flow, etc. As the atmospheric conditions 636 are updated (either in real time or as predicted conditions), different candidate routes and route segments can be predicted to have a higher tailwind and thus a reduced fuel burn.

[0075] Figure 7 A flowchart of an example method 700 for training a machine to predict fuel burn for an aircraft during the cruise phase of flight is shown. The method 700 can be applied to a trainable machine such as the trainable machine 500.

[0076] At 710, method 700 includes receiving corresponding sequences of multivariate data for a plurality of previously-occurred flights. Each sequence of multivariate flight data can be recorded at a frequency (e.g., 1 Hz) during the previous flight. In some examples, the multivariate flight data can include FDR data (e.g., CPL data) selected by principal component analysis. The parameters included can be time, latitude, longitude, altitude, aircraft weight, flight phase, left engine fuel flow, right engine fuel flow. Atmospheric conditions such as wind speed, wind direction, temperature, pressure, humidity, etc. can also be provided in the historical data.

[0077] At 720, method 700 includes parsing the corresponding sequences into the cruise phases of each of the plurality of flights. The multivariate flight data can be divided into flight phases such as climb phase, cruise phase, and descent phase, where the cruise phase is extracted. Each cruise phase can be defined as spanning from the top of climb to the top of descent within the previous flight.

[0078] Optionally, at 730, method 700 includes adjusting each corresponding sequence to provide a common cruise length for each cruise phase. For example, shorter cruise phases can be padded in length, and / or longer cruise phases can be trimmed in length, because even flights with a common origin and destination airport can extend different lengths. Parameters for the padded cruise phases can be extrapolated from the multivariate flight data.

[0079] At 740, method 700 includes discretizing the multivariate data based at least on the amount of tailwind and fuel burn for each cruise phase. Thus, multivariate data for flights with similar characteristics can be grouped together in a plurality of bins. The multivariate flight data can be discretized based on ranges of other parameters such as altitude, air temperature, takeoff weight, etc.

[0080] At 750, method 700 includes processing each corresponding sequence to develop a hidden state that minimizes the overall residual for replicating the amount of fuel burn in each corresponding sequence. Replicating the amount of fuel burn can include transforming the multivariate flight data from previous time steps in each corresponding sequence based on the hidden state.

[0081] At 760, method 700 includes exposing at least a portion of a hidden state. In particular, the present disclosure contemplates scenarios where a computer system receives and processes training data for a large number of previous flights and is then assigned the task of making predictions based on the hidden states developed therein. For example, exposing may simply mean that the portion of the hidden state required for prediction is made available to the prediction engine. For example, a data structure storing weights and coefficients characterizing the hidden state may be scoped in a manner that enables access by the prediction engine. In other examples, exposing simply means that the portion of the hidden state required for prediction is made available to the prediction engine. For example, a data structure storing weights and coefficients characterizing the hidden state may be scoped in a manner that enables access by the prediction engine.

[0082] In some examples, method 700 may further include training two or more machines to predict fuel burn for an aircraft during the cruise phase of flight, evaluating the training results for each of the two or more machines, and adjusting hyperparameters for at least one of the machines based on the training results. Multiple models may compete with each other for higher accuracy.

[0083] Figure 8 A flowchart of an example method 800 for selecting a cruise phase route for an aircraft is shown. Method 800 may be performed by a trained machine (such as trained machine 600). At 810, method 800 includes receiving a sequence of multivariate flight data from at least one previous flight. Each sequence of multivariate flight data may be recorded during a previous flight at a frequency (e.g., 1 Hz). In some examples, the multivariate flight data may include FDR data (e.g., CPL data) selected via principal component analysis. Parameters included may include time, latitude, longitude, altitude, aircraft weight, flight phase, left engine fuel flow, and right engine fuel flow. Atmospheric conditions such as wind speed, wind direction, temperature, pressure, humidity, etc. may also be provided in the historical data.

[0084] The number of input sequences received is not particularly limited. Each input sequence includes flight data recorded during a previous flight that shares at least some characteristics of the planned flight. In some examples, at least one sequence of multivariate flight data shares the departure airport, arrival airport, and aircraft model of the planned flight. In some examples, at least one sequence of multivariate flight data includes data similar to the training data described above. Such data may include, for example, FDR data selected via principal component analysis (PCA). In some examples, at least one sequence of multivariate flight data includes atmospheric (e.g., weather) data.

[0085] In some examples, the input data can include fewer parameters than the training sequences. For example, a suitable model can be trained for a specific airline, a specific aircraft type, and a specific departure and arrival airport. In this case, fewer parameters are required to predict fuel burn compared to a more general model.

[0086] In some examples, each sequence of multivariate flight data can share the departure airport, arrival airport, and aircraft specifier of the planned flight. The multivariate flight data can be divided into flight phases, such as a climb phase, a cruise phase, and a descent phase, where the cruise phase is extracted. Each cruise phase can be defined as spanning from the top of climb to the top of descent within a previous flight. In some examples, the lengths of one or more cruise phases included in the multivariate data are adjusted to a common cruise phase length. For example, shorter cruise phases can be padded in length, and / or longer cruise phases can be trimmed in length, because even flights with common origin and destination airports can extend different lengths. Parameters for the padded cruise phases can be extrapolated from the multivariate flight data. In some examples, the multivariate flight data is discretized based on a range of tailwind speeds. The multivariate flight data can be discretized based on ranges of other parameters, such as altitude, air temperature, takeoff weight, etc.

[0087] At 820, method 800 includes receiving a set of candidate cruise phase routes. Each candidate cruise phase route can be a predefined route between the top of climb from the departure airport and the top of descent approaching the destination airport. The set of candidate cruise phase routes can include routes available for the planned flight (e.g., not assigned to another aircraft, not in the path of inclement weather). A cruise phase route can include multiple segments. Segments of different cruise phase routes can intersect. Thus, two or more candidate cruise phase routes include one or more overlapping segments.

[0088] At 830, method 800 includes, for each of the set of candidate cruise phase routes, receiving upcoming atmospheric conditions that include at least upcoming tailwind. The atmospheric conditions can include wind speed, wind direction, air temperature, air pressure, humidity, weather conditions, and other suitable atmospheric conditions. The upcoming atmospheric conditions can include current and predicted atmospheric conditions for a time window surrounding the planned flight.

[0089] Method 800 can further include receiving flight parameters for the aircraft. The received flight parameters can be assigned to the planned flight. The flight parameters can include airline, aircraft, takeoff weight - fuel, air restrictions, etc.

[0090] At 840, method 800 includes an iteration for each candidate cruise phase route. At 850, method 800 includes predicting a sequence of fuel burn amounts based at least on a sequence of multivariate flight data and upcoming atmospheric data. Each sequence of fuel burn amounts can be further based on received flight parameters for the aircraft.

[0091] In other words, in a flight (or portion of a flight) characterized by N time steps, a different fuel burn prediction is made for each of the N time steps. The prediction is based on at least one input sequence and the hidden state of a trained machine. As described above, during training, corresponding sequences of multivariate flight data recorded during each of a preselected series of previous flights are processed in a trainable machine to develop the hidden state. The hidden state is the state that minimizes the overall residual used to replicate the fuel burn amounts in each corresponding sequence.

[0092] The sequence of predicted fuel burn amounts can be further based on the hidden state of the trained machine. The sequence of predicted fuel burn amounts can include transforming multivariate flight data from previous time steps in at least one sequence based on the hidden state. For each of a preselected series of previous flights, corresponding sequences of multivariate flight data recorded during the previous flight can be processed in a trainable machine to develop the hidden state. The hidden state can be configured to minimize the overall residual used to replicate the fuel burn amounts in each corresponding sequence.

[0093] The sequence of predicted fuel burn amounts can include transforming multivariate flight data from previous time steps in at least one sequence based on the hidden state. To this end, an encoder can emit a vector characterized by the input sequence. A decoder can decode the vector to generate an output sequence.

[0094] At 860, method 800 includes summing the fuel burn amounts over the candidate cruise phase route to obtain an estimated fuel burn. In some examples, the estimated fuel burn can be divided into left engine fuel burn and right engine fuel burn. At 870, method 800 includes indicating the preferred candidate cruise phase route having the lowest estimated fuel burn. For example, the preferred candidate cruise phase route can be indicated to the pilot, can be indicated in the flight plan, can be sent to the Federal Aviation Administration, etc.

[0095] In some examples, method 800 can be performed before fueling the aircraft for takeoff. Thus, in some examples, method 800 further includes fueling the aircraft based at least on the lowest estimated fuel burn. For example, the aircraft can be fueled based on the estimated fuel burn during the climb phase, the estimated fuel burn during the descent phase, and the lowest estimated fuel burn during the cruise phase. The aircraft can be further fueled based on a safety margin of fuel.

[0096] In some examples, the aircraft is at least partially autonomous. In such examples, method 800 may further include controlling the aircraft to follow a preferred candidate cruise phase route.

[0097] In some examples, method 800 may be performed while the aircraft is in flight. Thus, the method may include receiving candidate cruise phase routes from the current position of the aircraft to the destination airport descent vertex. The current cruise route may be adjusted or changed as atmospheric conditions change, and an updated cruise phase route may be determined to indicate a reduced amount of fuel burn. For example, the aircraft may be instructed to follow different cruise phase route segments at intersections of cruise phase route segments.

[0098] Figure 9 A non-limiting embodiment of a computing system 900 is schematically illustrated, which may implement one or more of the above methods and processes. Computing system 900 is shown in a simplified form. Computing system 900 may take the form of one or more personal computers, server computers, tablet computers, home entertainment computers, network computing devices, gaming devices, mobile computing devices, mobile communication devices (e.g., smartphones), and / or other computing devices.

[0099] Computing system 900 includes a logic machine 910 and a storage machine 920. Computing system 900 may optionally include a display subsystem 930, an input subsystem 940, a communication subsystem 950, and / or Figure 9 other components not shown. Machine learning pipeline 400, trainable machine 500, and trained machine 600 are examples of computing system 900.

[0100] Logic machine 910 includes one or more physical devices configured to execute instructions. For example, the logic machine may be configured to execute instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform tasks, implement data types, transform the state of one or more components, achieve a technical effect, or otherwise obtain a desired result.

[0101] A logic machine may include one or more processors configured to execute software instructions. Additionally or alternatively, a logic machine may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. The processors of the logic machine may be single-core or multi-core, and the instructions executed thereon may be configured for sequential, parallel, and / or distributed processing. Optionally, the individual components of the logic machine may be distributed between two or more separate devices, which may be remotely located and / or configured for coordinated processing. Aspects of the logic machine may be virtualized and executed by remotely accessible networked computing devices configured in a cloud computing arrangement.

[0102] Storage machine 920 includes one or more physical devices configured to hold instructions executable by a logic machine to implement the methods and processes described herein. When implementing these methods and processes, the state of storage machine 920 may be transformed, e.g., to hold different data.

[0103] Storage machine 920 may include removable and / or built-in devices. Storage machine 920 may include optical memory (e.g., CD, DVD, HD-DVD, Blu-ray Disc, etc.), semiconductor memory (e.g., RAM, EPROM, EEPROM, etc.), and / or magnetic memory (e.g., hard disk drive, floppy disk drive, tape drive, MRAM, etc.), among others. Storage machine 920 may include volatile, non-volatile, dynamic, static, read / write, read-only, random access, sequential access, location-addressable, file-addressable, and / or content-addressable devices.

[0104] It should be understood that storage machine 920 includes one or more physical devices. However, aspects of the instructions described herein may alternatively be propagated by a communication medium (e.g., electromagnetic signals, optical signals, etc.) that does not hold the instructions for a limited duration in a physical device.

[0105] Aspects of logic machine 910 and storage machine 920 may be integrated together into one or more hardware logic components. For example, such hardware logic components may include field programmable gate arrays (FPGAs), program and application specific integrated circuits (PASIC / ASICs), program and application specific standard products (PSSP / ASSPs), system on a chip (SOCs), and complex programmable logic devices (CPLDs).

[0106] The terms "module", "program", and "engine" can be used to describe aspects of a computing system 900 implemented to perform a particular function. In some cases, a module, program, or engine can be instantiated via a logic machine 910 that executes instructions stored by a storage machine 920. It should be understood that different modules, programs, and / or engines can be instantiated from the same application, service, code block, object, library, routine, API, function, etc. Similarly, the same module, program, and / or engine can be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc. The terms "module", "program", and "engine" can encompass individual or grouped executable files, data files, libraries, drivers, scripts, database records, etc.

[0107] It should be understood that a "service" as used herein is an application that can execute across multiple user sessions. A service can be available to one or more system components, programs, and / or other services. In some embodiments, a service can run on one or more server computing devices.

[0108] When included, the display subsystem 930 can be used to present a visual representation of data stored by the storage machine 920. Such a visual representation can take the form of a graphical user interface (GUI). Since the methods and processes described herein change the data stored by the storage machine and thus transform the state of the storage machine, the state of the display subsystem 930 can likewise be transformed to visually represent the change in the underlying data. The display subsystem 930 can include one or more display devices utilizing almost any type of technology. Such display devices can be combined with the logic machine 910 and / or the storage machine 920 in a shared enclosure, or such display devices can be peripheral display devices.

[0109] When included, the input subsystem 940 can include one or more user input devices, such as a keyboard, mouse, touch screen, or game controller, or interface therewith. In some embodiments, the input subsystem can include or interface with a selected portion of natural user input (NUI) componentry. Such componentry can be integrated or peripheral, and the transduction and / or processing of input actions can be handled on or off the device. Example NUI componentry can include a microphone for voice and / or speech recognition; infrared, color, stereo, and / or depth cameras for machine vision and / or gesture recognition; head trackers, eye trackers, accelerometers, and / or gyroscopes for motion detection and / or intent recognition; and electric field sensing componentry for evaluating brain activity.

[0110] When included, the communication subsystem 950 may be configured to communicatively couple the computing system 900 with one or more other computing devices. The communication subsystem 950 may include wired and / or wireless communication devices compatible with one or more different communication protocols. As a non-limiting example, the communication subsystem may be configured to communicate via a wireless telephone network, or a wired or wireless local or wide area network. In some embodiments, the communication subsystem may allow the computing system 900 to send messages to and / or receive messages from other devices via a network such as the Internet.

[0111] In addition, the present disclosure includes configurations according to the following examples.

[0112] Example 1. A method for selecting a cruise-phase route for an aircraft, comprising: receiving a sequence of multivariate flight data from at least one previous flight; receiving a set of candidate cruise-phase routes; for each of the set of candidate cruise-phase routes, receiving upcoming atmospheric conditions, including at least upcoming headwinds; for each candidate cruise-phase route, predicting a sequence of fuel burn amounts based at least on the sequence of multivariate flight data and the upcoming atmospheric conditions; and summing the fuel burn amounts over the candidate cruise-phase routes to obtain an estimated fuel burn; and indicating a preferred candidate cruise-phase route having the lowest estimated fuel burn.

[0113] Example 2. The method according to Example 1, further comprising fueling the aircraft based at least on the lowest estimated fuel burn.

[0114] Example 3. The method according to Examples 1-2, wherein the aircraft is at least partially autonomous, and the method further comprises: controlling the aircraft to follow the preferred candidate cruise-phase route.

[0115] Example 4. The method according to Examples 1-3, wherein each sequence of fuel burn amounts is further based on received flight parameters for the aircraft.

[0116] Example 5. The method according to Examples 1-4, wherein the atmospheric conditions further include air temperature.

[0117] Example 6. The method according to Examples 1-5, wherein the atmospheric conditions further include altitude.

[0118] Example 7. The method according to Examples 1-6, wherein the multivariate flight data is discretized based on a range of headwind speeds.

[0119] Example 8. The method according to Examples 1-7, wherein the lengths of one or more cruise phases included in the multivariate flight data are adjusted to a common cruise-phase length.

[0120] Example 9. The method according to any one of Examples 1 to 8, wherein two or more candidate cruise phase routes include one or more overlapping segments.

[0121] Example 10. The method according to any one of Examples 1 to 9, wherein the sequence of predicted fuel burn is further based on the hidden state of the trained machine, wherein for each of a series of preselected previous flights, a corresponding sequence of multivariate flight data recorded during the previous flight is processed in the trainable machine to develop the hidden state, which minimizes the overall residual for replicating the fuel burn in each corresponding sequence.

[0122] Example 11. A machine trained to predict fuel burn for an aircraft flight, comprising: an input engine configured to: receive a sequence of multivariate flight data from at least one previous flight; receive a set of candidate cruise phase routes; and for each of the set of candidate cruise phase routes, receive upcoming atmospheric conditions, which at least include upcoming headwinds; a prediction engine configured to predict a sequence of fuel burn for each candidate cruise phase route based at least on the sequence of multivariate flight data and the upcoming atmospheric conditions; a summing engine configured to sum the fuel burn over each candidate cruise phase route to obtain an estimated fuel burn; and an output engine configured to indicate a preferred candidate cruise phase route having the lowest estimated fuel burn.

[0123] Example 12. The machine according to Example 11, wherein the input engine is further configured to receive flight parameters for the aircraft, and wherein each sequence of fuel burn is further based on the received flight parameters for the aircraft.

[0124] Example 13. The machine according to any one of Examples 11 to 12, wherein the multivariate flight data is discretized based on a range of headwind speeds.

[0125] Example 14. The machine according to any one of Examples 11 to 13, further comprising an adjustment engine configured to adjust the length of one or more cruise phases included in the multivariate flight data to a common cruise phase length.

[0126] Example 15. The machine according to any one of Examples 11 to 14, further comprising a trained encoder logically arranged upstream of the trained decoder, wherein the encoder is trained to emit a vector characterized by an input sequence of multivariate flight data, and wherein the decoder is trained to replicate the fuel burn of the input sequence based on the vector, thereby generating an output sequence.

[0127] Example 16. The machine according to any one of Examples 11 to 15, wherein the encoder and the decoder are configured according to a long short-term memory (LSTM) architecture.

[0128] Example 17. The machine according to any one of Examples 11 to 16, further comprising a fully connected layer configured to interpret the amount of fuel burned at each time step of the output sequence.

[0129] Example 18. A method of training a machine to predict fuel burn of an aircraft during a cruise phase of flight, comprising: receiving a corresponding sequence of multivariate data for a plurality of previous flights; parsing the corresponding sequence into the cruise phase of each of the plurality of previous flights; discretizing the multivariate data based at least on the headwind and the amount of fuel burned for each cruise phase; processing each corresponding sequence to develop a hidden state that minimizes an overall residual for replicating the amount of fuel burned in each corresponding sequence; and exposing at least a portion of the hidden state.

[0130] Example 19. The method according to Example 18, further comprising: adjusting each corresponding sequence to provide a common cruise length for each cruise phase.

[0131] Example 20. The method according to any one of Examples 18 to 19, further comprising: training two or more machines to predict fuel burn for the aircraft during each cruise phase; evaluating the training results for each of the two or more machines; and adjusting hyperparameters for at least one machine based on the training results.

[0132] It should be understood that the configurations and / or methods described herein are exemplary in nature and these specific embodiments or examples should not be considered in a limiting sense as many variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. Accordingly, the various acts shown and / or described may be performed in the order shown and / or described, in other orders, in parallel, or omitted. Likewise, the order of the above processes may be changed.

[0133] The subject matter of the present disclosure includes all novel and non-obvious combinations and subcombinations of the various processes, systems, and configurations disclosed herein, as well as any and all equivalents thereof, along with other features, functions, acts, and / or properties.

[0134] Parts list:

[0135] Drawing 100

[0136] Route map 200

[0137] New York 202

[0138] London 204

[0139] Drawing 300

[0140] Machine learning pipeline 400

[0141] Historical CPL data 402

[0142] Raw data processing 404

[0143] Search wind 406

[0144] Training data 408

[0145] Model training 410

[0146] Training evaluation result 412

[0147] Hyperparameter tuning step 414

[0148] Test data 416

[0149] Prediction model 418

[0150] Heuristic 420

[0151] Validation evaluation result 422

[0152] Example trainable machine 500

[0153] Input engine 502

[0154] Training engine 504

[0155] Output engine 506

[0156] Trainable model 508

[0157] Adjustment engine 510

[0158] Trainable encoder 512

[0159] Trainable decoder 514

[0160] Fully connected layer 516

[0161] Hyperparameter 518

[0162] Trained machine 600

[0163] Input engine 602

[0164] Output engine 606

[0165] Trained model 608

[0166] Trained encoder 612

[0167] Trained decoder 614

[0168] Fully connected layer 616

[0169] Hyperparameter 618

[0170] Prediction engine 620

[0171] Summation engine 622

[0172] Fuel consumption of each candidate route 624

[0173] Multivariable flight data 630

[0174] Flight parameters 632

[0175] Candidate route 634

[0176] Atmospheric conditions 636

[0177] Method 700

[0178] Method steps 710, 720, 730, 740, 750, 760

[0179] Method 800

[0180] Method steps 810, 820, 830, 840, 850, 860, 870

[0181] Computing system 900

[0182] Logic machine 910

[0183] Storage machine 920

[0184] Display subsystem 930

[0185] Input subsystem 940

[0186] Communication subsystem 950.

Claims

1. A method (800) for selecting a cruise phase route for an aircraft, comprising: receiving (810) a sequence of multivariate flight data (630) from at least one previous flight; Receiving (820) a set of candidate cruise phase routes (634); For each of the set of candidate cruise phase routes (634), receiving (830) upcoming atmospheric conditions (636) including at least an upcoming tailwind; For each (840) candidate cruise phase route (634), predicting (850) a sequence of fuel burn based at least on the sequence of multivariate flight data (630) and the upcoming atmospheric conditions (636); and summing (860) the fuel burn amounts over the candidate cruise phase route (634) to obtain an estimated fuel burn (624); and A preferred candidate cruise phase route having a lowest estimated fuel burn (624) is indicated (870).

2. The method (800) of claim 1, further comprising refueling the aircraft based at least on the minimum estimated fuel burn (624).

3. The method (800) of claim 1, wherein the aircraft is at least partially autonomous, the method (800) further comprising: The aircraft is controlled to follow the preferred candidate cruise phase route.

4. The method (800) of claim 1, wherein each sequence of fuel burn amounts is further based on received flight parameters (632) for the aircraft.

5. The method (800) of claim 1, wherein the atmospheric condition (636) further comprises air temperature.

6. The method (800) of claim 1, wherein the atmospheric condition (636) further comprises an altitude.

7. The method (800) of claim 1, wherein the multivariate flight data (630) is discretized based on a range of downwind speeds.

8. The method (800) of claim 1, wherein the length of one or more cruise phases included in the multivariate flight data (630) is adjusted to a common cruise phase length.

9. The method (800) of claim 1, wherein two or more candidate cruise phase routes (634) include one or more overlapping segments.

10. The method (800) of claim 1, wherein predicting the sequence of fuel burn amounts is further based on hidden states of a trained machine (600), wherein for each of a series of preselected previous flights, a corresponding sequence of multivariate flight data (630) recorded during the previous flights is processed in the trainable machine (500) to develop the hidden state that minimizes an overall residual for replicating the fuel burn amounts in each corresponding sequence.

Citation Information

Cited By

  • Flight path dynamic closed-loop control and anomaly diagnosis method

    CN120409875A