Predictive Maintenance Matlab
Predictive Maintenance Matlab
MATLAB
Amit Doshi,
Senior Application Engineer – Data Analytics
MathWorks India
[email protected] © 2015 The MathWorks, Inc.
1
Agenda:
3
Reactive maintenance
Predictive maintenance
4
Reactive maintenance
Machine
health
x
Failure
Time
5
Reactive maintenance
Machine
health
x
Failure
Time
Aircraft
engine
6
Reactive maintenance
Machine
health
x
Failure
Time
Preventive maintenance
Machine
health
?
?
Time
7
Reactive maintenance
Machine
health
x
Failure
Time
Preventive maintenance
Machine
health
x Still usable
condition
Time
8
Reactive maintenance
Machine
health
x
Failure
Time
Preventive maintenance
Machine
health
x Still usable
condition
Time
Predictive maintenance
Machine
health
Optimum time to
now do maintenance
x Predicted
failure
Time 9
A Predictive Maintenance Algorithm Answers
These Questions
For example:
Is my machine
operating
Anomaly
Detection
I need help.
normally?
Why is my
machine behaving
Condition One of my cylinders is blocked.
Monitoring
abnormally?
10
Predictive Maintenance Success Stories
Pump Health Monitoring System Online engine health monitoring Production machinery failure warning
▪ Spectral analysis and filtering on binary sensor data ▪ Real-time analytics integrated with enterprise ▪ Reduce waste and machine downtime
and neural network model prediction service systems
▪ MATLAB based HMI warns operators of
▪ More than $10 million projected savings ▪ Predict sub-system performance (oil, fuel, potential failures
liftoff, mechanical health, controls
▪ > 200,000 € savings per year
11
Link to user story
12
Transocean uses MATLAB tools to transition from preventative
maintenance to CPM* for a critical deep sea drilling component
*Condition and Performance Monitoring
Challenges
• Minimize unplanned downtime of the component
• Use as-close-to-real-time data for CPM
• Deploy CPM solution to components in other locations
Solution
▪ Monitoring data from the drill is collected in a PI archive. MATLAB is used
Drilling data is stored in an OSISoft PI Archive. MATLAB
to create an app that takes in the data, preprocesses the data, and Production Server is used in the application specific
generates a quality indicator. processing
▪ The app is deployed onto MATLAB Production Server for real-time use;
Interfacing directly with data in PI gives you increased
results are stored back on the PI archive. performance at the cost of having to write/deal with
low-level code (“getting under the hood”). It was noted
Results that using MATLAB parallel tools (which entails a
higher-level interface) was not only easier but also it
Able to move to CPM for their component(s) with improved decision-making
provided “hands-down” faster performance than
capabilities through faster access to data and quicker analytics deployment. interfacing with PI directly.
Is my machine
Anomaly
operating
Detection
normally?
Why is my
Condition
machine behaving
Monitoring
abnormally?
14
Workflow for Developing a Predictive Maintenance Algorithm
Machine Learning
15
Agenda:
16
Develop Predictive Maintenance Algorithm: Use cases
Is my machine
Anomaly
operating
Detection
normally?
Why is my
Condition
machine behaving
Monitoring
abnormally?
17
Develop Predictive Maintenance Algorithm for -
Use case 1: Fault Classification
Why is my
Condition
machine behaving
Monitoring
Condition indicators abnormally?
Identify
fault type
Predictive
maintenance
algorithm
Determine what
needs to be fixed
18
Develop Predictive Maintenance Algorithm for -
Condition indicators
Current
condition
Machine x
health
Estimate
Predictive remaining useful life
maintenance x
algorithm x x
Time
19
20
Predictive Maintenance Algorithm
Acquire Data
Sensor
healthy Collect data using sensors data
+
faulty
Temperature
Flow Time
Triplex pump
Pressure
*For simplification purposes, healthy and faulty
operation are represented by single
measurements. In a realistic scenario, there
may be hundreds of measurements for both
types of operations.
21
Predictive Maintenance Algorithm
Identify
Acquire Preprocess Condition Train Deploy &
Data Data Indicators Model Integrate
Sensor
healthy Collect data using sensors data
+
faulty
Temperature
Flow Time
Triplex pump
Pressure
Sensor
healthy Collect data using sensors data
+
faulty
Temperature
Flow Time
Triplex pump
Pressure
23
Predictive Maintenance Algorithm
Identify
Acquire Preprocess Condition Train Deploy &
Data Data Indicators Model Integrate
Sensor
healthy Collect data using sensors data
+
faulty
Temperature
Flow Time
Triplex pump
Pressure Operating temperature: 90°F
Fluid viscosity: High
24
Predictive Maintenance Algorithm
Identify
Acquire Preprocess Condition Train Deploy &
Data Data Indicators Model Integrate
Sensor
data
Time
Triplex pump
What if real failure data
is not available?
25
Predictive Maintenance Algorithm
Identify
Acquire Preprocess Condition Train Deploy &
Data Data Indicators Model Integrate
Sensor
data
Time
Triplex pump
Sensor data
• Healthy (0)
• Blocked inlet (010)
• Worn bearing (001)
• Seal Leakage (100)
Flow Pressure • Blocked inlet, worn bearing (011)
• Seal leakage, worn bearing (101)
• Seal leakage, blocked inlet (110)
• Seal leakage, blocked inlet, worn be
240 measurements of
flow and pressure with a
duration of 1.2 seconds
Acquire Data
Challenges
▪ Data clean up
– Poorly formatted files
– Irregularly sampled data
– Redundant data, outliers, missing data etc.
28
Spikes to sensor’s
maximum value
Raw data
10
9.5
Pressure (bar)
8.5
7.5
7 Offset in time
6.5
0.5 1 1.5 2 2.5 3 3.5 4
Time (s) 29
30
Preprocessed data
Raw data 7.35
10
7.3
9.5
7.25
Pressure (bar)
Pressure (bar)
9
7.2
8.5
7.15
8
7.1
7.5
7.05
7
7
6.5
0.5 1 1.5 2 2.5 3 3.5 4 6.95
0 0.2 0.4 0.6 0.8 1 1.2
Time (s) Time (s)
31
Predictive Maintenance Algorithm
Acquire Data
32
A condition indicator can be any feature that is useful -
• for distinguishing normal from faulty operation or
• for predicting remaining useful life
Time Time
33
Signal-Based Condition Indicators
Mean
Standard deviation
Skewness
Root-mean square
Kurtosis
...
34
Healthy Seal Leakage Seal Leakage, Blocked Inlet
Faulty 7.3 7.3
Pressure (bar)
Pressure (bar)
Increasing 7.25 7.25
7.15 7.15
7.1 7.1
7.05 7.05
7 7
0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72
Pressure (bar)
7.25 7.25
7.2 7.2
7.15 7.15
7.1 7.1
7.05 7.05
7 7
0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72
Pressure (bar)
7.25 7.25
7.2 7.2
7.15 7.15
7.1 7.1
7.05 7.05
7 7
0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72
7.3
Pressure (bar)
7.25
7.245
7.2 No overlap
7.24
Minimum
7.15
7.1
75th percentile
7.225
Maximum
Blocked Inlet Healthy
36
MEAN
7.25
7.245
Healthy
7.24
Blocked Inlet
Seal Leakage
7.235
Worn Bearing
7.23
Seal Leakage
&
7.22 Worn Bearing
Seal Leakage
&
7.215 Blocked Inlet
7.21
Fault type
37
MEAN 10-3 VARIANCE
7.25
6 Outlier
7.245
5
7.24
7.235 4
7.23
3 Healthy
7.225
-1.6
3
-1.8
-2
2
Fault type Fault type 38
Healthy
Blocked Inlet
Variance
Seal Leakage
Worn Bearing
Mean
39
Signal-Based Condition Indicators
Mean
Standard deviation
Skewness
Root-mean square
Kurtosis
...
Amplitude
Disc • In time-domain, we observe
Bearing the combined effect of
different sources of vibration.
Time
Motor
shaft
Amplitude
vibration sources: shaft • Using frequency-domain
- Bearing Nominal
analysis, we can
- Motor shaft Faulty distinguish different
- Disc Frequency sources of vibration.
42
Seal Leakage Seal Leakage, Blocked Inlet
0.02 0.02
Magnitude
0.015 0.015
0.01 0.01
0.005 0.005
0 0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
0.015 0.015
0.01 0.01
• Peaks
0.005 0.005 • Peak frequencies
0 0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
0.015 0.015
0.01 0.01
0.005 0.005
0 0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
43
Time-domain Frequency-domain
44
Signal-Based Condition Indicators
...
Root-mean square Peak frequencies
Kurtosis Harmonics
...
...
47
48
Predictive Maintenance Algorithm
Acquire Data
49
Machine Learning Workflow
Train: Iterate till you find the best model using historical data
50
Machine Learning: Types
Regression
Supervised
Learning
Classification
Develop predictive
Condition Machine
model based on both
Indicator Learning input and output data
Unsupervised
Learning
53
Summary: Develop Predictive Maintenance Algorithm:
Diagnostic Feature
Designer
Condition indicators
Current
condition
Machine x
health
Estimate
Predictive remaining useful life
maintenance x
algorithm x x
Time
55
Machine deterioration
profile
Condition indicator
Current condition
Failure condition
What is RUL?
Time
Remaining useful life (RUL)
[ Number of days ]
[ Miles ]
[ Cycles ]
…
56
RUL Estimator Models
57
RUL Methods and when to use them
Requirement: Need to know what constitutes failure data
58
59
Predictive Maintenance Algorithm
Identify
Acquire Preprocess Condition Train Deploy &
Data Data Indicators Model Integrate
Cloud
Edge device
60
Deploy & Integrate analytics using MATLAB:
MATLAB
Runtime
61
Feature Extraction Algorithm at the Edge
▪ 3 pumps ~ 78 GB/day
Asset w. smart
sensors
Challenge:
Data transmission cost is pretty high
Solution:
Extract only relevant information and send it to predictive model
62
Video showing Codegen with MATLAB Coder
63
Video showing Codegen with MATLAB Coder
64
Code Deployment for Machine Learning
Deploy trained models as standalone C/C++ code
▪ SVM Classification
▪ Linear Classification
▪ Linear Regression
▪ Generalized Linear Regr.
▪ Decision trees
▪ Ensembles for Class.
▪ Ensembles for Regr.
▪ SVM Regression
▪ KNN Classification
▪ Gaussian Process Regr.
▪ Discriminant Analysis
▪ Non-tree Ensembles
▪ KNN with kd-tree
65
What do your end users want?
66
Agenda:
67
MathWorks can help you get started TODAY
▪ Examples
▪ Documentation
▪ Consulting
68
Training Services
Exploit the full potential of MathWorks products
www.mathworks.in/training 69
Machine Learning with MATLAB
▪ This two-day course focuses on data analytics and machine learning techniques in MATLAB. The
course demonstrates the use of unsupervised learning to discover features in large data sets and
supervised learning to build predictive models. Topics include:
▪ Organizing and preprocessing data
▪ Clustering data
▪ Creating classification and regression models
▪ Interpreting and evaluating models
▪ Simplifying data sets
▪ Using ensembles to improve model performance
70
Statistical Methods in MATLAB
71
Summary: Why MATLAB for Predictive Maintenance?
▪ Dedicated toolbox for data preprocessing and feature extraction and developing
predictive models
72
Please provide feedback for this block of sessions
▪ http://bit.ly/expo19-feedback
73
Speaker Details:
Email: [email protected]
LinkedIn: https://www.linkedin.com/in/amit-doshi/