Example embodiments of the present application generally relate to processing data and, more particularly in example embodiments, to a system and method for monitoring components or equipment.
A device or components of a device can wear down, degrade in quality, and even fail as the device is used. Component wear can reduce the effectiveness of the device. In some situations, the proper operation of the device may support a system or process. Thus, degraded performance or failure of the device can result in failure of the system or process. Wear of a component can also increase the risk safety hazards. In order to have the system or process running effectively and safely, maintenance and replacing parts can be scheduled.
In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. Like numerals having different letter or numeric suffixes may represent different instances of similar components. The drawings illustrate generally, by way of example, but not by way of limitation, various example embodiments discussed in the present document.
The systems, methods, and devices described herein each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of this disclosure, some features will now be discussed briefly merely by way of example.
In one example embodiment, a system is disclosed. The system comprises an interface module configured to receive measurement data of an apparatus. At least a portion of the measurement data is indicative of a level of usage of the apparatus. The system further comprises a data access module configured to access first and second model data of the apparatus. The first model data is indicative of occurrences of an event of usage of the apparatus matched to respective usage levels. The second model data is indicative of measurement quantities matched to respective remaining usage (RU) quantities. The system further comprises a filter engine, including one or more processors, configured to, based on the first model data, generate a first value indicative of a probability that the RU of the apparatus reached a threshold RU value. The filter engine is further configured to, based on the second model data, generate a second value indicative of a probability of the received measurement data given that the RU of the apparatus reached the threshold RU value. The filter engine is further configured to, based on the first and second values, generate output data that is indicative of a probability that the RU of the apparatus reached the threshold RU value.
In another example embodiment, a computer-implemented method of remaining use estimation is disclosed. The computer-implemented method comprises receiving measurement data of an apparatus. At least a portion of the measurement data is indicative of a level of usage of the apparatus. The computer-implemented method further comprises accessing first and second model data of the apparatus. he first model data is indicative of occurrences of an event of usage of the apparatus matched to respective usage levels. The second model is indicative of measurement quantities matched to respective remaining usage (RU) quantities. The computer-implemented method further comprises, based on the first model data, generating a first value indicative of a probability that the RU of the apparatus reached a threshold RU value given the received measurement data. The computer-implemented method further comprises, based on the second model data, generating a second value indicative of a probability of the received measurement data given that the RU of the apparatus reached the threshold RU value. The computer-implemented method further comprises, by one or more processors and based on the first and second values, generating output data that is indicative of a probability that the RU of the apparatus reached the threshold RU value.
In another example embodiment, a machine-readable storage medium embodying instructions is disclosed. The instructions, when executed by a machine, cause the machine to perform operations comprising receiving measurement data of an apparatus. At least a portion of the measurement data is indicative of a level of usage of the apparatus. The operations further comprise accessing first and second model data of the apparatus. he first model data is indicative of occurrences of an event of usage of the apparatus matched to respective usage levels. The second model is indicative of measurement quantities matched to respective remaining usage (RU) quantities. The operations further comprise, based on the first model data, generating a first value indicative of a probability that the RU of the apparatus reached a threshold RU value given the received measurement data. The operations further comprise, based on the second model data, generating a second value indicative of a probability of the received measurement data given that the RU of the apparatus reached the threshold RU value. The operations further comprise, based on the first and second values, generating output data that is indicative of a probability that the RU of the apparatus reached the threshold RU value.
Reference will now be made in detail to specific example embodiments for carrying out the inventive subject matter. Examples of these specific example embodiments are illustrated in the accompanying drawings. It will be understood that they are not intended to limit the scope of the claims to the described example embodiments. On the contrary, they are intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the disclosure as defined by the appended claims. In the following description, specific details are set forth in order to provide a thorough understanding of the subject matter. Example embodiments may be practiced without some or all of these specific details.
In accordance with the present disclosure, components, process steps, and/or data structures may be implemented using various types of operating systems, programming languages, computing platforms, computer programs, and/or machines. In addition, those of ordinary skill in the art will recognize that other types of devices, such as hardwired devices, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), or the like, may also be used without departing from the scope and spirit of the concepts disclosed herein. Example embodiments may also be tangibly embodied as a set of computer instructions stored on a computer readable medium, such as a memory device.
Example systems and methods, embodied on electronic devices, for monitoring apparatuses (also referred to as “components” or “assets”) are described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of example embodiments. It will be evident, however, to one skilled in the art that example embodiments may be practiced without these specific details.
One aspect related to the operation of a system is maintaining the health of the component of the system so that a satisfactory level of performance can be achieved. Eventually, the components of the system will wear down and lose effectiveness or even fail. To account for wear, regular maintenance and replacement can be scheduled. However, such scheduling can be conservative to avoid disastrous or operation-critical events and may not take into account measurement data available at run time. Accordingly, components of the system parts may be replaced more frequently than what would provide healthy operation, which increases costs, incurs delays, and reduces system efficiency
Asset monitoring systems have been developed to estimate RU (e.g., remaining useful life or time to failure) of an asset. Examples of RU can include an amount of use of the asset that is remaining until the asset achieves a condition or state of failure. Failure can correspond to a condition or state of the asset in which the asset has been degraded in way that the asset can no longer perform its function in a satisfactory way. For example, the asset can enter a failure state because of wear such that the asset is no longer reliable (e.g., its error rate is above a predetermined threshold), cannot perform its function, or performs its function at level (e.g., with respect to speed, accuracy, precision, strength, power, and the like) below a predetermined threshold.
Bayesian Filtering in failure prognosis can be employed by estimating degradation and degradation evolution trend parameters. For example, a measure of degradation can be extrapolated until the measure reaches a pre-defined failure threshold. The amount of extrapolation to reach the threshold can be used as an estimate for RU. This approach, however, requires the prior definition of a model of degradation evolution, a failure threshold, and an extrapolation scheme to obtain the times when degradation is expected to reach the threshold. The knowledge of the degradation evolution model and failure threshold for equipment can be limited, as well as costly or time consuming to produce. As a result, obtaining RU estimates by processes that extrapolate degradation evolution until reaching a threshold can pose difficulties.
Hidden Markov Models (HMMs) or Hidden Semi-Markov Models (HSMM) can also be employed in failure prognosis by estimating a sequence of degradation states that evolve until failure. Each degradation state is associated to a fixed probability distribution of time duration so that the remaining duration of the current and future estimated degradation states can be used as an estimate for RU. Defining the different degradation states and transition probabilities and using fixed probability distributions of time associated to each state can pose difficulties.
In example embodiments disclosed herein, asset monitoring systems can directly estimate RU measures instead of using degradation or degradation state evolution estimates. Accordingly, some example embodiments can omit degradation models, failure thresholds, or extrapolation. For example, the prior distribution of RU at each time instant can be obtained by directly manipulating the RU probability distribution obtained in the previous instant. Moreover, a likelihood distribution, which is part of the asset monitoring algorithm, can be associated with the probability of the measurements conditioned to RU values. The probability distributions that will be used to obtain the likelihood can be directly estimated, e.g., from historical measurements. As a result, explicit functions relating the state vector estimates and/or explicit functions associating RU to the measurements can be omitted.
In one example embodiment, the asset monitoring system determines the prior estimate by directly manipulating the estimated RU probability density function (PDF) obtained in the previous time instant. The estimated RU PDF can be a discrete probability distribution. Manipulation of the PDF can comprise translating the PDF curve to adjust the zero-use level to current use level, eliminating the part of the PDF that corresponds to negative RU with respect to the current level of use and normalizing the remainder of the curve so that the area of the PDF is approximately unity.
As such, the prior estimate can be generated without using an explicit function. Initial RU distribution can be obtained from a failure-time distribution, which can be estimated from historical data or reliability studies. In order to obtain the posterior probabilities, the likelihood of available measurements conditioned to the RU can be employed. The probability distribution associated to this likelihood may also be estimated directly from data without using explicit function relating outputs to states. One technical effect is that the asset monitoring system can estimate RU without using failure models based on detailed knowledge of the degradation evolution or failure thresholds. Instead, a set of historical information comprising equipment failure times and measurements performed on this failed equipment at known times can be sufficient information for performing failure prognosis. Even in applications where less historical data is available, but there are reliability models of probability distribution of failure times and tacit/qualitative knowledge on how the measurements (e.g. from inspection or from installed sensors) relate to RU levels, various example embodiments may be employed to generate real-time estimates of the RU value. The referred tacit/qualitative knowledge may be incorporated, for instance, by using fuzzy random variables and defuzzification processes. Failure prognosis problems comprising other characteristics such as multiple failure modes, uncertainty in equipment usage, or varying operating conditions can also be addressed by various example embodiments.
The asset management system 102 can receive measurement data of the enabled assets 110A-N as inputs from the monitoring system and can generate estimates related to the RU of the enabled assets 110A-N as outputs. Examples of assets can include vehicles and manufacturing equipment, as well as any type of machinery, device, apparatus, components thereof, and the like. The monitoring systems 108A-N can include sensors to sense characteristics of the respective enabled assets 110A-N. The monitoring systems 108A-N can provide the measurement data to the asset management system 102 over the network 104. Moreover, the asset management system 102 can transmit control messages to the monitoring systems 108A-N to activate and configure the monitoring systems 108A-N.
As used herein, the parameter tk refers to a usage level at time k of an apparatus, such as the enabled assets 110A-N and/or components of the enabled assets 110A-N. Examples of usage tk can include time, cycles, flow, rotational or translation distance, and actuation level, as well as rates of change of one or more of like characteristics, and also integrals over time of one or more of the like characteristics. The parameter yk refers to measurement data at time k. Measurement data yk can include one or more measurements related to usage tk, equipment degradation, temperature, vibration, pressure, speed, and/or the like characteristics usable to estimate RU. Measurement data yk can also include inspection data generated by human operators. Inspection data may correspond to a qualitative or fuzzy-valued assessment of the state or operation of the monitored apparatus.
The database 106 can include circuitry and hardware suitable for facilitating data storage. The database 106 can store data that provides data models of the enabled assets 110A-110N. As such, the database can interface with the asset management system 102 to provide data models to the asset management system 102. In an example embodiment, the data models can correspond to models of RU values of the respective devices. One such model can include discrete probabilities of RU values given particular measurement data. Another model can include data of measurement values and RU. For example, the database 106 can include historical data or empirical data relating measurement values to RU values. Yet another model can include data corresponding to equipment reliability (e.g. failure rates and/or future lifetime probabilities), as will be described later in connection with
In an example embodiment, the database 106 may include a plurality of candidate model data to account for various conditions and operating points of the enabled assets 110A-N. Measurement data may be used to select and/or adjust the model data from the plurality of candidate model data used for estimating RU and/or threshold RUc of remaining use until an event, such as failure.
The user devices 112, 114 can provide client-side functionality to users and can request server-side services from the asset management system 102 and/or the monitoring systems 108A-N. The user devices 112, 114 can correspond to any computing device, such as a desktop computer or laptop computer, as well as other mobile computing devices such as a smart phone, tablet computer, a wearable computing device, and like devices capable of communicating data over the network 104.
The user device 112 can correspond to a vendor client. The vendor client may receive output data from the asset management system 102 for monitoring the health and state of the enabled assets 110A-N. In an example aspect, the user device 112 may automatically replace parts or schedule repair services based on the output data of the asset management system 102.
The user device 114 can correspond to an operator client. As such, user device 114 may receive output data from the asset management system 102 for monitoring the health and state of the enabled assets 110A-N. For example, the user device 114 may present a user interface to a user for controlling and configuring the asset management system. An example user interface will be described in detail in connection with
Further, while the system 100 shown in
In addition, while the asset management system 102, the monitoring systems 108A-N, and the user devices 112, 114 have been described above as having separate functionalities, in alternative example embodiments these functionalities may be performed by any one or more of the monitoring systems 108A-N, and the user devices 112, 114.
In the illustrated example embodiment of
The maintenance planning application 202 may provide a number of maintenance functions and services to the asset management system 102 and/or user devices (e.g., user devices 112, 114 of
The resource allocation application 204 may provide a number of resource services and functions to the asset management system 102 and/or user devices. For example, the resource allocation application 204 may distribute resources for maintaining a plurality of enabled asset(s) 110 based on the RU level. Examples of resources include, but are not limited to man-hours of mechanics or other workers who will execute maintenance actions, spare parts, consumable parts, tools, testing facilities, or other infra-structure required for performing maintenance actions and the like.
The operation scheduling application 206 may provide a number of scheduling services and functions to the asset management system 102 and/or user devices. For example, the operation scheduling application 206 may schedule operating tasks of a plurality of enabled asset(s) 110 based on RU levels.
The spare part procurement application 208 may provide a number of procurement services and functions to the asset management system 102 and/or user devices. For example, the spare part procurement application 208 may order replacement parts of the enabled asset(s) 110 based on RU levels.
In some example embodiments, the modules of the asset monitoring system 300 can be included in the asset management system 102 of
The modules 302-310 of the asset monitoring system 300 may be hosted on dedicated or shared server machines (not shown) that are communicatively coupled to enable communications between server machines. Each of the modules 302-310 are communicatively coupled (e.g., via appropriate interfaces) to each other and to various data sources, so as to allow information to be passed between the modules 302-310 of the asset monitoring system 300 or so as to allow the modules 302-310 to share and access common data. The various modules of the digital asset monitoring system 300 may furthermore access the databases 106.
The asset monitoring system 300 may facilitate monitoring apparatuses, such as the enabled assets 110A-N of
To this end, the asset monitoring system 300 is shown to include the filter engine module(s) 302, the data access module(s) 304, the interface module(s) 306, the authentication module(s) 308, and the web-front module(s) 310, which may serve to provide estimates related to RU level of a monitored device. For instance, the filter engine module(s) 302 can be a hardware-implemented module which can generate output data related to the RU level by processing measurement data and model data of the monitored apparatus.
The data access module(s) 304 can be a hardware-implemented module which can include or interface with one or more data storage devices, such as the database 106 of
The interface module(s) 306 may be a hardware-implemented module which may be configured to communicate data with client devices. From the perspective of the asset monitoring system 300, client devices may include user devices, such as the user devices 112, 114 of
In operation of an example embodiment, the interface module(s) 306 can receive measurement data from a monitoring system. The measurement data can include measurement data indicative of a level of usage of the monitored apparatus. The data access module(s) 304 can access first and second model data of the monitored apparatus. The first model data includes discrete probabilities of a first set of respective RU values. In an example aspect, the first model data can serve as a discrete conditional prior probability function p(RUk|y1:k-1), wherein RUk represents the RU level at time k, and y1:k-1 represents the measurements data for the time interval [1, k-1]. Herein, the notation p(X|Y) refers to the conditional probability of X given Y.
The second model data can include measurement data that is matched to a second set of respective RU values. The second model data can correspond to historical data such as testing and/or empirical data of apparatuses of the same type as the monitored apparatus. The filter engine module(s) 302 can process the second model data to generate likelihood functions p(yk|RUk=i), wherein RUk=i represents that the RUk value is within an interval i=[a, b], as will be described in greater detail.
In an example embodiment, the filter engine module(s) 302 can generate estimates of probabilities of RUk being within one or more different intervals given the measurement data y1:k. In particular, the estimates of the probabilities of RUk can be generated approximately in accordance with the following equations:
In Equation 3.2, the term ΔRU represents the sample spacing of the discrete prior probability function p(RUk|y1:k-1). In an example embodiment, the filter engine module(s) 302 can update the prior probability function p(RUk|y1:k-1) based on new measurement data. For example, the filter engine module(s) 302 can update the prior probability function p(RUk|y1:k-1) by processing the prior probability function p(RUk|y1:k-1) directly based on new measurement data yk. An example process will be described in greater detail later in connection with
The authentication module(s) 308 may be a hardware-implemented module which may facilitate registering devices corresponding to user devices, monitoring systems, and/or enabled assets. For example, the authentication module(s) 308 may receive an authentication request message for authenticating a device. Based on the authentication request message, the authentication module(s) 308 may determine whether the device passes authentication. The authentication module(s) 308 may prevent access to devices that failed authentication.
The web-front module(s) 310 may be a hardware-implemented module which may provide data for displaying web resources on client devices. For example, the asset monitoring system 300 may provide a webpage for users and vendors to log in and create accounts and update account information. The web-front module(s) 310 may provide user interfaces for users to access and/or control the asset monitoring system 300.
The frame 406 of the window 402 may include a text display 436 for providing runtime information of the selected asset (e.g., asset the associated with the element 422). The text display 436 may include runtime information regarding operating hours, estimated RU level, the critical RU level (e.g., the threshold RU level), and the risk of being in the critical RU state (denoted herein as being in “the threshold state RUc” or “critical state RUc”).
The frame 408 of the window 402 can include sub-frames 438, 440. The sub-frame 438 can include maintenance scheduling information. For example, the sub-frame 438 can include information regarding whether maintenance is automatically scheduled, the critical RU level for scheduling maintenance, and the current status of whether maintenance is scheduled. For instance, if automatic maintenance scheduling is selected, the asset monitoring system 300 can automatically schedule maintenance services when the asset monitoring system 300 estimates that the critical RU level (e.g., 150 operating hours) has been reached.
The sub-frame 440 of the frame 408 can include information regarding spare part procurement. For example the sub-frame 440 can include text providing information regarding whether spare parts are available on-site, whether or not the asset monitoring system 300 is set to automatically order or procure spare parts when the critical RU level is reached, the current setting for the critical RU level for ordering spare parts, and a status indicator of whether or not spare parts were procured.
The frame 410 of the window 402 can include a text display for providing information regarding the process operation history. For example, the frame 410 can provide information regarding the type of operation (e.g., shutdown, reduced operation, normal operation, increased operation, and the like), the amount of unscheduled downtime, and the time of the next scheduled maintenance event.
The control element 412 of the window 402 can be selectable to change the configuration or settings of the asset monitoring system 300. For example, but not of limitation, the user may set the critical RU levels of maintenance scheduling and/or the spare parts procurement, or may turn on or off automatic maintenance scheduling or spare part procurement.
The user interface 400 may be presented on one or more of the components of
The method 500 starts at block 502 and proceeds to block 504 receiving measurement data yk which can include, or be indicative of, a level of usage tk of an apparatus. For example, the interface module(s) 306 can receive sensor data from a monitored asset. The measurement data yk can include one or more types of measurements and/or sensor readings. In other words, the measurement data yk can be multivariate. The measurement data yk may be provided to the filter engine module(s) 302 for processing.
At block 506, the method 500 includes accessing first and second model data of the apparatus. For example, the data access module(s) 304 can access the first model data that is indicative of discrete probabilities of RU levels. The second model data can be indicative of historical measurement data matched to respective RU quantities. The data access module(s) 304 can provide the first and second model data to the filter engine(s) 302 for processing.
At block 508, the method 500 includes updating the first model data. For example, as will be described in greater detail later in connection with
At block 510, the method includes generating an RU estimate of the apparatus. For example, the filtering engine can generate an RU estimate based on the updated first model data and the second model data. An example of generating the RU estimate will be described in greater detail in connection with
In operation, the filter engine module(s) 302 updates the posterior probability model of curve 602 to generate the prior probability model represented by the curve 608. For example, at time instant k, the filter engine module(s) 302 may receive measurement data yk which can include an indication of usage level tk, where the previous usage level is represented by tk-1. The filter engine module(s) 302 updates the prior probability model of curve 602 by neglecting the portion 607, which represents the portion of the curve 602 that corresponds to negative RU relative to the usage level tk. The portion 607 can be neglected by shifting the curve 602 to the left by a value of tk, cropping out (e.g., deleting or not using) the portion 607, and normalizing the remainder of the curve 602 so that the area under the reminder sums to one (e.g., the shifted and cropped curve 608 has an integral equal to about 1. Accordingly, the curve 608 represents the updated prior probability model data, where the horizontal axis 610 represents the shifted RU values, and the vertical axis 612 represents the probabilities of the shifted RU values.
The method 800 starts at block 802 and proceeds to block 804 for initializing a prior probability model p(RU0) and a likelihood model p(y|RU=i). For example, the filter engine module(s) 302 can initialize the prior probability according to the following equation:
In Equation 8.1, the set I includes the sub-intervals (tfmin,tfmin+Δ), (tfmin+Δ, tfmin+2Δ), . . . , (tfmax−Δ, tfmax) of the interval (tfmin, tfmax). As stated, tf denotes the time to failure. The right hand side of Equation 8.1 can be obtained from failure data. For example, failure data may correspond to historical failure events or testing results of apparatuses of the same type as the monitored device. The likelihood model p(y|RU=i) can also be obtained from historical data or testing results. The prior probability model p(RU0) and the likelihood model p(y|RU=i) can be stored in the database(s) 106 of
At block 806, the method includes receiving a new measurement yk. Accordingly, the time index k can be incremented by the asset monitoring system 300. The measurement data yk can be an n-dimensional vector, where n can be one or greater. Each dimension or component of the measurement data yk can correspond to a different measurement or measurement type (e.g., sensor data, inspection data, and/or the like). At each new time instance k, the interface module(s) 306 receives measurement data yk from a monitoring system (e.g., monitoring system 108A of
At block 808, the method 800 includes shifting and cropping the prior probability model p(RU) to update the prior probability model based on the measurement data yk. As described in connection with
At block 810, the method 800 includes generating a weighted likelihood data set. For example, the filter engine module(s) 302 can generate the likelihood models p(yk|RU=i) based on current measurement vector yk for each i in I from historical data, as described in connection with
p′(RUk=i═y1:k)=p(yk|RUk=i)p(RUk=i|y1:k-1), ∀iεI (Eqn. 8.2)
In Equation 8.2, the distribution p′(RUk=i|y1:k) represents the estimate of the un-normalized posterior probability distribution of RU.
At block 812, the method 800 includes generating an RU estimate at time instance K. For example, the filter engine module(s) 302 can process the likelihood weighted data by multiplying the likelihood weighted data by a normalization factor. For instance, the filter engine module(s) 302 can generate the RU estimate p(RULk=i|y1:k) in accordance with the following equation:
In Equation 8.3, the distribution p(RULk=i|y1:k) represents the estimate of the posterior probability distribution of RU. In example embodiments, the filter engine module(s) 302 can generate interval estimates [t1, t2] of the RU (e.g., based on a confidence level) or point estimates (e.g., maximum a posteriori, maximum mean value, maximum median value, and/or the like) of the apparatus by processing the RU estimate p(RULk=i|y1:k).
At block 816, the method 800 includes providing the RU estimate. For example, the filter engine module(s) 302 can transmit the RU estimate p(RUk=i|y1:k) to a client device (e.g., systems 108A-N, or devices 112, 114 of
In an example embodiment, the filter engine compares the RU estimate with a cost model to determine whether to schedule maintenance of the apparatus. The cost model can include data for scheduling repairs, services, and maintenance (collectively referred to as “maintenance”). In determining whether maintenance should be scheduled, the cost model can factor in the RU estimate, the production load of the apparatus, the cost due to production losses arising from maintenance, the cost for the actual maintenance, RU of other components, and the like. The cost model may weight several of these factors and determine a course of action. In the case that the filter engine determines that maintenance should be scheduled, the interface module(s) 306 can provide a maintenance request message to a client device. As such, the filter engine can reduce costs resulting from untimely maintenance and down time of services facilitated by the apparatus.
In an example embodiment, the filter engine module(s) 302 can compare the RU estimate with a performance model to determine whether the apparatus has degraded performance. For example, degraded performance can include performance below a predetermined threshold. The interface module(s) 306 can provide a control message to a client device to reduce use of the apparatus in accordance with a determination that the apparatus has degraded performance. Degraded performance can result in unsafe conditions or inefficient performance. Reducing or otherwise adjusting the use of the apparatus can improve safety and/or efficiency.
At decision block 818, the method 800 includes determining whether monitoring is active. For example, the method 800 repeats blocks 806-816 while monitoring is active. Otherwise, the method 800 ends at block 820.
In an example embodiment, the asset monitoring system 300 receives measurement data that is indicative of a level of usage of an enabled asset and generates an output that is indicative of a probability that the monitored asset is in a threshold state RUc (or referred to as a “critical” state). The term critical state as used herein can refer to a state associated with a threshold level RUc and which the monitoring system 300 monitors. Moreover, detection of a critical state can invoke a response by the monitoring system 300. An example of a threshold state RUc is a level of RU that is a threshold away from an expected time to failure (TTF) or time to event (TTE). In example embodiments, the asset monitoring system 300 may detect two states, such as the monitored asset being in a critical state or not being in a critical state (“non-threshold state”). In other example embodiments, the asset monitoring system 300 may detect more than two states, such as, but not limited to, critical state, a warning state, and a healthy state. Each state can be associated with a range of RU levels. The asset monitoring system 300 can respond according to the detected state. Accordingly, one technical effect is that the asset monitoring system 300 may serve to facilitate intelligent operation of monitored assets by automatically scheduling maintenance, controlling operation (such as reducing workload), ordering new parts, and the like.
By way of further description, it may be advantageous to know that some critical TTE level has been reached. This can be the case, for instance, in failure prognosis: if it is known that an RU level is lower than a threshold value, parts can be ordered and/or maintenance can be scheduled and performed at convenient or economically desirable times. Other examples of applications where knowledge that a critical TTE level has been reached can be useful include forecasting of natural events, forecasting of economic related events, forecasting of vehicle arrival events. In example embodiments, one advantage, among others, is that no state evolution model, threshold, or extrapolation is needed. For example, the value of one state is estimated. This can be a discrete state which, in a simple form of the solution, can assume two values: one indicating that TTE is not critical and the other indicating that it is critical. As used herein, critical can refer to reaching a threshold value. As stated, in alternative example embodiments, additional or fewer threshold values can be used to account for different states corresponding to different responses by the asset monitoring system 300.
Estimation of the threshold state can be performed iteratively, with each iteration corresponding to: (1) first a prior estimate of the current state value obtained based on the estimate resulting from the previous iteration; and (2) information from current measurements incorporated to adjust this prior estimate, thereby producing a posterior estimate.
In example embodiments, the prior estimate can be obtained from a future lifetime probability distribution of the population, and the likelihood functions for incorporating the measurements are obtained by evaluating statistics of historical measurements grouped by TTE criticality level. In some example embodiments, the asset monitoring system 300 can generate estimates from data sets based on relatively few run-to-failure data points.
In an example embodiment, the method 900 can generate prior probabilities and likelihood values for each of one or more states. For example, the method 900 can generate prior-probability and likelihood values for a non-threshold state, a first threshold state, a second threshold state, and so on. It will be appreciated that the number of states can correspond to any suitable number based on application-specific considerations. Accordingly, the output data can include the posterior probabilities that the apparatus is in each of the states.
The example method 900 will be described below, by way of explanation, as being performed by certain modules. It will be appreciated, however, that the operations of the example method 900 may be performed in any suitable order by any number of the modules shown in
The method 900 starts at block 902 and proceeds to block 904 for receiving measurement data. For example, the asset monitoring system 300 may receive the measurement data using the interface module(s) 306. The measurement data may include data related to one or more of sensor measurements, usage levels, or inspection measurements of a monitored apparatus (e.g., one of the enabled asset 110A-N).
At block 906, the method 900 includes accessing first and second model data of the apparatus. For example, the filter engine module(s) 302 can access the first and second model data in response to the interface module(s) 306 receiving the measurement data. In an example embodiment, the first model data can be data that is indicative of occurrences of an event matched to respective levels of usage. The first model data can be testing or historical data that empirically relates levels of usage to occurrences of the event. By way of a non-limiting example, the event can correspond to a failure event or a malfunction event. For instance, the first data model can correspond to a future lifetime probability distribution (or a future critical time probability distribution) indicative of failure rates of the apparatus, as will be described below in connection with
The first and second model data can be stored in a data storage device, such as the database 106 of
At block 908, the method 900 includes generating a first value that is indicative of a prior probability that the RU of the apparatus has reached a threshold value. The first value can represent a prior probability calculation. Example methods of generating the first value will be described in greater detail in connection with
At block 910, the method 900 includes generating a second value that is indicative of a probability of the measurement data given that the RU of the apparatus reached the threshold value. In other words, the second value corresponds to the likelihood that an apparatus of the type of the monitored asset that has reached the threshold value would have generated the received measurement data. In an example embodiment, the method 900 generates likelihood values that the apparatus has reached one or more states. For example, the method 900 can generate likelihood values that the apparatus is in a non-threshold state, a first threshold state, a second threshold state, and so on. Example methods of generating the second value will be described in greater detail in connection with
At block 912, the method includes generating output data that is indicative of a probability that the RU of the apparatus reached the threshold value RUc. An example method of generating the output data will be described in greater detail in connection with
The plot 1000A includes a curve 1002, a vertical axis 1004, and a horizontal axis 1006. The curve 1002 corresponds to a future lifetime PDF hk that corresponds to the probability density of an apparatus failing in the future (t>tk) given that it has not failed up to usage level tk. For example, a vertical axis 1004 represents failure rate or relative number of failed devices (increasing in the positive vertical direction), and the horizontal axis 1006 represents time or usage levels (increasing in the positive vertical direction). Accordingly, over a particular interval along the horizontal axis 1006, the area under the curve 1002 can represent a probability of a failure or event during that interval. The future lifetime PDF hk can be derived from historical data (e.g., testing data) associated with failure times of similar apparatuses. Suspension data (e.g., data corresponding to lifetime of equipment which has not yet failed) can also be used when deriving future lifetime PDF hk. The future lifetime PDF can also be obtained from any suitable method employed in equipment reliability analysis. It will be appreciated that the shape of the curve 1002 shown in
The plot 1000B illustrates a “future critical time PDF h′k” represented by the curve 1002. In particular, relative to
In
Turning to
t
ci
=t
fi
−RU
c
, i=1, . . . ,7 (Eqn. 11.1)
Accordingly, each of the data points 1108-1120 of the plot 1100B represents the number of incidents of an apparatus transitioning to the threshold state RUc at the usage levels tc1, tc2, . . . , tc7. For example, in the context of
Turning to
In the illustrated example embodiment of
In this example, the method 1300 may include operations such as initializing a prior probability model p(RU0=i), for “i” equal to all possible threshold and non-threshold states (block 1304), receiving a new usage measurement data yk (block 1306), determining the prior probability based on a future critical time PDF (block 1308), determining a weighted likelihood data set (block 1310), generating an estimate of the probability of reaching a threshold level (block 1312), and providing the estimate (block 1316). In an example embodiment, the method 1300 may repeat these operations in response to receiving a new usage measurement. The example method 1300 will be described below, by way of explanation, as being performed by certain modules. It will be appreciated, however, that the operations of the example method 1300 may be performed in any suitable order by any number of the modules shown in
The method 1300 starts at block 1302 and proceeds to block 1304 for initializing a prior probability model p(RUc). For example, the filter engine module(s) 302 can initialize according to p(RU0<RUc)=eps, where eps is small (e.g., approximately zero but positive number) value. This initialization can serve to indicate that the monitored apparatus is initially in a non-threshold state.
At block 1306, the method 1300 includes receiving a new measurement data yk. Accordingly, the time index k can be incremented by the asset monitoring system 300. For example, at each time instance k, the interface module(s) 306 receives measurement data yk from a monitoring system (e.g., a corresponding monitoring system 108A-N of
At block 1308, the method 1300 includes determining a prior probability p(RUk<RUc|y1:k-1,tk) that the monitored apparatus is in the threshold state RUc and/or a prior probability p(RUk>RUc|y1:k-1,tk) that the monitored apparatus is in a non-threshold state. For example, the filter engine module(s) 302 can generate the prior probability p(RUk<RUc|y1:k-1,tk) based at least on the previous posterior probability p(RUk-1>RUc|y1:k-1,tk-1) that the monitored apparatus was in the non-threshold state given the previous measurement data yk-1 and the previous usage level tk-1, weighted by a state-transition probability p0c[t
p(RUk<RUc|y1:k-1,tk)=p(RUk-1>RUc|y1:k-1,tk-1)p0c[t
The filter engine module(s) 302 can determine the state-transition probability p0c[t
Furthermore, the filter engine module(s) 302 can generate the prior probability p(RUk>RUc|y1:k-1,tk) based at least on the previous posterior probability p(RUk>RUc|y1:k-1,tk-1) that the monitored apparatus was in the non-threshold state given the previous measurement data yk-1, the previous usage level tk-1, and the state-transition probability p0c[t
p(RUk>RUc|y1:k-1,tk)=p(RUk-1>RUc|y1:k-1,tk-1)(1−p0c[t
In equation 13.3, the term 1−p0c[t
At block 1310, the method 1300 includes determining a likelihood weighted data set. For example, the filter engine module(s) 302 can generate the likelihood weighted data set p′(RUk<RUc|y1:k,tk) and p′(RUk>RUc|y1:k,tk) according to the following equations:
p′(RUk<RUc|y1:k,tk)=p(yk|RU<RUc)p(RUk<RUc|y1:k-1,tk) (Eqn. 13.4)
p′(RUk>RUc|y1:k,tk)=p(yk|RU>RUc)p(RUk>RUc|y1:k-1,tk) (Eqn. 13.5)
At block 1312, the method 1300 includes generating an estimate of a probability of reaching the threshold state. For example, the filter engine module(s) 302 can generate the estimated probabilities p(RUk<RUc|y1:k,tk) and p(RUk>Rc|y1:k,tk) according to the follow equations:
In Equations 13.6-8, the term NO can serve as a normalization factor so that the PDF p(RU|y1:k,tk) sums to approximately unity over all RU states.
At block 1316, the method 1300 includes providing output data based on the estimates p(RUk<RUc|y1:k,tk) and/or p(RUk<RUc|y1:k,tk). For example, the filter engine module(s) 302 can provide the estimate to a client device, such as user devices 112, 114 or to a component of the asset management system 102of
The method 1300 was described above, by way of a non-limiting example, as the filter engine module(s) 302 generating output data related to two states: the non-threshold state and the threshold state. It will be appreciated that in alternative example embodiments the filter engine module(s) 302 can generate output data corresponding to more than two states. For example, the output can include data indicative of p(RUk<RUc|y1:k,tk) for each state “i” (each threshold and non-threshold states).
Additionally or alternatively, the output data can include control messages to request a responsive action based on the estimates p(RUk<RUc|y1:k,tk) and/or p(RUk<RUc|y1:k,tk). In an example embodiment, the output data can be compared with a predetermined threshold, and maintenance of the monitored apparatus can be scheduled in accordance with a determination that the output data is less than the predetermined first threshold. For example, the filter engine module(s) 302 can compare a predetermined threshold ThP and the estimate of the probability p(RUk<RUc|y1:k,tk) that monitored apparatus is in the threshold state. In the case that the probability p(RUk<RUc|y1:k,tk) is less than the threshold ThP, the filter engine module(s) 302 can provide an application 202-208 to perform an action, such as order a new part, schedule maintenance, adjust operation/scheduling, and/or the like.
In an example embodiment, the threshold ThP and, additionally or alternatively, the threshold state RUc can be determined from a cost model to determine whether to schedule maintenance of the apparatus. The cost model can include data for scheduling repairs, services, and maintenance (collectively referred to as “maintenance”). In determining whether maintenance should be scheduled, the cost model can factor in the production load/operation schedule of the apparatus, the cost due to production losses arising from maintenance, the cost of the actual maintenance service (e.g., costs associated with labor and parts), RU of other components, and the like. The cost model may weigh several of these factors and determine a course of action based on the weighted combination of the factors. In the case that the filter engine determines that maintenance should be scheduled, the interface module(s) 306 can provide a maintenance request message to a client device. As such, the filter engine can reduce costs resulting from untimely maintenance and down time of services facilitated by the apparatus.
In an example embodiment, the threshold ThP and, additionally or alternatively, the threshold state RUc, can be determined from a performance model to determine whether the apparatus has degraded performance. For example, degraded performance can include performance below a predetermined threshold. The interface module(s) 306 can provide a control message to a client device to reduce use of the apparatus in accordance with a determination that the apparatus has degraded performance. Degraded performance can result in unsafe conditions or inefficient performance. Reducing or otherwise adjusting the use of the apparatus can improve safety and/or efficiency.
At decision block 1318, the method 1300 includes determining whether monitoring is active. For example, the method 1300 repeats blocks 1306-1316 for new measurement data yk while monitoring is active. Otherwise, the method 1300 ends at block 1320.
Although the threshold state RUc was described above in the context of time to failure, it will be appreciated that in alternative example embodiments the threshold state can correspond to an RU level that is a threshold value away from any event such as transitioning to a state of depletion (e.g., in terms of fuel, energy, ink, feedstock, etc.), a state of completion of a task, a state of substantial loss of performance, a state of resulting in a substantial risk of accident, a state in which the apparatus should be repaired, replaced, or shut off, or the like events/states to be monitored.
Various methods and systems described herein can be applied to a large number of applications. For example, systems can generate estimates that a time to an event has reached some critical level. Examples of such applications include failure prognosis, natural disaster forecasting, and forecasting applied to econometrics. Computational costs can be low and applicability can be high compared to existing high performance TTE estimation solutions. One example reason for this is the aspect that prior knowledge of models related to the evolution of the process that leads to the event can be omitted in some example embodiments. Historical datasets associated to event occurrence and measurements related to the process evolution prior to the event can provide sufficient information for estimation.
Certain example embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied (1) on a non-transitory machine-readable medium or (2) in a transmission signal) or hardware-implemented modules. A hardware-implemented module is tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more processors may be configured by software (e.g., an application or application portion) as a hardware-implemented module that operates to perform certain operations as described herein.
In various embodiments, a hardware-implemented module may be implemented mechanically or electronically. For example, a hardware-implemented module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as an FPGA or an ASIC) to perform certain operations. A hardware-implemented module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware-implemented module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
Accordingly, the term “hardware-implemented module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily or transitorily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein. Considering example embodiments in which hardware-implemented modules are temporarily configured (e.g., programmed), each of the hardware-implemented modules need not be configured or instantiated at any one instance in time. For example, where the hardware-implemented modules comprise a general-purpose processor configured using software, the general-purpose processor may be configured as respective different hardware-implemented modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware-implemented module at one instance of time and to constitute a different hardware-implemented module at a different instance of time.
Hardware-implemented modules can provide information to, and receive information from, other hardware-implemented modules. Accordingly, the described hardware-implemented modules may be regarded as being communicatively coupled. Where multiple of such hardware-implemented modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware-implemented modules. In example embodiments in which multiple hardware-implemented modules are configured or instantiated at different times, communications between such hardware-implemented modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware-implemented modules have access. For example, one hardware-implemented module may perform an operation, and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware-implemented module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware-implemented modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other example embodiments the processors may be distributed across a number of locations.
The one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., Application Program Interfaces (APIs).)
Example embodiments may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Example embodiments may be implemented using a computer program product, e.g., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable medium for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
In example embodiments, operations may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method operations can also be performed by, and apparatus of example embodiments may be implemented as, special purpose logic circuitry, e.g., an FPGA or an ASIC.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In example embodiments deploying a programmable computing system, it will be appreciated that that both hardware and software architectures merit consideration. Specifically, it will be appreciated that the choice of whether to implement certain functionality in permanently configured hardware (e.g., an ASIC), in temporarily configured hardware (e.g., a combination of software and a programmable processor), or a combination of permanently and temporarily configured hardware may be a design choice. Below are set out hardware (e.g., machine) and software architectures that may be deployed, in various example embodiments.
The example computer system 1400 includes a processor 1402 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 1404 and a static memory 1406, which communicate with each other via a bus 1408. The computer system 1400 may further include a video display unit 1410 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 1400 also includes an alphanumeric input device 1412 (e.g., a keyboard or a touch-sensitive display screen), a user interface (UI) navigation (or cursor control) device 1414 (e.g., a mouse), a disk drive unit 1416, a signal generation device 1418 (e.g., a speaker), and a network interface device 1420.
The disk drive unit 1416 includes a computer-readable medium 1422 on which is stored one or more sets of data structures and instructions 1424 (e.g., software) embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 1424 may also reside, completely or at least partially, within the main memory 1404 and/or within the processor 1402 during execution thereof by the computer system 1400, with the main memory 1404 and the processor 1402 also constituting machine-readable media.
While the machine-readable medium 1422 is shown in an example embodiment to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions 1424 or data structures. The term “machine-readable medium” shall also be taken to include any non-transitory, tangible medium that is capable of storing, encoding, or carrying instructions 1424 for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present inventive subject matter, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including by way of example semiconductor memory devices, e.g., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and digital optical disks such as compact disks (CDs) and digital video discs (DVDs).
The instructions 1424 may further be transmitted or received over a communications network 1426 using a transmission medium. The instructions 1424 may be transmitted using the network interface device 1420 and any one of a number of well-known transfer protocols (e.g., Hypertext Transfer Protocol (HTTP)). Examples of communication networks include a local area network (LAN), a WAN, the Internet, mobile telephone networks, Plain Old Telephone (POTS) networks, and wireless data networks (e.g., WiFi and WiMax networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions (e.g., instructions 1424) for execution by the machine, and includes digital or analog communications signals or other intangible media to facilitate communication of such software.
This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the invention is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal languages of the claims.