OpenIE Machine Signal Analytics

4 minute read

Published:

๐Ÿš€๐Ÿš€๐Ÿš€ OpenIE Project: Prediction of Tool Wear in Machining Centers Based Method on Deep Learning and Its Industrial Application

This project originated in 2022, when I was still studying Industrial Engineering at Zhengzhou University (my senior year). Although the project was newly proposed and there were many immature ideas in it, after several months of polishing, I also achieved good results (such as winning the provincial first prize in the Challenge Cup competition).

0x00 Preface

This project originated in 2022, when I was still studying Industrial Engineering at Zhengzhou University (my senior year). Although the project was newly proposed and there were many immature ideas in it, after several months of polishing, I also achieved good results (such as winning the provincial first prize in the Challenge Cup competition). Special thanks to my teacher Ye Zhenggeng (associate researcher), majoring in Industrial Engineering, School of Management, Zhengzhou University. He provided us with machine tool data and selfless guidance to the OpenIE team throughout the entire project.
Meanwhile, I would like to express my gratitude to team members Wang Xiao (my roommate who later went to the National University of Defense Science and Technology for a direct PhD program), Luo Wenjie, and Zhang Ziyang.

0x01 OpenIE Machine | Mathematica Data Science

The project of predicting tool wear in machining centers through machine learning is not so much an application in mechanical and electronic engineering as a research and exploration in data science. In engineering, it is necessary to consider whether the collected data meets international standards and whether there is a complete toolchain in terms of deployment ( for example, I often watch MATLAB Chinaโ€™s official account video on Bilibili, from data acquisition, data processing, feature engineering, machine learning training and testing, to project deployment on different devices, is all completed by specialized Matlab toolkits and programs. Although it is very convenient and suitable for the industry, it does not perform well in terms of flexibility and personally feels difficult to fine tune. )
However, this project focuses more on theoretical research, and I have invested more energy in data import, data processing, and neural network construction and testing using Mathematica and Wolfram scripts. In terms of potential industrial applications in the future, it will be considered to use the Wolfram Engine to run on cloud servers, or to export the algorithm model as a C function through Mathematica CCodeGenerator and compile it to run on the target platform.

0x02 Project Navigation

Calculating the wear degree of machine tools by collecting machine tool signals is a typical prediction problem, which can be achieved by establishing a machine learning model.

StepDetails
Step 1 Data Collection and PreparationEnsure that you have collected various signal data, including spindle current, vibration, noise, and corresponding tool wear
Step 2 Feature EngineeringExtract useful features from raw data. This can include statistical features (mean, standard deviation, etc.), time-domain features, and frequency-domain features (using Fourier transform, etc.).
Consider introducing domain knowledge, such as machine tool working principles and tool wear mechanisms, to help select appropriate features
Step 3 Data SegmentationDivide the dataset into training and testing sets. The common practice is to use most of the data for training and a small portion for testing the performance of the model
Step 4 Model SelectionAs this is a prediction problem, regression models such as linear regression, decision tree regression, random forest, etc. can be considered.
You can also try more complex models, such as neural networks, especially for complex nonlinear relationships
Step 5 Model TrainingTrain the selected model using the training set.
Adjust the hyperparameters of the model, such as learning rate, number of trees, etc., to achieve better performance
Step 6 Model EvaluationEvaluate the performance of the model using a test set. Common evaluation indicators include mean square error (MSE), mean absolute error (MAE), and so on
Step 7 Model OptimizationBased on the evaluation results, further optimization of the model may be necessary. This may include adjusting feature selection, trying different model algorithms, dealing with data imbalance, and so on
Step 8 Model Deployment and MonitoringOnce satisfied with the performance of the model, it can be deployed to the production environment and continuously monitored for performance to ensure its effectiveness in practical applications
Step 9 Iteration and ImprovementData science is an iterative process. Based on feedback from practical applications, continuously optimize the model, improve feature engineering and model selection

Data Import and Process

Define a function for read โ€œ*.csvโ€ file, input the file name and return as data.

readMachineSignal[csvFileName_] := Module[{data},
  currentDirectory = NotebookDirectory[];
  csvFilePath = 
   FileNameJoin[{currentDirectory, "machineData", csvFileName}];
  data = Import[csvFilePath, "CSV"];
  data
  ]

Plot the signals with 3 rows and 2 colons graph