ProgPy Guide#

This page is a general guide for ProgPy. To access a guide specific to the features you’re using, select it in the menu below.

What is Prognostics#

ProgPy uses the following definition for prognostics:

Prognostics

Prediction of (a) future performance and/or (b) the time at which one or more events of interest occur, for a system or a system of systems

This is similar to definitions from 1. This approach is intended to be generic, capable of describing system behavior based on physical principles (i.e., physics-based), learning from data (i.e., data-based), or hybrid approaches (e.g., Physics-Informed Machine Learning).

In general, the ProgPy prognostic approach is illustrated below.

_images/package_structure.png

The foundation of prognostics is a model. Models describe the behavior of a system or system of systems. A prognostics model specifically describes how the state of the system evolves with time. Prognostic models typically come in one of 4 categories: knowledge-based, physics-based, data-driven, or some combination of those three (i.e., hybrid).

Details on functionality for creation, simulation, and analysis of models can be found in the Modeling and Simulation Guide. ProgPy also includes some example models and tools to access relevant data for model creation.

ProgPy divides the prognostic process into two steps: state estimation and prediction. State estimation is the process of determining the current system state (x), with some uncertainty, given the system parameters (\(\Theta\)), system loading (u) and measurements (z). There are various methods used for this, such as Kalman Filters and Particle Filters. These methods utilize a prognostics model, comparing measurements (z) with those predicted from the system output equation.

In the prediction step, the state estimate at the prediction time and system model are used together to estimate system degradation with time. This is most commonly done using a variant of the Monte Carlo method with the model state transition equation. Prediction is often computationally expensive, especially for sample-based approaches with strict precision requirements (which therefore require large number of samples). ProgPy provides some potential solutions to combat this, such as surrogate models, vectorization, and model configuration options.

Algorithms for state estimation and prediction along with tools analyzing and visualizing results of state estimation and prediction, managing uncertainty, and creating new state estimators or predictors, see the State Estimation and Prediction Guide.

More information#

For more information, see the inidividual guides

References#

1

Kai Goebel, Matthew John Daigle, Abhinav Saxena, Indranil Roychoudhury, Shankar Sankararaman, and Jos ́e R Celaya. Prognostics: The science of making predictions. 2017