Selecting altitude changing phase routes for aircraft
A data-driven approach using machine learning optimizes altitude change phase routes for flights, addressing the challenge of predicting fuel burn and emissions in the aviation industry, and achieving significant reductions in fuel consumption and carbon emissions.
Patent Information
- Application Number
- JP2024201615
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-22
- Filing Date
- 2024-11-19
- Publication Date
- 2025-06-10
AI Technical Summary
The aviation industry faces challenges in predicting and reducing fuel burn and carbon dioxide emissions, particularly during the climb and descent phases of flights, where current methods lack quantitative evaluation of carbon emissions.
A data-driven methodology using machine learning techniques to predict fuel burn and emissions by analyzing past flight data, classifying flights based on origin-destination pairs, aircraft types, and operators, and optimizing altitude change phase routes with candidate step profiles.
The methodology provides a quantitative reduction in fuel burn and CO2 emissions by optimizing altitude change phase routes, enabling airlines to accurately calculate carbon emissions and reduce operational costs.
Smart Images

Figure 2025087609000001_ABST
Abstract
Description
Technical Field
[0001] Cross - Reference to Related Applications
[0001] This application claims priority to U.S. Provisional Application No. 63 / 600,977, filed on November 20, 2023, entitled "METHODS FOR DETERMINING FUEL BURN IN CLIMB AND DESCENT PHASES OF FLIGHTS", the entire contents of which are incorporated herein by reference for all purposes.
[0002]
[0002] The present disclosure broadly relates to commercial aviation, and in particular, to predicting the fuel consumption and carbon dioxide emissions of an aircraft during the climb and descent phases of a flight.
Background Art
[0003]
[0003] As efforts to combat global warming and climate change become a priority for both the public and private sectors, it has become increasingly important to monitor and record carbon dioxide emissions into the atmosphere. A major cause of carbon dioxide emissions into the atmosphere is air transportation. Therefore, both governments and the aviation industry are increasingly focusing on monitoring the carbon footprint of air transportation, setting emission targets, and implementing mitigation measures.
Summary of the Invention
[0004]
[0004] A method for selecting an altitude change phase route for an aircraft is presented. The method includes receiving a sequence of multivariate flight data from at least one previous flight, receiving a set of flight parameters for the aircraft including at least all altitude changes and takeoff weight, and receiving a set of candidate altitude change phase routes having candidate step profiles. For each candidate altitude change phase route, a sequence of fuel burn amounts is predicted for each candidate step profile based on at least the sequence of multivariate flight data and the set of flight parameters. To obtain the predicted fuel burn amount, the fuel burn amounts over the candidate altitude change phase route are summed. A preferred candidate altitude change phase route having the predicted lowest fuel burn amount is indicated.
[0005]
[0005] This summary is provided to introduce a simplified selection of some concepts that will be further described in the detailed description of the invention. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. The claimed subject matter is not limited to embodiments that solve any disadvantages described in any part of this disclosure.
Brief Description of the Drawings
[0006]
Figure 1
[0006] Exemplary flight climb, cruise, and descent phases are schematically shown.
Figure 2A
[0007] A plot of altitude versus time for an exemplary climb phase of a flight is shown.
Figure 2B
[0008] A plot of fuel flow versus altitude for the exemplary climb phase of FIG. 2A is shown.
Figure 2C
[0009] A plot of altitude versus time for an exemplary descent phase of a flight is shown.
Figure 2D
[0010] Shows a plot of fuel flow versus altitude for an exemplary descent phase of FIG. 2C.
Figure 3
[0011] Schematically shows an exemplary machine learning pipeline.
Figure 4
[0012] Shows an exemplary plot of altitude over a sequence of timestamps for an exemplary ascent phase.
Figure 5A
[0013] Shows an exemplary plot of altitude over lateral distance for an exemplary continuous ascent phase.
Figure 5B
[0014] Shows an exemplary plot of altitude over lateral distance for an exemplary stepped ascent phase.
Figure 5C
[0015] Shows an exemplary plot of altitude over lateral distance for an exemplary continuous descent phase.
Figure 5D
[0016] Shows an exemplary plot of altitude over lateral distance for an exemplary stepped descent phase.
Figure 6
[0017] Shows an exemplary machine aspect that can be trained to predict fuel burn and emissions for an aircraft flight.
Figure 7
[0018] Shows an exemplary machine aspect trained to predict fuel burn and emissions for an aircraft flight.
Figure 8
[0019] Shows a flowchart of an exemplary method for training a machine to predict an aircraft's fuel burn over a flight altitude change phase route.
Figure 9
[0020] Shows a flowchart of an exemplary method for selecting a flight altitude change phase route for an aircraft.
Figure 10
[0021] Schematically shows an exemplary computing system aspect.
DETAILED DESCRIPTION OF THE INVENTION
[0007]
[0022] The operating cost of an aircraft is directly related to the amount of fuel consumed by that aircraft. In the aviation industry, that amount is referred to as the "fuel burn." The fuel burn is also directly related to the emissions of carbon dioxide, nitrogen oxides, ozone, and the noise from the aircraft. All of these have an adverse impact on the climate and health. Therefore, economic and environmental factors, in parallel, provide a strong incentive to limit the fuel burn in commercial aviation.
[0008]
[0023] To systematically meet that objective, the ability to predict and reduce the fuel burn for each flight is necessary. The main mitigation strategies are to reduce carbon emissions by utilizing various operating efficiency solutions such as choosing a continuous climb over a stepped climb and choosing a continuous descent over a stepped descent. The qualitative value of choosing a continuous climb over a stepped climb and choosing a continuous descent over a stepped descent is well known, but their impact on carbon emissions has not been quantitatively evaluated, making it difficult for airlines to calculate the carbon emissions generated by a flight when performing a stepped climb and continuous climb or a stepped descent and continuous descent.
[0009]
[0024] The aviation industry has set a goal of zero carbon emissions by 2050. To achieve that, airlines need to monitor how much CO 2 they are emitting into the atmosphere each year, aggregate the emissions of the aircraft they own, and come up with ways to maintain or reduce the emissions.
[0010]
[0025] This specification presents a novel data-driven sustainability solution that includes a set of algorithms for evaluating the impact of stepped climb profiles and stepped descent profiles on the CO 2 emissions generated by a flight. This methodology uses a specific step profile to determine the fuel burn and CO 2Provide a quantitative value for emissions reduction. The disclosed methodology also uses machine learning techniques to formulate carbon emissions and fuel burn reduction for each flight based on two configurable parameters: step size and threshold.
[0011]
[0026] The disclosed methodology provides airlines with the ability to consider hypothetical scenarios such as changing step - up or step - down profiles for a flight and calculate the carbon emissions emitted under each scenario. This corresponds to the ability to optimize carbon emissions during the ascent and descent phases of a flight.
[0012]
[0027] To provide these capabilities, the disclosed methodology uses past Continuous Parameter Logging (CPL) data to classify flights based on the origin - destination pair of the flight, the type of aircraft, and the operator (e.g., airline). Then, based on the label of the flight in the CPL data, flights in each classification are divided into three phases: ascent, cruise, and descent. Using only the ascent and descent phases, a flight is further divided into two sub - classifications (i.e., continuous ascent, step - up ascent, continuous descent, and step - down descent) for each phase. The disclosed methodology uses a novel algorithm similar to the well - known "connected component labeling". In that case, the algorithm explores a level - off defined by two configurable parameters: a threshold and a step size. The threshold is the delta flight level between time steps, and the step size is the time for which the aircraft maintains a level - off, i.e., within the bounds of the threshold. In addition to its high accuracy, this methodology also provides high efficiency. Once the past CPL data classification is complete, it is very fast to run the algorithm and make inferences.
[0013]
[0028] Using this methodology, it is possible to provide a predicted reduction in emissions for flights. Thereby, customers can quantify the impact of the aircraft they own on the environment. This methodology can be sold as a commercial service to airlines and air navigation service providers (ANSPs). Airlines using this methodology can accurately calculate the carbon emissions / fuel consumption that their flights can generate under various scenarios in order to find the optimal departure and arrival profiles. In addition to emissions regulations, airlines can also benefit from reducing fuel consumption costs.
[0014]
[0029] Continuous ascent or descent generally results in lower emissions, but there are scenarios where a stepped ascent or descent is required. Each flight has an assigned time frame. Sometimes, when the aircraft approaches the airport, the runway may not be available, or the pilot may need to perform a stepped descent to make use of the time. In complex airspace, stepped ascents or descents may be required to prevent collisions or reduce conflicts between aircraft. By knowing what conditions are optimal for stepped ascents or descents, emissions can be reduced.
[0015]
[0030] If the situation changes during the flight, the methodology described herein can be used to determine the number and / or length of additional steps and / or the level of altitude delta in order to identify the route with the lowest emissions and fuel consumption. This methodology can be called online based on factors such as the cruise altitude and weight of the aircraft to determine the best-case stepped descent profile.
[0016]
[0031] Historical CPL data can be analyzed for transatlantic flights, for example, to identify the quantitative impact of the altitude change phase step profile on emissions. As an example, by calculating the delta of fuel consumption or emissions, a flight resulting from having one stepped descent profile can be compared to one having a second stepped descent profile.
[0017]
[0032] Each flight profile can be divided into a climb phase, a cruise phase, and a descent phase, as represented at 100 in FIG. 1. The climb phase extends from takeoff from the departure airport to the top of the climb where the cruise phase begins. The cruise phase is typically characterized by long horizontal flight at an altitude above the crossover altitude (where the indicated airspeed becomes Mach number). The descent phase extends from the end of the cruise phase (the top of the descent) to touchdown and landing. The operating efficiency of the airspace functions using a set of established parameters such that it is advantageous to select one type of flight path over another during the altitude change phase of the flight (e.g., the cruise or descent phase).
[0018]
[0033] The impact of stepwise altitude change routes on carbon emissions has not been quantified heretofore. Overall, the present methodology can be of great value to the aviation industry worldwide. With this methodology, it is possible to calculate the aggregation of carbon emissions generated by flights worldwide under various conditions, such as various altitude change phase step profiles, in order to monitor and achieve the goal of net-zero carbon emissions by 2050.
[0019]
[0034] To address these challenges and provide further advantages, the present disclosure presents a deep learning, data-driven, probabilistic tool for predicting aircraft fuel burn per flight. Fuel burn prediction is formulated as a sequence learning problem. In that case, it is assumed that the fuel burn can be described as a function of the time-resolved flight data recorder (FDR) and the atmospheric data. Given such data and a set of previous flights of varying lengths, a trained model predicts the fuel burn at each time step along the planned flight. In some embodiments, the model employs an encoder-decoder (E-D) long short-term memory (LSTM) architecture.
[0020]
[0035] Given a set of previous flights with associated FDR and atmospheric data, the training objective is to train a model to predict the fuel burn for another flight prior to departure. 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 in a specified order, and in this specification, the values are ordered according to the rise or fall time. In some embodiments, the time step between adjacent values within the sequence is constant. This type of sequence may also be referred to as a "time series". If the flight time is 8 hours and the sensor reading frequency is 1 Hz, for all sensors, the flight is defined by 28,800 time steps. One reading is recorded for each sensor at each time step. Due to the variations observed in flight time, even between a fixed departure and arrival airport, past FDR data has a varying length for each flight and flight phase. Thus, the models disclosed herein must address a multivariate, multi-step sequence prediction problem for the ascent 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 for the altitude change phase of a flight based on a step profile.
[0021]
[0036] Thus, the disclosed methodology provides a quantitative value for the reduction of fuel burn and CO 2 emissions when a flight utilizes a specific step profile for the altitude change phase. The disclosed methodology also uses machine learning techniques to formulate the reduction of carbon emissions and fuel burn for each flight based on various methodological parameters that define the step profile of the route.
[0022]
[0037] To provide these capabilities, the disclosed methodology uses CPL data to classify flights based on origin-destination pairs, aircraft types, and operators (airlines). Then, based on the labels of the flights in the CPL data, the flights in each classification are divided into three phases (climb, cruise, and descent). For this purpose, sequences of flight phases of different lengths can be adjusted to sequences of flight phases of a fixed length for each route. This can be achieved by padding the shorter sequences. For the climb and descent phases, the flights are further sub-classified based on the flight step profile, as well as other flight parameters (such as altitude, lateral distance, and takeoff weight). Using these combinations, the disclosed methodology generates discrete classifications of altitude change phases. Further, to match the lateral distance between any two sets, the disclosed methodology adds additional fuel burn to the flight sets presenting shorter average lateral distances.
[0023]
[0038] Black box / flight data recorder data or CPL data can be analyzed. Up to 2500 or more sensors can record data at a frequency of 1 Hz. Some of this data may be repetitive or unnecessary and may be discarded. Then, using the parameters found from the raw sensor data, each climb or descent phase can be classified as continuous or stepped. The set of parameters is extracted in time series form from the CPL data as time, latitude, longitude, altitude, aircraft weight, flight phase, fuel flow - left engine, fuel flow - right engine. To execute this methodology, an engineering workstation uses computing power, CPU, and memory to efficiently execute the tasks.
[0024]
[0039] Figure 2A shows an exemplary plot 200 showing altitude over time for an exemplary climb phase of an aircraft. Two steps (202, 204) are identified based on the verticality over time. Figure 2B shows an exemplary plot 210 showing fuel flow versus altitude for the climb phase of plot 200. Steps 202 and 204 (shown by dashed lines) can be identified based on no change in altitude, while the fuel flow continues to be accumulated to maintain the altitude of the aircraft.
[0025]
[0040] Figure 2C shows an exemplary plot 220 showing altitude over time for an exemplary descent phase of an aircraft. Three steps (222, 224, 226) are identified based on the verticality over time. Figure 2D shows an exemplary plot 230 showing fuel flow versus altitude for the descent phase of plot 200. Steps 222, 224, and 226 can be identified based on no change in altitude, while the fuel flow continues to be accumulated to maintain the altitude of the aircraft.
[0026]
[0041] Using the classified CPL dataset, the disclosed methodology also performs a series of machine learning (linear, non - linear, ensemble) and deep learning algorithms (recurrent neural networks) based on at least two flight parameters (e.g., step size and step threshold) to build several regression models. These regression models compete with each other for higher accuracy. Using the top - ranking algorithms, the reduction of carbon emissions and fuel consumption is formulated for each flight. A further advantage is that the prediction can be made before fuel refueling, so the initial weight of the aircraft can be reduced, and the fuel consumption and emissions can be further reduced.
[0027]
[0042] Figure 3 shows an exemplary machine learning pipeline 300 that can be used to train a model for inferring fuel burn and emissions for altitude change phases of flight based on a step profile. The machine learning pipeline 300 uses a data-driven approach, for example, using past data on actual flights performed. Thus, the quantitative values of the calculated fuel burn are ground-truth based. The mapping of fuel burn to emissions trains various regression models and infers fuel burn / emissions as sorted by the step profile. Using the classified CPL dataset, the machine learning pipeline 300 performs a series of machine learning (linear, non-linear, ensemble) based on configurable parameters (e.g., altitude change over step size and lateral distance) and constructs several regression models. These regression models compete with each other for higher accuracy. A top-ranking algorithm is used to formulate carbon emissions and fuel burn reduction for each altitude change phase. Such a machine learning pipeline can be selected as being specific to aviation. The resulting model can be specific to fuel burn / emissions and specific to the ascent or descent phase of each flight. Since the data has a time series, the machine learning pipeline 300 can be specific to a per-sequence learning problem. Thus, a long short-term memory model can be used.
[0028]
[0043] Past CPL data 302 can include multivariate data for one or more previous flights. A set of parameters is extracted from the past CPL data in a time series format of time, latitude, longitude, altitude, aircraft weight, flight phase, fuel flow - left engine, fuel flow - right engine. The state of the atmosphere can also be provided as historical data such as wind speed, wind direction, temperature, pressure, humidity, etc.
[0029]
[0044] The machine learning pipeline 300 captures historical data such as CPL data and supplies it to the raw data processing 304. The raw data processing 304 includes at least dimensionality reduction and feature engineering to select prominent features of the data. The raw data processing 304 helps to develop a more granular and more adaptable dataset, which can lead to more accurate results. The raw data processing 304 may further include data normalization, such as normalizing the rising and falling phases by distance. This may include padding the high-change phase in some cases and paring the high-change phase in multiple other cases to generate clusters of data with the same or similar distances.
[0030]
[0045] The raw data processing may include repeatedly reducing the number of parameters supplied to the model training. The processing of the raw data may include performing parameter correlation. The historical data and CPL data may include hundreds of parameters recorded at a frequency of 1 Hz, and not all of them can predict the fuel consumption over the high-change phase.
[0031]
[0046] In some embodiments, the processed raw data is selected as the training data 308 and supplied directly to the model training 310. However, to improve accuracy and reliability, the processed raw data may first be supplied to the exploration step 306. The exploration step 306 is performed on the processed data. The exploration step 306 includes heuristic algorithms initially used to identify these steps, to understand how many steps are present in the profile, how long each step is, and what the thresholds are within each step. Then, the exploration step 306 examines how these steps are mapped to further emissions or fuel consumption. The exploration step 306 can take into account the type of aircraft, the origin-destination pair, the airline, etc.
[0032]
[0047] First, what constitutes steps in the ascending or descending phase can be determined. The search step 306 can employ one or more algorithms (such as those similar to connected component labeling). One or more algorithms start from the initial ascending or descending altitude and record subsequent altitudes step by step. If the difference in flight levels over the time stamp is less than the threshold, that step is extended. If the extended step becomes larger than the specified step size, and at that time, it can be marked as a step or otherwise the first step can be dropped.
[0033]
[0048] FIG. 4 shows a plot 400 indicating altitudes for a stepped ascent over a series of time stamps. A machine learning model and / or neural network can be used to formulate the length of the step as well as the delta of the difference in altitude. Looking at the time stamps from end to end, two parameters are considered, namely the amount of difference in altitude (dt) over the time stamp and the combined length of the time stamps. The combined length indicates the above-mentioned threshold altitude change (ascending segment as shown at 405) or less than the threshold altitude change (stepped segment as shown at 410). By taking these two parameters into account, additional emissions generated by the following steps can be determined.
[0034]
[0049] For example, by looking at the altitude of each time step in plot 400, it can be confirmed how much the aircraft ascends over the time stamp. If the start and end altitudes are within the threshold, the step is extended to the next time stamp. Thereby, the connected component labeling algorithm is initiated. The altitude difference and the duration required to be considered as a step can be adjusted according to the application. As shown in FIG. 4, thus, plot 400 includes a first ascending segment 412, a first stepped segment 414, a second ascending segment 416, a second stepped segment 418, and a third ascending segment 420.
[0035]
[0050] As shown in FIG. 3, next, search step 306 examines how these altitude change phases are mapped to further emissions or fuel burn. The search step can take into account the takeoff weight, the weight at the top of the climb (cruise start weight), the weight at the top of the descent (descent start weight), the type of aircraft, the origin-destination pair, the airline, and the like.
[0036]
[0051] The analyzed data can then be analyzed to determine an appropriate step size (seconds) and threshold (feet) to use when classifying steps. The combination of step size and threshold can be adjusted based on which combination generates a data set of sufficient size to evaluate future flight paths.
[0037]
[0052] When flights with step climbs and step descents are identified, a comparative analysis can be performed between step climb profiles and between step descent profiles. However, to make a fair comparison, the disclosed methodology uses a set of step climbs where the top of climb (ToC) level and the takeoff weight (ToW) match. Similarly, the disclosed methodology uses a set of step descents where the top of descent (ToD) and the weight at ToD match.
[0038]
[0053] Flight phases can be further sorted by average lateral distance. If the average lateral distance of a single step climb is greater, that delta is added to another step climb for comparison. Further fuel burn can then be added to the set of flights presenting a shorter average lateral distance.
[0039]
[0054] Figures 5A and 5B show plots of the ascent phase over various lateral distances. Figure 5A shows a flight profile 500 having a continuous ascent and a single level step. Figure 5B shows a flight profile 510 having two portions of ascent around a stepped segment. Figures 5C and 5D show plots of the descent phase over various lateral distances. Figure 5C shows a flight profile 520 having a continuous descent and a single level step. Figure 5D shows a flight profile 530 having two portions of descent around a stepped segment.
[0040]
[0055] Making the lateral distance equal 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 the discretized buckets. For example, a single stepped flight profile can be padded or interleaved to match with another single stepped profile.
[0041]
[0056] Stepped ascent flights can be sorted by the height at the top of the ascent and the takeoff weight. Similarly, stepped descent flights can be sorted based on the height at the top of the descent and the takeoff weight (and / or the weight at the top of the descent). When this comparison is made, the number of steps and the length of the steps can be evaluated to determine how much additional emissions are generated.
[0042]
[0057] In one example, the flight phases for stepwise climb and continuous climb based on 470 past flights between London and New York were compared. In that case, the ToC was equal to 36,000 ft and the initial weight was 460,000 lbs. For the stepwise climb, the average fuel burn of the left engine was 5314.0475942315 lbs, the average fuel burn of the right engine was 5338.417104848226 lbs, and the total average fuel burn (left and right) was 5326.232 lbs. For the continuous climb, the average fuel burn of the left engine was 4624.333444281684 lbs, the average fuel burn of the right engine was 4631.015968254937 lbs, and the total average fuel burn (left and right) was 4627.675 lbs. This represents a 13.1% fuel reduction by performing a continuous climb instead of a stepwise climb.
[0043]
[0058] When the delta lateral distance (e.g., cruise segment) was taken into account, the additional average fuel flow to the left engine due to the cruise segment was 470.99692884657117 lbs. The additional average fuel flow to the right engine due to the cruise segment was 471.727897237142 lbs. For the stepwise climb, the total average fuel burn of the left engine was 5314.0475942315 lbs, the total average fuel burn of the right engine was 5338.417104848226 lbs, and the total average fuel burn (left and right) was 5326.232 lbs. For the continuous climb, the total average fuel burn of the left engine was 5095.330373128255 lbs, the average fuel burn of the right engine was 5102.74386549208 lbs, and the total average fuel burn (left and right) was 5099.037 lbs.
[0044]
[0059] This represents a 4.3% fuel reduction by performing continuous climb instead of stepped climb. When converting fuel burn to emissions, continuous climb produces 4.2% less emissions compared to stepped climb when delta lateral distance (e.g., cruise segment) is not considered. When delta lateral distance (e.g., cruise segment) is considered, continuous climb produces 0.7% less emissions compared to stepped climb.
[0045]
[0060] In another example, the flight phases for stepped climb and continuous climb based on 218 past flights between London and New York were compared. In that case, ToC was equal to 37,000 ft and the initial weight was 370,000 lbs. For stepped climb, the average fuel burn of the left engine was 1690.6203962495592 lbs, the average fuel burn of the right engine was 1715.0876797442966 lbs, and the total average fuel burn (left and right) was 1702.854 lbs. For continuous climb, the average fuel burn of the left engine was 1062.4297760899863 lbs, the average fuel burn of the right engine was 1073.3230303870307 lbs, and the total average fuel burn (left and right) was 1067.876 lbs. This represents a 37.3% fuel reduction by performing continuous climb instead of stepped climb.
[0046]
[0061] When the delta lateral distance (e.g., cruise) was taken into account, the additional average fuel flow rate to the left engine by the cruise segment was 411.17582322119245 lbs. The additional average fuel flow rate to the right engine by the cruise segment was 412.2433751557293 lbs. In the stepped climb, the total average fuel consumption of the left engine was 1690.6203962495592 lbs, the total average fuel consumption of the right engine was 1715.0876797442966 lbs, and the total average fuel consumption (left and right) was 1702.854 lbs. In the continuous climb, the total average fuel consumption of the left engine was 1473.6055993111786 lbs, the average fuel consumption of the right engine was 1485.56640554276 lbs, and the total average fuel consumption (left and right) was 1479.586 lbs.
[0047]
[0062] This represents a 13.1% fuel reduction by performing a continuous climb instead of a stepped climb. When converting the fuel consumption to emissions, when the delta lateral distance (e.g., cruise segment) is not taken into account, the continuous climb produces 25.9% less emissions compared to the stepped climb. When the delta lateral distance (e.g., cruise segment) is taken into account, the continuous climb produces 12.4% less emissions compared to the stepped climb.
[0048]
[0063] Returning to FIG. 3, some or all of the history step search data is treated as training data 308 and supplied to model training 310. Two or more prediction models including various types of prediction models can be used for model training 310. Such prediction models can include linear regression, lasso, elastic net for non-linear classification regression, trees, support, vectors, regression view, k-nearest neighbor, ensemble models, extra gradient boosting, random forest, extra tree regression, as well as ordinary artificial neural networks. Several architectures can be used competitively to determine the single best model. The inputs to each model can be the same or similar, but the outputs, hidden layers, number of neurons in each layer, etc. can vary by model. For the purpose of selecting the model with the best performance as the prediction model, multiple models can be executed in parallel and distributively.
[0049]
[0064] Sequence prediction often involves predicting the next value within a sequence. This can be formulated as a sequence prediction problem with one input time step for one output time step, or a sequence of multiple input time steps for one output time step. However, a more difficult problem is to take a sequence as input and return another predicted sequence as output. This is a sequence-to-sequence (seq2seq) prediction problem, which is more difficult when the lengths of the input and output sequences can vary. As an effective approach to the seq2seq prediction problem, there is the encoder-decoder long short-term memory (E-D LSTM) architecture. This system includes two cooperative models. That is, 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.
[0050]
[0065] Consider a sequence X = {x (1) , x (2) , …, x (L)} of length L. In that case, each point x (i) ∈ R m is at time sequence t iis an m - dimensional vector of the read values of m variables in. This is converted into a scenario where the flight contains L time steps. In that case, at each time step t i m sensor readings are recorded. In one embodiment, an E - D LSTM model is trained to reconstruct the recorded cases of 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 steps.
[0051]
[0066] A given X , h E (i) is the hidden state of the encoder at time t for each i ∈ {1, 2, …, L}. In that case, h i is the hidden state of the encoder at time t. In that case, h E (i) ∈ R c where c is the number of LSTM units in the hidden layer of the encoder. The encoder and decoder are jointly trained to reconstruct the time series in reverse order. That is, the target time series is {x (L) x (L-1) …, x (1)}. The final state h E (i) of the encoder is used as the initial state for the decoder. The linear layer on top of the LSTM decoder layer is used to predict the target. During training, the decoder uses x D (i-1) as input to obtain the state h (i) and then predicts x’ (i-1) corresponding to the target x (i-1) . During inference, the predicted value x’ (i) obtains h D (i-1) and is input to the decoder to predict x’ (i-1) . The model is trained to minimize the objective. TIFF2025087609000002.tif21170 Here, s N is a set of training sequences.
[0052]
[0067] In this spirit, FIG. 6 shows an exemplary trainable machine 600. The machine 600 is trainable to predict fuel burn and emissions for an aircraft's flight during an altitude change segment of the flight, based at least on a step profile of a candidate flight track. The trainable machine particularly includes an input engine 602, a training engine 604, an output engine 606, and a trainable model 608.
[0053]
[0068] The input engine 602 is configured to receive training data for an altitude change phase for each of a selected series of previous flights. The training data includes a corresponding sequence of multivariate flight data recorded during the previous flight for each altitude change phase of each of the series of previous flights. In some embodiments, each corresponding sequence includes FDR data selected by principal component analysis. In some embodiments, each corresponding sequence includes atmospheric data.
[0054]
[0069] 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 embodiments and scenarios, adjusting each corresponding sequence includes padding the corresponding sequence in the flight phase. A given phase may be padded to adjust the length of the phase. In some embodiments and scenarios, each corresponding sequence may include trimming a longer corresponding sequence.
[0055]
[0070] The training engine 604 is configured to process each corresponding sequence of multivariate flight data according to the trainable model 608. As described herein, such processing progressively develops the hidden state of the trained model. When fully developed, the hidden state minimizes the overall residue for replicating the fuel burn in each corresponding sequence. As described above, replicating the fuel burn involves transforming the multivariate flight data from previous time steps in each corresponding sequence based on the hidden state.
[0056]
[0071] In some embodiments, the trainable model 608 includes a trainable encoder 612 disposed logically upstream of the trainable decoder 614. The encoder is trainable to output a vector characterizing the input sequence of multivariate flight data, and the decoder is trainable to replicate the fuel burn of the input sequence based on the vector and thereby generate an output sequence. The number of parameters included in the input sequence can vary by example. In some embodiments, the parameters include, without limitation, flight date, flight time, flight duration, latitude, longitude, aircraft weight, wind speed, wind direction, air temperature, air pressure, altitude, ground speed, airspeed, etc. These parameters can be used, inter alia, to calculate the step profile. In other embodiments, other parameters, additional parameters, or fewer parameters can be used. Generally speaking, a model trained for a particular track and a particular aircraft can make more accurate predictions based on fewer input parameters than a more generally applicable model.
[0057]
[0072] In some embodiments, the encoder and decoder are configured according to the LSTM architecture. In some embodiments, 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 embodiments, 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 second last layer of the trainable model. The fully connected layer can be configured to feed the output layer (described below). The output layer predicts a single step in the output sequence (e.g., does not predict all L steps at once). As an example, consider a flight that includes a time step of 10 minutes. In the output layer, the fuel flow rate can be predicted as the series {120, 1130, 2142, …}. In that case, the first number 120 corresponds to the amount of fuel burned in the first time step of 1 minute, the next 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 are set manually at the start of training and can be adjusted manually or automatically during the model training process.
[0058]
[0073] When included, the E-D LSTM model may 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 according to the duration of the cruise phase. This duration defines a fixed length as input. The internal representation of the input sequence is repeated multiple times in a repetition layer and presented to the LSTM decoder. Such an E-D LSTM model may include a fully connected layer for interpreting 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. For this purpose, the interpretation layer and the output layer can be wrapped within a TimeDistributed wrapper. The TimeDistributed wrapper enables the wrapped layer to be used for each time step from the decoder. Such a TimeDistributed wrapper can generate a fully connected (e.g., dense) layer that is applied separately to each time step. This allows the LSTM decoder to capture the context required for each step in the output sequence and enables the wrapped dense layer to interpret each time step separately while reusing the same weights for interpretation.
[0059]
[0074] When included, the CNN LSTM E-D model may include first and second CNN layers that function as an encoder. The first CNN layer reads the entire input sequence and projects the result onto a feature map. The second CNN layer may perform the same operation on the feature map generated by the first CNN layer and attempt to amplify prominent features. A max pooling layer can simplify the feature map by retaining one quarter of the values with the maximum signal. The feature map extracted downstream of the max pooling layer is flattened into one long vector in a flattening layer, and that vector can be used as input to the decoding process after being repeated in a repetition layer. The decoder is another LSTM hidden layer, followed by a TimeDistributed wrapper that feeds into the output layer.
[0060]
[0075] When included, the ConvLSTM E-D model may use a CNN layer to read the input into the LSTM units. ConvLSTM is a type of recurrent neural network for spatio-temporal prediction, providing a convolutional structure for both the transition from input to state and the transition from state to state. ConvLSTM determines the future state of a particular cell within the grid from the input and past states of its local neighboring cells. In some embodiments, the CNN layer is logically upstream of the flattening layer, the repeating layer, the LSTM decoder, and the time-distributed layer.
[0061]
[0076] As the output engine 606 is developed through training, it is configured to expose at least a portion of the hidden state of the trainable model 608. The manner in which a portion of the hidden state is "exposed" can vary depending on the implementation. In particular, the present disclosure contemplates the following scenarios. That is, one computer system receives, processes training data for a very large number of previous flights, and is then tasked with making predictions based on the internally developed hidden state. In other words, the trainable machine is a trained machine after the development of the hidden state. In this scenario, exposure means only the following. That is, a portion of the hidden state required for prediction becomes available to the prediction engine (described later). For example, the data structure holding the weights and coefficients characterizing the hidden state can be examined in detail in a way that allows access by the prediction engine. The present disclosure also contemplates the following scenario. That is, the computer system that receives and processes the training data is different from one or more computers tasked with making predictions. In other words, the trainable machine can be different from the trained machine. In that scenario, the exposure of a portion of the hidden state means the following. That is, the weights and coefficients required for prediction are transmitted from the computer system that processed the training data to one or more computer systems tasked with making predictions. After appropriate training, the trainable machine 600 or another trained machine can be used to predict the fuel burn and emissions for an aircraft flight.
[0062]
[0077] Returning to FIG. 3, model training 310 yields a training evaluation result 312. Model training 310 has the objective of approximating a function that maps input parameters (e.g., step profile, altitude, temperature) to fuel burn, and is thus a regression problem. Accordingly, function approximation is used to predict the fuel burn for a particular flight under specific flight parameters and conditions. The training evaluation result 312 can evaluate such function approximation using appropriate metrics such as root mean square error (RMSE), mean absolute error (MAE), mean absolute percentage error (MAPE).
[0063]
[0078] Using the training evaluation result 312, a hyperparameter tuning step 314 is performed. The tuned hyperparameters are iteratively fed back into the model training 310. Each distinct model type can expose its own set(s) of hyperparameters. In some embodiments, a single model can be trained and evaluated using multiple sets of hyperparameters. For each model, the hyperparameters can be adjusted according to whether it is linear (e.g., linear regression, lasso regression, elastic net regression), non-linear (e.g., classification tree, regression tree, support vector regression, k-nearest neighbor), ensemble (e.g., adaptive boosting, extragradient boosting, random forest regression, or extra tree regression), or neural network-based (e.g., a variant of LSTM). This is done using various search techniques (e.g., grid search, optuna, bohb, random). These techniques reach the highest performance value for each model. Then, the models are ranked.
[0064]
[0079] Some of the explored step data is treated as test data. For example, if one year of flight data is given, 11 months may be used as training data 308 for building the model, and 1 month can be treated as "new" test data even though the results are known. In some embodiments, the contents of the training data 308 and the test data 316 are rotated over various training and prediction iterations until, for example, all available data is evaluated as test data. The test data 316 is supplied to one or more trained prediction models 318 that are informed by the model training 310.
[0065]
[0080] FIG. 7 shows an exemplary trained machine 700 configured to predict fuel burn and emissions for an aircraft flight. The trained machine 700 includes, in particular, an input engine 702, a prediction engine 720, a total engine 722, an output engine 706, a trained model 708, and a conditioning engine 710.
[0066]
[0081] The input engine 702 is configured to receive at least one sequence of multivariate flight data recorded during a previous flight. The input engine 702 is further configured to receive flight parameters 732. The flight parameters can include the type of aircraft, the airline, the weight of the aircraft, any constraints regarding the flight, and the like. The input engine 702 is further configured to receive one or more candidate routes 734. Any number of unique candidate routes can be input. The candidate routes can include routes for the climb phase and routes for the descent phase. Those routes have various step profiles including continuous climb and descent profiles.
[0067]
[0082] The input engine 702 is further configured to receive the state of the atmosphere 736. The state of the atmosphere can include the state of the wind, temperature, humidity, and other weather conditions that can affect the flight of the aircraft during the cruise phase. The state of the atmosphere can be associated with one or more candidate routes 734 and can include the current state of the atmosphere as well as the state of the atmosphere predicted over the course of a future flight.
[0068]
[0083] The prediction engine 720 is configured to predict a sequence of fuel burn amounts over a candidate route based on at least one sequence of multivariate flight data 730 recorded during a previous flight and based on the hidden state of the trained machine 700.
[0069]
[0084] In some embodiments, the trained model 708 includes a trained encoder 712 disposed logically upstream of the trained decoder 714. The encoder is trained to output a vector characterizing an input sequence of multivariate flight data 730, and the decoder is trained to replicate the fuel burn amount of the input sequence based on the vector, thereby generating an output sequence. In some embodiments, the encoder and decoder are configured according to a long short-term memory (LSTM) architecture. In some embodiments, the trained 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 embodiments, the trained model further includes a fully connected layer 716 configured to interpret the fuel burn amount at each time step of the output sequence, prior to the final output layer. In some embodiments, the fully connected layer can be the second-to-last layer of the trained model. The trained model 708 can be operated with a set of hyperparameters 718 that can evolve as the trained model 708 is developed.
[0070]
[0085] Returning to FIG. 3, the results of the prediction model are evaluated via heuristic 320 for the top-ranking algorithm. Heuristic 320 is used to determine which model is performing best, and can then be used to select which models proceed to the next evaluation round. The number of models that proceed can depend on the relative performance of the models, such as if the performance has significantly degraded.
[0071]
[0086] Heuristic 320 is supplied with the validation evaluation results 322. The validation evaluation results 322 are used to provide iterative information to the hyperparameter tuning 314. The validation evaluation results 322 can include various performance metrics such as accuracy, standard deviation, confidence, RMSE, absolute error, percent error, etc. Hyperparameter tuning can proceed while repeatedly training, retraining, and testing the successful models.
[0072]
[0087] In this way, multiple models can be evaluated in parallel. The most performant models are repeatedly selected to provide information to the prediction model. For example, several neural networks can be developed, run in parallel, and then ranked. The top k are advanced to determine the single most performant model that can ultimately be used for inference. The multiple models can vary with respect to the number of layers, the number of neurons in each layer, the activation functions used, the optimization algorithm, hyperparameter values, etc.
[0073]
[0088] Returning to FIG. 7, the trained machine 700 includes a total engine 722. The total engine 722 is configured to sum the fuel burn over the candidate altitude change phase to obtain a fueling estimate, as described above. The output engine 706 is configured to output the estimated fuel burn for each candidate route 724. In some embodiments, the output engine 706 is further 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 an estimated carbon dioxide emissions value.
[0074]
[0089] The fuel flow changes over time in time steps, and the weight of the aircraft changes over time. Thus, the predictive engine 720 can be applied to identify the fuel burn for each time step over each candidate route. The total engine 722 generates a total of the fuel burn for each candidate route 724. Using the fuel burn for each candidate route 724, the amount of fuel to load before takeoff can be determined, the pilot and air traffic control can be notified of which candidate route results in the minimum fuel burn, and the control of a fully autonomous or semi-autonomous aircraft can be optimized, etc. The fuel burn for each candidate route 724 can be output as the total fuel burn, as the fuel flow of the left engine, and as the fuel flow of the right engine, etc. When the state of the atmosphere 736 is updated (as real-time or predicted conditions), different candidate routes and route segments can be predicted to have higher tailwinds and thus reduced fuel burn.
[0075]
[0090] FIG. 8 shows a flowchart of an exemplary method 800 for training a machine to predict the fuel burn of an aircraft over a flight altitude change phase route. The method 800 can be applied to a trainable machine, such as the trainable machine 600.
[0076]
[0091] At 810, the method 800 includes receiving corresponding sequences of multivariate data for a plurality of previously-occurred flights. Each sequence of multivariate flight data can be recorded during a previous flight at a certain frequency (e.g., 1 Hz). In some embodiments, the multivariate flight data can include FDR data (e.g., CPL data) selected by principal component analysis. The parameters included are time, latitude, longitude, altitude, the weight of the aircraft, the flight phase, the fuel flow (left engine), the fuel flow (right engine), etc. The state of the atmosphere can also be provided as historical data such as wind speed, wind direction, temperature, pressure, humidity, etc.
[0077]
[0092] At 820, method 800 includes analyzing the corresponding sequence for the altitude adjustment phase of each of a plurality of previously occurring flights. The multivariate flight data can be separated into flight phases such as a climb phase, a cruise phase, and a descent phase, and the climb phase and the descent phase can be extracted as altitude change phases. Each climb phase can be defined as from takeoff to the top of the climb within a previous flight. Each descent phase can be defined as from the top of the descent to landing within a previous flight.
[0078]
[0093] Optionally, method 800 includes adjusting each corresponding sequence to provide a common length for each altitude change phase. For example, shorter altitude change phases can be padded in length and / or longer altitude change phases can be trimmed in length, because flights having a common departure airport and destination airport can extend over different lengths. Parameters for the padded altitude change phases can be extrapolated from the multivariate flight data.
[0079]
[0094] At 830, method 800 includes discretizing the multivariate data based at least on a step profile and a fuel burn for each altitude adjustment phase. Thus, multivariate data for flights having similar characteristics can be grouped into a plurality of buckets. The multivariate flight data can also be discretized based on ranges of other parameters such as latitude, longitude, altitude, air temperature, takeoff weight, etc.
[0080]
[0095] At 840, method 800 includes processing each corresponding sequence to develop a hidden state. This hidden state minimizes the overall residual for replicating the fuel burn in each corresponding sequence. Replicating the fuel burn includes transforming the multivariate flight data from previous time steps in each corresponding sequence based on the hidden state.
[0081]
[0096] At 850, method 800 includes disclosing at least a portion of the hidden state. In particular, the present disclosure contemplates the following scenario. That is, one computer system is tasked with receiving, processing training data for a very large number of previous flights, and then making predictions based on the hidden state developed herein. For example, the disclosure may only mean the following. That is, a portion of the hidden state necessary for the prediction becomes available to the prediction engine. For example, the data structure holding the weights and coefficients characterizing the hidden state can be examined in detail in a way that allows access by the prediction engine. In a plurality of other embodiments, the disclosure only means the following. That is, a portion of the hidden state necessary for the prediction becomes available to the prediction engine. For example, the data structure holding the weights and coefficients characterizing the hidden state can be examined in detail in a way that allows access by the prediction engine.
[0082]
[0097] In some embodiments, method 800 may further include training two or more machines to predict the fuel burn of an aircraft over a flight altitude change 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. Some models may compete with each other for higher accuracy.
[0083]
[0098] Figure 9 shows a flowchart of an exemplary method 900 for selecting an aircraft altitude change phase route. Method 900 can be executed by a trained machine such as trained machine 700. At 910, method 900 includes receiving a sequence of multivariate flight data from at least one previous flight. Each sequence of multivariate flight data can be recorded during a previous flight at a certain frequency (e.g., 1 Hz). In some embodiments, the multivariate flight data can include FDR data (e.g., CPL data) selected by principal component analysis. The parameters included are time, latitude, longitude, altitude, aircraft weight, flight phase, fuel flow rate (left engine), fuel flow rate (right engine), etc. The state of the atmosphere can also be provided as multivariate flight data such as wind speed, wind direction, temperature, pressure, humidity, etc.
[0084]
[0099] 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 a planned flight. In some embodiments, at least one sequence of the multivariate flight data shares the departure airport, destination airport, and aircraft model of the planned flight. In some embodiments, at least one sequence of the multivariate flight data includes data similar to the training data described above herein. These data can include, for example, FDR data selected via principal component analysis (PCA). In some embodiments, at least one sequence of the multivariate flight data includes atmosphere (e.g., weather) data.
[0085]
[0100] In some embodiments, the input data can include fewer parameters than the training sequence. For example, an appropriate model can be trained for a particular airline, a particular type of aircraft, and a particular departure airport and destination airport. In that case, the parameters required to predict the fuel burn will be fewer than for a more general model.
[0086]
[0101] In some embodiments, each sequence of multivariate flight data can share the departure airport, destination airport, and aircraft specifications of a planned flight. The multivariate flight data can be separated into flight phases such as a climb phase, a cruise phase, and a descent phase, and the climb phase and / or descent phase are extracted.
[0087]
[0102] Each cruise phase can be defined as from the top of the climb to the top of the descent in a previous flight. In some embodiments, 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 flights with the same departure and destination airports can extend over different lengths. Parameters for padded cruise phases can be extrapolated from the multivariate flight data. In some embodiments, the multivariate flight data is discretized based on a step profile. The multivariate flight data can also be discretized based on the ranges of other parameters such as altitude, temperature, takeoff weight, etc.
[0088]
[0103] At 920, method 900 includes receiving flight parameters for an aircraft. The received flight parameters can be assigned to a planned flight. The flight parameters include total altitude change and takeoff weight, and can further include airline, aircraft, takeoff weight, weight at the top of descent, aviation regulations, departure time, landing time window (e.g., time until landing), lateral distance to the landing airport, previously selected cruise phase route, etc.
[0089]
[0104] At 930, method 900 includes receiving a set of candidate altitude change phase routes having candidate step profiles. Each candidate climb phase route may include a route between the departure airport and the top of the climb. Each candidate descent phase route may include a route between the top of the descent and the destination airport. The set of candidate altitude change phase routes may include routes available for the planned flight (e.g., not assigned to another aircraft, not within a bad weather route). Each step profile may include several steps, step lengths, total lateral distances, climb or descent angles, etc. The step length and altitude change angle may vary for each segment of the altitude change phase route.
[0090]
[0105] At 940, method 900 includes an iteration for each candidate cruise phase route. At 950, method 900 includes predicting a sequence of fuel burn based at least on a sequence of multivariate flight data and a set of flight parameters. In other words, in a flight (or portion of a flight) characterized by N time steps, a separate fuel burn prediction is made for each of the N time steps. The prediction is based on at least one input sequence and on the hidden state of a trained machine. During training, as described above, the 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 a state that minimizes the overall residue for replicating the fuel burn in each corresponding sequence.
[0091]
[0106] Predicting a sequence of fuel burn can be further based on the hidden state of a trained machine. Predicting a 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 of a preselected series of previous flights, a corresponding sequence 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 an overall residue for replicating the fuel burn in each corresponding sequence.
[0092]
[0107] Predicting a 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 this purpose, an encoder can output a vector characterizing the input sequence. A decoder can decode the vector to generate an output sequence.
[0093]
[0108] At 960, method 900 includes summing the fuel burn over a candidate altitude change phase route to obtain a predicted fuel burn. In some embodiments, the predicted fuel burn can be separated into the fuel burn of the left engine and the fuel burn of the right engine. At 970, method 900 includes indicating a suitable candidate altitude change phase route having a predicted lowest fuel burn. For example, a suitable candidate cruise phase route can be shown to the pilot, shown in the flight plan, transmitted to the Federal Aviation Administration, etc.
[0094]
[0109] In some embodiments, method 900 may be performed before refueling an aircraft for takeoff. Thus, in some embodiments, method 900 further includes refueling the aircraft based at least on a predicted lowest fuel burn. For example, the aircraft may be refueled based on a predicted fuel burn for the climb phase, a predicted fuel burn for the descent phase, and a predicted lowest fuel burn for the cruise phase. The aircraft may be refueled based on a fuel safety margin.
[0095]
[0110] In some embodiments, the aircraft is at least partially autonomous. In such embodiments, method 900 may further include controlling the aircraft to follow a suitable candidate altitude change phase route.
[0096]
[0111] In some embodiments, method 900 may be performed during flight of the aircraft. Thus, the method may include receiving a candidate descent phase route from the current position of the aircraft to the top of descent at the destination airport. The currently planned descent route may be adjusted or changed as a change in flight parameters, and an updated descent phase route is determined to indicate a reduced fuel burn.
[0097]
[0112] FIG. 10 schematically illustrates a non-limiting embodiment of a computing system 1000 that may implement one or more of the methods and processes described above. Computing system 1000 is illustrated in a simplified form. Computing system 1000 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.
[0098]
[0113] Computing system 1000 includes a logic machine 1010 and a storage machine 1020. Computing system 1000 may optionally include a display subsystem 1030, an input subsystem 1040, a communication subsystem 1050, and / or other components not shown in FIG. 10. Machine learning pipeline 300, trainable machine 600, and trained machine 700 are examples of computing system 1000.
[0099]
[0114] Logic machine 1010 includes one or more physical devices configured to execute a plurality of instructions. For example, the logic machine may be configured to execute a plurality of instructions. The plurality of instructions may be part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such a plurality of instructions may be implemented to perform work, implement data types, transform the state of one or more components, achieve a technical effect, or otherwise reach a desired result.
[0100]
[0115] The logic machine may include one or more processors configured to execute a plurality of software instructions. Additionally or alternatively, the logic machine may include one or more hardware or firmware logic machines configured to execute a plurality of hardware or firmware instructions. The processors of the logic machine may be single-core or multi-core, and the plurality of instructions executed by the processors may be configured to be processed sequentially, in parallel, and / or distributively. The individual components of the logic machine may optionally be distributed across two or more separate devices. These devices may be located remotely and / or configured for coordinated processing. The plurality of aspects of the logic machine may be virtualized and executed by remotely accessible network computing devices configured as a cloud computing configuration.
[0101]
[0116] Storage machine 1020 includes one or more physical devices configured to hold a plurality of instructions executable by a logic machine to implement the methods and processes described herein. When such methods and processes are implemented, the state of storage machine 1020 may be transformed, for example, to hold various data.
[0102]
[0117] Storage machine 1020 may include removable and / or embedded devices. Storage machine 1020 may include, among other things, 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, tape drive, MRAM, etc.). Storage machine 1020 may include volatile devices, non-volatile devices, dynamic devices, static devices, read / write devices, read-only devices, random access devices, location-addressable devices, file-addressable devices, and / or content-addressable devices.
[0103]
[0118] It will be understood that storage machine 1020 includes one or more physical devices. However, alternative aspects of the plurality of instructions described herein may be propagated by a communication medium (e.g., electromagnetic signal, optical signal, etc.) that is not held by a physical device for a finite duration.
[0104]
[0119] Aspects of logic machine 1010 and storage machine 1020 may be integrated within one or more hardware logic components. Such hardware logic components may include, for example, field programmable gate arrays (FPGA), application specific integrated circuits / application specific standard products (PASIC / ASIC), application specific standard products / application specific standard products (PSSP / ASSP), system on a chip (SOC), and complex programmable logic devices (CPLD).
[0105]
[0120] The terms "module", "program", and "engine" may be used to describe multiple aspects of a computing system 1000 implemented to perform a specific function. In some cases, a module, program, or engine may be instantiated via a logic machine 1010 that executes a plurality of instructions held by a storage machine 1020. It will be understood that various 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 various applications, services, code blocks, objects, routines, APIs, functions, etc. The terms "module", "program", and "engine" may include individual ones or groups such as executable files, data files, libraries, drivers, scripts, database records, etc.
[0106]
[0121] As used herein, it will be understood that a "service" is an application program executable over multiple user sessions. A service may be available to one or more system components, programs, and / or other services. In some embodiments, a service may be executed on one or more server computing devices.
[0107]
[0122] When included, the display subsystem 1030 can be used to present a visual representation of data held by the storage machine 1020. This visual representation can take the form of a graphical user interface (GUI). When the methods and processes described herein change the data held 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 represent the underlying data change. The display subsystem 1030 can include one or more display devices that utilize virtually any kind of technology. Such display devices can be combined with the logic machine 1010 and the storage machine 1020 within a shared housing. Alternatively, such display devices can be peripheral display devices.
[0108]
[0123] When included, the input subsystem 1040 can include or interact 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 interact with selected natural user input (NUI) components. Such components can be integrated or peripheral, and the transmission and / or processing of input actions can be handled on-board or off-board. Exemplary NUI components can include a microphone for speech and / or voice recognition, an infrared camera, a color camera, a stereo camera, and / or a depth camera for machine vision and / or gesture recognition, a head tracker, an eye tracker, an accelerometer, and / or a gyroscope for motion detection and / or intent recognition, and an electric field sensing component for evaluating brain activity.
[0109]
[0124] If included, the communication subsystem 1050 may be configured to communicatively couple the computing system 1000 with one or more other computing devices. The communication subsystem 1050 may include wired and / or wireless communication devices that are compatible with one or more different communication protocols. By way of non-limiting plurality of examples, the communication subsystem may be configured to communicate via a radio telephone network, or a wired or wireless local or wide area network. In some embodiments, the communication subsystem may enable the computing system 1000 to send and / or receive messages with other devices via a network such as the Internet.
[0110]
[0125] Furthermore, the present disclosure includes a plurality of configurations according to the following plurality of embodiments.
[0111]
[0126] Example 1. A method for selecting an altitude change phase route for an aircraft, comprising receiving a sequence of multivariate flight data from at least one previous flight, receiving a set of flight parameters for the aircraft including at least the total altitude change and the takeoff weight, receiving a set of candidate altitude change phase routes having candidate step profiles, for each candidate altitude change phase route, predicting a sequence of fuel burn amounts for each candidate step profile based at least on the sequence of multivariate flight data and the set of flight parameters, and summing the fuel burn amounts over the candidate altitude change phase route to obtain a predicted fuel burn amount, and indicating a suitable candidate altitude change phase route having the predicted lowest fuel burn amount.
[0112]
[0127] Example 2. The method according to Example 1, further comprising refueling the aircraft based at least on the predicted lowest fuel burn amount.
[0113]
[0128] Example 3. The aircraft is at least partially autonomous, and the method further includes controlling the aircraft to follow the suitable candidate altitude change phase route, the method according to embodiment 1 or 2.
[0114]
[0129] Example 4. The altitude change phase is an ascending phase, the method according to any one of embodiments 1 to 3.
[0115]
[0130] Example 5. The altitude change phase is a descending phase, the method according to any one of embodiments 1 to 4.
[0116]
[0131] Example 6. The flight parameters further include the weight at the top of the descent of the aircraft, the method according to any one of embodiments 1 to 5.
[0117]
[0132] Example 7. The flight parameters further include the time until landing, the method according to any one of embodiments 1 to 6.
[0118]
[0133] Example 8. The multivariate flight data is discretized based on a step profile, the method according to any one of embodiments 1 to 7.
[0119]
[0134] Example 9. The flight parameters further include a lateral distance, the method according to any one of embodiments 1 to 8.
[0120]
[0135] Example 10. The lengths of one or more altitude change phases included in the multivariate flight data are adjusted to a common altitude change phase length, the method according to any one of embodiments 1 to 9.
[0121]
[0136] Example 11. Predicting the sequence of the fuel burn amounts, for each of a selected series of previous flights, based further on the hidden state of the trained machine, the corresponding sequences of multivariate flight data recorded during the previous flights are processed in a machine trainable to develop the hidden state, the hidden state minimizing an overall residual for replicating the fuel burn amount in each corresponding sequence, the method according to any one of Examples 1 to 10.
[0122]
[0137] Example 12. A machine trained to predict fuel burn amounts for an aircraft flight, comprising an input engine, a prediction engine, a total engine, and an output engine, the input engine configured to receive a sequence of multivariate flight data from at least one previous flight, receive a set of candidate altitude change phase routes having candidate step profiles, and receive a set of flight parameters including at least total altitude change and takeoff weight, the prediction engine configured to predict, for each candidate altitude change phase route, a sequence of fuel burn amounts for each respective candidate step profile based on at least the sequence of multivariate flight data and the set of flight parameters, the total engine configured to sum the fuel burn amounts across each candidate altitude change phase route to obtain a predicted fuel burn amount, and the output engine configured to indicate a suitable candidate altitude change phase route having the lowest predicted fuel burn amount.
[0123]
[0138] Example 13. The machine according to Example 12, wherein the candidate altitude change phase is one of a climb phase and a descent phase.
[0124]
[0139] Example 14. The machine according to Example 12 or 13, wherein the multivariate flight data is discretized based on a step profile.
[0125]
[0140] Example 15. The machine according to any one of 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.
[0126]
[0141] Example 16. The machine according to any one of Examples 12 to 15, further comprising a trained encoder disposed logically upstream of the trained decoder, the encoder being trained to output a vector characterizing an input sequence of multivariate flight data, the decoder being trained to replicate the fuel burn of the input sequence based on the vector, thereby generating an output sequence.
[0127]
[0142] Example 17. The machine according to any one of Examples 12 to 16, wherein the encoder and the decoder are configured according to a long short-term memory (LSTM) architecture.
[0128]
[0143] Example 18. The machine according to any one of Examples 12 to 17, further comprising a fully connected layer configured to interpret the fuel burn at each time step of the output sequence.
[0129]
[0144] Example 19. A method of training a machine to predict an aircraft's fuel burn over an altitude change phase of flight, the method comprising receiving a corresponding sequence of multivariate data for a plurality of previously performed flights, analyzing the corresponding sequence for each altitude change phase of the plurality of previously performed flights, discretizing the multivariate data based at least on step profiles and fuel burn for each cruise phase, processing each corresponding sequence to develop hidden states, wherein the hidden states minimize an overall residual for replicating the fuel burn in each corresponding sequence, processing each corresponding sequence, and exposing at least a portion of the hidden states.
[0130]
[0145] Example 20. The method of Example 19, further comprising training two or more machines to predict the aircraft's fuel burn over each altitude change phase, evaluating training results for each of the two or more machines, and adjusting hyperparameters for at least one machine based on the training results.
[0131]
[0146] It should be understood that the configurations and / or approaches described herein are exemplary in nature and these specific embodiments or examples are not to be taken in a limiting sense, because numerous variations are possible. The particular routines or methods described herein may represent one or more of any number of processing strategies. In that way, the various acts illustrated and / or described may be executed in other orders, concurrently, or omitted, in the order illustrated and / or described. Similarly, the order of the processes described above may be changed.
[0132]
[0147] 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.
Explanation of Symbols
[0133] 100 plots 200 plots 202, 204 steps 210 plots 220 plots 222, 224, 226 steps 230 plots 300 Machine Learning Pipeline 302 Past CPL Data 304 Raw Data Processing 306 Exploration Step 308 Training Data 310 Model Training 312 Training Evaluation Result 314 Hyperparameter Tuning Step 316 Test Data 318 Prediction Model 320 Heuristic 322 Verification Evaluation Result 400 plots 405 Insertion Diagram 410 Insertion Diagram 412 First Rising Segment 414 First Stair-Step Segment 416 Second Rising Segment 418 Second Stair-Step Segment 420 Third Rising Segment 500 Flight Profile 510 Flight Profile 520 Flight Profile 530 Flight Profile 600 Trainable Machine 602 Input Engine 604 Training Engine 606 Output Engine 608 Trainable Model 610 Tuning Engine 612 Trainable Encoder 614 Trainable Decoder 616 Fully Connected Layer 618 Hyperparameter 700 Trained Machine 702 Input Engine 706 Output Engine 708 Trained Model 710 Adjustment Engine 712 Trained Encoder 714 Trained Decoder 716 Fully Connected Layer 718 Hyperparameter 720 Prediction Engine 722 Total Engine 724 Fuel Combustion per Candidate Route 730 Multivariate Flight Data 732 Flight Parameters 734 Candidate Routes 736 Atmospheric Conditions 800 Method 810, 820, 830, 840, 850 Steps 900 Method 910, 920, 930, 940, 950, 960, 970 Steps 1000 Computing System 1010 Logic Machine 1020 Storage Machine 1030 Display Subsystem 1040 Input Subsystem 1050 Communication Subsystem
Claims
1. 1. A method (900) for selecting an altitude change phase route for an aircraft, comprising: receiving (910) a sequence of multivariate flight data (730) from at least one previous flight; receiving (920) a set of flight parameters (732) for the aircraft 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 candidate altitude change phase route (734) (940), predicting (950) a sequence of fuel burn for each candidate step profile based on at least the sequence of multivariate flight data (730) and the set of flight parameters (732); and summing (960) the fuel burns over the candidate altitude change phase route (734) to obtain a predicted fuel burn (724); and The method (900) includes indicating (970) a preferred candidate altitude change phase route having the lowest predicted fuel burn (724).
2. 2. The method of claim 1, further comprising refueling the aircraft based at least on the predicted lowest fuel burn.
3. The aircraft is at least partially autonomous, and the method further comprises:
2. The method of claim 1, further comprising: controlling the aircraft to follow the preferred candidate altitude change phase route.
4. The method (900) of claim 1, wherein the altitude change phase is an ascent phase.
5. The method (900) of claim 1 , wherein the altitude change phase is a descent phase.
6. 6. The method of claim 5, wherein the flight parameters further include a top weight of the aircraft descending.
7. The method (900) of claim 5, wherein the flight parameters (732) further comprise a time to landing.
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 comprise a lateral distance.
10. 10. The method (900) of claim 9, wherein lengths of one or more altitude change phases included in the multivariate flight data (732) are adjusted to a common altitude change phase length.
11. 2. The method of claim 1, wherein predicting (950) the sequence of fuel burn is further based on a hidden state of a trained machine (700), and for each of a preselected series of previous flights, a corresponding sequence of multivariate flight data (730) recorded during the previous flight is processed in a trainable machine (600) to develop the hidden state, which minimizes an overall residual for replicating the fuel burn in each corresponding sequence.
12. 1. A machine (700) trained to perform fuel burn predictions for an aircraft flight, comprising: an input engine (702), a prediction engine (720), a summation engine (722), and an output engine (796); The input engine (702) receiving (910) a sequence of multivariate flight data (730) from at least one previous flight; receiving (930) a set of candidate altitude change phase routes (734) having candidate step profiles; and receiving (920) a set of flight parameters (732) including at least a total altitude change and a takeoff weight; The prediction engine (720): for each candidate altitude change phase route (734), predicting (950) a sequence of fuel burn for a respective candidate step profile based on at least the sequence of multivariate flight data (730) and the set of flight parameters (732); The summation engine (722) summing said fuel burns over each candidate altitude change phase route (734) to obtain a predicted fuel burn (724); and The output engine (706) indicating a preferred candidate altitude change phase route having the lowest predicted fuel burn.
13. The machine (700) of claim 12, wherein the potential altitude change phase is one of an ascent phase and a descent phase.
14. The machine (700) of claim 12, wherein the multivariate flight data (730) is discretized based on a step profile.
15. 13. The machine (700) of claim 12, further comprising an adjustment engine (710) configured to adjust lengths of one or more altitude change phases included in the multivariate flight data (730) to a common altitude change phase length.
16. 13. The machine (700) of claim 12, further comprising a trained encoder (712) disposed logically upstream of a trained decoder (714), the encoder (712) being trained to output vectors characterizing an input sequence of multivariate flight data (730), and the decoder (714) being trained to replicate the fuel burn of the input sequence based on the vectors, thereby generating an output sequence.
17. 17. The machine (700) of claim 16, wherein the encoder (712) and the decoder (714) are configured according to a long short-term memory (LSTM) architecture.
18. The machine (700) of claim 17, further comprising a fully connected layer (716) configured to interpret the fuel combustion amount at each time step of the output sequence.
19. 1. A method (800) of training a machine (600) to predict fuel burn of an aircraft over an altitude change phase of flight, comprising: receiving (810) corresponding sequences of multivariate data (730) for a number of previously conducted flights; parsing (820) the corresponding sequence for an altitude change phase of each of the plurality of previous flights; discretizing (830) the multivariate data (730) based at least on a step profile and a fuel burn for each altitude change phase; Processing each corresponding sequence to develop a hidden state (840), the hidden state minimizing an overall residual for replicating the fuel burn in each corresponding sequence; and The method (800), comprising exposing (850) at least a portion of the hidden state.
20. training two or more machines (600) to predict fuel burn for said aircraft during each altitude change phase; evaluating the training results (312) for each of the two or more machines (600); and 20. The method (800) of claim 19, further comprising tuning hyperparameters (314) for at least one machine (600) based on the training results (312).