Training data for atmospheric data estimation in aircraft
By employing machine learning models to predict atmospheric data using aircraft avionics, the method addresses the challenges of external sensor limitations, providing accurate and redundant data estimation for precise aircraft control.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-08-18
- Publication Date
- 2026-03-16
AI Technical Summary
Conventional atmospheric data systems on aircraft rely on external sensors that are prone to damage, interference, and radar signature issues, making it difficult to determine accurate atmospheric data without external probes, especially in high-performance military aircraft.
A method using machine learning models to predict atmospheric data parameters in real-time within the aircraft by utilizing existing avionics data, simulating external conditions through integrated flight control models, and training neural networks with diverse simulated data sets.
Provides accurate and redundant atmospheric data estimation without external sensors, overcoming resource constraints and ensuring precise control in complex flight conditions.
Smart Images

Figure 0007830765000003 
Figure 0007830765000004 
Figure 0007830765000005
Abstract
Description
Technical Field
[0001] The present invention relates to atmospheric data estimation in an aircraft, and more particularly to training data for atmospheric data estimation in an aircraft.
Background Art
[0002] Atmospheric data estimation involves determining the values of atmospheric data parameters such as airspeed, altitude, angle of attack, and sideslip angle. Accurate determination of atmospheric data parameter values is important to enable precise control of an aircraft. The atmospheric data parameter values are typically displayed to a pilot and are also made available to an avionics system within the aircraft. In one example, the altitude-holding capability of an aircraft's autopilot system requires an accurate altitude value as an input. In one example, the angle of attack and sideslip angle are used by an aircraft's flight control system to automatically improve the stability and handling of the aircraft.
Summary of the Invention
[0003] According to one aspect of the present invention, there is provided a computer-implemented method for calculating training data for training an atmospheric data estimator to predict values of atmospheric data parameters of an aircraft, selecting ground-to-truth values of atmospheric data parameters according to the flight envelope of the aircraft, simulating corresponding values from avionics in the aircraft by using stored empirical data regarding the aircraft's engines and empirical data regarding the aircraft obtained from wind tunnel tests, as well as rules of computational fluid dynamics.
[0004] Preferably, simulating the corresponding values from avionics takes into account turbulent airflow using a gust model to simulate vertical and lateral gusts.
[0005] Preferably, the simulation involves scaling the turbulence to reflect the maximum wind speed.
[0006] Preferably, the selection of ground truth values is carried out taking at least one constraint into consideration.
[0007] Preferably, at least one constraint is the maximum Mach number or vertical G load that is practical for a human pilot to experience.
[0008] Preferably, selecting a ground truth value involves calculating the ground truth value as the trajectory is flown by the simulator.
[0009] Preferably, ground truth values are selected at a high frequency. While simulations are run at a high frequency, the conditions used for training are randomly selected at any frequency, as long as sufficient data points are collected. Lower frequencies have the advantage of producing more distinct points.
[0010] Preferably, the method includes selecting multiple altitudes and attitudes along the trajectory of the operation template and outputting corresponding ground truth atmospheric data parameters.
[0011] Preferably, the method includes using a random input generator to generate flight control values for a specified period.
[0012] Preferably, the method includes varying altitude and speed using rules that specify intervals over a certain range.
[0013] Preferably, the method includes using training data to train a neural network to predict the values of aircraft atmospheric data parameters using supervised training.
[0014] Preferably, the method includes splitting the training data into a validation dataset and a training dataset such that the validation dataset contains different data points from the training dataset, and validating the neural network using the validation dataset.
[0015] According to one aspect of the present invention, an apparatus is provided for calculating training data for training an atmospheric data estimator to predict the values of atmospheric data parameters of an aircraft. A processor configured to select ground truth values for atmospheric data parameters according to the aircraft's flight envelope, It comprises a computer-implemented simulator configured to simulate corresponding values from the avionics of an aircraft by using stored empirical data on aircraft engines, empirical data on aircraft obtained from wind tunnel tests, and rules of computational fluid dynamics.
[0016] Preferably, the simulator is configured to simulate vertical and lateral gusts using a gust model, taking turbulence into account, and to simulate corresponding values from avionics.
[0017] Preferably, the simulator is configured to scale the turbulence to reflect the maximum wind speed.
[0018] Preferably, the processor is configured to calculate the ground truth value using a simulator that takes at least one constraint into account.
[0019] Preferably, at least one constraint is the maximum Mach number or vertical G load that is practical for a human pilot to experience.
[0020] Preferably, the processor is configured to select a ground truth value by calculating a ground truth value for a random trajectory flown by a simulator.
[0021] Preferably, the processor is configured to use training data to train a neural network to predict values of aircraft atmospheric data parameters using supervised training.
[0022] Preferably, the processor is configured to split the training data into a validation data set and a training data set such that the validation data set includes data points different from the data points in the training data set, and use the validation data set to validate the neural network.
Brief Description of the Drawings
[0023] Embodiments of the present invention are described by way of example only with reference to the accompanying drawings. [Figure 1] FIG. 1 shows an aircraft and has a schematic diagram of various avionics in the aircraft, including an atmospheric data estimator for estimating atmospheric data parameter values. [Figure 2] FIG. 2 shows an aircraft subject to aerodynamic forces, inertial forces, and gravity. [Figure 3] FIG. 3 shows an exemplary method of calculating training data. [Figure 4] FIG. 4 shows an example of an atmospheric data estimator. [Figure 5] FIG. 5 shows an example of a neural network used in an atmospheric data estimator. [Figure 6a] FIG. 6a shows a flowchart of an exemplary method of training a neural network for use in an atmospheric data estimator. [Figure 6b] FIG. 6b shows a flowchart of an exemplary method of validating a neural network for use in an atmospheric data estimator. [Figure 7] Figure 7 shows a flowchart illustrating an exemplary method for using an atmospheric data estimator in an aircraft. [Figure 8a] Figure 8a is a graph showing the relationship between the sideslip angle estimated by the atmospheric data estimator and the ground truth angle of the sideslip. [Figure 8b] Figure 8b is a graph showing the knot equivalent airvelocity and ground truth knot equivalent airvelocity estimated by the atmospheric data estimator. [Figure 8c] Figure 8c is a graph showing the angle of attack estimated by the atmospheric data estimator and the angle of attack of ground truth. [Modes for carrying out the invention]
[0024] Conventional atmospheric data systems on aircraft generally use data from surface-mount sensors that measure atmospheric pressure and temperature, from which airspeed, altitude, and ambient temperature are derived. Airflow detectors can also be mounted on aircraft as stall warning devices. More advanced aircraft may also require sensors that measure airflow angle, from which the angle of attack and sideslip angle can be determined to improve aircraft stability and maneuverability, using not only the pilot but also the aircraft's flight control system.
[0025] Conventional atmospheric data probes are protrusions mounted on the forward fuselage of an aircraft, susceptible to damage both on the ground and in the air, and prone to being blocked by debris. External atmospheric data probes also must be heated to prevent ice buildup or water accumulation. These sensors also generate aerodynamic drag, causing aerodynamic interference with other surface-mounted protrusions, and can even degrade engine intake performance. Externally mounted probes can also significantly contribute to the aircraft's radar signature. In high-performance military aircraft, the optimal external location for atmospheric data sensors is often not possible, radar performance requirements may prevent mounting sensors on radomes, flight and mission sensors may compete for position on the forward fuselage, and the locations of landing gear, engine air inlets, and control surfaces can also limit atmospheric data sensor locations. Furthermore, in modern high-performance military aircraft, mounting multiple sensors on the forward fuselage and integrating multiple atmospheric data sensors with them is often difficult. Therefore, the ability to determine atmospheric data without using external atmospheric data probes is highly desirable.
[0026] The inventors have developed a method for determining various atmospheric data parameters without using data from conventional atmospheric data sensors. Only sensor data from sensors inside the aircraft, or sensor data derived from sensors inside the aircraft, is used. A machine learning model is used to predict atmospheric data parameter values in real time, i.e., during the aircraft's flight, so that the predicted atmospheric data parameter values can be used to control the aircraft during flight. This technology is operable in any aircraft (including propeller aircraft) with appropriate inertia and flight control hardware, as described below. The atmospheric data estimator described herein is operable for both civilian and military aircraft. In both applications, there are advantages to performing atmospheric data estimation, but the installation of atmospheric data sensors is more difficult, and perhaps even more so in the case of military aircraft with larger flight and control envelopes.
[0027] Atmospheric data requires both accuracy and redundancy. Having an atmospheric data estimator like those described herein provides a separate atmospheric data source that is largely independent of other atmospheric data sources.
[0028] Developing machine learning models capable of predicting atmospheric data parameter values in real time for use in aircraft is not easy. This problem is particularly exacerbated in the case of military aircraft or jet fighters. Jet fighters are highly agile and used for complex maneuvers where atmospheric data parameter values change rapidly and they move between extreme conditions. Fighters operate in a range of harsher environmental conditions than civilian aircraft and experience greater turbulence than typical civilian aircraft.
[0029] Jet fighters are highly resource-constrained devices. Space, power, weight, and time are examples of resources that are scarce in the case of jet fighters. Therefore, deploying machine learning models for atmospheric data estimation in jet fighters faces the challenge of constrained resources.
[0030] Figure 1 shows an aircraft 100 and has a schematic diagram of various avionics in the aircraft, including an atmospheric data estimator 106 for estimating the values of atmospheric data parameters 120. The atmospheric data estimator 106 and output parameter calculator 112 within the aircraft 100 output the values of atmospheric data parameters 120. The atmospheric data estimator 106 and output parameter calculator 112 are implemented on a computer and perform atmospheric data processing 105. In the example in Figure 1, the atmospheric data parameters 120 include angle of attack 122, sideslip 124, barometric altitude 126, and airspeed 128. The atmospheric data estimator 106 and output parameter calculator 112 can calculate the values of atmospheric data parameters 120 in real time without using atmospheric data sensors on the exterior of the aircraft 100. This is achieved by using the avionics within the aircraft to provide values for input to a machine learning model in the atmospheric data estimator 106. The avionics may be the aircraft's existing avionics, meaning they do not need to be modified for use with the atmospheric data estimator 106. The atmospheric data estimator 106 is a computer implemented using any one or more of the following: software, firmware, and hardware. For example, the atmospheric data estimator 106 is a low-power, small computer implementation component that is easy to deploy inside an aircraft.
[0031] An angle of attack of 122 degrees is the angle between the aircraft's reference line and the incoming airflow.
[0032] Sideslip, also known as the sideslip angle, is the angle between the direction the aircraft is facing and the direction of the incoming air.
[0033] Barometric altitude is a function of static pressure according to the agreed-upon international standard atmospheric definition. Therefore, barometric altitude can be derived from the corrected static pressure from atmospheric data estimators.
[0034] The airspeed may be either the equivalent airspeed in knots, which is the calibrated airspeed adjusted for compression effects, or the calibrated airspeed itself. The calibrated airspeed (CAS) is a function of pitot minus static pressure and is the airspeed typically displayed to the pilot.
[0035] Equivalent air velocity (EAS) is corrected for CAS (Cold Air Stress) for the compression effect of air and is a function of dynamic pressure. The Mach number is the ratio of true airvelocity to the local speed of sound and can be calculated from Pitot and static pressure. It may also be derived from static or dynamic pressure. When total temperature data is measured by a probe installed in the engine intake duct and used for airvelocity calculations, the airvelocity is true airvelocity. In some cases where the speed ratio is calculated, the Mach number is given.
[0036] The values of the atmospheric data parameters 120, calculated using the atmospheric data estimator 106 and the output parameter calculator 112, are optionally displayed on the display 118 inside the aircraft 100.
[0037] As mentioned above, the avionics may be existing avionics inside the aircraft. The exemplary avionics in Figure 1 include a digital engine control unit 108, a vehicle management system 110, a flight control system 114, a navigation subsystem, and an inertial measurement unit 116. Note that in some examples, one or more of the avionics in Figure 1 are integrated together. In one example, the flight control system 114 and the atmospheric data estimator 106 are integrated together.
[0038] The digital engine control unit 108 is an avionics system that monitors and automatically adjusts the engine performance and related criteria of the aircraft during flight. The digital engine control unit performs electronic management of the engine and performs engine condition monitoring for optimized engine performance. The digital engine control unit 108 receives data from sensors within the aircraft engine. Each engine has an electronic control unit mounted on the engine or engine fan case, which draws power from the engine alternator to receive engine data from sensors within the engine, and the engine system measures engine data such as vibration, fuel consumption, thrust, power consumption, temperature, displacement, and sound, one or more of which are measured.
[0039] The vehicle management system 110 is an avionics system comprising a computer system that receives data from onboard sensors that monitor the amount of fuel and the number of weapons on board the aircraft. The vehicle management system outputs the current mass and center of gravity of the aircraft. The mass and center of gravity of the aircraft are amounts that change as fuel is burned (or accepted in the case of refueling in flight) and weapons are released. In some cases, the vehicle management system 110 is part of the flight control system 114. Further details about the flight control system are given here. In some examples, the vehicle management system 110 can perform many other functions.
[0040] The flight control system 114 is an avionics system that operates the aircraft's control surfaces. The flight control system 114 operates the control surfaces automatically (for example, by issuing computer-implemented commands to stabilize the aircraft without pilot input) or using input from a human pilot operating the aircraft's cockpit controls. Control surfaces, such as ailerons, elevators, rudders, spoilers, flaps, slats, air brakes, and control trimming surfaces, are movable aerodynamic devices used to control the aircraft's flight attitude. In one example, hinges or tracks are used to allow movement of the control surfaces to deflect the airflow over the control surfaces and cause rotation of the aircraft about an axis associated with the control surfaces. The flight control system has information about the position of the aircraft's control surfaces and can provide the control surface positions as values for input to the atmospheric data estimator 106. The flight control system may also have multiple atmospheric data sensors, including one or more static pressure sensors integrated into a dedicated sensor / transducer unit. Therefore, static pressure can be supplied to an atmospheric data estimator, whether implemented in the flight control computer or a dedicated atmospheric data computer. In one example, the aircraft's static pressure system includes a static pressure port, which is a small opening in the aircraft shell that allows sensing of ambient atmospheric pressure during flight. The flight control system can provide the measured static pressure value as input to the atmospheric data estimator 106. In some cases, static pressure is supplied directly to the atmospheric data estimator or flight control system from a dedicated pressure sensor unit. In some examples, the static pressure data is digitized and provided by a digital data bus.
[0041] The navigation subsystem and inertial measurement unit 116 comprises one or more accelerometers, gyroscopes, or global positioning system sensors inside the aircraft. The navigation subsystem and inertial measurement unit 116 are avionics and in-aircraft sensors that output one or more of the aircraft's attitude, e.g., the aircraft's orientation relative to the horizon, the aircraft's operating speed, and the aircraft's acceleration. The aircraft's operating speed is the amount of operation performed per unit time. Given basic operations such as increasing altitude, here the operating speed is the rate of change in altitude. Other types of operations include turning, which results in a change in the aircraft's heading, and accelerating, which results in a change in the aircraft's speed and Mach number. Complex operations involve combinations of more than one type of basic operation.
[0042] The values of atmospheric data parameters 120 calculated by the atmospheric data estimator 106 and the output parameter calculator 112 are displayed on a display 118 in the aircraft 100 and / or used by the avionics in the aircraft 100, such as the flight control system 114, the digital engine control unit 108, the vehicle management system 110, and the navigation subsystem and the inertial measurement unit 118.
[0043] Figure 2 shows an aircraft subjected to aerodynamic forces, inertial forces, and gravity during flight (L represents lift, W represents gravity, and D represents drag). The angle of attack α and sideslip angle β are also shown in Figure 2, along with the air velocity vector V. The aircraft generates engine thrust T as shown. When these forces are balanced, the aircraft is said to be "trimmed". Engine thrust and control surface position are constant in a trimmed state, but they depend on the aircraft's mass and center of gravity, which change as fuel is burned (or accepted in the case of refueling in flight) and weapons are released.
[0044] The physics of aircraft flight is embodied in equations of motion that take into account aerodynamic forces, inertial forces, and gravity. Information regarding inertial forces and gravity is obtained using data from the avionics, as shown in Figure 1. Aerodynamic forces are functions of airspeed and the direction of airflow, defined by the angle of attack and sideslip. Aerodynamic forces are also affected by any configuration changes that impact the aircraft's external lines, such as the deployment of landing gear. Whether or not the landing gear is deployed is known from the vehicle management system in the avionics shown in Figure 1.
[0045] Figure 3 shows an exemplary method for calculating training data to train a machine learning model in the atmospheric data estimator 106. In the example in Figure 3, the machine learning model is trained using supervised training, but unsupervised or semi-supervised training may also be used. Accuracy is measured quantitatively using validation data, as described below, taking generalization ability into account. Generalization ability is assessed by ensuring that the validation data points are sufficiently far from the training set data points. This is done by splitting the dataset into batches / runs (approximately 3000 points) rather than using purely random sampling. In some cases, accuracy is also assessed qualitatively using feedback from human pilots. Generalization ability is a measure of how well the machine learning model can predict values of atmospheric data parameters from input values not represented in the training data.
[0046] In supervised training, labeled training data pairs are used, each consisting of a set of values from the aircraft's avionics at a specified time and a corresponding set of ground truth atmospheric data parameter values. Ground truth atmospheric data parameter values are those known to be correct at the specified time. Hundreds of thousands or more training data pairs are used during training to achieve high accuracy in the machine learning model in the atmospheric data estimator. Training data pairs are acquired for a wide range of possible aircraft conditions, including different attitudes, atmospheric data speeds, environmental conditions such as turbulence, and different internal conditions such as mass, engine status, center of gravity, landing gear deployment, and control surface position. Using a wide range of possible aircraft conditions can improve the accuracy and generalization ability of the machine learning model.
[0047] Obtaining a sufficient quantity and variety of training data pairs to train a machine learning model is not easy. One option is to fly an aircraft and record a set of values from the aircraft's avionics and a corresponding set of empirical ground truth atmospheric data parameter values. In one example, the empirical ground truth atmospheric data parameter values are measured using a flight test boom equipped with atmospheric data sensors. However, obtaining a sufficiently diverse training data pair by flying an aircraft and recording data is extremely difficult because achieving extreme environmental conditions and / or extreme attitudes and airspeeds is challenging.
[0048] The inventors have developed a method for generating large and diverse training data sets through the use of simulation. Here, the simulation is a computer simulation using an integrated flight control model of aircraft dynamics and aerodynamics, engine performance, and flight control systems. In one example, the characteristics are measured in a wind tunnel or generated by a computational fluid dynamics solver. The resulting simulator is used to generate training data.
[0049] The training data is generated to cover the input space 300 of the atmospheric data estimator. The input space is the range of all input parameters of the atmospheric data estimator.
[0050] As shown in Figure 3, for each range value of the atmospheric data parameter, values are simulated from one or more of the aircraft's avionics components. Thus, for a particular set of simulated values 316 of the aircraft's avionics components, there exists a corresponding set of ground truth values 318 of the atmospheric data parameter. By repeating the simulation process for many sets of ground truth values of the atmospheric data parameter, a large number of training data pairs 322 are obtained.
[0051] An aircraft's flight envelope is known and stored in a database in the form of rules and / or limitations. The flight envelope is useful information about at least a portion of the input space 300. The aircraft's design envelope is typically provided by the aircraft manufacturer and includes Mach number, altitude, and airspeed, along with limits on acceleration and operating speed. Ideally, atmospheric data estimators are trained to function across the complete design envelope. The flight envelope to which an aircraft is cleared for flight is within the design envelope to provide a safety margin. The flight envelope is the range of altitude, attitude, speed, and acceleration that can be achieved using the aircraft.
[0052] The computer-implemented selector 302 is, in some cases, a random or pseudo-random selector that selects a set of values for atmospheric data parameters within the flight envelope 300. The computer-implemented selector 302 optionally considers constraints 304 so that the set of input parameter values is selected from the input space 300 according to constraints 304. An example of a constraint is the maximum acceleration that is practical for a human pilot to experience (e.g., 9G).
[0053] In some cases, the computer-implemented selector 302 takes into account the operation path when selecting a set of values for atmospheric data parameters. Random inputs, unlike conventional operations, are provided at high frequencies for random trajectories. Alternatively or additionally, one or more template operation paths are available to the random selector, and these template operation paths are flight control inputs over time. Template operation paths are formed for turns, altitude increases, altitude decreases, acceleration, subsonic, supersonic, and supersonic, bank turns, pitch up, and combinations thereof. The computer-implemented selector 302 is configured to select multiple altitudes and attitudes along a trajectory and output the corresponding ground truth atmospheric data parameters. By using extreme random operations, it is possible to demonstrate the robustness of the atmospheric data estimator 106.
[0054] When a set of atmospheric data parameter values is selected, the corresponding values from the aircraft's avionics are simulated. For example, one or more of the following may exist: a simulation 306 of the digital engine control unit 108, a simulation 308 of the flight control system, a simulation 312 of the vehicle management system, and a simulation 314 of the navigation subsystem and inertial measurement unit 116. One or more of these simulators may be combined into a single simulator within the flight control system simulator 308, rather than being separate entities as shown in Figure 3.
[0055] In some examples, a random input generator is used to generate flight control values for a specified period. In one example, altitude and speed are modified in a grid manner to ensure coverage of their respective aspects.
[0056] In one example, the digital engine control unit simulation 306 includes stored empirical data on engine performance determined from ground and flight test stands. One or more engines of the type of aircraft used are tested on the ground or in flight to obtain sensor data measurements, such as those acquired by the digital engine control unit in use. The stored empirical data includes fuel consumption, thrust, power consumption, temperature, displacement, and sound. The digital engine control unit simulation 306 can take a set of atmospheric data parameter values as input and return engine data from the stored empirical data. This is done by using rules on how to query the stored empirical data according to the ground truth atmospheric data parameter values.
[0057] For example, simulation 312 of the vehicle management system includes rules implemented in software that output the aircraft's current mass and its current center of gravity. The aircraft's mass and center of gravity are quantities that change as fuel is burned (or accepted in the case of refueling in flight) and weapons are deployed. Simulation 312 of the vehicle management system uses rules to generate values, such as using default values, selecting values according to rules or models for fuel consumption by the aircraft over time, selecting values according to rules or models for weapons deployment by the aircraft over time, and selecting values according to rules or models for refueling in flight.
[0058] In one example, the simulation 314 of the navigation subsystem and inertial measurement unit 116 includes software that calculates one or more of the following: aircraft attitude, such as the aircraft's orientation relative to the horizon, aircraft's operating speed, and aircraft's acceleration, given ground truth atmospheric data parameter values. The inertial data is generated in the simulation 314 using a set of template operations under various conditions within the aircraft's design envelope. The simulation 314 includes one or more rules or lookup tables, such as for selecting the aircraft's attitude from a range of values given for the ground truth atmospheric data parameters. The template operations used by the selector 302 may be used by the simulation 314 to signal the attitude selection.
[0059] Empirical data on aircraft obtained from wind tunnel tests and / or computational fluid dynamics (CFD) rules is used to generate aerodynamic datasets and data for atmospheric data corrections that are embedded in flight control model software.
[0060] In some cases, the simulation includes a software model of the inertial measurement unit that simulates the measurement of the aircraft's acceleration, taking into account noise in the inertial measurement unit. In some cases, the simulation includes rules for calculating the simulated operating speed of the aircraft, given the atmospheric data parameters of ground truth and the template operation used by selector 302.
[0061] In one example, the flight control system simulation 308 includes software that outputs the position and static pressure of the aircraft's control surfaces, given a set of ground truth atmospheric data parameter values and operation requests as inputs. The flight control system simulation 308 uses a flight control model to simulate the motion of the aircraft from a trimmed state through either template operations or operations with random but constrained pilot control inputs. The aircraft's response is further constrained by the flight control system. In one example, the static pressure is calculated by the simulation 308, taking into account position errors and noise, according to the altitude values provided in the ground truth parameter values.
[0062] In some examples, turbulence is taken into account by a simulated flight control system and / or a simulated navigation subsystem and inertial measurement unit. In these examples, the simulator uses a gust model, such as the Dryden turbulence model or other gust models that simulate both vertical and transverse gusts. In some examples, turbulence is scaled to reflect the maximum wind speed (jet flow) and the resulting extreme turbulence. A randomly selected amount of wind turbulence for both vertical and transverse gusts is simulated and taken into account by the simulator.
[0063] As shown in Figure 3, 316 simulated values are calculated. One set of simulated values is concatenated into a single vector, which is then input into a machine learning model in the atmospheric data estimator, representing the aircraft state at a specific time or time interval. The process in Figure 3 is repeated to simulate tens or hundreds of thousands of sets of simulated values. Each set of simulated values has a corresponding set of ground truth atmospheric data parameter values.
[0064] If there is a non-uniform distribution of outputs, bias correction 320 is performed optionally. A non-uniform distribution of outputs occurs when the neural network model is inherently biased to predict more frequent values. Bias correction with loss weights allows for mitigation of this.
[0065] The process in Figure 3 generates data pairs, each consisting of a set of simulated values from the aircraft's avionics and a corresponding set of atmospheric data parameter values. The first portion of the data pairs generated using the process in Figure 3 is stored in the training data store 322. The second portion of the data pairs generated using the process in Figure 3 is stored in the validation data store 324. Validation data pairs are different from training data pairs because they are taken from entirely separate training runs. The training data store 322 contains more data pairs than the validation data store 324.
[0066] Figure 4 shows an example of an atmospheric data estimator 106, which is a machine learning model such as a neural network, random decision forest, support vector machine, or other machine learning model. In the example described herein, the machine learning model is a neural network, but those skilled in the art will understand that equivalent machine learning models may be used instead of a neural network.
[0067] The atmospheric data estimator 106 receives input from one or more of the following: the digital engine control unit (DECU) 108, the flight control system 114, the vehicle management system 110, the navigation subsystem, and the inertial measurement unit 116. For example, the DECU 108 transmits engine data to the atmospheric data estimator. The flight control system 114 transmits the position of the aircraft's control surfaces and the aircraft's static pressure to the atmospheric data estimator. The vehicle management system 110 transmits the aircraft's mass and center of gravity to the atmospheric data estimator 106. The navigation subsystem and the inertial measurement unit transmit one or more of the following to the atmospheric data estimator 106: the aircraft's attitude, operating speed, and aircraft acceleration.
[0068] The atmospheric data estimator outputs predictions for angle of attack 122, sideslip angle 124, static pressure, and dynamic pressure. The static pressure and dynamic pressure predictions are input to the output parameter calculator 112. The output parameter calculator 112 calculates the predicted aircraft pressure 126 and the predicted aircraft airspeed 128. The output parameter calculator 112 is implemented in any one or more of the following: software, hardware, or firmware. The output parameter calculator calculates the predicted pressure 126 from the static pressure and a defined relationship between static pressure and barometric altitude. In one example, the output parameter calculator calculates the predicted airspeed 128 using the predicted dynamic pressure inserted into the following equation:
number
[0069] This is expressed in words as a dynamic pressure equal to half the air density multiplied by the square of the air velocity. The air density is the known standard sea-level air density, corrected for the predicted altitude.
[0070] Figure 5 shows an example of a neural network architecture used in the atmospheric data estimator 106. In the example in Figure 5, there is one neural network 520 shown in box 5, but in reality, there are four such neural networks, each receiving the same input from a concatenated operation 504. It has been shown that using separate neural networks improves the ability to coordinate and therefore improves accuracy.
[0071] In the example in Figure 5, each neural network 520 has four layers: an input layer 506, two hidden layers 508 and 510, and an output layer 512. The layers are fully connected, and each neural network 520 is a feedforward neural network. Note that in other examples, more than two internal layers are used, along with increased regularization.
[0072] The input layer has at least x nodes, where x is the number of input values from the aircraft's avionics. In one example, the input values are engine data including thrust, static pressure, control surface position, aircraft mass, aircraft center of gravity, attitude, operating speed, and acceleration. In an example with 12 control surfaces, the input layer 506 has 20 input values and 20 nodes. Those skilled in the art will understand that this example is not intended to be limiting and that other numbers of nodes may be used in the input layer depending on the number of input values used.
[0073] The input values are normalized, in some cases, by scaling them independently using minimum-maximum normalization.
[0074] The normalized input values are concatenated into a single vector. Using concatenation into a single vector has been shown to yield more accurate results compared to alternative methods that group input values into multiple separate input vectors.
[0075] In some examples, hidden layers 508 and 510 have the same number of nodes as input layer 506 and are fully connected layers as described above. Note that it is not necessary for the number of nodes in hidden layers 508 and 510 to be the same as the number of nodes in the input layer. In some examples, when more than two hidden layers are used to achieve similar functionality, dropout layers are also used.
[0076] The output layer 512 has a single node for the predicted parameter. Each neural network 520 outputs a different parameter. For example, there is one neural network for predicting static pressure, one neural network 122 for predicting the angle of attack, one neural network 124 for predicting sideslip, and one neural network 518 for predicting dynamic pressure.
[0077] The values at the node of output layer 512 are denormalized using the inverse of the normalization applied in operation 502 514. The results are the predicted values for static pressure 516, dynamic pressure 518, angle of attack 122, and sideslip 124.
[0078] Each node in a neural network has an activation that defines how the weighted sum of inputs to the node is transformed into an output. Any suitable nonlinear activation function is used, such as tanh or normalized linear unit for the input and hidden layers, and linear activation for the output layer.
[0079] In another example, the configuration in Figure 5 is modified so that there is only one neural network, and the output layer has one output node for each output parameter. Those skilled in the art will understand that other neural network architectures may be used.
[0080] Figure 6a shows a flowchart of an exemplary method for training a neural network for use in the atmospheric data estimator. The training data 322 is available, for example, calculated using the process in Figure 3. The training data includes tens of thousands or hundreds of thousands of training data pairs. Each training data pair includes a set of ground truth values for atmospheric data parameters 120 and a set of corresponding values from the aircraft's avionics (which may be simulated or empirical values).
[0081] The method in Figure 6a is highly computationally intensive and therefore could be executed in a distributed manner within the cloud. However, the use of distributed processing is not mandatory.
[0082] Training example 600, which is a training data pair from training data 322, is taken. A set of values from the aircraft's avionics is taken from the training data pair, normalized, and then input into the neural network. The set of values is propagated forward through the neural network layers using forward propagation 602. Forward propagation comprises applying a function to the node's input values and applying the node's weights at each node of the neural network layers. The result of the function and weights, as well as optionally applied biases, is an output value that is feedforward to the nodes of the next layer of the neural network according to the connections between layers. The node weights are initially set to random values.
[0083] Forward propagation proceeds until it reaches the output layer of the neural network. The output value of each node in the output layer is taken and denormalized. The denormalized output value is compared to the corresponding ground truth value from the training data pair. This comparison is performed by calculating a loss function such as the sum of squared errors or another loss function. Examples of loss functions that may be used are as follows:
number
[0084] To put this into words, the loss is the input x to the node. n And the predicted value y output by the node given the node's weight w, and the node's ground truth value t n It is the sum of the squared differences between and across n nodes in the layer.
[0085] Next, the backpropagation is calculated, thereby using the loss function to tell us how the weights at the nodes in the neural network layers should be updated. Optimization is calculated to determine the adjustments to be made to the weights. This is done for each of the neural network layers during the backpropagation process.
[0086] In operation 608, a check is performed to determine whether to repeat the process using a different set of training data. If the process is repeated, the method returns to operation 600 and takes another training example from training data 322.
[0087] When the process ends, the machine learning model is stored by remembering its weights. Better models are successively saved so that the best model can be recovered.
[0088] The decision to stop training in operation 608 is made according to one or more criteria, such as the number of training examples used, the elapsed time, the amount of weight change during recent backpropagation, and the divergence in performance between the training and validation datasets.
[0089] Figure 6b shows a flowchart of an exemplary method for validating a neural network for use in an atmospheric data estimator. Validation data 324 is available, which is either data created in the process of Figure 3, flight test data, or a combination of these types of data. In the case of flight test data, atmospheric data parameter sensors are used on the exterior of the aircraft to obtain pairs of ground truth atmospheric data parameter values and avionics values.
[0090] Let's consider validation example 612. Avionics values are obtained from the validation example, normalized, and then input to the neural network input layer. Forward propagation 614 is performed as described with respect to Figure 6A. Forward propagation yields a value output at the output layer node, which is compared to the ground truth value of the validation example. This comparison is performed by calculating the loss 616 using the loss function described above. The result of the loss function is stored.
[0091] A decision is made at the decision point 618 to repeat. If repeating, another validation example is taken, and the process continues from operation 612. If the decision is not to repeat, the accuracy metric is calculated in operation 620. The decision to repeat at decision point 618 is made using criteria such as the number of validation examples processed.
[0092] In operation 620, to calculate the accuracy metric, the standard deviation, mean, median, or mode of the calculated loss is calculated.
[0093] Once the neural network is trained and validated successfully, it is deployed to the aircraft. Validation is successful if the precision metric calculated in operation 620 exceeds a specified threshold.
[0094] Deploying neural networks in aircraft requires meeting resource constraints, including strict limitations on power, space, and time. The neural network should be low-power, capable of operating without drawing significant power from the aircraft. It should also be compact, given the limited space available in an aircraft. Furthermore, it must be highly efficient to enable real-time operation—that is, to predict atmospheric data parameters in real time during the flight of an aircraft in complex maneuvers where atmospheric data parameters are expected to change very rapidly. For example, real-time operation might mean calculating new values for atmospheric data parameters approximately 80 times per second.
[0095] The inventors have developed a neural network architecture, as shown in Figure 5, that facilitates low power consumption, low space requirements, and high-speed operation. Because the neural network in Figure 5 has only four layers, it is low power consumption, space requirements, and operates quickly. Furthermore, the number of hidden layers 508 and 510 can be reduced from two to one. The inventors have found that such a configuration provides accurate results and improves compactness and power reduction.
[0096] The inventors unexpectedly discovered that the use of a recurrent neural network architecture is unnecessary. As a result, they found that a feedforward neural network architecture with fully connected layers and no regressions provides accurate results in a highly efficient manner. Because a recurrent neural network is not used, compactification is easier. This reduces the size of the input space because there is no need to examine temporal combinations.
[0097] In some embodiments, the neural network is deployed using hardware circuitry such as a graphics processing unit or other parallel processing unit. In this case, the operating speed of the neural network is improved compared to when the neural network is deployed using software.
[0098] Figure 7 shows a flowchart of an exemplary method using an atmospheric data estimator 106 that can be deployed on an aircraft. The atmospheric data estimator 106 comprises a neural network trained using supervised learning. In one example, the neural network is trained as described with reference to Figure 6a and validated as described with reference to Figure 6b. The atmospheric data estimator 106 receives real-time input from the aircraft's avionics. The real-time input includes one or more engine data such as thrust, static pressure, control surface position, mass, center of gravity, attitude, operating speed, and acceleration.
[0099] The input is normalized by computing minimum-maximum normalization or other normalization, as described above with reference to Figure 5.702 The normalized input is fed into the input layer of the neural network in the atmospheric data estimator, and forward propagation 704 is computed as described with reference to Figure 6a, except that the weights are learned weights rather than random values.
[0100] The result of forward propagation 704 is the output value at the node of the output layer 512 of the neural network. The output value at the node of the output layer 512 is denormalized 706 by reversing the normalization operation from operation 702.
[0101] The denormalized output, which is a prediction of static and dynamic pressure, is input to the output parameter calculation 708, which calculates altitude and airspeed as described above, with reference to Figure 4.
[0102] The atmospheric data estimator outputs 712 parameter values that are displayed on displays in the cockpit, etc. 710. The parameter values 710 are also provided for controlling and / or managing the aircraft's avionics to automatically stabilize the aircraft or for other automated tasks. 714
[0103] An atmospheric data estimator and an output parameter calculator were created and tested. Examples of test data are shown in Figures 8a, 8b, and 8c. The data shown in Figures 8a to 8c were obtained from an atmospheric data estimator having a neural network architecture as shown in Figure 5, and trained using the training data computed as described with reference to Figure 3. The neural network in the atmospheric data estimator was trained and validated as described with reference to Figures 6a and 6b, and operated as described with reference to Figure 7. The data plotted in Figures 8a to 8c compare the simulated "true" operational predictions with the output from the atmospheric data estimator.
[0104] Figure 8a is a graph showing the sideslip angle estimated by the atmospheric data estimator and the simulated ground truth sideslip angle. The x-axis of the graph represents time in seconds. The y-axis of the graph represents the aircraft's control parameters. It can be seen that the sideslip angle predicted by the atmospheric data estimator matches the ground truth sideslip angle for most of the graph.
[0105] Figure 8b is a graph showing the knot equivalent airvelocity estimated by the atmospheric data estimator and the simulated ground-truth knot equivalent airvelocity. It can be seen that the knot equivalent airvelocity predicted by the atmospheric data estimator generally follows the ground-truth knot equivalent airvelocity.
[0106] Figure 8c is a graph showing the angle of attack estimated by the atmospheric data estimator and the simulated ground truth angle of attack. It can be seen that the angle of attack predicted by the atmospheric data estimator closely matches the ground truth angle of attack throughout the graph.
[0107] The computer implementation methods described herein are performed using software, firmware, or hardware, with any suitable type of computing device such as a microprocessor or other processor, and optionally with a graphics processing unit or other parallel processing device. The following is a direct reproduction of the claims as originally filed. [C1] A computer implementation method for calculating training data (322) for training an atmospheric data estimator (106) to predict the values of atmospheric data parameters of an aircraft (100), Selecting the ground truth value of the atmospheric data parameter according to the flight envelope of the aircraft (100), A computer implementation method comprising simulating corresponding values from the avionics within the aircraft (100) by using stored empirical data relating to the engine of the aircraft, empirical data relating to the aircraft (100) obtained from wind tunnel tests, and rules of computational fluid dynamics. [C2] Simulating corresponding values from avionics is a computer implementation method described in C1, which takes turbulence into account using a gust model to simulate vertical and lateral gusts. [C3] A computer implementation method according to C2, comprising scaling the turbulence to reflect the maximum wind speed. [C4] The selection of the ground truth value is performed according to the computer implementation method described in any one of C1 to C3, taking into consideration at least one constraint. [C5] The computer implementation method described in C4, wherein the at least one constraint is the maximum practical Mach number or vertical G load experienced by a human pilot. [C6] The computer implementation method according to any one of C1 to C5, wherein selecting the ground truth value includes calculating the ground truth value as the trajectory flown by the simulator. [C7] The selection of the aforementioned ground truth value is performed at high frequencies, as described in the computer implementation method C6. [C8] A computer implementation method according to any one of sections C1 to C7, comprising selecting multiple altitudes and attitudes along the trajectory of an operation template and outputting corresponding ground truth atmospheric data parameters. [C9] A computer implementation method according to any one of the C1 to C8, comprising using a random input generator to generate flight control values for a specified period. [C10] A computer implementation method according to any one of the C1 to C9, which includes varying altitude and velocity using rules that specify intervals over a certain range. [C11] A computer implementation method according to any one of C1 to C10, further comprising using the training data (322) to train a neural network (520) to predict values of atmospheric data parameters of an aircraft (100) using supervised training. [C12] A computer implementation method according to any one of C1 to 11, further comprising splitting the training data into the validation dataset (324) and the training dataset (322) such that the validation dataset (324) contains data points different from the data points in the training dataset (322), and validating the neural network (520) using the validation dataset (324). [C13] A device for calculating training data (322) for training an atmospheric data estimator (106) to predict the values of atmospheric data parameters of an aircraft (100), A processor configured to select ground truth values for atmospheric data parameters according to the flight envelope of the aircraft (100), An apparatus comprising a computer-implemented simulator configured to simulate corresponding values from the avionics within the aircraft (100) by using stored empirical data relating to the engine of the aircraft (100), empirical data relating to the aircraft obtained from wind tunnel tests, and rules of computational fluid dynamics. [C14] The apparatus described in C13, wherein the simulator is configured to simulate corresponding values from avionics, taking turbulence into account, using a gust model to simulate vertical and lateral gusts. [C15] The apparatus according to C14, wherein the simulator is configured to scale the turbulence to reflect the maximum wind speed. [C16] The apparatus according to any one of C13 to C15, wherein the processor is configured to select the ground truth value taking into consideration at least one constraint. [C17] The apparatus according to C16, wherein at least one of the constraints is the maximum practical Mach number or vertical G load that a human pilot can experience. [C18] The apparatus according to any one of C13 to 17, wherein the processor is configured to select the ground truth value by calculating the ground truth value as the trajectory to be flown by the simulator. [C19] The device according to any one of C13 to C18, wherein the processor is configured to select multiple altitudes and attitudes along the trajectory of an operation template and output corresponding ground truth atmospheric data parameters. [C20] The apparatus according to any one of C13 to 19, wherein the processor is configured to use the training data to train a neural network (520) to predict values of atmospheric data parameters of an aircraft (100) using supervised training. [C21] The apparatus according to any one of C13 to 20, wherein the processor is configured to split the training data into a validation dataset (324) and a training dataset (322) such that the validation dataset contains data points different from the data points in the training dataset, and to validate the neural network (520) using the validation dataset (324).
Claims
1. A computer implementation method for calculating training data (322) for training an atmospheric data estimator (106) to predict the values of atmospheric data parameters of an aircraft (100), Selecting the ground truth value of the atmospheric data parameter according to the flight envelope of the aircraft (100), A computer implementation method comprising simulating corresponding values from the avionics within the aircraft (100) by using stored empirical data relating to the aircraft's engine, empirical data relating to the aircraft (100) obtained from wind tunnel tests, and rules of computational fluid dynamics.
2. The computer implementation method according to claim 1, wherein simulating corresponding values from avionics takes turbulence into account using a gust model to simulate vertical and lateral gusts.
3. The computer implementation method according to claim 2, comprising scaling the turbulence to reflect the maximum wind speed.
4. The computer implementation method according to claim 1, wherein the selection of the ground truth value is performed taking into consideration at least one constraint.
5. The computer implementation method according to claim 4, wherein the at least one constraint is the maximum Mach number or vertical G load that is practical for a human pilot to experience.
6. The computer implementation method according to claim 1, wherein selecting the ground truth value includes calculating the ground truth value as the trajectory flown by the simulator.
7. The computer implementation method according to claim 6, wherein the selection of the ground truth value is performed at a high frequency.
8. A computer implementation method according to claim 1, comprising selecting multiple altitudes and attitudes along the trajectory of an operation template and outputting corresponding ground truth atmospheric data parameters.
9. The computer implementation method according to claim 1, comprising using a random input generator to generate flight control values for a specified period.
10. The computer implementation method according to claim 1, comprising varying altitude and velocity using rules that specify intervals over a certain range.
11. The computer implementation method according to claim 1, further comprising using the training data (322) to train a neural network (520) to predict values of atmospheric data parameters of an aircraft (100) using supervised training.
12. The computer implementation method according to claim 1, further comprising splitting the training data into the validation dataset (324) and the training dataset (322) such that the validation dataset (324) contains data points different from the data points in the training dataset (322), and validating the neural network (520) using the validation dataset (324).
13. A device for calculating training data (322) for training an atmospheric data estimator (106) to predict the values of atmospheric data parameters of an aircraft (100), A processor configured to select ground truth values for atmospheric data parameters according to the flight envelope of the aircraft (100), An apparatus comprising a computer-implemented simulator configured to simulate corresponding values from the avionics within the aircraft (100) by using stored empirical data relating to the engine of the aircraft (100), empirical data relating to the aircraft obtained from wind tunnel tests, and rules of computational fluid dynamics.
14. The apparatus according to claim 13, wherein the simulator is configured to simulate corresponding values from avionics, taking turbulence into account, using a gust model to simulate vertical and lateral gusts.
15. The apparatus according to claim 14, wherein the simulator is configured to scale the turbulence to reflect the maximum wind speed.
16. The apparatus according to claim 13, wherein the processor is configured to select the ground truth value taking into consideration at least one constraint.
17. The apparatus according to claim 16, wherein the at least one constraint is the maximum Mach number or vertical G load that is practical for a human pilot to experience.
18. The apparatus according to claim 13, wherein the processor is configured to select the ground truth value by calculating the ground truth value as the trajectory to be flown by the simulator.
19. The apparatus according to claim 13, wherein the processor is configured to select a plurality of altitudes and attitudes along the trajectory of an operation template and to output corresponding ground truth atmospheric data parameters.
20. The apparatus according to claim 13, wherein the processor is configured to use the training data to train a neural network (520) to predict values of atmospheric data parameters of an aircraft (100) using supervised training.
21. The apparatus according to claim 13, wherein the processor is configured to split the training data into a validation dataset (324) and a training dataset (322) such that the validation dataset contains data points different from the data points in the training dataset, and to validate the neural network (520) using the validation dataset (324).
Citation Information
Patent Citations
Optical Air Data System and Method
JP2019521035A
Fault detection in artificial intelligence based air data systems
US20070130096A1
Control system
US20230022505A1
Neural network system whose training is based on a combination of model and flight information for estimation of aircraft air data
WO2019071327A1