Skip to content

Commit

Permalink
Started intro for tutorial
Browse files Browse the repository at this point in the history
  • Loading branch information
kjjarvis committed Oct 10, 2024
1 parent 702eff7 commit 21bce32
Show file tree
Hide file tree
Showing 2 changed files with 97 additions and 2 deletions.
99 changes: 97 additions & 2 deletions examples/2024PHMTutorial.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,26 @@
"_2024 PHM Society Conference_\n",
"_November, 2024_\n",
"\n",
"Please put questions in the Whova App or raise your hand"
"Please put questions in the Whova App or raise your hand."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Pre-Work\n",
"_We recommend installing ProgPy prior to the tutorial_\n",
"\n",
"The latest stable release of ProgPy is hosted on PyPi. To install via the command line, use the following command: \n",
"\n",
"`$ pip install progpy`"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Please download the Whova App (<span style=\"color:red\"> link? </span>) for live Q&A during the session."
]
},
{
Expand All @@ -22,11 +41,87 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"<span style=\"color:red\">\n",
"\tPut questions in the whova app\n",
"\tWhat it is\n",
"\tWhere to find it\n",
"\tInstalling it – Pre-work\n",
"\tGeneral Structure\n"
"\tGeneral Structure\n",
"\n",
"</span>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"NASA’s ProgPy is an open-source python package supporting research and development of prognostics, health management, and predictive maintenance tools. It implements architectures and common functionality of prognostics, supporting researchers and practitioners.\n",
"\n",
"The goal of this tutorial is to instruct users to use and extend ProgPy. This tutorial will cover how to use a model, including existing models and additional capabilities like parameter estimation and simulation, as well as how to build a new model from scratch. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Definitions and Background\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ProgPy uses the following definition for prognostics: \n",
"\n",
"**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."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The ProgPy framework consists of three key components, illustrated below, that combine to create a flexible and extendible prognostics architecture.\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![Alt text](img/ProgPyComponents.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_Prognostics Model_ \n",
"\n",
"The Prognostics Models are the backbone of the ProgPy architecture. Models describe the specific system that prognostics will be applied to and how the system will evolve with time. Everything else within ProgPy (e.g. simulation capabiliites and prognostics tools) are built on top of a model. \n",
"\n",
"ProgPy supports models that are physics-based, data-driven, or hybrid. ProgPy includes some built-in models (see examples below) but is also written in an easily adaptable way so users can implement models specific to their use-cases. \n",
"\n",
"_Prognostics Engine_\n",
"\n",
"The Prognostics Engine encapsulates the complex logic of prognostics in a way that is modular and extendable. It includes the necessary tools to perform prognostics on the model, including state estimation, prediction, and uncertainty management. The modularity of the framework allows these capabilities to work with any model (built-in or user-defined) and the extensibility of the architecture allows users to additionally create their own methodologies. \n",
"\n",
"_Prognostics Support Tools_\n",
"\n",
"The Prognostics Support Tools are a collection of capabilities to help users build new funtionalities or understand prognostics results. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In addition to these key components of the software architecture, the following definitions are needed for a comprehensive understanding of ProgPy.\n",
"\n",
"* **Event**: Something that can be predicted (e.g., system failure, warning threshold). An event has either occurred or not.\n",
"* **Event State**: Progress towards event occurring. Defined as a number where an event state of 0 indicates the event has occurred and 1 indicates no progress towards the event (i.e., fully healthy operation for a failure event). For gradually occurring events (e.g., discharge) the number will progress from 1 to 0 as the event nears. In prognostics, event state is frequently called \"State of Health\" or \"SOH\"\n",
"* **Inputs**: Control applied to the system being modeled (e.g., current drawn from a battery)\n",
"* **Outputs**: Measured sensor values from a system (e.g., voltage and temperature of a battery), outputs can be estimated from system state\n",
"* **States**: Internal parameters (typically hidden states) used to represent the state of the system- can be same as inputs/outputs but do not have to be."
]
},
{
Expand Down
Binary file added examples/img/ProgPyComponents.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 21bce32

Please sign in to comment.