Prognostics 101: A tutorial for particle filter-based prognostics algorithm using Matlab
Highlights
► Matlab-based tutorial for model-based prognostics is presented. ► A battery degradation model and a crack growth model are used as examples. ► The RUL at an arbitrary cycle are predicted using the particle filter.
Introduction
Although many prognostics methods have been presented in literature [1], [2], [3], [4], [5], [6], it is still difficult for engineers to use them for their applications. The objective of this paper is to demonstrate how to use a prognostics method using a simple Matlab code as short as 62 lines.
In general, prognostics methods can be categorized into data-driven, model-based, and hybrid approaches [7]. The data-driven method does not use any particular physical model and largely depends on measured data. On the other hand, the model-based approach assumes that a physical model describing the behavior of damage or degradation is available and combines the model with measured data to identify model parameters. Hybrid approaches combine the above-mentioned two methods to improve the prediction performance.
Among the abovementioned prognostics methods, the model-based approach is considered since if there exist physical model, it is easy to establish standard algorithm logically compared to other approaches. In this approach, the model parameters which have an effect on model behavior are often unknown and need to be identified as a part of the prognostic process. There are several methods to estimate model parameters, such as the Kalman filter (KF) that gives an exact PDF in analytical form in the case of a linear model with a Gaussian noise [8]; Particle filter (PF), in which the posterior distribution of model parameters is expressed as a number of particles and their weights [9], [10], [11]; and Bayesian method (BM) that is to estimate the model parameters using measurement data, which are incorporated into a single posterior distribution [12], [13], [14]. In this paper, PF is employed because it can be used for a nonlinear model with non-Gaussian noise and is the most widely used in the field of prognostics.
The Matlab code is composed of 62 lines including detailed explanations, which is further divided into three parts: (1) problem definition; (2) prognostics using PF; and (3) post-processing. Users are required to modify the first part according to their application. For demonstration purposes, examples of battery degradation and crack growth are presented.
The rest sections are organized as follows: in Section 2, the overall process of model-based prognostics is explained with the Matlab code; in Section 3, the usage is explained with a battery degradation example; and in Section 4, various cases are described with a crack growth example, followed by conclusions in Section 5.
Section snippets
Model-based prognostics
The process of model-based prognostics is illustrated in Fig. 1, in which the degradation model is expressed as a function of usage conditions U, elapsed cycle or time t, and model parameters θ. The usage conditions and time are given, while the model parameters characterizing the damage behavior should be identified. Then, the remaining useful life (RUL) which represents the remaining time to failure is calculated based on the estimated model parameters.
The model parameters are estimated using
Matlab implementation
In this section, the usage of the 62-line Matlab code is explained. The code is divided into three parts: (1) problem definition for user-specific applications, (2) prognostics using PF, and (3) post-processing for displaying results. The block diagram of the code is illustrated in Fig. 5. Only the problem definition part needs to be modified for different applications, which are further divided into two sections: parameter definition and model definition. In the parameter definition, all known
Practical use
The code can be easily adapted by users for more practical use. As an example, the usage algorithm with a crack growth example is considered in the following subsections.
Conclusions
This paper presents a tutorial for model-based prognostics with a Matlab code. The code is simply constructed with 62 lines using an example of battery degradation, and users can easily modify the code for their specific applications. Also, more practical cases are considered with crack growth examples. This will be helpful for the beginners in prognostics to use the prognostics method for their applications. Toward this aspect, the author has established a website //sites.google.com/site/dawnan1114/
Acknowledgment
This work was supported by a grant from the International Collaborative R&D Program (0420-2011-0161) of the Korea Institute of Energy Technology Evaluation and Planning (KETEP), funded by the Korean government's Ministry of Knowledge Economy.
References (20)
- Daigle M, Goebel K. Multiple damage progression paths in model-based prognostics. In: Proceedings of IEEE aerospace...
- DeCastro JA, Tang L, Loparo KA, Goebel K, Vachtsevanos G. Exact nonlinear filtering and prediction in process...
- et al.
Model-based prognostic techniques applied to a suspension system
IEEE Transactions on Systems Man and Cybernetics-Part A
(2008) - et al.
Ensemble of data-driven prognostic algorithms for robust prediction of remaining useful life
Reliability Engineering and System Safety
(2012) - et al.
A probabilistic physics-of-failure model for prognostic health management of structures subject to pitting and corrosion–fatigue
Reliability Engineering and System Safety
(2011) - et al.
A data-driven fuzzy approach for predicting the remaining useful life in dynamic failure scenarios of a nuclear system
Reliability Engineering and System Safety
(2010) - et al.
Intelligent fault diagnosis and prognosis for engineering systems
(2006) A new approach to linear filtering and prediction problems
Journal of Basic Engineering-Transactions of the ASME.
(1960)- et al.
A particle-filtering approach for on-line fault diagnosis and failure prognosis
Transactions of the Institute of Measurement and Control
(2009) - et al.
Particle filtering prognostic estimation of the remaining useful life of nonlinear components
Reliability Engineering and System Safety
(2011)
Cited by (270)
A hybrid approach based on deep neural network and double exponential model for remaining useful life prediction
2024, Expert Systems with ApplicationsPipeline condition monitoring towards digital twin system: A case study
2024, Journal of Manufacturing SystemsDifferent methods for RUL prediction considering sensor degradation
2024, Reliability Engineering and System SafetyCyber–physical systems framework for AI in smart manufacturing and maintenance
2024, Artificial Intelligence in Manufacturing: Applications and Case StudiesNon-Gaussian feature distribution forecasting based on ConvLSTM neural network and its application to robust machine condition prognosis
2023, Expert Systems with ApplicationsApplication of particle filter variants to estimate the remaining useful life
2023, Probabilistic Engineering Mechanics