The present disclosure relates generally to the field of corrosion estimation and, more specifically, to a nonlinear regression tool for estimating corrosion damage.
Corrosion is a major factor for determining the overall lifetime and maintenance schedule of a vehicle. There are numerous different types of corrosion including but not limited to galvanic, crevice, erosion, and filiform. Galvanic corrosion occurs when two dissimilar materials are placed in contact and a differential in voltages across them drives a small current flow. Crevice corrosion occurs to metal surfaces where a stagnant solution remains in contact. Erosion occurs from external forces such as sand or other debris moves against the metal surface. Filiform corrosion is the interaction between a coating and a base metal. Pitting occurs when cavities are produced in a material. Each of these forms of corrosion can be influenced by environmental conditions.
The effects of corrosion are analyzed during the initial design of a vehicle. Current analysis relies heavily on the expertise of the designers and utilizes their previous experiences in vehicle design, subjective decision making, and tribal knowledge. Unfortunately, many designers do not have the necessary expertise that is obtained through extensive training and work experience.
One design method analyzes the effect of corrosion after fully designing the vehicle. After the design is complete, corrosion damage rates and features are ascertained through testing. However, the testing is expensive and can be labor intensive. Further, issues that are discovered during the testing require design changes which are expensive to implement after the design of the vehicle is complete. Several efforts have explored modeling to predict corrosion damage in lieu of testing. However, due to the complex physics of corrosion behavior and the long duration required for corrosion to transpire for measurement and comparison, modeling approaches have frequently been very limited in capability, and remain a research activity. Some current modeling approaches are based on a diffusion process and do not capture the complicated interaction with various elements in base alloys and chemicals in the coating. Other existing modeling approaches can be very computationally expensive and require significant resources for a single calculation. Computational models are notoriously difficult to predict and for which data is often scarce. The complex physics involved necessitates computationally expensive first-principles modeling, which can take lengthy time frames for a single solution. This can also require a large amount of data that may not be available early in the conceptual design of a new design. Empirical models have also been developed, but require substantial and expensive testing to construct, and may take very long periods of time to compare and validate due to the typical time scale for corrosion damage to transpire.
One aspect is directed to a method of estimating corrosion of a material. The method comprises: obtaining corrosion data comprising a plurality of data points; generating additional data points based on the data points and additional data obtained from one or more remote sources; aggregating the data points and the additional data points into a trained data model; receiving an input of one or more environmental parameters; determining a set of the data points from the trained data model that are closest to the one or more environmental parameters; and determining a corrosion estimate for the material based on the set of the data points from the trained data model.
In another aspect, the method further comprises applying k-nearest neighbors (KNN) nonlinear regression and determining the set of the data points from the trained data model that are closest to the one or more environmental parameters.
In another aspect, the method further comprises filtering the trained model and removing the data points unrelated to the one or more environmental parameters prior to applying the KNN nonlinear regression.
In another aspect, the method further comprises normalizing distances between the filtered data points.
In another aspect, the method further comprises determining a confidence level of the corrosion estimate based on the normalized distances.
In another aspect, the method further comprises determining one or more of a corrosion mass loss rate, a corrosion current density, and a degree of corrosion.
In another aspect, generating the additional data points comprises: selecting one of the data points; obtaining one or more environmental conditions at a date, time, and geographic location when the data point was collected; and interpolating the data point and the one or more environmental conditions and generating the additional data points.
In another aspect, the data points comprise sensor data and observational data and generating the additional data points using just the sensor data.
In another aspect, obtaining corrosion data comprises receiving parameters of and filtering the data points by the material and a corrosion type.
In another aspect, the method further comprises determining additional environmental parameters based on an analysis of the trained data model, the additional environmental parameters being different than the received environmental parameters.
One aspect is directed to a method of estimating corrosion of a material. The method comprises: receiving corrosion data comprising data points of measurement data and observational data; determining additional data points based on the corrosion data and environmental conditions from a date and time when the corrosion data was observed; aggregating the corrosion data and the additional data into a trained data model; receiving from a user device one or more environmental parameters; filtering the trained data model and generating remaining data points by removing the data points unrelated to the one or more environmental parameters; determining a distance between the remaining data points and the one or more environmental parameters; selecting a group of the remaining data points that are nearest to the one or more environmental parameters; based on the group of the remaining data points, determining a corrosion estimate; and transmitting an output display to the user device.
In another aspect, the method further comprises applying KNN nonlinear regression and determining the distance between the remaining data points and the one or more environmental parameters.
In another aspect, the method further comprises normalizing distances between the remaining data points.
In another aspect, the method further comprises determining a confidence level of the corrosion estimate based on the normalized distances.
In another aspect, the method further comprises determining a corrosion mass loss rate.
In another aspect, determining the additional data points comprises: selecting one of the data points; obtaining the environmental conditions from the date and time when the corrosion data was observed; and interpolating the data point and the one or more environmental conditions and generating the additional data points.
In another aspect, the data points comprise sensor data and observational data and determining the additional data points using just the sensor data.
One aspect is directed to a non-transitory computer readable medium comprising instructions stored thereon that, when executed by processing circuitry of a computing device, configured the computing device to: obtain corrosion data comprising a plurality of data points; generate additional data points based on the data points and additional data obtained from one or more remote sources; aggregate the data points and the additional data points into a trained data model; receiving an input of one or more environmental parameters; filtering the trained data model and removing the data points unrelated to the one or more environmental parameters; apply KNN nonlinear regression and determine a set of the data points from the filtered trained data model that are closest to the one or more environmental parameters; and determine a corrosion estimate for the material based on the set of the data points from the trained data model.
In another aspect, the computing device is further configured to normalize the filtered data points to equally weight the data points related to the one or more environmental parameters.
In another aspect, the computing device is further configured to determine a confidence level of the corrosion estimate based on the normalized distances.
The features, functions and advantages that have been discussed can be achieved independently in various aspects or may be combined in yet other aspects, further details of which can be seen with reference to the following description and the drawings.
The corrosion estimation applies to the expected effect of one or more parameters on a material. In one example, the material just includes a metal. In another example, the material includes a base metal and a finish. In another example, the material includes a base metal, a finish, and an installation interface such as a rivet.
The collected data points are filtered to remove damaged data (block 112). The filtering can be based on various factors including but not limited to data quality, conditions during testing that could adversely affect the data, and calculation checks on the sensors and/or observational equipment. The filtering removes damaged data to ensure the accuracy of the remaining data.
The method further determines whether to accept the data (block 114). The acceptance analyzes whether the data has already been trained, or if there is already enough data for a given parameter that provides for a sufficient degree of accuracy when estimating the corrosion. If the data is accepted, the data is stored and used for corrosion estimation (block 116). If not accepted, the data is discarded (block 118).
The data can be obtained as various timing frequencies. In one example, the data is continuously collected and stored. The stored data is then periodically scraped and used for analysis. Another example obtains the data on an as-needed basis.
After the data has been obtained and then stored in one or more data sets 25, the data is trained. One example of the training process is illustrated in
For the sensor data set 25a, the appropriate date/time range and geographic location is associated with the data (block 202). In one example, the additional data is weather data from the time and location when the data was gathered. Other examples of additional data include but are not limited to chemical composition data, species concentration data, and physical material properties data from a different database or model sources. Additional data is gathered from one or more data sources 52 (block 204). The remote sources 52 can include various data sources including but not limited to sites available through the network (e.g., Internet), different databases, and different model sources. Examples of remote sources 52 for weather include but are not limited to the National Oceanic and Atmospheric Administration (NOAA), Integrated Surface Database (ISD), Meteorological Assimilation Data Ingest System (MADIS), PRISM, and a number of other external or internal sources to retrieve associated weather data for the same date and time range. Data sources 52 can also provide additional environmental conditions such as but not limited to other weather conditions, pollution levels, salt exposure based on closeness to an ocean, and erosion exposure.
An interpolation step is performed to interpolate the additional data (block 206). The interpolation generates an estimated set of additional data. For the example of using weather sources, this includes interpolation in time from weather measurements taken near the same time to determine an estimate at the same date/time as the measurement for a data point. Additionally or alternatively, this includes geographic interpolation.
In one example, the interpolation step is supplemented with thermodynamic or physical calculations. One example includes determining an on-aircraft external temperature based on known surface ground temperature measurements.
The process generates missing or supplemental parameters (block 208). In one example, thermodynamic, chemical, or physical calculations or experimental tables or data are used to determine additional environmental parameters of interest. One example includes the calculation of the absolute humidity at the measurement point from the relative humidity, temperature, and pressure. In another example, additional parameters are determined using physical models.
The training of the observational data set 25b is different than the training of the sensor data set 25a. The training for this type of data is different because there are no further available sources 52 for correlating the measurements with additional data. Instead of using data sources 52, the process calculates supplemental values via thermodynamic or physical calculations (block 212).
After the additional data is determined for the different data sets 25a, 25b, the data is aggregated together (block 214) into a common file or database as a trained data model 35. The trained data model 35 can be in a format that provides for querying for subsequent processing.
In another example, additional sources of data are included for training. The process would be similar for each source, wherein the data pipeline would be expanded to include accepting/rejecting/filtering/storing the new source, and the training process augmented to aggregate the new source, possibly adding supplemental values and/or querying additional internal/external sources to correlate additional interpolated data to the aggregated form. Additional processing steps may be required in the training such as image analysis for photographic observations of corrosion damage.
Once the training process has been completed, the trained data model 35 provides a data source for the estimation process. The estimation process includes user input 40 of one or more parameters regarding the corrosion. Examples of user inputs 40 include but are not limited to material parameters (e.g., substrate, finish), environmental parameters (e.g., temperature, relative humidity), corrosion type (e.g., galvanic, pitting, filiform), and testing site parameters (exposed, in-flight, chamber). The number and type of user inputs 40 can vary.
The estimation process in block 104 could be performed using any of a number of different approaches, including but not limited to learning methods such as k-Nearest Neighbors (KNN), neural networks, specialized neural networks such as convolutional neural networks (CNNs), or statistical approaches including statistical regression models, Bayesian inference statistics models, Kriging models, or other approaches. A single instance of this implementation of the estimation process in block 102 is shown in
As illustrated in
After filtering, distances between the user inputs 40 and the data points are measured and normalized (block 304). Normalizing the distances provides for equal weight for each of the user inputs 40 (block 304). In one example, one or more additional weighting schemes are applied when higher confidence is known in particular predictors. A baseline of the distances is set by initializing the distances (block 306).
In this example, the environmental parameters 40b are analyzed after filtering of the other user inputs 40a, 40c (block 310). For the environmental parameters 40b, the parameters are individually selected (block 312), point distances are calculated for the points (block 314), and the distances are sorted (block 316). Once the parameters have been analyzed, the nearest points are determined and weighted (block 320). In one example, the distances are computed and sorted in ascending order. In one example, the first k points of the ascending order are selected. One or more statistical values are computed based on the selected distances (block 322). Examples include statistical values such as a mean, median, inverse-linear weighted average or other approach which is applied to calculate the desired corrosion rate or feature of interest. A corrosion estimate is output (block 324).
In one example, the feature includes an image. The process includes additional steps of image analysis to determine or predict the desired feature. The final predicted rate or feature is then published to the user. In one example, the image features of interest include predicted corrosion area, shape of area around a geometric feature or across a surface, severity of corrosion across a surface, presence/absence/amount of various features such as crevices and/or crack formation, and geometric distribution of any damage across the surface. Image features can also include a surface that includes a geometric part or component such as a rivet, bolt, hole, punch-out, coupon, seam, weld, split, join, or bonding, etc.
In one example, the estimation method and system alleviates the challenges of previous methods by applying a nonlinear regression model to estimate the corrosion damage or expected degradation features for a particular metal or coating in a particular environment. This allows corrosion risk to be rapidly calculated much earlier in the design process to identify and avoid problematic designs and expensive design changes after manufacturing has begun.
The processing circuitry 95 may be composed of one or more processors alone or in combination with one or more memories. The processing circuitry 95 is generally computer hardware that is capable of processing information such as, for example, data, computer programs and/or other suitable electronic information. The processing circuitry 95 is composed of a collection of electronic circuits some of which may be packaged as an integrated circuit or multiple interconnected integrated circuits (an integrated circuit at times more commonly referred to as a “chip”). The processing circuitry 95 may be configured to execute computer programs 97, which may be stored onboard the processing circuitry 95 or otherwise stored in the memory circuitry 96 (of the same or another device).
The processing circuitry 95 may be a number of processors, a multi-core processor or some other type of processor, depending on the particular implementation. Further, the processing circuitry 95 may be implemented using a number of heterogeneous processor systems in which a main processor is present with one or more secondary processors on a single chip. As another illustrative example, the processing circuitry 95 may be a symmetric multi-processor system containing multiple processors of the same type. In yet another example, the processing circuitry 95 may be embodied as or otherwise include one or more ASICs, FPGAs or the like. Thus, although the processing circuitry 95 may be capable of executing a computer program 97 to perform one or more functions, the processing circuitry 95 of various examples may be capable of performing one or more functions without the aid of a computer program 97. In either instance, the processing circuitry 95 may be appropriately programmed to perform functions or operations according to example implementations of the present disclosure.
The memory circuitry 96 is generally computer hardware that is capable of storing information such as, for example, data, computer programs (e.g., computer-readable program code 97) and/or other suitable information either on a temporary basis and/or a permanent basis. The memory circuitry 96 may include volatile and/or non-volatile memory and may be fixed or removable. Examples of suitable memory circuitry 96 include random access memory (RAM), read-only memory (ROM), a hard drive, a flash memory, a thumb drive, a removable computer diskette, an optical disk, a magnetic tape or some combination of the above. Optical disks may include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W), DVD or the like. In various instances, the memory circuitry 96 may be referred to as a computer-readable storage medium. The computer-readable storage medium is a non-transitory device capable of storing information and is distinguishable from computer-readable transmission media such as electronic transitory signals capable of carrying information from one location to another. Computer-readable medium as described herein may generally refer to a computer-readable storage medium or computer-readable transmission medium.
In addition to the memory circuitry 96, the processing circuitry 95 may also be connected to one or more interfaces for displaying, transmitting and/or receiving information, such as the input and output displays 75, 76. The interfaces include a communications interface circuitry 92 configured to transmit and/or receive information, such as to and/or from the remote sources 52, user devices 70, other apparatus(es), network(s) or the like. The communications interface circuitry 92 may be configured to transmit and/or receive information by physical (wired) and/or wireless communications links. Examples of suitable communication interfaces include a network interface controller (NIC), wireless NIC (WNIC) or the like. The communications interface circuitry 92 may have one or more transmitters 93. The communications interface circuitry 92 may have one or more receivers 94.
As indicated above, program code instructions 97 may be stored in the memory circuitry 96 and executed by processing circuitry 95 that is thereby programmed, to implement functions of the systems, subsystems, tools and their respective elements described herein.
As will be appreciated, program code instructions may be loaded onto a computing device or other programmable apparatus from a computer-readable storage medium to produce a particular machine, such that the particular machine becomes a means for implementing the functions specified herein. These program code instructions may also be stored in a computer-readable storage medium that can direct a computer, a processing circuitry or other programmable apparatus to function in a particular manner to thereby generate a particular machine or particular article of manufacture. The instructions stored in the computer-readable storage medium may produce an article of manufacture, where the article of manufacture becomes a means for implementing functions described herein. The program code instructions may be retrieved from a computer-readable storage medium and loaded into a computer, processing circuitry or other programmable apparatus to configure the computer, processing circuitry or other programmable apparatus to execute operations to be performed on or by the computer, processing circuitry or other programmable apparatus.
Retrieval, loading and execution of the program code instructions may be performed sequentially such that one instruction is retrieved, loaded and executed at a time. In some example implementations, retrieval, loading and/or execution may be performed in parallel such that multiple instructions are retrieved, loaded, and/or executed together. Execution of the program code instructions may produce a computer-implemented process such that the instructions executed by the computer, processing circuitry or other programmable apparatus provide operations for implementing functions described herein.
Execution of instructions by a processing circuitry, or storage of instructions in a computer-readable storage medium, supports combinations of operations for performing the specified functions. In this manner, a computing device 90 may include a processing circuitry 95 and a memory circuitry 96 coupled to the processing circuitry 95, where the processing circuitry 95 is configured to execute computer-readable program code 97 stored in the memory circuitry 96. It will also be understood that one or more functions, and combinations of functions, may be implemented by special purpose hardware-based computer systems and/or processing circuitry which perform the specified functions, or combinations of special purpose hardware and program code instructions.
In one example, the methods are used to determine corrosion estimates for materials on a vehicle. Vehicles include but are not limited to manned aircraft, unmanned aircraft, manned spacecraft, unmanned spacecraft, manned rotorcraft, unmanned rotorcraft, satellites, rockets, missiles, manned terrestrial vehicles, unmanned terrestrial vehicles, manned surface water borne vehicles, unmanned surface water borne vehicles, manned sub-surface water borne vehicles, unmanned sub-surface water borne vehicles, and combinations thereof. The corrosion estimation can also be used to determine corrosion for a variety of other objects and in a variety of other contexts and environments.
The present invention may be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.