The present invention relates generally to systems and methods for improving the quality and productivity of a product or process and more particularly to baseline modeling of a product or process.
Baseline modeling of a product or process generally provides an understanding of the performance of an ideal product or process over time. An engine is one type of product or process that baseline modeling is suitable for use. Engine baseline modeling has a multitude of uses including, but not limited to, determining when an engine performs out of specification, predicting when an engine failure will occur, detecting abnormal conditions, determining the quality of an engine and designing new engines. Typically, engine baseline models are developed from data gathered from thermodynamic cycle analyses and simulation. First, models of ideal values are created and indexed by variables such as altitude, temperature, power setting, and air speed. Once data from the normal operation of the engine is available, these models are updated by analyzing data corresponding to a particular model characteristic. An engineer then looks for data that are similar for the specified engine variables (e.g., altitude, temperature, power setting, air speed), groups the similar data, averages them for each variable and performs other operations as desired. The engineer then plots data for each of the variables. The plots provide interrelationship information between each of the engine variables, which the engineer uses to create tables of typical operation parameters the baseline model. These tables of parameters are used as the basis of comparison for engine operation. Differences from the baseline model may indicate engine faults or deterioration trends.
There are several problems associated with this type of engine baseline modeling. First, this type of engine baseline modeling is very labor intensive because the engineer has to review the data, find data that are similar, group and average the data, perform other desired operations on the data, plot the data and create tables. Another problem is that one engineer cannot readily reproduce an engine baseline model developed by another engineer because this process is very individualized. It is helpful if one engineer can reproduce the engine baseline model generated by another engineer to validate quality of the baseline. Another problem associated with this type of engine baseline model is that the resulting model does not provide a good picture of an engine operating outside normal conditions. Furthermore, this type of engine baseline modeling does not provide a measure of how good the developed model is.
Accordingly, there is a need in the art of statistical modeling for an automated approach to engine baseline modeling that standardizes the process to improve reliability by minimizing human interventions.
The present invention overcomes the problems noted above, and provides additional advantages, by providing a system, method and computer readable medium that stores instructions for instructing a computer system, to perform engine baseline modeling. In one embodiment of the present invention, an engine service database contains engine data, wherein the engine data includes at least time-varying engine data. A preprocessor for processing the engine data into a predetermined format. An engine baseline modeling component builds an initial engine baseline model from the preprocessed data using a regression analysis, wherein the regression analysis relates engine performance variables as a function of engine operating conditions. The engine baseline modeling component then applies a smoothing algorithm to the initial engine baseline model to reduce effects of the time-varying engine data and generate a detrended engine baseline model.
In a second aspect of this disclosure, there is a system, method and computer readable medium that stores instructions for instructing a computer system, to perform engine baseline modeling. In this embodiment, an engine service database contains engine data. A preprocessor processes the engine data into a predetermined format, wherein the preprocessor comprises a data segmenting component that segments the engine data into a plurality of groups. An engine baseline modeling component builds an initial engine baseline model from the preprocessed data using a regression analysis, wherein the regression analysis relates engine performance variables as a function of engine operating conditions. The engine baseline modeling component identifies correlated groups of engine data based upon the initial engine baseline model and combines data from correlated groups. The engine baseline modeling component then builds a final engine baseline model from the combined data using a regression analysis.
In a third aspect of this disclosure, there is a system, method and computer readable medium that stores instructions for instructing a computer system, to perform engine baseline modeling of an aircraft engine. In this embodiment, an engine service database contains aircraft engine data. A preprocessor processes the engine data into a predetermined format, wherein the preprocessor comprises a data segmenting component that segments the engine data into a plurality of groups. An engine baseline modeling component that builds an initial engine baseline model from the preprocessed data using a regression analysis, the initial engine baseline model represented by a plurality of parameter estimates, wherein the regression analysis relates engine performance variables as a function of engine operating conditions. The engine baseline modeling component then identifies segments relating to related engines and averages the parameter estimates for each of the identified related engine segments. The engine baseline modeling component then builds a final engine baseline model from the averaged data using a regression analysis.
The present invention can be understood more completely by reading the following Detailed Description of Preferred Embodiments, in conjunction with the accompanying drawings.
This disclosure describes a system, method and computer product for baseline modeling of a product or process such as an aircraft engine, however, the disclosure is applicable to any type of product or process where it is desirable to model performance.
The input/output devices may comprise a keyboard 18 and a mouse 20 that enter data and instructions into the computer system 10. Also, a display 22 may be used to allow a user to see what the computer has accomplished. Other output devices may include a printer, plotter, synthesizer and speakers. A communication device 24 such as a telephone or cable modem or a network card such as an Ethernet adapter, local area network (LAN) adapter, integrated services digital network (ISDN) adapter, Digital Subscriber Line (DSL) adapter or wireless access card, enables the computer system 10 to access other computers and resources on a network such as a LAN, wireless LAN or wide area network (WAN). A mass storage device 26 may be used to allow the computer system 10 to permanently retain large amounts of data. The mass storage device may include all types of disk drives such as floppy disks, hard disks and optical disks, as well as tape drives that can read and write data onto a tape that could include digital audio tapes (DAT), digital linear tapes (DLT), or other magnetically coded media. The above-described computer system 10 can take the form of a hand-held digital computer, personal digital assistant computer, notebook computer, personal computer, workstation, mini-computer, mainframe computer or supercomputer.
In
One of ordinary skill in the art will recognize that there are a variety of approaches to acquiring the above data and storing them in the engine service database 30. For example, some data can be captured automatically using on-line data acquisition techniques, while other data can be captured using manually recording techniques or onboard data capture techniques. Furthermore, the engine service database 30 preferably stores the data in a format that permits users to import the data into other tools for further analysis, such as Microsoft EXCEL®, Minitab, and SAS.
The engine service database 30 may comprise other types of data for the engines. For example, the engine service database 30 may comprise service information for the engines. Generally, the service information will comprise information such as engine product information, age information of the engines and repair history of the engines (e.g., dates of service events, types of service events, etc.). Other types of engine data stored in the engine service database 30 may include in-flight data, engine utilization data (e.g., where, when, how flown), ownership data, remote monitoring and diagnostics status data.
Referring to
The preprocessor 32 performs computations that simplify future processing of the data, while a data scrubbing component 40 cleans the engine data. In particular, the preprocessor 32 performs operations that convert the data into standard units. For example, the preprocessor 32 can convert temperature data from Celsius to Kelvin or correct engine power setting data by the engine bleed settings. Other types of corrections that the preprocessor 32 may perform include converting pounds to kilograms, altitude to pressure, knots and altitude to mach number. One of ordinary skill in the art will recognize that the listed corrections are only illustrative of some possibilities and are not exhaustive of other possibilities. Furthermore, one of ordinary skill in the art will recognize that the preprocessor 32 can perform the corrections in any manner desired (e.g., Celsius to Rankine) and is not limited to the above order. Examples of cleaning operations performed by the data scrubbing component 40 include discarding data elements with missing values, correcting simple typographical errors, discarding data elements with erroneous values out of reasonable operating range, etc. One of ordinary skill in the art will recognize that the listed cleaning operations are only illustrative of some possibilities and are not exhaustive of other possibilities.
In addition, the preprocessor also comprises a data segmenting component 42 that segments engine data into groups, nodes or clusters that represent similar operating conditions. The groups generally include engine performance variables such as power setting, altitude, air speed (mach number), and air temperature. One of ordinary skill in the art will recognize that other engine performance variables such as air humidity and control settings may be selected and that the disclosure should not be limited to these variables. Once the groups have been selected, then the data segmenting component 42 can segment the data into the particular group that it relates to. Once the data are segmented into the groups, then the data segmenting component 42 can use a cluster analysis to determine clusters of operating conditions. Alternatively, an engineer may assign bands of operations of interest for each of the variables.
An engine baseline modeling component 34 builds an engine baseline model from the data processed by the preprocessor 32. In particular, the engine baseline model built by the engine baseline modeling component relates the selected performance variables as a function of engine operating conditions using the processed data. Engine operating conditions include engine, aircraft and environmental conditions. In this disclosure, the engine baseline model is built from a regression analysis. Generally speaking, a regression is the statistical science of determining an equation from a finite number of points that provides values of Y for a given X, i.e., Y=f(X). In this disclosure, the equation to be determined can be expressed as:
Y=f(altitude, temperature, power setting, air speed) (1)
where altitude, temperature, power setting and air speed are the X variables. The engine baseline modeling component 34 performs a regression to determine the above equation for each of the selected engine performance variables (i.e., power setting, altitude, air speed, and air temperature) during specified times that the engine is operating. For instance, the engine modeling component 34 can perform the regression on the data taken during the take-off, climb and cruise for any or all of the engine performance variables. One of ordinary skill in the art will recognize that more engine performance variables (air humidity, control settings, etc.) or less engine performance variables can be used in equation 1. In addition, one of ordinary skill in the art will recognize that different combinations of engine performance variables can be used in equation 1.
In general, a regression fits a parametric equation to a set of data by solving for values of regression parameters such that the best fit to the data set is obtained. Multiple linear regression is a type of regression that solves the system of equations, minimizing the combined error. In this disclosure, the system of equations that the regression solves can be as follows:
y[1]=a*power setting[1]+b*altitude[1]+c*temperature[1]+d*airspeed[1]+ . . . +error[1]
y[2]=a*power setting[2]+b*altitude[2]+c*temperature[2]+d*airspeed[2]+ . . . +error[2]
. . .
y[n]=a*power setting[n]+b*altitude[n]+c*temperature[n]+d*airspeed[n]+ . . . +error[n] (2)
wherein a, b, c, d are the regression parameters and power setting[l], altitude[l], temperature[l], airspeed[l], y[l] are observed events. Again, one of ordinary skill in the art will recognize that the system of equations can differ depending on the selection of engine performance variables.
The resulting parameter estimates for a, b, c and d are representative of the new baseline model. Instead of using tables to develop the baseline model as was done in the past, there is now a simple equation that describes the baseline behavior of the engine, from which either the tables may be generated, or the equation can be applied directly. For example, a baseline model for the exhaust gas temperature (EGT) parameter might be as follows:
EGT=0.1*power+0.001*altitude+0.01*temperature+0.05*airspeed (3)
In this example, an engine that had power set to 100, altitude at 1000, temperature at 300, and air speed at 200, would result in a predicted EGT value of 24 degrees, but might have a measured EGT value of 14 degrees, which would indicate that the engine was 10 degrees below the predicted value.
The engine baseline modeling component 34 also comprises a metric component 44 that validates the engine baseline model. In particular, the metric component 44 validates the engine baseline model by examining the quality of the built model. In this disclosure, the metric component 44 determines the goodness of model fit by analyzing statistical goodness of fit metrics, such as R-squared, which is a common regression tool output. One of ordinary skill in the art will recognize that the metric component 44 can determine other metrics besides the R-squared metric such as the mean square error, sum square error and sigma metrics, which are other common regression tool outputs.
The engine baseline modeling component 34 also comprises a data cleaning heuristics component 46 that cleans the preprocessed data according to a set of heuristics. Generally, the data cleaning heuristics component 46 uses heuristics to remove data that does not conform to the norm. An illustrative, but non-exhaustive list of data that the data cleaning heuristics component 46 removes includes regression outliers, regression leverage points, and faulty engines. In this disclosure, this data cleaning operation can be performed for groups of engines or fleets of aircraft that use a common engine.
Additional details and embodiments relating to the engine baseline modeling component 34 will be set forth in detail below. In particular, inventive techniques are provided which additionally enhance the quality and reliability of the generated model.
The algorithms performed by the components in the engine baseline modeling system 28 (i.e., the preprocessor 32, engine baseline modeling component 34 and model diagnostics component 36 can be programmed with a commercially available statistical package such as SAS, but other languages such as C or Java may be used.
The engine baseline modeling system 28 is not limited to a software implementation. For instance, the preprocessor 32, engine baseline modeling component 34 and model diagnostics component 36 may take the form of hardware or firmware or combinations of software, hardware, and firmware. In addition, the engine baseline modeling system 28 is not limited to the preprocessor 32, engine baseline modeling component 34 and model diagnostics component 36. One of ordinary skill in the art will recognize that the engine baseline modeling system 28 may have other components.
After the data segmenting component 42 has segmented the engine data into groups, the engine baseline modeling component 34 builds an engine baseline model from the data processed by the preprocessor 32. In particular, the building of the engine baseline model begins with the engine baseline modeling component 34 performing a regression to determine parameters for each of the selected engine performance variables (e.g., altitude, air speed and air temperature) at 60. As mentioned above, the regression relates the engine performance variables as a function of engine operating conditions. The metric component 44 then determines the residuals of the regression at 62 and applies the metrics (e.g., R-square, mean square error, sum square error and sigma metrics) at 64. The term residuals refers to the differences between the actual values of the dependent variables and their predicted or estimated value for a particular observation. Next, the data cleaning heuristics component 46 cleans the preprocessed data according to a set of heuristics and generates certain statistics such as outliers and leverage points at 66.
The engine baseline modeling component 34 then performs another regression at 68. The engine baseline modeling component 34 applies a second regression to improve the parameter estimates by using a cleaner data set. Again, the metric component 44 determines additional residuals at 70. Alternatively, the metric component 44 can generate plots of the residuals if a user desires. At 72, the engine baseline modeling component determines whether there are any more segments that have to be analyzed. If there are more segments, then the next segment is analyzed at 74 and blocks 60-72 are repeated. This process continues until it is determined at 72 that there are no more segments. Once it has been determined that there are no more segments, then the model diagnostics component 36 evaluates the performance of the of the engine baseline model at 76 and generates certain statistical outputs that relate to the model.
The foregoing flow chart of this disclosure shows the functionality and operation of the engine baseline modeling system 28. In this regard, each block represents a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures or, for example, may in fact be executed substantially concurrently or in the reverse order, depending upon the functionality involved. Furthermore, the functions can be implemented in programming languages such as C and Java, however, other computer programming languages can be used. Also, the engine service database 30 may be constructed using commercial databases including standard relational, object-oriented or hierarchical databases. Data manipulation operations, including retrieval, creation, modification, and deletion, can be implemented within the programming languages or within the database using stored procedures or triggers or combinations.
The above-described engine baseline modeling system 28 comprises an ordered listing of executable instructions for implementing logical functions. The ordered listing can be embodied in any computer-readable medium for use by or in connection with a computer-based system that can retrieve the instructions and execute them. In the context of this application, the computer-readable medium can be any means that can contain, store, communicate, propagate, transmit or transport the instructions. The computer readable medium can be an electronic, a magnetic, an optical, an electromagnetic, or an infrared system, apparatus, or device. An illustrative, but non-exhaustive list of computer-readable mediums can include an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (magnetic), a read-only memory (ROM) (magnetic), an erasable programmable read-only memory (EPROM or Flash memory) (magnetic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical).
Note that the computer readable medium may comprise paper or another suitable medium upon which the instructions are printed. For instance, the instructions can be electronically captured via optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
If desired, the system 78 may have functionality that enables authentication and access control of users accessing the web pages linked to the engine baseline modeling system 28. Both authentication and access control can be handled at the web server level by a commercially available package such as Netegrity SITEMINDER. Information to enable authentication and access control such as the user names, location, telephone number, organization, login identification, password, access privileges to certain resources, physical devices in the network, services available to physical devices, etc. can be retained in a database directory. The database directory can take the form of a lightweight directory access protocol (LDAP) database, however, other directory type databases with other types of schema may be used including relational databases, object-oriented databases, flat files, or other data management systems.
Referring now to
In the first embodiment described above, an assumption is made regarding the effect of time on measured trends, in that deterioration time effects (i.e., trend variations) over short periods are deemed to be much smaller than the measured residuals, thereby rendering their effect minimal. However, if deterioration time effects are not assumed to be small relative to residuals, less effective models may be generated. Accordingly, the present invention includes a method for reducing the effect of such deterioration, thereby increasing the usefulness of the generated baseline.
In block 88 of
It should be understood that any suitable method for smoothing variations on the initial baseline model may be applied and should not be limited to the moving average methodology described above. In one embodiment, a Loess algorithm may be employed. Additionally, in another embodiment of the present invention, the steps of blocks 90-94 may be repeated to further improve the quality of the baseline model. However, it should be noted that each subsequent iteration of the smoothing and detrending process results in diminished improvement on model quality.
Referring now to
In block 96 of
In this technique, a normalizing transform is performed on each data set. Once the identified data sets have been normalized, a trend is determined for each of the monitored parameters in block. One trend is selected as the primary trend and the remaining trends are fit to the primary trend. This may be accomplished in any suitable manner, such as regression or data smoothing techniques. By way of explanation, in one particular embodiment, three exemplary trends B (blue), G (green), and R (red) have been identified for monitored parameters. Assuming that the blue (B) trend has been established as the primary trend, the R and G trends are then fit to the primary B trend. This may be done by fitting the models, B[i]=a1*R[i]+b1 and B[i]=a2*G[i]+b2. New R and G datasets are then generated from R*[i]=a1*R[i]+b1 and G*[i]=a2*G[i]+b2.
If the models fit well, then BLUE[i], RED*[i], and GREEN*[i] should all be approximately the same value, where Red and Green have been normalized to fit the primary Blue trend. In this manner, 3 times as many observations are utilized in a single dataset than would have been utilized by just using the BLUE series alone. Accordingly, the final model is then based upon more information.
Of course, since the data isn't always as nice as the example, circumstances exist wherein different trend data is not combined together in this manner. For example, fluctuations in one trend that doesn't occur in the other two may be ignored. Additionally, the smoothing concept briefly described above comes into play when the R, G, B trends are less than perfect, and may include significant amounts of noise. By smoothing, with a moving average for example, smooth trends R′, G′, B′, may be identified. In one embodiment, B′[i]=a1*R′[i]+b1 and B′[i]=a2*G′[i]+b2, may be utilized to generate a smoothed B′ trend. New R and G datasets are then generated as before. This technique is particularly useful when measuring the same quantity, such as fuel flow or exhaust gas temperature, at different operational points, such as aircraft cruise (steady state), takeoff (maximum transient), and climb (maximum sustained).
Next, once normalized, data sets are combined to form a single data set, effectively representing a new engine parameter relating to engine performance. Once the data has been combined, a regression on the combined data is performed in 102 and the residuals are determined in block 104, resulting in a baseline model for the combined parameters, which may be a better indicator of engine performance, thereby enabling more rapid and accurate monitoring and diagnosis. The process then continues to model diagnostics generation block 76, described in
Referring now to
Initially, in block 106, once all data segments have been initially analyzed in step 72 of
Y=f(altitude, temperature, power setting, air speed) (1)
,to
Y=f(altitude, temperature, power setting, air speed, power setting other engine), (4)
since the other 3 elements remain constant for both engines. A more complex manner of performing this regression is to also add the previous Y result from the other engine:
Y=f(atitude, temperature, power setting, air speed, power setting other engine, Y other engine) (5)
In this manner, the present methodology man be extended to 3 and 4 engine aircraft as well as the above described two engine embodiment.
It is apparent that there has been provided in accordance with this invention, a baseline modeling system, method and computer product. While the foregoing description includes many details and specificities, it is to be understood that these have been included for purposes of explanation only, and are not to be interpreted as limitations of the present invention. Many modifications to the embodiments described above can be made without departing from the spirit and scope of the invention, as is intended to be encompassed by the following claims and their legal equivalents.
The present application is a continuation-in-part of co-pending U.S. patent application Ser. No. 09/682,314, filed on Aug. 17, 2001, the entirety of which is incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
4215412 | Bernier et al. | Jul 1980 | A |
5018069 | Pettigrew | May 1991 | A |
5050081 | Abbott et al. | Sep 1991 | A |
5075881 | Blomberg et al. | Dec 1991 | A |
5080458 | Hockaday | Jan 1992 | A |
5189606 | Burns et al. | Feb 1993 | A |
5197127 | Waclawsky et al. | Mar 1993 | A |
5408412 | Hogg et al. | Apr 1995 | A |
5687082 | Rizzoni | Nov 1997 | A |
5703283 | McClish et al. | Dec 1997 | A |
5727128 | Morrison | Mar 1998 | A |
6003808 | Nguyen et al. | Dec 1999 | A |
6047593 | Scher et al. | Apr 2000 | A |
6067486 | Aragones et al. | May 2000 | A |
6125312 | Nguyen et al. | Sep 2000 | A |
6151582 | Huang et al. | Nov 2000 | A |
6216066 | Goebel et al. | Apr 2001 | B1 |
6223143 | Weinstock et al. | Apr 2001 | B1 |
6243696 | Keeler et al. | Jun 2001 | B1 |
6317654 | Gleeson et al. | Nov 2001 | B1 |
6408259 | Goebel et al. | Jun 2002 | B1 |
6473677 | Hershey et al. | Oct 2002 | B1 |
6487479 | Nelson | Nov 2002 | B1 |
6487490 | Kamath et al. | Nov 2002 | B1 |
6519575 | Goebel | Feb 2003 | B1 |
6591182 | Cece et al. | Jul 2003 | B1 |
6601015 | Milvert et al. | Jul 2003 | B1 |
6606580 | Zedda et al. | Aug 2003 | B1 |
6631384 | Richman et al. | Oct 2003 | B1 |
6799154 | Aragones et al. | Sep 2004 | B1 |
6832205 | Aragones et al. | Dec 2004 | B1 |
7031878 | Cuddihy et al. | Apr 2006 | B2 |
7039554 | Nguyen et al. | May 2006 | B2 |
20010032109 | Gonyea et al. | Oct 2001 | A1 |
20020173897 | Leamy et al. | Nov 2002 | A1 |
20030034995 | Osborn et al. | Feb 2003 | A1 |
20030036891 | Aragones et al. | Feb 2003 | A1 |
20030045992 | Humerickhouse et al. | Mar 2003 | A1 |
20040172228 | Aragones | Sep 2004 | A1 |
Number | Date | Country |
---|---|---|
1146468 | Oct 2001 | EP |
1160712 | Dec 2001 | EP |
Number | Date | Country | |
---|---|---|---|
20040172227 A1 | Sep 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09682314 | Aug 2001 | US |
Child | 10707655 | US |