Selecting height change phase course for aircraft

By using machine learning technology and historical data to predict and optimize the fuel consumption and CO2 emissions of the aircraft during the climbing and descent stages, the problem of difficult to effectively predict and reduce fuel consumption and emissions in the prior art is solved, and carbon emission optimization in the aviation industry is achieved.

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

Patent Information

Application Number
CN202411651897.4
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 prior art is difficult to effectively predict and reduce fuel consumption and carbon dioxide emissions of aircraft during the climbing and descent stages, especially when achieving the aviation industry's zero carbon emission target.

Method used

Using a data-driven approach, data is recorded using machine learning technology and historical continuous parameters, optimize the aircraft's altitude change phase route to reduce fuel consumption and emissions by predicting fuel combustion and CO2 emissions under different step profiles.

Benefits of technology

Accurate prediction and optimization of the fuel combustion and CO2 emissions of the aircraft under different route conditions has been achieved, helping airlines reduce operating costs and achieve carbon emission targets.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120020670A_ABST
    Figure CN120020670A_ABST
Patent Text Reader

Abstract

A method (900) for selecting a height change phase course for an aircraft is presented. The method (900) includes receiving (910) a multivariable flight data sequence (730) from at least one previous flight, receiving (920) a set of flight parameters (732) of the aircraft including at least a total altitude change and a takeoff weight, and receiving (930) a set of candidate altitude change phase routes (734) having candidate step profiles. For each (940) candidate altitude change phase course (734), a sequence of fuel burns for the respective candidate step profile is predicted (950) based at least on the multivariable flight data sequence (730) and the set of flight parameters (732). The amount of fuel combustion on the candidate altitude change phase course (734) is summed (960) to obtain an estimated fuel combustion (724). A preferred candidate altitude change phase course with the lowest estimated fuel combustion (724) is indicated (970).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross - Reference to Related Applications

[0002] This application claims priority to U.S. Provisional Application No. 63 / 600,977, filed on November 20, 2023, entitled "METHODS FOR DETERMINING FUELBURN IN CLIMB AND DESCENT PHASES OF FLIGHTS", the entire content of which is hereby incorporated by reference for all purposes. Technical Field

[0003] The present disclosure generally relates to commercial aviation and, more particularly, to predicting fuel consumption and carbon dioxide emissions of an aircraft during climb and descent phases of a flight. Background Art

[0004] As efforts to address global warming and climate change become priorities for both public and private enterprises, monitoring and recording carbon dioxide emissions into the atmosphere is becoming increasingly important. A major contributor to atmospheric carbon dioxide emissions is air transportation. Therefore, both governments and the air travel industry are placing more emphasis on monitoring the carbon footprint of air transportation in order to meet emission targets and mitigation measures. Summary of the Invention

[0005] This application presents a method for selecting a flight path for an altitude change phase of an aircraft. The method includes receiving a sequence of multivariate flight data from at least one previous flight, receiving a set of flight parameters of the aircraft including at least total altitude change and take - off weight, and receiving a set of candidate flight paths for the altitude change phase having candidate step profiles. For each candidate flight path for the altitude change phase, predicting a sequence of fuel burn for the corresponding candidate step profile based at least on the sequence of multivariate flight data and the set of flight parameters. Summing the fuel burn over the candidate flight path for the altitude change phase to obtain an estimated fuel burn. Indicating a preferred candidate flight path for the altitude change phase having the lowest estimated fuel burn.

[0006] The Summary of the Invention is provided to introduce a series 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 shows the climb, cruise, and descent phases of an exemplary flight.

[0008] Figure 2AA graph showing the altitude over time for an example climb phase of a flight.

[0009] Figure 2B Showing Figure 2A a graph of fuel flow versus altitude for an example climb phase.

[0010] Figure 2C A graph showing the altitude over time for an example descent phase of a flight.

[0011] Figure 2D Showing Figure 2C a graph of fuel flow versus altitude for an example descent phase.

[0012] Figure 3 Schematically showing an example machine learning pipeline.

[0013] Figure 4 Showing an example graph of the relationship between altitude and a sequence of timestamps for an example climb phase.

[0014] Figure 5A Showing an example graph of the relationship between altitude and lateral distance for an example continuous climb phase.

[0015] Figure 5B Showing an example graph of the relationship between altitude and lateral distance for an example stepped climb phase.

[0016] Figure 5C Showing an example graph of the relationship between altitude and lateral distance for an example continuous descent phase.

[0017] Figure 5D Showing an example graph of the relationship between altitude and lateral distance for an example stepped descent phase.

[0018] Figure 6 Showing aspects of an example machine that can be trained to predict fuel burn and emissions for an aircraft flight.

[0019] Figure 7 Showing aspects of an example machine that is trained to predict fuel burn and emissions for an aircraft flight.

[0020] Figure 8 Showing a flowchart of an example method for training a machine to predict fuel burn on a flight path during an altitude change phase of an aircraft.

[0021] Figure 9 Showing a flowchart of an example method for selecting a flight path for an altitude change phase of an aircraft.

[0022] Figure 10 Schematically showing aspects of an example computing system. Detailed Description

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

[0024] Systematically achieving this goal requires the ability 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 choosing continuous climb over step climb and continuous descent over step descent, to reduce carbon emissions. Although the qualitative values of continuous descent over step descent and continuous climb over step climb are well known, their impact on carbon emissions has not been quantified, making it difficult for airlines to calculate the carbon emissions generated by a flight when it performs step climb versus continuous climb or step descent versus continuous descent.

[0025] The aviation industry has a goal of achieving net-zero carbon emissions by 2050. To achieve this goal, airlines need to monitor how much CO 2 , they add to the atmosphere each year and need to total their fleet emissions to find ways to maintain or reduce emissions.

[0026] This document presents a novel data-driven sustainability solution that includes a set of algorithms for evaluating the impact of step climb profiles and step descent profiles on the CO 2 emissions generated by a flight. This method provides a quantitative value for the savings in fuel burn and CO 2 emissions when a flight performs a step climb or descent using a specific step profile. The disclosed method also uses machine learning techniques to plan the savings in carbon emissions and fuel burn for each flight based on two configurable parameters (step size and threshold).

[0027] The disclosed method provides airlines with the ability to consider hypothetical scenarios (such as different step climb or step descent profiles for a flight) and calculate the carbon emissions generated in each scenario. This translates into the ability to optimize carbon emissions during the climb and descent phases of a flight.

[0028] To provide these capabilities, the disclosed method uses historical Continuous Parameter Log (CPL) data and classifies flights based on the origin-destination pair of the flight, the type of aircraft, and the operator (e.g., airline). Next, based on the tags of the flights in the CPL data, the flights in each category are divided into three phases (climb, cruise, and descent). By using only the climb and descent phases, the flights in each phase are further divided into two sub-categories: continuous climb, stepped climb, continuous descent, and stepped descent. The disclosed method uses a novel algorithm, similar to the well-known "connected component labeling", where it searches for level-off defined by two configurable parameters: a threshold, which is the incremental flight altitude between time steps; and a step size, which is the time period for which the aircraft maintains level flight (i.e., within the bounds of the threshold). In addition to its high level of accuracy, the method also provides high efficiency. Once the historical CPL data classification has been completed, running the algorithm for inference is very fast.

[0029] The method can be used to provide predicted emission savings for flights, enabling customers to quantify the environmental impact of their fleets. The method can be marketed and sold as a commercial service to airlines and Air Navigation Service Providers (ANSPs). Airlines using this method can accurately calculate the carbon emissions / fuel burn that their flights will generate under different scenarios to find the optimal departure and arrival profiles. In addition to emission standards, airlines will also benefit from reduced fuel burn costs.

[0030] While continuous climb or descent generally results in less emissions, there are scenarios where stepped climbs or descents must be made. Each flight has a time window assigned to it. Occasionally, when an aircraft approaches an airport, the runway may be unavailable and the pilot may need to make a stepped descent to stall for some time. Airspace complexity may require stepped climbs or descents to prevent collisions or reduce conflicts between aircraft. Understanding the optimal conditions for stepped climbs or descents can reduce emissions.

[0031] If the situation during a flight changes, the method herein can be used to determine how many additional steps and / or how long these steps are, and / or what the level of altitude increments is, to determine the path to achieve the lowest possible emissions and fuel burn. The method can be called online based on the cruise altitude, weight, etc. of the aircraft to determine the optimal stepped descent profile.

[0032] To determine the quantitative impact of step profiles during altitude change phases on emissions, historical CPL data (such as for transatlantic flights) can be analyzed. As an example, by calculating the increment of fuel consumption or emissions, the resulting flight with one step-down profile can be compared to the resulting flight with a second step-down profile.

[0033] Each flight profile can be divided into a climb phase, a cruise phase, and a descent phase, as Figure 1 shown by 100 in. The climb phase extends from takeoff from the departure airport to the climb vertex, and the cruise phase starts from the climb vertex. The cruise phase is typically marked by a long level altitude above the crossover altitude (where the indicated airspeed becomes Mach number). The descent phase extends from the end of the cruise phase (descent start) to touchdown and landing. Airspace operations are conducted with a set of established parameters that offer the following advantages: selecting one flight path over another during the altitude change phases of a flight (such as the cruise or descent phases).

[0034] The impact of stepped altitude change routes on carbon emissions has never been quantified before. Overall, the current approach could be very valuable to the global aviation industry, by which they can calculate the total amount of carbon emissions generated by global flights under various conditions (such as various altitude change phase step profiles) to monitor and achieve their net-zero carbon emissions goal by 2050.

[0035] To address these issues and provide further advantages, this 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 different lengths and providing this data, a trained model predicts the fuel burn at each time step along a planned flight. In some examples, the model employs an encoder-decoder (E-D) long short-term memory (LSTM) architecture.

[0036] 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 a flight prior to another flight's departure. To solve this problem, a flight is defined as a sequence of sensor readings at a specific frequency. A "sequence" is a set of values in a specified order; here, these values are sorted according to 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 duration 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 observed variation in flight duration, even between a fixed departure airport and arrival airport, the historical FDR data for each flight and each flight phase has a different length. Thus, the models disclosed herein must solve the multi-variate, multi-step sequence prediction problem for the climb and descent phases of a flight. Once the model is trained and validated against other competing models, it can be used to predict the fuel burn during the altitude change phase of a flight based on the step profile.

[0037] If a flight utilizes a specific step profile during the altitude change phase, the disclosed method thus provides a quantitative value of the savings in terms of fuel burn and CO 2 emissions. The disclosed method also uses machine learning techniques to formulate the savings in terms of carbon emissions and fuel burn for each flight based on various meteorological parameters that define the step profile of the route.

[0038] To provide these capabilities, the disclosed method uses CPL data and classifies flights based on the flight's origin-destination pair, aircraft type, and operator (airline). Next, based on its label in the CPL data, each class of flights is divided into three phases (climb, cruise, and descent). To do this, for each route, sequences of flight phases of different lengths can be adjusted to sequences of flight phases of a fixed length. This can be achieved by padding the shorter sequences. For the climb phase and the descent phase, the flights are further divided into sub-categories based on their step profile and other flight parameters (such as altitude, lateral distance, and takeoff weight). Using these combinations, the disclosed method creates discrete categories for the altitude change phase. Additionally, to match the lateral distance between any two groups, the disclosed method adds additional fuel burn to the flight group that presents a shorter average lateral distance.

[0039] It is possible to analyze black box / Flight Data Recorder data or CPL data. Up to 2500 sensors or more sensors can record data at a frequency of 1 Hz. Some of this data may be redundant or unnecessary and can be discarded. Then, the parameters identified from the raw sensor data can be used to classify each climb or descent phase as continuous or stepped. A set of parameters is extracted from historical CPL data in a time series as follows: time, latitude, longitude, altitude, aircraft weight, flight phase, fuel flow - left engine, fuel flow - right engine. To execute this method, an engineering workstation uses computing power, CPU, and memory to effectively perform the tasks.

[0040] Figure 2A Shows an example graph 200, which indicates the altitude over time of an example climb phase of an aircraft. Two steps (202, 204) are identified based on their verticality over time. Figure 2B Shows an example graph 210, which indicates the relationship between fuel flow and altitude for the climb phase of graph 200. Steps 202 and 204 (shown as dashed lines) can be identified based on the lack of altitude change while the fuel flow continues to accumulate to maintain the altitude of the aircraft.

[0041] Figure 2C Shows an example graph 220, which indicates the altitude over time of an example descent phase of an aircraft. Three steps (222, 224, 226) (shown as dashed lines) are identified based on their verticality over time. Figure 2D Shows an example graph 230, which indicates the relationship between fuel flow and altitude for the descent phase of graph 200. Steps 222, 224, and 226 can be identified based on the lack of altitude change while the fuel flow continues to accumulate to maintain the altitude of the aircraft.

[0042] By using the classified CPL data set, the disclosed method also runs a series of machine learning (linear, non - linear, ensemble) and deep learning algorithms (recurrent neural network) based on at least two flight parameters (such as step size and step threshold) and constructs multiple regression models that compete with each other to obtain higher accuracy. The top - ranking algorithm is used to formulate the savings in terms of carbon emissions and fuel combustion 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.

[0043] Figure 3Schematically shows an example machine learning pipeline 300, which can be used to train a model to infer fuel burn and emissions during the altitude change phase of a flight based on a step profile. The machine learning pipeline 300 uses a data-driven approach, such as historical data of actual flights. Thus, the quantitative value of the calculated fuel burn is based on ground truth. Plotting fuel burn and emissions involves training various regression models and inferring fuel burn / emissions sorted by the step profile. By using a classified CPL dataset, the machine learning pipeline 300 runs a series of machine learning (linear, non-linear, ensemble) and deep learning algorithms (recurrent neural network, LSTM) based on configurable parameters (such as step size, altitude change over lateral distance) and constructs multiple regression models that compete with each other for higher accuracy. The top-ranked algorithms are used to formulate the carbon emissions and fuel burn savings for each altitude change phase. Such a machine learning pipeline can be selected to be dedicated to the aviation industry. The resulting models can be dedicated to fuel burn / emissions and the climb or descent phase of each flight. Because there is a time series in the data, the machine learning pipeline 300 can be dedicated to sequence-to-sequence learning problems. Thus, long short-term memory models can be used.

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

[0045] The machine learning pipeline 300 obtains historical data (such as CPL data) and feeds it into raw data processing 304. Raw data processing 304 at least includes dimensionality reduction and feature engineering to select significant features of the data. Raw data processing 304 can help develop a more fine-grained and adaptable dataset, thus producing more accurate results. Raw data processing 304 can also include data normalization, such as normalizing the climb and descent phases by distance. This can include filling altitude change phases in some cases and pairing altitude change phases in other cases to generate data clusters with the same or similar distances.

[0046] Raw data processing can include iteratively reducing the number of parameters fed into model training. Raw data processing can include performing parameter correlation. Historical and CPL data can include hundreds of parameters recorded at a frequency of 1Hz, and not all parameters can predict fuel burn during the altitude change phase.

[0047] In some examples, the processed raw data is selected as training data 308 and fed directly into model training 310. However, to improve accuracy and confidence, the processed raw data can first be fed into a search step 306. The search step 306 is performed on the processed data. The search step 306 includes a heuristic algorithm that is used to first identify the steps, capture how many steps are in the profile, how long each step is, and what the threshold for each step is. Then, the search step 306 looks at how these steps are mapped to additional emissions or fuel burn. The search step 306 can consider the aircraft type, origin-destination pair, airline, etc.

[0048] Initially, it can be determined what constitutes a step in a climb or descent phase. The search step 306 can employ one or more algorithms (such as similar to connected component labeling) that start from an initial climb or descent altitude and record subsequent altitudes on a step-by-step basis. If the flight altitude difference across a timestamp is less than a threshold, the step is extended. If and when the extended step becomes greater than a specified step length, it is labeled as a step; otherwise, the prototype step may be discarded.

[0049] Figure 4 A graph 400 showing the altitude of a stepped climb across a series of timestamps is shown. A machine learning model and / or neural network can be used to formulate the length of the step and the increment of the altitude difference. Looking end-to-end across the timestamps, two parameters are considered - the amount of altitude difference (d t ) across the timestamps and the combined length of the timestamps showing altitude changes above a threshold (climb segment, as shown at 405), or the combined length of the timestamps showing altitude changes below a threshold (step segment, as shown at 410). By considering these two parameters, the additional emissions generated by subsequent steps can be determined.

[0050] For example, by looking at the altitude at each timestamp in graph 400, it can be determined how much the aircraft has climbed within the timestamp. If the starting altitude and the ending altitude are within the threshold, the step is extended to the next time step. This starts the connected component labeling algorithm. The difference, altitude, and duration to be considered for a step can be adjusted according to the application. As Figure 4 shown, graph 400 thus includes a first climb segment 412, a first step segment 414, a second climb segment 416, a second step segment 418, and a third climb segment 420.

[0051] As Figure 3As shown, search step 306 then looks at how these altitude change phases are mapped to additional emissions or fuel burn. The search step can consider takeoff weight, climb vertex weight, descent start weight, aircraft type, origin-destination pair, airline, etc.

[0052] The parsed data can then be analyzed to determine the correct step size (seconds) and threshold (feet) to use when classifying the steps. Combinations can be based on which ones produce a dataset of sufficient size to adjust the combination of step size and threshold to evaluate future flight paths.

[0053] Once flights with step climbs and step descents have been identified, a comparative analysis can be performed between step climb profiles and between step descent profiles. However, for a fair comparison, the disclosed method uses several sets of step climbs where their climb vertex (ToC) levels and takeoff weight (ToW) match. Similarly, the disclosed method uses several sets of step descents where their descent start (ToD) levels and weight at ToD match.

[0054] Flight phases can be further sorted by average lateral distance. If the average lateral distance of a single step climb is large, that increment is added to another step climb for comparison. Then, the additional fuel burn amount can be added to the flight crew that presents a shorter average lateral distance.

[0055] Figure 5A and Figure 5B A chart showing climb phases at different lateral distances. Figure 5A Shows flight profile 500 with continuous climb and single-step ladder. Figure 5B Shows flight profile 510 with two parts of climb around the step section. Figure 5C and Figure 5D A chart showing step descents at different lateral distances. Figure 5C Shows flight profile 520 with continuous descent and single-step ladder. Figure 5D Shows flight profile 530 with two parts of descent around the step section.

[0056] The increased lateral distance at night between flight profile 500 and flight profile 510 or between flight profile 520 and flight profile 530 increases the number of flights that can be compared within a discretization interval (bucket). For example, a single-step flight profile can be filled or trimmed to match other single-step flight profiles.

[0057] Step-climb flights can be ranked by the climb vertex altitude and the takeoff weight. Similarly, step-descent flights can be ranked based on the descent start altitude and the takeoff weight (and / or the descent start weight). Once the comparison has been made, the number of steps and the length of the steps can be evaluated to determine how much additional emissions are generated.

[0058] In one example, the flight phases of step-climb and continuous climb based on 470 historical flights between London and New York were compared, where the ToC was equal to 36,000 feet and where the initial weight was 460,000 pounds. For the step-climb, the average left engine fuel burn was 5314.0475942315 pounds, and the average right engine fuel burn was 5338.417104848226 pounds, while the average total fuel burn (left and right) was 5326.232 pounds. For the continuous climb, the average left engine fuel burn was 4624.333444281684 pounds, and the average right engine fuel burn was 4631.015968254937 pounds, while the average total fuel burn (left and right) was 4627.675 pounds. This represents a 13.1% fuel savings by performing a continuous climb compared to a step-climb.

[0059] When considering the incremental lateral distance (e.g., the cruise segment), the average additional fuel flow of the left engine due to the cruise segment was 470.99692884657117 pounds. The average additional fuel flow of the right engine due to the cruise segment was 471.727897237142 pounds. For the step climb, the total average left engine fuel burn was 5314.0475942315 pounds, and the total average right engine fuel burn was 5338.417104848226 pounds, while the average total fuel burn (left and right) was 5326.232 pounds. For the continuous climb, the total average left engine fuel burn was 5095.330373128255 pounds, and the total average right engine fuel burn was 5102.74386549208 pounds, while the average total fuel burn (left and right) was 5099.037 pounds.

[0060] This represents a 4.3% fuel savings by performing a continuous climb compared to a step-climb. When not considering the incremental lateral distance (e.g., the cruise segment), the emissions generated by the continuous climb were reduced by 4.2% compared to the step-climb when converting the fuel burn to emissions. When considering the incremental lateral distance (e.g., the cruise segment), the emissions generated by the continuous climb were reduced by 0.7% compared to the step-climb.

[0061] In another example, the flight phases of stepped descent and continuous descent were compared based on 218 historical flights between London and New York, where the ToC was equal to 37,000 feet and where the weight at the start of descent was 370,000 pounds. For the stepped descent, the average left engine fuel burn was 1,690.6203962495592 pounds and the average right engine fuel burn was 1,715.0876797442966 pounds, while the average total fuel burn (left and right) was 1,702.854 pounds. For the continuous descent, the average left engine fuel burn was 1,062.4297760899863 pounds and the average right engine fuel burn was 1,073.3230303870307 pounds, while the average total fuel burn (left and right) was 1,067.876 pounds. This represents a 37.3% fuel savings by performing continuous descent compared to stepped descent.

[0062] When considering the incremental lateral distance (e.g., cruise), the average additional fuel flow of the left engine due to the cruise segment was 411.17582322119245 pounds. The average additional fuel flow of the right engine due to the cruise segment was 412.2433751557293 pounds. For the stepped descent, the total average left engine fuel burn was 1,690.6203962495592 pounds and the total average right engine fuel burn was 1,715.0876797442966 pounds, while the average total fuel burn (left and right) was 1,702.854 pounds. For the continuous descent, the total average left engine fuel burn was 1,473.6055993111786 pounds and the total average right engine fuel burn was 1,485.56640554276 pounds, while the average total fuel burn (left and right) was 1,479.586 pounds.

[0063] This represents a 13.1% fuel savings by performing continuous descent compared to stepped descent. When not considering the incremental lateral distance (cruise segment), by converting fuel burn to emissions, the emissions generated by continuous descent were reduced by 25.9% compared to stepped descent. When considering the incremental lateral distance (cruise segment), the emissions generated by continuous descent were reduced by 12.4% compared to stepped descent.

[0064] Return to Figure 3, some or all of the historical step search data is considered as training data 308 and fed into model training 310. Two or more prediction models can be used for model training 310, which includes various types of prediction models. Such prediction models can include linear regression, lasso, elastic net for non-linear classification regression, trees, support vectors, regression views, 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 of each model may be the same or similar, but the outputs, hidden layers, the number of neurons in each layer, etc. may vary from model to model. The models can run in parallel and in a distributed manner with the aim of selecting the best performing model as the prediction model.

[0065] Sequence prediction generally involves predicting the next value in a sequence, which can be described as a sequence prediction problem from an input time step to an output time step or from multiple input time steps to an output time step. However, a more challenging problem is to take a sequence as input and return another predicted sequence as output. This is a 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 approach to the seq2seq prediction problem is the encoder-decoder long short-term memory (E-DLSTM) architecture. The system includes two collaborative models - an encoder for reading the input sequence and encoding it into a fixed-length vector, and a decoder for decoding the fixed-length vector and outputting the predicted sequence.

[0066] Consider a sequence X = {x (1) , x (2) ,..., x (L)} of length L, where each point is an m-dimensional vector of readings of m variables at time t i . This translates to a scenario where a flight consists of L time steps, where m sensor readings are recorded at each time step. In one example, the E-DLSTM model is trained to reconstruct instances of the recorded fuel burn. 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 previous time steps.

[0067] Given X, 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 of the decoder. The linear layer on top of the LSTM decoder layer is used to predict the target. During training, the decoder uses (i) as input to obtain the state and then predicts x' corresponding to the target x (i-1) (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

[0068]

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

[0070] In this spirit, Figure 6 FIG. 600 shows some aspects of an example trainable machine 600 that can be trained to predict fuel burn and emissions for an aircraft flight during altitude change segments of a flight, at least based on a stepped profile of a candidate flight trajectory. The trainable machine particularly includes an input engine 602, a training engine 604, an output engine 606, and a trainable model 608.

[0071] The input engine 602 is configured to receive training data for each altitude change phase of each flight in a preselected series of previous flights. For each altitude change phase of each previous flight in the series, the training data includes a corresponding multivariate flight data sequence 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.

[0072] The trainable machine may further include an adjustment engine 610. When included, the adjustment engine may be configured to adjust each corresponding sequence to provide a common phase length for the climb phase and the descent phase. In some examples and scenarios, adjusting each corresponding sequence includes padding the corresponding sequence in the flight 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.

[0073] ​The training engine 604 is configured to process each respective multivariate flight data sequence according to a trainable model 608. As described herein, such processing progressively develops hidden states in the trained model. When fully developed, the hidden state is the state that minimizes the overall residuals of the replicated fuel burn in each respective sequence. As described above, replicating the fuel burn includes transforming the multivariate flight data from the previous time step in each respective sequence based on the hidden state.

[0074] In some examples, the trainable model 608 includes a trainable encoder 612 logically arranged upstream of a trainable decoder 614. The encoder can be trained to emit a vector that characterizes an input sequence of multivariate flight data; the decoder can be trained 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 from one example to another. 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, barometric pressure, altitude, ground speed, airspeed, etc. These parameters, along with other parameters, can be used to calculate the step profile. 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.

[0075] In some examples, the encoder and decoder are configured according to the 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 (CNNLSTM 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 616 configured to interpret the fuel burn at each time step of the output sequence before the final output layer. More specifically, the fully connected layer can be the penultimate layer of the trainable model. The fully connected layer can be configured to feed an output layer (see below) that predicts a single step in the output sequence (e.g., not all L steps are predicted at once). For example, consider a flight with ten-minute time steps. In the output layer, the fuel flow can be predicted as a 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 608 can include one or more hyperparameters 618 that can manage the training of the machine learning model. The hyperparameters can be manually set at the start of training and can be manually or automatically adjusted during the model training process.

[0076] When included, the E-D LSTM model may include an encoder that reads an input sequence and outputs a vector capturing features from the input sequence. The number of time steps L may vary according to the duration of the cruise phase, which defines a fixed length as the input. The internal representation of the input sequence may be repeated multiple times at a repeat layer and presented to an LSTM decoder. Such an E-D LSTM model may include a fully connected layer to interpret each time step in the output sequence before the final output layer. The output layer may predict a single step in the output sequence rather than all L steps at once. To this end, the interpret layer and the output layer may 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 may create a fully connected layer (e.g., a dense layer) that is applied separately to each time step. This enables the LSTM decoder to find the context / background required for each step in the output sequence and the wrapped dense layer to interpret each time step separately, but reuse the same weights to perform the interpretation.

[0077] When included, the CNN LSTM E-D model may include first and second CNN layers that act as an encoder. The first CNN layer may read the entire input sequence and project the result onto a feature map. The second CNN layer may perform the same operation on the feature map created by the first CNN layer to attempt to magnify any significant features. A max pooling layer may simplify the feature map by keeping one quarter of the values with the maximum signal. The extracted feature map downstream of the max pooling layer may be flattened into a long vector in a flattening layer, which may be repeated in a repeat layer and used as the input for the decoding process. The decoder may be another LSTM hidden layer, followed by a TimeDistributed wrapper feeding an output layer.

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

[0079] The output engine 606 is configured to expose at least a portion of the hidden state of the trainable model 608 developed by training. The manner in which this portion of the hidden state is "exposed" may vary from one implementation to another. In particular, the present disclosure contemplates a scenario in which a computer system receives and processes a large amount of training data from previous flights and is then tasked with making predictions based on the hidden state developed therein. In other words, the trainable machine is a trained machine after the hidden state has been developed. In this scenario, "exposing" simply means making the portion of the hidden state required to make the predictions available to the prediction engine (see below). For example, a data structure holding the weights and coefficients representing the hidden state can be bounded in a way that allows the prediction engine to access it. The present disclosure also contemplates a scenario in which the computer system that receives and processes the training data is different from the one or more computer systems tasked with making the predictions. In other words, the trainable machine can be different from the trained machine. In this scenario, exposing the portion of the hidden state means that the weights and coefficients required to make the predictions are transferred from the computer system that has processed the training data to the one or more computer systems tasked with making the predictions. After appropriate training, the trainable machine 600 or another trained machine can be used to make fuel burn and emission predictions for aircraft flights.

[0080] Return to Figure 3 , model training 310 produces training evaluation results 312. The goal of model training 310 is to approximate a function that maps input parameters (e.g., step profile, altitude, temperature) to fuel burn, and is thus a regression problem. Accordingly, the function approximation is used to predict the fuel burn for a particular flight given particular flight parameters and conditions. The training evaluation results 312 can use relevant metrics (e.g., 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.

[0081] The training evaluation results 312 are used to perform the hyperparameter tuning step 314. The tuned hyperparameters are fed back into the model training 310 on an iterative basis. Each different model type can expose its own set(s) 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 trees, support vector regression, k-nearest neighbors), ensemble (e.g., adaptive boosting, extra gradient boosting, random forest regression, or extra tree regression), or neural network-based (e.g., variants of LSTM), 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.

[0082] Some of the step data of the search is considered test data. For example, given one year of valuable flight data, 11 months can be used as the training data 308 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 308 and the test data 316 is rotated in different training and prediction iterations, e.g., until all available data has been evaluated as test data. The test data 316 is fed into one or more trained prediction models 318 informed by the model training 310.

[0083] Figure 7 Shows some aspects of an example trained machine 700 that is trained to perform fuel burn and emission predictions for an aircraft flight. The trained machine 700 particularly includes an input engine 702, a prediction engine 720, a summing engine 722, an output engine 706, a trained model 708, and a tuning engine 710.

[0084] The input engine 702 is configured to receive at least one multivariate flight data sequence recorded during a previous flight. The input engine 702 is further configured to receive flight parameters 732. The flight parameters can include aircraft type, airline, aircraft weight, any constraints on the flight, etc. The input engine 702 is further configured to receive one or more candidate flight routes 734. Any number of unique candidate flight routes can be input. The candidate flight routes can include climb phase routes and descent phase routes with different step profiles (including continuous climb and descent profiles).

[0085] The input engine 702 is further configured to receive atmospheric conditions 736. The atmospheric conditions can 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 can be associated with one or more candidate routes 734 and can include current atmospheric conditions as well as predicted atmospheric conditions during the expected flight.

[0086] The prediction engine 720 is configured to predict a sequence of fuel burn on a candidate route based on at least one sequence of multivariate flight data 730 recorded during a previous flight and the hidden state of the trained machine 700.

[0087] In some examples, the trained model 708 includes a trained encoder 712 logically arranged upstream of the trained decoder 714. The encoder is trained to emit a vector characterized by an input sequence of multivariate flight data 730; 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 (E-D LSTM) model, a convolutional neural network LSTM encoder-decoder (CNN LSTM E-D) model, or a convolutional LSTM encoder-decoder (ConvLSTM E-D) model. In some examples, the trained model further includes a fully connected layer 716 configured to interpret the fuel burn at 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 708 can be operated with a set of hyperparameters 718, and these hyperparameters 718 can evolve as the trained model 708 is deployed.

[0088] Returning to Figure 3 , the results of the prediction model are evaluated via heuristics 320 for the top-ranking algorithm. The heuristics 320 can be used to determine which models perform best and thus which models to select to continue to the next round of evaluation. The number of models that continue can depend on the relative performance of the models, for example, in the presence of a significant performance drop.

[0089] The heuristics 320 are fed into the validation evaluation results 322. The validation evaluation results 322 are used to iteratively inform hyperparameter tuning 314. The validation evaluation results 322 can include various performance metrics such as accuracy, standard deviation, confidence, RMSE, absolute error, percentage error, etc. Hyperparameter tuning can be performed iteratively, where successful models are trained, retrained, and tested.

[0090] In this way, multiple models can be evaluated in parallel, where the model with the highest execution is iteratively selected to inform the prediction model. For example, multiple neural networks can be developed and run simultaneously in parallel and then ranked, where the top k move forward and ultimately the single best-executing model available for inference is determined. The models can vary in terms of how many layers they have, how many neurons each layer contains, what activation functions are used, the optimization algorithm, hyperparameter values, etc.

[0091] Return to Figure 7 , the trained machine 700 includes a summing engine 722. The summing engine 722 is configured to sum the fuel burn amounts in the candidate altitude change phases to obtain the fueling estimate as described above. The output engine 706 is configured to output the estimated fuel burn 724 for each candidate flight path. In some examples, the output engine 706 is also configured to output an emissions estimate based on the fueling 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.

[0092] The fuel flow rate will vary over time across the time steps, resulting in a change in the aircraft weight over time. Accordingly, the prediction engine 720 can be applied to determine the fuel burn at each time step for each candidate flight path, where the summing engine 722 generates the total fuel burn 724 for each candidate flight path. The fuel burn 724 for each candidate flight path can be used to determine the amount of fuel to load before takeoff, can be used to inform the pilot and air traffic control which candidate flight paths will result in the least amount of fuel burn to optimize the control of fully autonomous or partially autonomous aircraft, etc. The fuel burn 724 for each candidate flight path can be output as the total fuel burn, as the left engine fuel flow rate and the right engine fuel flow rate, etc. As the atmospheric conditions 736 (either in real time or as predicted conditions) are updated, different candidate flight paths and flight path segments can be predicted to have a higher tailwind, thereby reducing the fuel burn.

[0093] Figure 8 A flowchart of an example method 800 for training a machine to predict fuel burn during altitude change phases of an aircraft in flight is shown. Method 800 can be applied to a trainable machine, such as trainable machine 600.

[0094] At 810, method 800 includes receiving a respective sequence of multivariate data for a plurality of previously-occurred flights. Each sequence of multivariate flight data can be recorded at a certain 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, fuel flow - left engine, fuel flow - right engine. Atmospheric conditions (such as wind speed, wind direction, temperature, pressure, humidity, etc.) can also be provided in the historical data.

[0095] At 820, method 800 includes parsing the respective sequences into altitude adjustment phases for each of the multiple previously-occurred flights. The multivariate flight data can be divided into several flight phases, such as a climb phase, a cruise phase, and a descent phase, where the climb phase and the descent phase are extracted as altitude change phases. Each climb phase can be defined as the span from takeoff to the climb apex in the previous flight. Each descent phase can be defined as the span from the descent starting point to landing in the previous flight.

[0096] Optionally, method 800 includes adjusting each respective sequence so as to provide a common length for each altitude change phase. For example, the length of a shorter altitude change phase can be padded, and / or the length of a longer altitude change phase can be trimmed, because even flights with a common origin and destination airport may extend to different lengths. The parameters of the padded altitude change phase can be inferred based on the multivariate flight data.

[0097] At 830, method 800 includes discretizing the multivariate data based at least on the step profile and fuel burn amount for each altitude adjustment phase. Thus, the multivariate data of flights with similar characteristics can be grouped together in multiple intervals. The multivariate flight data can be discretized based on the ranges of other parameters (such as latitude, longitude, altitude, air temperature, takeoff weight, etc.).

[0098] At 840, method 800 includes processing each respective sequence to develop a hidden state that minimizes the overall residual for replicating the fuel burn amount in each respective sequence. Replicating the fuel burn amount can include transforming the multivariate flight data from the previous time step in each respective sequence based on the hidden state.

[0099] At 850, method 800 includes exposing at least a portion of the hidden state. In particular, the present disclosure contemplates a scenario in which a computer system receives and processes a large amount of training data from previous flights and is then tasked with making predictions based on the hidden state 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, the data structure holding the weights and coefficients representing the hidden state can be bounded in a way that allows 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, the data structure holding the weights and coefficients representing the hidden state can be bounded in a way that allows access by the prediction engine.

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

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

[0102] 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 multivariate flight data sequence shares the departure airport, arrival airport, and aircraft model of the planned flight. In some examples, at least one multivariate flight data sequence includes data similar to the training data described above. For example, such data may include FDR data selected by principal component analysis (PCA). In some examples, at least one multivariate flight data sequence includes atmospheric (e.g., weather) data.

[0103] 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 specific departure and arrival airports. In such cases, predicting fuel burn will require fewer parameters compared to in a more general model.

[0104] In some examples, each multivariate flight data sequence can share the departure airport, arrival airport, and aircraft specifier of a planned flight. The multivariate flight data can be divided into several flight phases, such as a climb phase, a cruise phase, and a descent phase, where the climb and / or descent phases are extracted.

[0105] Each cruise phase can be defined as the span from the climb vertex to the descent start point in 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, the length of a shorter cruise phase can be padded, and / or the length of a longer cruise phase can be trimmed, as flights with the same departure and destination airports can extend to different lengths. The parameters of the padded cruise phases can be inferred from the multivariate flight data. In some examples, the multivariate flight data is discretized based on a step profile. The multivariate flight data can be discretized based on ranges of other parameters (such as altitude, air temperature, takeoff weight, etc.).

[0106] At 920, method 900 includes receiving flight parameters of an aircraft. The received flight parameters can be assigned to a planned flight. The flight parameters include the total altitude change and takeoff weight, and can also include the airline, aircraft, takeoff weight, descent start weight, airspace restrictions, departure time, landing time window (e.g., the time of landing), lateral distance to the landing airport, previously selected cruise phase route, etc.

[0107] At 930, method 900 includes receiving a set of candidate altitude change phase routes with candidate step profiles. Each candidate climb phase route can include the route between the departure airport and the climb vertex. Each candidate descent phase route can include the route between the descent start point and the destination airport. The set of candidate altitude change phase routes can include routes available for the planned flight (e.g., not assigned to another aircraft, not on a bad weather path). Each step profile can include multiple steps, the length of the steps, the total lateral distance, the climb or descent angle, etc. The step length and altitude change angle can vary according to the segments of the altitude change phase route.

[0108] At 940, method 900 includes iterating over each candidate cruise phase route. At 950, method 900 includes predicting a sequence of fuel burn based at least on the multivariate flight data sequence and the set of flight parameters. 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 the trained machine. During training, as described above, the corresponding multivariate flight data sequences recorded during each flight in a preselected series of previous flights are processed in the trainable machine to develop the hidden state. The hidden state is the state that minimizes the overall residual used to replicate the fuel burn in each corresponding sequence.

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

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

[0111] At 960, method 900 includes summing the fuel burn over the candidate altitude change 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 970, method 900 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.

[0112] In some examples, method 900 can be performed before fueling the aircraft for takeoff. Thus, in some examples, method 900 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 also be fueled based on a safety margin of fuel.

[0113] In some examples, the aircraft is at least partially autonomous. In these examples, method 900 can further include controlling the aircraft to follow the preferred candidate altitude change phase route.

[0114] In some examples, method 900 can be performed while the aircraft is in flight. Thus, the method can include receiving a candidate descent phase route from the current position of the aircraft to the start of descent at the destination airport. The currently planned descent route can be adjusted or varied as flight parameters change, and an updated descent phase route is determined to indicate a reduced amount of fuel burn.

[0115] Figure 10 A non - limiting embodiment of a computing system 1000 that can implement one or more of the above - described methods and processes is schematically illustrated. Computing system 1000 is shown in a simplified form. Computing system 1000 can 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 (such as smart phones), and / or other computing devices.

[0116] Computing system 1000 includes a logic machine 1010 and a storage machine 1020. Computing system 1000 can optionally include a display subsystem 1030, an input subsystem 1040, a communication subsystem 1050, and / or Figure 10 other components not shown. Machine learning pipeline 300, trainable machine 600, and trained machine 700 are examples of computing system 1000.

[0117] Logic machine 1010 includes one or more physical devices configured to execute instructions. For example, the logic machine can 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 can be implemented to perform tasks, implement data types, transform the state of one or more components, achieve a technical effect, or otherwise reach a desired result.

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

[0119] The storage machine 1020 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 the storage machine 1020 may be transformed, for example, to hold different data.

[0120] The storage machine 1020 may include removable and / or built-in devices. The storage machine 1020 may include optical memories (such as CDs, DVDs, HD-DVDs, Blu-ray discs, etc.), semiconductor memories (such as RAM, EPROM, EEPROM, etc.), and / or magnetic memories (such as hard disk drives, floppy disk drives, tape drives, MRAM, etc.), and so on. The storage machine 1020 may include volatile, non-volatile, dynamic, static, read / write, read-only, random access, sequential access, location-addressable, file-addressable, and / or content-addressable devices.

[0121] It should be understood that the storage machine 1020 includes one or more physical devices. However, aspects of the instructions described herein may alternatively be propagated via a communication medium (such as, electromagnetic signals, optical signals, etc.) that is not held by a physical device for a limited duration.

[0122] Aspects of the logic machine 1010 and the storage machine 1020 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), systems on a chip (SOCs), and complex programmable logic devices (CPLDs).

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

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

[0125] When included, the display subsystem 1030 can be used to present a visual representation of data maintained by the storage machine 1020. Such a visual representation can take the form of a graphical user interface (GUI). As the methods and processes described herein change the data maintained by the storage machine and thus transform the state of the storage machine, the state of the display subsystem 1030 can be similarly transformed to visually present the changes in the underlying data. The display subsystem 1030 can include one or more display devices utilizing almost any type of technology. Such display devices can be combined with the logic machine 1010 and / or the storage machine 1020 in a shared enclosure, or such display devices can be peripheral display devices.

[0126] When included, the input subsystem 1040 can include or interface with one or more user input devices such as a keyboard, mouse, touch screen, or game controller. In some embodiments, the input subsystem can include or interface with selected natural user input (NUI) components. Such components can be integrated or peripheral, and the transduction and / or processing of input actions can be handled on-board or off-board. Example NUI components can include: a microphone for voice and / or sound 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 components for evaluating brain activity.

[0127] When included, the communication subsystem 1050 can be configured to communicatively couple the computing system 1000 with one or more other computing devices. The communication subsystem 1050 can include wired and / or wireless communication devices compatible with one or more different communication protocols. As a non-limiting example, the communication subsystem can 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 can allow the computing system 1000 to send messages to and / or receive messages from other devices via a network such as the Internet.

[0128] Furthermore, the present disclosure includes configurations according to the following examples.

[0129] Example 1. A method for selecting a flight path for an altitude change phase of an aircraft, comprising: receiving a multivariate flight data sequence from at least one previous flight; receiving a set of flight parameters of the aircraft, the set of flight parameters including at least the total altitude change and the takeoff weight; receiving a set of candidate flight paths for the altitude change phase having candidate step profiles; for each candidate flight path for the altitude change phase, predicting a fuel burn sequence for the corresponding candidate step profile based at least on the multivariate flight data sequence and the set of flight parameters; and summing the fuel burn on the candidate flight paths for the altitude change phase to obtain an estimated fuel burn; and indicating a preferred candidate flight path for the altitude change phase having the lowest estimated fuel burn.

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

[0131] Example 3. The method according to Examples 1 to 2, wherein the aircraft is at least partially autonomous, and the method further comprises: controlling the aircraft to follow the preferred candidate flight path for the altitude change phase.

[0132] Example 4. The method according to Examples 1 to 3, wherein the altitude change phase is a climb phase.

[0133] Example 5. The method according to Examples 1 to 4, wherein the altitude change phase is a descent phase.

[0134] Example 6. The method according to Examples 1 to 5, wherein the flight parameters further include the descent start weight of the aircraft.

[0135] Example 7. The method according to Examples 1 to 6, wherein the flight parameters further include the landing time.

[0136] Example 8. The method according to Examples 1 to 7, wherein the multivariate flight data is discretized based on the step profile.

[0137] Example 9. The method according to Examples 1 to 8, wherein the flight parameters further include the lateral distance.

[0138] Example 10. The method according to Examples 1 to 9, wherein the length of one or more altitude change phases included in the multivariate flight data is adjusted to a common altitude change phase length.

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

[0140] Example 12. A machine trained to predict fuel combustion for an aircraft flight, comprising: an input engine configured to: receive a multivariate flight data sequence from at least one previous flight; receive a set of candidate altitude change phase flight paths having candidate step profiles; and receive a set of flight parameters including at least total altitude change and takeoff weight; a prediction engine configured to, for each candidate altitude change phase flight path, predict a fuel combustion amount sequence for the corresponding candidate step profile based at least on the multivariate flight data sequence and the set of flight parameters; a summation engine configured to sum the fuel combustion amounts for each candidate altitude change phase flight path to obtain an estimated fuel combustion; and an output engine configured to indicate a preferred candidate altitude change phase flight path having the lowest estimated fuel combustion.

[0141] Example 13. The machine according to Example 12, wherein the candidate altitude change phase is one of a climb phase and a descent phase.

[0142] Example 14. The machine according to Examples 12 to 13, wherein the multivariate flight data is discretized based on the step profile.

[0143] Example 15. The machine according to Examples 12 to 14, further comprising an adjustment engine configured to adjust the length of one or more altitude change phases included in the multivariate flight data to a common altitude change phase length.

[0144] Example 16. The machine according to Examples 12 to 15, 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 combustion amount of the input sequence based on the vector to generate an output sequence.

[0145] Example 17. The machine according to Examples 12 to 16, wherein the encoder and decoder are configured according to a long short-term memory (LSTM) architecture.

[0146] Example 18. The machine according to Examples 12 to 17, further comprising a fully connected layer configured to interpret the fuel combustion amount at each time step of the output sequence.

[0147] Example 19. A method of training a machine to predict fuel burn of an aircraft during a height change phase of flight, comprising: receiving corresponding multivariate data sequences of multiple previously-occurring flights; parsing the corresponding sequences into height change phases of each of the multiple previously-occurring flights; discretizing the multivariate data based at least on a step profile and fuel burn amount for each height change phase or cruise phase; processing each corresponding sequence to develop a hidden state that minimizes an overall residual for replicating the fuel burn amount in each corresponding sequence; and exposing at least a portion of the hidden state.

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

[0149] 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 restrictive 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 sequence shown and / or described, in other sequences, in parallel, or omitted. Similarly, the order of the above processes may vary.

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

[0151] Component List

[0152] Chart 100

[0153] Chart 200

[0154] Steps 202, 204

[0155] Chart 210

[0156] Chart 220

[0157] Steps 222, 224, 226

[0158] Chart 230

[0159] Machine learning pipeline 300

[0160] Historical CPL data 302

[0161] Raw data processing 304

[0162] Search step 306

[0163] Training data 308

[0164] Model training 310

[0165] Training evaluation result 312

[0166] Hyperparameter tuning step 314

[0167] Test data 316

[0168] Prediction model 318

[0169] Heuristic method 320

[0170] Verification evaluation result 322

[0171] Chart 400

[0172] Illustration 405

[0173] Illustration 410

[0174] First climb segment 412

[0175] First step segment 414

[0176] Second climb segment 416

[0177] Second step segment 418

[0178] Third climb segment 420

[0179] Flight profile 500

[0180] Flight profile 510

[0181] Flight profile 520

[0182] Flight profile 530

[0183] Trainable machine 600

[0184] Input engine 602

[0185] Training engine 604

[0186] Output engine 606

[0187] Trainable model 608

[0188] Adjustment engine 610

[0189] Trainable encoder 612

[0190] Trainable decoder 614

[0191] Fully connected layer 616

[0192] Hyperparameter 618

[0193] Trained machine 700

[0194] Input engine 702

[0195] Output engine 706

[0196] Trained model 708

[0197] Adjustment engine 710

[0198] Trained encoder 712

[0199] Trained decoder 714

[0200] Fully connected layer 716

[0201] Hyperparameter 718

[0202] Prediction engine 720

[0203] Summation engine 722

[0204] Fuel combustion for each candidate flight route 724

[0205] Multivariable flight data 730

[0206] Flight parameters 732

[0207] Candidate flight route 734

[0208] Atmospheric conditions 736

[0209] Method 800

[0210] Steps 810, 820, 830, 840, 850

[0211] Method 900

[0212] Steps 910, 920, 930, 940, 950, 960, 970

[0213] Computing system 1000

[0214] Logic machine 1010

[0215] Storage machine 1020

[0216] Display subsystem 1030

[0217] Input subsystem 1040

[0218] Communication subsystem 1050

Claims

1. A method (900) for selecting a flight path for an aircraft during an altitude change phase, comprising: receiving (910) a multivariate flight data sequence (730) from at least one previous flight; receiving (920) a set of flight parameters (732) of the aircraft, the set of flight parameters (732) including at least a total altitude change and a takeoff weight; receiving (930) a set of candidate altitude change phase routes (734) having candidate step profiles; For each (940) candidate altitude change phase route (734), predicting (950) a fuel burn sequence for a corresponding candidate step profile based at least on the multivariate flight data sequence (730) and the set of flight parameters (732); and summing (960) the fuel burn amounts on the candidate altitude phase route (734) to obtain an estimated fuel burn (724); and A preferred candidate altitude change phase route having a lowest estimated fuel burn (724) is indicated (970).

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

3. The method (900) of claim 1, wherein the aircraft is at least partially autonomous, the method further comprising: The aircraft is controlled to follow the preferred candidate altitude change phase route. The method (900) according to claim 1, wherein the altitude change phase is a climbing phase. The method (900) according to claim 1, wherein the altitude change phase is a descent phase.

6. The method (900) of claim 5, wherein the flight parameters (732) further include a descent start weight of the aircraft.

7. The method (900) of claim 5, wherein the flight parameters (732) further include a landing time.

8. The method (900) of claim 1, wherein the multivariate flight data (730) is discretized based on a step profile.

9. The method (900) of claim 1, wherein the flight parameters (732) further include lateral distance.

10. The method (900) of claim 9, wherein the lengths of one or more altitude change phases included in the multivariate flight data (732) are adjusted to a common altitude change phase length.

Citation Information

Cited By

  • Unmanned aerial vehicle self-adaptive inspection method and system based on multi-dimensional data analysis

    CN121677737A