0% found this document useful (1 vote)
224 views8 pages

ENGR6012 Assignment #1: Mechanical Vibrations and Condition Monitoring

This document provides instructions for a mechanical vibrations assignment involving the analysis of sensor data from turbofan engines. It consists of two parts: Part A involves modeling a human body as a mass-spring-damper system and determining its equations of motion, transfer function, and eigenvalues. Part B involves using sensor data from 100 identical turbofan engines to assess engine condition and health over time using MATLAB. Students are instructed to read in the data, visualize it, remove unnecessary sensors, and analyze the cleaned data using three MATLAB apps, including k-nearest neighbors classification.

Uploaded by

Usama Mughal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
224 views8 pages

ENGR6012 Assignment #1: Mechanical Vibrations and Condition Monitoring

This document provides instructions for a mechanical vibrations assignment involving the analysis of sensor data from turbofan engines. It consists of two parts: Part A involves modeling a human body as a mass-spring-damper system and determining its equations of motion, transfer function, and eigenvalues. Part B involves using sensor data from 100 identical turbofan engines to assess engine condition and health over time using MATLAB. Students are instructed to read in the data, visualize it, remove unnecessary sensors, and analyze the cleaned data using three MATLAB apps, including k-nearest neighbors classification.

Uploaded by

Usama Mughal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

ENGR6012

Assignment #1:
Mechanical Vibrations and Condition Monitoring

Covers Material Weeks #1 - #4

Mark:
Part A: _____/100
Part B: _____/100

Total: ____ / 200


Curtin University

ENGR6012: System Vibration and Condition Assessment


Assignment: Part A
Figure 1 below shows a human body modelled as a five degree of freedom system, consisting of 5
masses, 4 dampers and 4 springs. Neglecting the ground reaction (Ignore the dotted box connected to
m1):

Figure 1: Human body modelled as a four degree of freedom system

a) Determine the equations of motion for the mass –spring – damper system representing the
human body, as seen in Figure 1, in matrix form. (It is encouraged that you use influence
coefficients) (20 Marks)
b) Determine the transfer function between the force applied on m2 and the movement of the head
m5. (20 Marks)
c) Express the equations of motion, from part a, in state space form (20 Marks)
d) Using MATLAB, and noting the parameters:
• m1 = 1.8 kg, m2 = 6.3kg, m3 = 5.4kg, m4 = 22.5 kg, m5 = 54 kg
• c2 = 10 kNs/m, c3 = 0.5 kNs/m, c4 = 1.50 kNs/m, c5 = 1.1 kNs/m
• k2 = 100000 kN/m, k3 = 50 kN/m, k4 = 75 kN/m, k5 = 10 kN/m
i. Determine the eigenvalues of the system (10 Marks)
ii. Determine the natural frequencies of the system (10 Marks)
• Note: Overall Presentation (20 Marks)
o High quality presentation. Text and explanations accompanying equations and results.
o Reproduction of graphics of high quality
o Appropriate referencing
o No errors in grammar, spelling and syntax
o Code is thoroughly commented
Curtin University

ENGR6012: System Vibration and Condition Assessment

Assignment: Part B: Condition Monitoring of a Turbofan Engine

Data from 100 turbofan engines (such as shown in Figure 1)


of the same model were taken from performing scheduled
maintenance prior to and up until failure. Even though no
failure has occurred in the data (the engines were run to
failure), there are indicators in the data that show that each
turbofan eventually would fail. In this assignment, we will be
going through the process of looking and cleaning the data,
then taking a look at some methods on how to analyse the
data. Figure 1: KLM Turbofan engine (taken from:
http://obc-now.com/work/aerospace/)
A schematic of the turbofan engine are found in Figure 2
through 4, which is given to help you understand the 21
sensor data that was taken throughout the turbofan which
are shown in Table 1. Column 1 in the data set states the
engine number, and column 2 in the data set states the time
interval at which the data was collected. Columns 3 through
23 show the sensor data.
Table 1: Sensor Data for Turbofan Engine Figure 4: Schematic showing the stages and temperature
sections of a turbofan (Taken from:
Sensor Description Variable Name Units https://digitash.com/engineering/aerospace/the-role-of-a-
1. Total temperature at fan FanInletTemp °R gas-turbine-engine-in-aircraft/)
inlet
2. Total temperature at LPC LPCOutletTemp °R
outlet
3. Total temperature at HPC HPCOutletTemp °R
outlet °R
4. Total temperature at LPT LPTOutletTemp °R
outlet
5. Pressure at fan inlet FanInletPress psia
6. Total pressure in bypass- ByPassDuctPress psia
duct
7. Total pressure at HPC TotalHPCOPres psia
outlet
8. Physical fan speed PhysFanSpeed rpm
9. Physical core speed PhysCoreSpeed rpm
10. Engine pressure ratio EPR -- Figure 3:Schematic of turbofan (Saxena, 2008)
(P50/P2)
11. Static pressure at HPC StaticHPCO psia
outlet
12. Ratio of fuel flow to Ps30 FuelFlowRatio pps/psi
13. Corrected fan speed CorrFanSp rpm
14. Corrected core speed CorrCoreSp rpm
15. Bypass Ratio BypassRatio --
16. Burner fuel-air ratio FuelAirRatioBurn --
17. Bleed Enthalpy BleedEnth --
18. Demanded fan speed FanSpDemand rpm Figure 2: Schematic relating position in turbofan to variables
(Saxena, 2008)
19. Demanded corrected fan FanSpDemandCorr rpm
speed
20. HPT coolant bleed HPTCoolantBleed lbm/s
21. LPT coolant bleed LPTCoolantBleed lbm/s
Curtin University

ENGR6012: System Vibration and Condition Assessment

For this assignment, you will perform an analysis of the state of health on a turbofan engine. Your
report will be written in MATLAB, using a live script. It will include the usual sections (introduction,
method / code, discussion, conclusion). As a result, you will submit:

• A live script which should be able to run if the data files are found in the same folder.
• A pdf copy of the live script to a Turnitin link.

Your report will consist of a brief introduction to explain the problem you are attempting to assess,
followed by a well-detailed explanation of how you analysed the data (an explanation of what each
section of your code attempts to do and why you are doing the step), discussion of your results, and
conclusion. Questions are provided here to help you craft your comments/response for your report.
Section 1 below will pertain to your introduction to the problem. You should look up turbofans and
give a brief explanation of how it works and known common faults. Section 2 will pertain to your
initial visualisation and cleaning of your data, and then your analysis of the data using MATLAB apps.
Steps are provided below, some with useful MATLAB commands, to help you in this process. In this
section, you are expected to use 3 apps to analyse the data, one of which is K-nearest neighbour. You
are to include the code associated with the app in your live script, which is generated and available to
you by MATLAB after you have done your analysis. Section 3 will pertain to your interpretation /
discussion of your results. Section 4 will be your conclusion. Appendices will contain any references
that is used to construct your report. A marking criteria is found at the end of this handout to explain
how the report and script will be marked.

To help you with the analysis (Section 2), a step by step process is provided:

1. The data used is the sensor readings taken off the equipment. Maintenance was done after
125 flights, regardless of whether the equipment seemed to need it or not, so we only have
the first 125 flights of each engine. There are 100 engines done in the maintenance. These
100 engines are found in files labelled “trainFD001_engine_#.txt”, which are files set up to be
read into tables in MATLAB. The headings for each column in the table is provided in the file.
2. Section 2: VISUALISE AND CLEAN YOUR DATA
a. READ YOUR DATA: Using readtable, read in the data for the first engine into a table
(readtable). Use the names given in Table 1 as the names of the columns in the table.
(These have already been provided to you in the file)
b. REMOVE USELESS DATA: Using subplot, create a 3 by 7 matrix of plots. Plot a time
plot for each of the 21 sensors using from time interval 5 to 125. This should be 120
data points. Looking at the data, remove those sensors that do not provide useful
information. You should have 14 sensors left. Explain why you removed some sensors
and not others.
Note: If I read my data into a table using readtable, and then in a for loop (using the
variable i) want:
• to plot the data, then to access the time in the data for rows 5 to the end
would be: data.Time(5:end) . Note here a few things:
o data.Time means that I am calling a specific column in the table. In
this case, the column is called Time
o Once I call the column, I give it the row numbers I want in parenthesis
()
o 5:end means that the rows called go from row 5 to the last row.
• to access all columns starting in the 3rd column: data{5:end,i+2} . Note here
a few things:
o { } denotes that it is a table indices if I don't know the names of the
columns
Curtin University

ENGR6012: System Vibration and Condition Assessment


o I called the rows first using 5:end
o I then called the columns using i+2 where i was the variable used in a
for loop

Using this, you should be able to construct 3 lines inside a for loop to:

1. choose a graph on subplot


2. plot your data
3. place a title on each of the graphs.

c. SMOOTH YOUR DATA / REMOVE NOISE: Smooth your signal by removing noise from
your data using a method such as a trailing moving average (eg movmean with 4
elements backward and 0 elements forward). After smoothing your data, plot all
signals. Explain the method that was used to do the moving average.
d. APPLY TO ALL YOUR DATA: Using datastore, read in all the data from all 100 engines.
Store the data in a “tall array”. Be sure to treat all missing data as NA. Then smooth
out the data for each of the 100 engines to remove the noise. Why would someone
need to store data into a tall array? How does this differ than a normal array?
e. STANDARDISE DATA: Standardise your data with a mean of 0 and a standard
deviation of 1. You may want to look into functions (mean, std, repmat)
f. REDUCING DIMENSIONS OF DATA: Using PCA, choose the first 2 principal
components to describe the data. What percentage of the variance is explained by
using the first principal component? What percentage of the variance is explained by
using the first 2 principal components?
i. Plot your data using the 2 principal components. Plot the flights in blue with
the last 20 flights for each engine in red. What does this tell you about the
engine data?
ii. To see the trend of the engines over time, create a new plot of only the first
data points for each engine using the PCA in blue, and the last data point for
each engine. What can you say about the data?
iii. Going back to the plot provided in part f.i, plot the data obtained from engine
39 in green on the graph. Describe what has happened to engine 39.
g. LOOKING AT DATA USING THRESHOLDS: Let us interpret the data using thresholds.
On your plot of 2nd PCA component vs 1st PCA component, create an axis from -10 to
15 on the 1st PCA axis and -4 to 8 on the 2nd PCA component axis. Using patch, create
shaded areas that show the areas of “normal condition” in green, “warning” in yellow,
and “alarm” in red to show which regions each point lies.

Lower Limit Upper Limit Lower Limit Upper Limit


(PC1) (PC1) (PC2) (PC2)
Normal -6.5 5 -3 2
(green)
Warning -7 10 -4 5
(yellow)
Alarm <-7 >10 <-4 >5
(red)

3. Section 2: ANALYSE YOUR DATA


a. This time, we will be looking at the same engine dataset for all flights, not just 125
flights. The goal is to determine if given some data about the current state of the
engine, should the maintenance crew be concerned about the engine and investigate
Curtin University

ENGR6012: System Vibration and Condition Assessment


replacing parts now (urgent), or in the near future (short) or is the engine operating
sufficiently and have a “long” period of time before any problems may occur (long).
b. Create 3 categories (urgent, short, long) that describe the need for maintenance (or
time until failure) to be done on the engine. Set the threshold to be [< 50, < 125, >
125], where for example, 50 means that the engine is in 50 flights of failing. Set this
as a category field in your data set called TTF (time to failure). This is assuming that
the last point provided for each engine is at the time of failure. So the 20th point from
the bottom of a data set will be classified as -20 or 20 flights from failure.
c. Create a scatter plot of the 14 sensors of sensor vs time showing each point classified
according to one of the 3 categories. Set the time for each sensor to be time to failure.
In other words, have the last point in each sensor data set changed to 0, and then
have the time for each point recalculated to show the amount of time before failure.
Example:

d. Fill in the circle on the plot so that it shows clearly which category each point lies in.
For example, red can represent urgent, yellow for short, green for long.
e. Using the Classification Learner App, found under the App tab on top of the MATLAB
environment, import the sensor data with TTF. You will be using the 14 sensor data
as predictors and the TTF as the response. Do not import the engine number and the
time. Set the validation method to “Holdout Validation” and hold out 25% of the data.
This means you will be training on 75% of your data and testing on 25% of your data.
f. Using a KNN (K-nearest neighbour) with the number of neighbours as 5 to classify
your data. Research KNN and explain what the method does and what it means to
have a setting of 5 neighbours.
g. Select the confusion matrix to evaluate the results. Explain what is a confusion matrix
and the information found in the confusion matrix for this particular problem.
h. Choose 2 other methods (found in apps for classification learning, machine learning,
deep learning, math statistics and optimisation, or signal processing) to analyse your
data. Evaluate the result of your method using a confusion matrix and compare the
results with the KNN. Can you find a method that produces better results than the
KNN with 5 neighbours? Research the 3 methods that you have chosen (KNN and the
2 others) and explain the methods.
4. Section 3: DISCUSSION
a. Explain how you removed useless data and removed noise from the data. Why was
this necessary? Why did you need to standardise your data? With the growing
amount of data that we are able to obtain from machines, there is a need to consider
the cases of Big Data. How does treating your data as “Big Data” compare to not
treating your data as “Big Data”? How does it affect the way your program is run?
Why did you need to reduce your dimensions of your data? What are the advantages
and disadvantages of the reduction? In the case of your data set, do you find that it
was justified to reduce the dimensions using PCA?
b. Discuss the results of your analysis of the data with your 3 methods. Compare and
contrast the results. Which method provided the best results? Why? Use the
Curtin University

ENGR6012: System Vibration and Condition Assessment


accuracy and confusion matrices to support your claims. How confident are you in
the results for each method? How often did false positives or false negatives occur?
5. Appendix:
a. Proof of the completion of the MATLAB Onramp on the Mathworks website (MATLAB
and Simulink Training (mathworks.com)

Some MATLAB functions you may need for this assessment (This is not an exhaustive list. You may
want to refer to the MATLAB help for assistance):

• readtable
• figure
• subplot
• plot
• scatter
• gscatter
• movmean
• datastore
• preview
• tall
• gather
• mean
• std
• repmat
• pca
• patch
Curtin University

ENGR6012: System Vibration and Condition Assessment

Marking Criteria: Your submission should be in report form as follows (out of 100 marks):

• A suitable section to your live script showing title, task, author, student id, and date.
• Section 1: Introduction (20%)
o Description of a turbofan (5%)
o Brief explanation of how turbofans operate (5%)
o Description of common known faults in turbofans. (10%)
• Section 2: Method (30%) (Note: for full marks, sections must be thoroughly commented)
o Visualisation of data (5%)
▪ Removing useless data correctly
▪ Noise removed from data
▪ Data was standardised
o Cleaning data (5%)
▪ PCA was applied
▪ Data is shown using 2 principal components
o Categorising Data (5%)
▪ Graph using thresholds in data shown
▪ Data placed into 1 of 3 categories correctly (urgent, short, long)
o Method 1: KNN + accuracy + confusion matrix (5%)
o Method 2: method + accuracy + confusion matrix (5%)
o Method 3: method + accuracy + confusion matrix (5%)
• Section 3: Discussion (30%)
o Explanation of visualising and cleaning data (15%)
o Explanation of analysing data (15%)
• Section 4: Conclusion (5%)
• Overall Presentation (10%)
o High quality presentation
o Reproduction of graphics of high quality
o Appropriate referencing
o No errors in grammar, spelling and syntax
o Code is thoroughly commented
• Appendix: Completion of MATLAB Onramp (5%)

You might also like