Skip to content

jubacochran/damage-propagation-modeling-NASA-jet-engine-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NASA Turbofan Jet Engine

Author Juba Cochran

Executive summary

The purpose of this application is to discover how to use machine learning models to identify a deteriorating and failing component of a jet engine. This method of identifying failing parts or components is formally known in the industry as predictive maintenance, and the process used to predict these occurrences is called damage propagation modeling. Examples of these include crack growth, corrosion spreading, wear and tear, and delamination. Predictive maintenance is an important topic for health, safety, and economic reasons. For instance, when would it be economically viable to replace a part in industrial equipment to prevent unplanned downtimes, optimize maintenance schedules, and improve operational efficiency? Or, can we predict the threshold when an industrial component stops working within safety limits for human use? I will attempt to bring insight to questions like these within this application.

Rationale

Predictive maintenance has the potential to impact various industries, including manufacturing, transportation, robotics, and aerospace, by providing a framework for implementing solutions that can prevent failures before they occur. This can lead to significant cost savings, improved safety, and enhanced productivity.

Research Question

At what cycle(hour) does a high pressure compressor fall below the stable operating threshold?

Data Sources

I have used a mix of domain knowledge and machine learning to arrive at my conclusions. My reference documents are in this project repository under "Reference Domain Artifacts." Directory of References

Methodology

I'm using a process called Remaining Useful Life (RUL) estimation. This estimation is used to predict the time when a component or system will no longer meet operating standards. My unique approach involves the RUL (Similarity) hybrid approach. It's hybrid because I'm using data to predict failure and a model with conditions that indicate failure through calculations. Some approaches do not require any knowledge about the components or the degradation model; the degradation is learned directly from the model. Due to the seriousness of this particular data set, I've decided to learn about the domain-specific calculations, health metrics, mechanical properties, and the physics related to jet engine health and failure scenarios. Additionally, we will focus only on one component of the jet engine, the High Pressure Compressor (HPC). This is due to a time limitation for my capstone program at Berkeley.

Additionally the dataset is populated with 100 engines of the same model type with varying run to failure cycles. I will attempt to model for each engine and across the entire engine fleet.

Updated Results(Oct-18-24)

XGBoost has a significantly smaller mse and the variance is explained better than the bagging regressor as well. This is due to the nature of boosing highly biased data. Clearly XGBoost is the modle to use going forward.

Xgboost model:

  • **MSE (XGBoost): 2.6660451011467297e-05
  • **R2 Score (XGBoost): 0.8925648172124581

Bagging:

  • **Mean Squared Error (Bagging Regressor): 0.00029431754824328605
  • **R² Score (Bagging Regressor): 0.32344005919518926

Fleet agg Plot

Results

I discovered that we can predict the failure scenario of the HPC by using a health metric called the stall margin[1]. From my investigation, I found that the stall margin can be derived as a function of efficiency and flow. Most of the necessary variables for calculating the stall margin are present in the sensor features of the dataset, and for any missing data, I inferred values based on their relationships throughout the engine system.

For Engine 45, the R² score (Train) is 0.7059, indicating a good fit between the predicted and actual values during training. The stall margin breaches the failure threshold at cycle 134 in the training data, with a predicted value of 0.4472. In the test data, the stall margin breaches the threshold at cycle 128, with a predicted value of 0.4517.

Additionally:

  • Mean Squared Error (Train): 0.000171

  • Mean Squared Error (Test): 0.000524

  • Training:

    • Stall margin breaches the threshold at cycle 134, predicted value: 0.4472
    • Remaining useful life (Train): 24 cycles
  • Test:

    • Stall margin breaches the threshold at cycle 128, predicted value: 0.4517
    • Remaining useful life (Test): 24 cycles

Engine 45 plot

The bagging regressor shows a better plot across the fleet than the linear model however there is still a considerable amount of variance that is not being captured.

Fleet agg Plot

  • **Mean Squared Error (Bagging Regressor): 0.000294
  • **R² Score (Bagging Regressor): 0.323440

Next steps

More time and effort should be spent on deep learning network and ensemble runs using bagging regressor to eventually discover the failure cycle for the other failure scenarios in the project from NASA. Additionally since the test dataset is considerablly smaller than the training set, some additional custom calculations need to be created to attempt to capture the failure scenarios for the engines with short life cycles.

Outline of project

First look:

Custom Modules:

Contact and Further Information

Contact: jubacochran@gmail.com www.linkedin.com/in/jubacochran

Further Project Information:

Experimental Scenario(Provided by Kaggle Nasa dataset) Data sets consists of multiple multivariate time series. Each data set is further divided into training and test subsets. Each time series is from a different engine i.e., the data can be considered to be from a fleet of engines of the same type. Each engine starts with different degrees of initial wear and manufacturing variation which is unknown to the user. This wear and variation is considered normal, i.e., it is not considered a fault condition. There are three operational settings that have a substantial effect on engine performance. These settings are also included in the data. The data is contaminated with sensor noise.

The engine is operating normally at the start of each time series, and develops a fault at some point during the series. In the training set, the fault grows in magnitude until system failure. In the test set, the time series ends some time prior to system failure. The objective of the competition is to predict the number of remaining operational cycles before failure in the test set, i.e., the number of operational cycles after the last cycle that the engine will continue to operate.

Data that I've resarched to in order to bring some methodology and understanding to my modeling and approach.

[1] Stall Margin(Gas_Turbine_BestPractices) pg- 53 The stall margin is the area between the steady state operating line and the compressor stall line.

Compressor Efficiencies (Gas_Turbine_BestPractices) Compressor Efficiency -pg 49

Higher Stall Margin: A higher stall margin means that the compressor is operating well within stable limits, far from the stall point. This is generally a good thing, indicating that the compressor is stable.

Lower Stall Margin: A lower stall margin means that the compressor is operating closer to the stall point, increasing the risk of instability and potential compressor stall.

RUL - Remaining Useful Life of each engine. Degradation - the condition or process of degrading. HPC - High-Pressure Compressor; LPC - Low Pressure Compressor. HPT - High-Pressure Turbine; LPT - Low Pressure Turbine. C-MAPS - Commercial Modular Aero-propulsion System Simulation. EGT - Exhaust Gas Temperature. Flow loss - reduction of effective flow of air through a system.