Training data for estimating atmospheric data on aircraft

A neural network-based method using internal aircraft avionics data predicts air data parameters in real-time, addressing the limitations of external sensors by providing accurate and redundant air data estimation for various aircraft types.

JP2025530703AActive Publication Date: 2025-09-17BAE SYSTEMS PLC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025511387
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-08-23
Filing Date
2023-08-18
Publication Date
2025-09-17
Estimated Expiration
2043-08-18

AI Technical Summary

Technical Problem

Conventional air data systems on aircraft rely on external sensors that are vulnerable to damage, create drag, and are difficult to integrate on high-performance aircraft, necessitating a method to estimate air data parameters without external sensors.

Method used

A computer-implemented method using machine learning models, specifically neural networks, to predict air data parameters in real-time using internal avionics data from existing aircraft systems, simulating various flight conditions and turbulence to generate training data.

Benefits of technology

Provides accurate and redundant air data estimation without external sensors, suitable for both civil and military aircraft, overcoming resource constraints and improving aircraft stability and control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025530703000001_ABST
    Figure 2025530703000001_ABST
Patent Text Reader

Abstract

Training data for estimating atmospheric data on aircraft A computer-implemented method for calculating training data for training an air data estimator to predict values ​​of air data parameters of an aircraft includes selecting ground truth values ​​of the air data parameters according to the flight envelope of the aircraft, and simulating corresponding values ​​from the aircraft's avionics by using stored empirical data for the aircraft's engines, empirical data for the aircraft obtained from wind tunnel testing, and computational fluid dynamics rules.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to air data estimation in aircraft, and more particularly to training data for air data estimation in aircraft. [Background technology]

[0002] Air data estimation involves determining values ​​for air data parameters such as airspeed, altitude, angle of attack, and sideslip angle. Accurate determination of air data parameter values ​​is important to enable precise control of the aircraft. Air data parameter values ​​are typically displayed to the pilot and also made available to avionics systems on the aircraft. In one example, the altitude hold capability of an aircraft's autopilot system requires accurate altitude values ​​as input. In one example, the angle of attack and sideslip angle are used by an aircraft's flight control system to automatically improve the aircraft's stability and handling. 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 air data estimator to predict values ​​of air data parameters of an aircraft, the method comprising: selecting ground truth values ​​of the atmospheric data parameters according to a flight envelope of the aircraft; and simulating corresponding values ​​from avionics in the aircraft by using stored empirical data about the aircraft's engines and empirical data about the aircraft obtained from wind tunnel testing, and rules of computational fluid dynamics.

[0004] Preferably, simulating the corresponding values ​​from the avionics takes turbulence into account using a wind gust model to simulate vertical and lateral wind gusts.

[0005] Preferably, the simulating includes scaling the turbulence to reflect maximum wind speed.

[0006] Preferably, selecting the ground truth values ​​is performed taking into account at least one constraint.

[0007] Preferably, at least one constraint is a maximum Mach number or vertical G-load that is practical for a human pilot to experience.

[0008] Preferably, selecting the ground truth values ​​comprises calculating the ground truth values ​​as the trajectory is flown by the simulator.

[0009] Preferably, the selection of ground truth values ​​is performed at high frequency. The simulation is performed at high frequency, but the states used for training can be selected randomly at any frequency, as long as enough data points are collected. A low frequency has the advantage that the points are more distinct.

[0010] Preferably, the method includes selecting a plurality of altitudes and attitudes along the trajectory of the maneuver template and outputting corresponding ground truth atmospheric data parameters.

[0011] Preferably, the method includes using a random input generator to generate values ​​for the flight controls for a specified period of time.

[0012] Preferably, the method includes varying the altitude and speed using rules that specify intervals over a range.

[0013] Preferably, the method includes using the training data to train a neural network to predict values ​​of the air data parameters of the aircraft using supervised training.

[0014] Preferably, the method includes splitting the training data into a validation data set and a training data set such that the validation data set includes different data points than the data points in the training data set, and validating the neural network using the validation data set.

[0015] According to one aspect of the present invention, there is provided an apparatus for calculating training data for training an air data estimator to predict values ​​of air data parameters of an aircraft, the apparatus comprising: a processor configured to select ground truth values ​​for the atmospheric data parameters according to a flight envelope of the aircraft; and a computer-implemented simulator configured to simulate corresponding values ​​from avionics in the aircraft by using stored empirical data for the aircraft's engines and empirical data for the aircraft obtained from wind tunnel testing, as well as rules of computational fluid dynamics.

[0016] Preferably, the simulator is configured to use a wind gust model to simulate vertical and lateral wind gusts, taking turbulence into account, and simulating corresponding values ​​from the avionics.

[0017] Preferably, the simulator is configured to scale the turbulence to reflect maximum wind speed.

[0018] Preferably, the processor is configured to calculate the ground truth values ​​using a simulator that takes into account the at least one constraint.

[0019] Preferably, at least one constraint is a maximum Mach number or vertical G-load that is practical for a human pilot to experience.

[0020] Preferably, the processor is configured to select the ground truth values ​​by calculating the ground truth values ​​for random trajectories flown by the simulator.

[0021] Preferably, the processor is configured to use the training data to train a neural network to predict values ​​of the air data parameters of the aircraft 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 different data points to those in the training data set, and to validate the neural network using the validation data set. [Brief explanation of the drawings]

[0023] Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which: [Figure 1] FIG. 1 shows an aircraft and has a schematic diagram of various avionics in the aircraft, including an air data estimator for estimating air data parameter values. [Figure 2] Figure 2 shows an aircraft subjected to aerodynamic, inertial, and gravitational forces. [Figure 3] FIG. 3 illustrates an exemplary method for calculating training data. [Figure 4] FIG. 4 shows an example of an atmospheric data estimator. [Figure 5] Figure 5 shows an example of a neural network used in the atmospheric data estimator. [Figure 6a] FIG. 6a shows a flow diagram of an exemplary method for training a neural network for use in an atmospheric data estimator. [Figure 6b] FIG. 6b shows a flow diagram of an exemplary method for validating a neural network for use in an atmospheric data estimator. [Figure 7] FIG. 7 illustrates a flow diagram of an exemplary method for using an air data estimator in an aircraft. [Figure 8a] Figure 8a is a graph of the sideslip angle estimated by the atmospheric data estimator versus the ground truth sideslip angle. [Figure 8b] FIG. 8b is a graph of the knot equivalent airspeed estimated by the air data estimator versus the ground truth knot equivalent airspeed. [Figure 8c] FIG. 8c is a graph of the angle of attack estimated by the atmospheric data estimator versus the ground truth angle of attack. DETAILED DESCRIPTION OF THE INVENTION

[0024] Conventional air data systems on aircraft typically use data from surface-mounted sensors that measure barometric pressure and air temperature, from which airspeed, altitude, and ambient temperature are derived. Airflow detectors may also be installed on aircraft as stall warning devices. More sophisticated aircraft may also require sensors that measure airflow angle, from which angle of attack and sideslip angle can be determined to improve aircraft stability and controllability, which can be used by the pilot as well as the aircraft's flight control system.

[0025] Conventional air data probes are mounted on the aircraft's forebody, protruding structures that are vulnerable to damage both on the ground and in the air and can become clogged with debris. External air data probes must also be heated to prevent ice buildup or water accumulation. These sensors also create aerodynamic drag, cause 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. On high-performance military aircraft, optimal external locations for air data sensors are often not possible; radar performance requirements may preclude mounting sensors on the radome; flight and mission sensors may compete for location on the forebody; and the locations of landing gear, engine air inlets, and control surfaces may also limit air data sensor locations. Furthermore, modern high-performance military aircraft mount multiple sensors on the forebody, and integrating multiple air data sensors with them is often difficult. Therefore, the ability to determine air data without the use of external air data probes is highly desirable.

[0026] The inventors have developed a method for determining various air data parameters without using data from traditional air data sensors. Only sensor data from or derived from sensors internal to the aircraft is used. Machine learning models are used to predict air data parameter values ​​in real time, i.e., during the flight of the aircraft, so that the predicted air data parameter values ​​can be used to control the aircraft during flight. The present technology is operable on any aircraft (including propeller-driven aircraft) equipped with appropriate inertial and flight control hardware, as described below. The air data estimator described herein is operable for both civil and military aircraft. In both applications, there are advantages to performing air data estimation, perhaps more so for military aircraft, where installation of air data sensors is more difficult and the flight and maneuvering envelope is larger.

[0027] Both precision and redundancy are needed in atmospheric data, and having an atmospheric data estimator as described herein provides another source of atmospheric data that is largely independent from other atmospheric data sources.

[0028] Developing machine learning models operable to predict air 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 fighter jets. Jet fighters are highly agile and are used to perform complex maneuvers that involve rapidly changing values ​​of air data parameters and moving between extreme conditions. Fighter jets operate in a range of more severe environmental conditions than commercial aircraft and experience greater turbulence than typical commercial aircraft.

[0029] A fighter jet is a highly resource-constrained device. Space, power, weight, and time are examples of scarce resources in the case of a fighter jet. Therefore, the deployment of machine learning models for air data estimation in a fighter jet faces the challenge of constrained resources.

[0030] FIG. 1 illustrates an aircraft 100 and includes a schematic diagram of various avionics on the aircraft, including an air data estimator 106 for estimating values ​​of air data parameters 120. An air data estimator 106 and an output parameter calculator 112 within the aircraft 100 output values ​​of the air data parameters 120. The air data estimator 106 and the output parameter calculator 112 are implemented on a computer and execute an air data process 105. In the example of FIG. 1 , the air data parameters 120 include angle of attack 122, sideslip 124, pressure altitude 126, and airspeed 128. The air data estimator 106 and the output parameter calculator 112 are capable of calculating values ​​of the air data parameters 120 in real time without using air data sensors on the exterior of the aircraft 100. This is accomplished by using the avionics on the aircraft to provide values ​​for input to a machine learning model within the air data estimator 106. The avionics may be the aircraft's existing avionics, i.e., the avionics do not need to be modified for use with the air data estimator 106. The air data estimator 106 is a computer implemented using any one or more of software, firmware, and hardware. In one example, the air data estimator 106 is a low-power, small computer-implemented component that is easy to deploy inside the aircraft.

[0031] The angle of attack 122 is the angle between the aircraft's baseline and the oncoming flow.

[0032] Sideslip, also known as sideslip angle, is the angle between the direction the aircraft is pointing and the direction of the incoming air.

[0033] Pressure altitude is a function of static pressure according to the agreed upon International Standard Atmosphere definition, and therefore can be derived from the corrected static pressure from the atmospheric data estimator.

[0034] Airspeed may be either knot equivalent airspeed, which is a calibrated airspeed adjusted for compression effects, or calibrated airspeed. Calibrated airspeed (CAS) is a function of pitot minus static pressure and is the airspeed typically displayed to the pilot.

[0035] Equivalent air speed (EAS) is CAS corrected for the compressibility of air and is a function of dynamic pressure. Mach number is the ratio of true airspeed to the local speed of sound and can be calculated from pitot and static pressures. It may also be derived from static and dynamic pressures. When full temperature data is measured by a probe installed in the engine intake duct and used in the airspeed calculation, the airspeed is true airspeed. In some cases where a speed ratio is calculated, the Mach number is given.

[0036] The values ​​of the air data parameters 120 calculated using the air data estimator 106 and the output parameter calculator 112 are optionally displayed on a display 118 within the aircraft 100 .

[0037] As mentioned above, the avionics may be existing avionics within the aircraft. The example avionics of Figure 1 includes 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 one or more of the avionics of Figure 1 may be integrated together in some examples. In one example, the flight control system 114 and the air data estimator 106 are integrated together.

[0038] The digital engine control unit 108 is an avionics component that monitors and automatically adjusts aircraft engine performance and related metrics during flight. The digital engine control unit performs electronic engine management and engine health monitoring for optimized engine performance. The digital engine control unit 108 receives data from sensors within the aircraft engines. Each engine has an electronic control unit mounted on the engine or engine fan case, draws power from the engine alternator, and receives engine data from sensors within the engine that measure engine data such as one or more of vibration, fuel consumption, thrust, power usage, temperature, emissions, and sound.

[0039] The vehicle management system 110 is an avionics system that includes a computer system that receives data from sensors on the aircraft that monitor the amount of fuel on board and the number of weapons on board. The vehicle management system outputs the current mass of the aircraft and the current center of gravity of the aircraft. The mass and center of gravity of the aircraft are quantities that change as fuel is burned (or accepted in the case of in-flight refueling) and weapons are released. In some instances, the vehicle management system 110 is part of a flight control system 114. More details about flight control systems are provided herein. The vehicle management system 110 can, in some examples, 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 (e.g., by issuing computer-implemented commands to stabilize the aircraft without pilot input) or with 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 aerodynamic devices that can move to control the aircraft's flight attitude. In one example, hinges or tracks are used to enable movement of the control surfaces to deflect airflow passing over the control surfaces and cause the aircraft to rotate about an axis associated with the control surfaces. The flight control system has information about the positions of the aircraft's control surfaces and can provide the control surface positions as values ​​for input to the air data estimator 106. The flight control system can also have multiple air data sensors, including one or more static pressure sensors integrated into dedicated sensor / transducer units. Thus, static pressure may be provided to the air data estimator 106, whether implemented in a flight control computer or a dedicated air data computer. In one example, an aircraft's static pressure system includes a static pressure port, which is a small opening in the aircraft shell that allows sensing of the surrounding atmospheric pressure during flight. The flight control system may provide measured static pressure values ​​as inputs to the air data estimator 106. In some cases, static pressure is provided directly to the air data estimator or flight control system from a dedicated pressure sensor unit. Static pressure data, in some examples, is digitized and provided by a digital data bus.

[0041] The navigation subsystem and inertial measurement unit 116 includes one or more accelerometers, gyroscopes, or global positioning system sensors within the aircraft. The navigation subsystem and inertial measurement unit 116 are avionics and on-board sensors that output one or more of the aircraft's attitude, e.g., the aircraft's orientation relative to the horizon, the aircraft's maneuver rate, and the aircraft's acceleration. The aircraft's maneuver rate is the amount of maneuver performed per unit time. Considering a basic maneuver such as increasing altitude, the maneuver rate here is the rate of change in altitude. Other types of maneuvers are turns, which result in a change in the aircraft's heading, and accelerations, which result in a change in the aircraft's speed and Mach number. Complex maneuvers involve a combination of more than one type of basic maneuver.

[0042] The values ​​of the air data parameters 120 calculated by the air data estimator 106 and the output parameter calculator 112 are displayed on a display 118 within the aircraft 100 and / or used by avionics within 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 inertial measurement unit 118.

[0043] Figure 2 shows an aircraft subjected to aerodynamic, inertial, and gravitational forces 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." While engine thrust and control surface position are constant in the trimmed condition, they depend on the aircraft's mass and center of gravity, which change as fuel is burned (or accepted in the case of in-flight refueling) and weapons are released.

[0044] The physics of aircraft flight are embodied in equations of motion that take into account aerodynamic, inertial, and gravitational forces. Using data from the avionics referenced in FIG. 1, information about inertial and gravitational forces is known. Aerodynamic forces are a function of airspeed and the direction of airflow, defined by the angle of attack and sideslip angle. Aerodynamic forces are also affected by any configuration changes that affect the aircraft's external lines, such as landing gear deployment. Whether landing gear deployment is activated is known to the vehicle management system in the avionics of FIG. 1.

[0045] FIG. 3 illustrates an exemplary method for calculating training data for training a machine learning model in the air data estimator 106. In the example of FIG. 3, the machine learning model is trained using supervised training, although unsupervised or semi-supervised training may also be used. Accuracy is measured quantitatively using validation data, as described below, and takes generalization ability into account. Generalization ability is assessed by ensuring that the validation data points are sufficiently distant from the training set data points. This is accomplished by dividing the dataset into batches / runs (approximately 3000 points) rather than purely random sampling. In some cases, accuracy is also assessed in a qualitative manner using feedback from human pilots. Generalization ability is a measure of how well a machine learning model can predict values ​​of air data parameters from input values ​​not represented in the training data.

[0046] In supervised training, labeled training data pairs are used, where the training data pair is a set of values ​​from the avionics in the aircraft at a specified time and a corresponding set of ground truth air data parameter values. The ground truth air data parameter values ​​are known to be correct at the specified time. To achieve high accuracy of the machine learning model in the air data estimator, hundreds of thousands of training data pairs are used during training. The training data pairs are obtained for a wide range of possible conditions of the aircraft, such as different attitudes, air data speeds, environmental conditions such as turbulence, and different internal conditions such as mass, engine state, 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 diversity of training data pairs for training a machine learning model is not easy. One option is to fly an aircraft and record a set of values ​​from the avionics on the aircraft and a corresponding set of empirical ground truth air data parameter values. In one example, the empirical ground truth air data parameter values ​​are measured using a flight test boom equipped with air data sensors. However, because extreme environmental conditions and / or extreme attitudes and air speeds are difficult to achieve, obtaining sufficiently diverse training data pairs by flying an aircraft and recording data is extremely difficult.

[0048] The inventors have developed a method for generating large volumes and diverse training data pairs through the use of simulation, where 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, 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] 3, for each range value of the air data parameters, values ​​from one or more of the aircraft's avionics components are simulated. Thus, for a particular set of simulated values ​​316 of the aircraft's avionics components, there is a corresponding set of ground truth values ​​318 of the air data parameters. By repeating the simulation process for many sets of ground truth values ​​of the air data parameters, a large number of training data 322 pairs is obtained.

[0051] The flight envelope of the aircraft is known and stored in a database in the form of rules and / or limitations. The flight envelope is useful information for at least a portion of the input space 300. The design envelope of the aircraft is typically provided by the aircraft manufacturer and includes Mach number, altitude, and airspeed, along with acceleration and maneuver rate limitations. Ideally, the air data estimator is trained to function over the complete design envelope. The flight envelope cleared for the aircraft to fly is within the design envelope to provide a safety margin. The flight envelope is the range of altitudes, attitudes, speeds, and accelerations that can be achieved using the aircraft.

[0052] Computer-implemented selector 302, possibly a random or pseudo-random selector, selects a set of values ​​for the atmospheric data parameters that lie within flight envelope 300. Computer-implemented selector 302 optionally takes into account constraints 304, such that a set of values ​​for the input parameters is selected from input space 300 according to constraints 304. An example of a constraint is the maximum acceleration (e.g., 9G) that is practical for a human pilot to experience.

[0053] In some cases, the computer-implemented selector 302 takes maneuver paths into consideration when selecting a set of values ​​for the air data parameters. Unlike conventional maneuvers, random inputs are provided at high frequency for random trajectories. Alternatively or additionally, one or more template maneuver paths are available to the random selector, where the template maneuver paths are flight control inputs over time. Template maneuver paths are formed for turns, altitude increases, altitude decreases, accelerations, subsonic, sonic, and supersonic speeds, bank turns, pitch up, and combinations thereof. The computer-implemented selector 302 is configured to select multiple altitudes and attitudes along the trajectory and output corresponding ground truth air data parameters. Using extreme random maneuvers can demonstrate the robustness of the air data estimator 106.

[0054] Once a set of air data parameter values ​​is selected, corresponding values ​​from the aircraft's avionics are simulated. In one example, there is one or more of a digital engine control unit 108 simulation 306, a flight control system simulation 308, a vehicle management system simulation 312, and a navigation subsystem and inertial measurement unit 116 simulation 314. One or more of these simulators may be combined into a single simulator in flight control system simulator 308 rather than being separate entities as shown in FIG. 3 .

[0055] In some examples, a random input generator is used to generate values ​​for flight controls for a specified period of time. In one example, altitude and speed are varied on a grid basis to ensure coverage of those aspects.

[0056] In one example, the digital engine control unit simulation 306 includes stored empirical data regarding engine performance determined from ground and flight test benches. One or more engines of the aircraft type used are tested on the ground or in flight to obtain sensor data measurements as obtained by the digital engine control unit in use. The stored empirical data includes fuel consumption, thrust, power usage, temperature, emissions, 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 regarding how to query the stored empirical data according to the ground truth atmospheric data parameter values.

[0057] In one example, vehicle management system simulation 312 includes software-implemented rules that output the current mass of the aircraft and the current center of gravity of the aircraft. The mass and center of gravity of the aircraft are quantities that change as fuel is burned (or accepted in the case of in-flight refueling) and weapons are released. Vehicle management system simulation 312 uses the rules to generate values ​​by using default values, selecting values ​​according to rules or models of fuel consumption by the aircraft over time, selecting values ​​according to rules or models of weapons deployment by the aircraft over time, selecting values ​​according to rules or models of in-flight refueling, etc.

[0058] In one example, the simulation 314 of the navigation subsystem and inertial measurement unit 116 includes software that calculates one or more of an aircraft attitude, such as the orientation of the aircraft relative to the horizon, aircraft maneuvering speeds, and aircraft accelerations, given ground truth atmospheric data parameter values. The inertial data is generated in the simulation 314 using a set of template operations at various conditions within the aircraft's design envelope. The simulation 314 includes one or more rules or lookup tables, such as for selecting an aircraft attitude from a range of values ​​given the ground truth atmospheric data parameters. The template operations used by the selector 302 may be used by the simulation 314 to inform the selection of the attitude.

[0059] Empirical data about the aircraft obtained from wind tunnel testing and / or computational fluid dynamics (CFD) rules is used to generate aerodynamic data sets and data for atmospheric data corrections that are embedded in the flight control model software.

[0060] In some cases, the simulation includes a software model of the inertial measurement unit that accounts for noise in the inertial measurement unit to simulate measurements of the aircraft acceleration. In some cases, the simulation includes rules for calculating simulated maneuvering speeds for the aircraft given the ground truth atmospheric data parameters and the template maneuvers used by the selector 302.

[0061] In one example, the flight control system simulation 308 includes software that outputs aircraft control surface positions and static pressures when given a set of ground truth atmospheric data parameter values ​​and maneuver requests as inputs. The flight control system simulation 308 uses a flight control model to simulate aircraft motion from a trimmed state through either template maneuvers or maneuvers with random but constrained pilot control inputs. The aircraft response is further constrained by the flight control system. In one example, the static pressures are calculated by the simulation 308 according to the altitude values ​​provided in the ground truth parameter values, taking into account position errors and noise.

[0062] In some examples, turbulence is taken into account by the simulated flight control system and / or the simulated navigation subsystem and inertial measurement unit. In these examples, a gust model, such as the Dryden wind turbulence model or other gust model that simulates both vertical and lateral gusts, is used by the simulator. In some examples, the turbulence was scaled to reflect maximum wind speeds (jet streams) and the resulting extreme turbulence. Randomly selected amounts of wind turbulence for both vertical and lateral gusts are simulated and accounted for by the simulator.

[0063] As shown in Figure 3, simulated values ​​316 are calculated. One set of simulated values ​​is multiple simulated values ​​(representing aircraft conditions at a particular time or time interval) that are concatenated into a single vector and input to a machine learning model in the air data estimator. The process of 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 air data parameter values.

[0064] In the case of uneven distribution of outputs, bias correction 320 is optionally performed. Uneven distribution of outputs occurs when the neural network model is inherently biased to predict more frequent values. Bias correction by loss weights makes it possible to mitigate this.

[0065] The process of Figure 3 generates data pairs, where a data pair is a set of simulated values ​​from the aircraft's avionics and a corresponding set of atmospheric data parameter values. A first portion of the data pairs generated using the process of Figure 3 are stored in a training data store 322. A second portion of the data pairs generated using the process of Figure 3 are stored in a validation data store 324. The validation data pairs differ from the training data pairs because they are taken from an entirely separate training run. There are more data pairs in the training data store 322 than in the validation data store 324.

[0066] 4 shows an example of an atmospheric data estimator 106 that is a machine learning model, such as a neural network, a random decision forest, a support vector machine, or other machine learning model. In the example described herein, the machine learning model is a neural network, but one skilled in the art will understand that an equivalent machine learning model could be used in place of the neural network.

[0067] The air data estimator 106 receives inputs from one or more of a digital engine control unit (DECU) 108, a flight control system 114, a vehicle management system 110, a navigation subsystem, and an inertial measurement unit 116. In one example, the DECU 108 sends engine data to the air data estimator. The flight control system 114 sends the positions of the aircraft's control surfaces and the aircraft's static pressure to the air data estimator. The vehicle management system 110 sends the aircraft's mass and center of gravity to the air data estimator 106. The navigation subsystem and the inertial measurement unit send one or more of the aircraft's attitude, maneuvering speed, and aircraft acceleration to the air data estimator 106.

[0068] The atmospheric data estimator outputs a predicted angle of attack 122, a predicted sideslip angle 124, a predicted static pressure, and a predicted dynamic pressure. The predicted static pressure and the predicted dynamic pressure are input to an output parameter calculator 112. The output parameter calculator 112 calculates a predicted pressure 126 for the aircraft and a predicted airspeed 128 for the aircraft. The output parameter calculator 112 is implemented in any one or more of software, hardware, and firmware. The output parameter calculator calculates the predicted pressure 126 from the static pressure and a defined relationship between the static pressure and pressure 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 as a dynamic pressure equal to half the air density multiplied by the square of the air velocity, where the air density is the known standard sea level air density corrected for the expected altitude.

[0070] Figure 5 shows an example of a neural network architecture used in the atmospheric data estimator 106. In the example of 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 the concatenation operation 504. It has been found that using separate neural networks improves the ability to tune and therefore improves accuracy.

[0071] 5, each neural network 520 has four layers: an input layer 506, two hidden layers 508, 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 with increased regularization.

[0072] The input layer has at least x nodes, where x is the number of input values ​​500 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, maneuver speed, and acceleration. In an example with 12 control surfaces, there are 20 input values ​​and 20 nodes in the input layer 506. 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] Input values ​​are optionally normalized by scaling them independently using min-max normalization.

[0074] The normalized input values ​​are concatenated into a single vector 504. Using concatenation into a single vector has been found to give accurate results compared to the alternative approach of grouping the 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 reach similar functionality, dropout layers are also used.

[0076] The output layer 512 has a single node for the parameter to be predicted. Each neural network 520 outputs a different parameter. In one example, there is one neural network to predict static pressure, one neural network 122 to predict angle of attack, one neural network 124 to predict sideslip, and one neural network 518 to predict dynamic pressure.

[0077] The values ​​at the nodes of the output layer 512 are denormalized 514 using the inverse of the normalization applied in operation 502. The results are predicted values ​​of 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 a weighted sum of the inputs to the node is transformed into an output. Any suitable nonlinear activation function may be used, such as tanh or rectified linear units for the input and hidden layers, and linear activation for the output layer.

[0079] In another example, the configuration of 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 appreciate that other neural network architectures may also be used.

[0080] 6a shows a flow diagram of an exemplary method for training a neural network for use in an air data estimator. Training data 322 is available, such as that calculated using the process of FIG. 3. The training data includes tens or hundreds of thousands of training data pairs. Each training data pair includes a set of ground truth values ​​for air data parameters 120 and a set of corresponding values ​​from the aircraft's avionics (which may be simulated or empirical values).

[0081] The method of Figure 6a is very computationally intensive and therefore may be performed in a distributed manner in the cloud, although it is not necessary to use distributed processing.

[0082] A training example 600 is taken, which is a training data pair from the training data 322. A set of values ​​from the aircraft's avionics is taken from the training data pair and, after normalization, is input to the neural network. The set of values ​​is propagated forward through the neural network layers using forward propagation 602. Forward propagation comprises, at each node in a layer of the neural network, applying a function to the node's input value and applying the node's weight. The result of applying the function and weight, and optionally a bias, is an output value that is fed forward to the nodes in the next layer of the neural network according to the connections between layers. The node weights are initially set to random values.

[0083] The forward propagation continues until it reaches the output layer of the neural network. The output values ​​of each node in the output layer are obtained and denormalized. The denormalized output values ​​are compared to corresponding ground truth values ​​from training data pairs. This comparison is performed by calculating 604 a loss function, such as a sum of squared errors or other loss function. Examples of loss functions that can be used are:

number

[0084] In words, the loss is the sum of the input x to a node n and the predicted value y output by a node given the node weight w, and the ground truth value t n is the sum over node n in the layer of the squared differences between

[0085] Backpropagation is then computed 606, whereby the loss function is used to inform how the weights at the nodes in the neural network layers should be updated. Optimization is computed 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] A check is made to see if the process is to be repeated using another training data pair in operation 608. If the process is to be repeated, the method returns to operation 600 to take another training example from training data 322.

[0087] When the process is finished, the machine learning model is memorized by memorizing the weights 610. To allow recovery of the best model, successively better models are saved.

[0088] The decision as to whether to stop training in operation 608 is made according to one or more criteria, such as the number of training examples used, the amount of time elapsed, the amount of weight change during recent backpropagation, and the amount of divergence between the performance of the training and validation data sets.

[0089] 6b shows a flow diagram of an exemplary method for validating a neural network for use in an air data estimator. Validation data 324 is available, which can be either data produced by the process of FIG. 3, flight test data, or a combination of these types of data. In the case of flight test data, air data parameter sensors are used on the exterior of the aircraft to obtain pairs of ground truth air data parameter values ​​and avionics values.

[0090] Take a validation example 612. Avionics values ​​from the validation example are taken and normalized before being input to the neural network input layer. Forward propagation 614 is performed as described with respect to FIG. 6A. Forward propagation results in values ​​being output at the nodes of the output layer that are compared to the ground truth values ​​of the validation example. This comparison is performed by calculating a loss 616 using a loss function as described above. The results of the loss function are stored.

[0091] At the decision point a decision is made 618 whether to repeat, and if so, another validation example is taken and the process continues from operation 612. If the decision is not to repeat, an 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] To calculate the accuracy metric in operation 620, the standard deviation, mean, median, or mode of the calculated losses is calculated.

[0093] Once the neural network is trained and successfully validated, it is deployed to the aircraft if the accuracy metric calculated in operation 620 exceeds a specified threshold.

[0094] In order to deploy a neural network on an aircraft, resource constraints must be met, including strict constraints on power, space, and time. The neural network should be low-power so that it can operate without drawing large amounts of power from the aircraft. The neural network should also be compact, as space on the aircraft is at a premium. The neural network should also be highly efficient to enable real-time operation, i.e., to predict air data parameters in real time while the aircraft is flying complex maneuvers in which the air data parameters are expected to change very rapidly. In one example, real-time operation means calculating new values ​​for the air data parameters approximately 80 times per second.

[0095] The present inventors have developed a neural network architecture, as shown in Figure 5, that facilitates low-power, small-space, and high-speed operation. Because the neural network of Figure 5 has only four layers, it is low-power, small-space, and fast. It is also possible to reduce the number of hidden layers 508, 510 from two to one. The present inventors have found that such a configuration provides accurate results and improves compactness and power reduction.

[0096] The inventors unexpectedly discovered that it is not necessary to use a recurrent neural network architecture. As a result, a feedforward neural network architecture with fully connected layers and no recursion is found to give accurate results in a very efficient manner. Since a recurrent neural network is not used, compaction is facilitated. This reduces the size of the input space since there is no need to examine temporal combinations.

[0097] In some embodiments, the neural network is developed using hardware circuitry, such as a graphics processing unit or other parallel processing unit, which increases the speed at which the neural network operates compared to developing the neural network using software.

[0098] 7 shows a flow diagram of an exemplary method for using an air data estimator 106 deployable on an aircraft. The air data estimator 106 comprises a neural network trained using supervised learning. In one example, the neural network is trained as described with reference to FIG. 6a and validated as described with reference to FIG. 6b. The air data estimator 106 receives 700 real-time inputs from the aircraft's avionics. The real-time inputs include one or more of engine data such as thrust, static pressure, control surface position, mass, center of gravity, attitude, maneuver speed, and acceleration.

[0099] The inputs are normalized 702 by computing a min-max normalization or other normalization as described above with reference to Figure 5. The normalized inputs are input to 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 an output value at a node in the neural network's output layer 512. The output value at the node in output layer 512 is denormalized 706 by reversing the normalization operation from operation 702.

[0101] The unnormalized outputs, which are predictions of static and dynamic pressure, are input to an output parameter calculation 708 which calculates altitude and airspeed as described above with reference to FIG.

[0102] The air data estimator outputs 710 parameter values ​​that are displayed 712, such as on a display in the cockpit. The parameter values ​​710 are also provided to control and / or manage 714 the aircraft's avionics, for automatically stabilizing the aircraft, or for other automated tasks.

[0103] An air data estimator and output parameter calculator were created and tested. Example test data are shown in Figures 8a, 8b, and 8c. The data shown in Figures 8a through 8c was obtained from an air data estimator having a neural network architecture as shown in Figure 5 and trained using training data calculated as described with reference to Figure 3. The neural network in the air 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 through 8c compare simulated "true" operating predictions with the output from the air data estimator.

[0104] Figure 8a is a graph of sideslip angles estimated by the atmospheric data estimator versus simulated ground truth sideslip angles. The x-axis of the graph represents time in seconds. The y-axis of the graph represents the aircraft maneuver parameters. It can be seen that the sideslip angles predicted by the atmospheric data estimator match the ground truth sideslip angles over most of the graph.

[0105] Figure 8b is a graph of the knot equivalent airspeed estimated by the air data estimator versus the simulated ground truth knot equivalent airspeed. It can be seen that the knot equivalent airspeed predicted by the air data estimator generally follows the ground truth knot equivalent airspeed.

[0106] Figure 8c shows a plot of the angle of attack estimated by the atmospheric data estimator versus 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 plot.

[0107] The computer-implemented methods described herein are performed in either software / firmware / hardware using any suitable type of computing device, such as a microprocessor or other processor, and optionally using a graphics processing unit or other parallel processing device.

Claims

1. 1. A computer-implemented method for calculating training data for training an air data estimator to predict values ​​of air data parameters of an aircraft, the method comprising: selecting ground truth values ​​of the atmospheric data parameters according to a flight envelope of the aircraft (100); simulating corresponding values ​​from avionics in the aircraft (100) by using stored empirical data for engines of the aircraft, empirical data for the aircraft (100) obtained from wind tunnel testing, and rules of computational fluid dynamics.

2. 10. The computer-implemented method of claim 1, wherein simulating corresponding values ​​from avionics takes turbulence into account using a wind gust model to simulate vertical and lateral wind gusts.

3. The computer-implemented method of claim 2 , comprising scaling the turbulence to reflect maximum wind speed.

4. The computer-implemented method of claim 1 , wherein selecting the ground truth values ​​is performed taking into account at least one constraint.

5. The computer-implemented method of claim 4 , wherein the at least one constraint is a maximum Mach number or normal G load practical for a human pilot to experience.

6. The computer-implemented method of claim 1 , wherein selecting the ground truth values ​​comprises calculating the ground truth values ​​as trajectories flown by a simulator.

7. The computer-implemented method of claim 6 , wherein selecting the ground truth values ​​occurs at high frequencies.

8. The computer-implemented method of claim 1 , comprising selecting a plurality of altitudes and attitudes along a trajectory of a maneuver template and outputting corresponding ground truth atmospheric data parameters.

9. 9. The computer-implemented method of claim 1, comprising using a random input generator to generate values ​​for the flight controls for a specified period of time.

10. 10. A computer-implemented method according to any one of claims 1 to 9, comprising varying altitude and speed using rules that specify intervals over a range.

11. 11. The computer-implemented method of claim 1, further comprising using the training data to train a neural network to predict values ​​of air data parameters of an aircraft using supervised training.

12. 12. The computer-implemented method of claim 1, further comprising: dividing the training data into a validation data set (324) and a training data set (322) such that the validation data set (324) includes data points that are different from data points in the training data set (322); and validating the neural network (520) using the validation data set (324).

13. 1. An apparatus for calculating training data (322) for training an air data estimator (106) to predict values ​​of air data parameters of an aircraft (100), comprising: a processor configured to select ground truth values ​​of the atmospheric data parameters according to a flight envelope of the aircraft; and a computer-implemented simulator configured to simulate corresponding values ​​from avionics in the aircraft by using stored empirical data for engines of the aircraft and empirical data for the aircraft obtained from wind tunnel testing, and rules of computational fluid dynamics.

14. 14. The apparatus of claim 13, wherein the simulator is configured to use a wind gust model to simulate vertical and lateral wind gusts, taking turbulence into account, and simulating corresponding values ​​from avionics.

15. The apparatus of claim 14 , wherein the simulator is configured to scale the turbulence to reflect maximum wind speed.

16. The apparatus of claim 13 , wherein the processor is configured to select the ground truth value taking into account at least one constraint.

17. 17. The apparatus of claim 16, wherein the at least one constraint is a maximum Mach number or normal G load practical for a human pilot to experience.

18. 18. The apparatus of claim 13, wherein the processor is configured to select the ground truth values ​​by calculating the ground truth values ​​as trajectories flown by a simulator.

19. 19. The apparatus of claim 13, wherein the processor is configured to select a plurality of altitudes and attitudes along a maneuver template trajectory and output corresponding ground truth atmospheric data parameters.

20. 20. The apparatus of claim 13, wherein the processor is configured to use the training data to train a neural network to predict values ​​of air data parameters of an aircraft using supervised training.

21. 21. The apparatus of claim 13, wherein the processor is configured to split the training data into a validation data set (324) and the training data set (322) such that the validation data set includes data points that are different from data points in the training data set, and to validate the neural network (520) using the validation data set (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