This disclosure is generally related to fault diagnosis of physical systems, such as machinery. More specifically, this disclosure is related to performing model-based diagnosis of a physical system by decomposing the system into a number of independent subsystems to make the diagnosis process more efficient.
Detection and diagnosis of faults in machinery are very important in many industries. For example, rotating machinery has found application in a wide variety of industries, such as aircraft, automobiles, farm equipment, industrial compressors, etc. Such machinery is often bulky and expensive, thus making it impractical to use redundant systems. Therefore, in-service, real-time monitoring and fault detection is needed.
There are two types of approach for fault diagnosis in machinery, including model-based diagnostic techniques and data-driven diagnostic techniques. In model-based approaches, a model of the machinery being diagnosed (i.e., the system) is provided to the diagnosis engine. Such a model can describe the behavior of the components based on their physical properties. Moreover, the diagnosis engine can receive values of the parameters of the model and some of the input and output values. The goal of the model-based diagnosis is to determine, from only the system model and available input/output values, whether a fault is present, and if so, the cause of the fault. This process can require a great amount of computation resources. On the other hand, data-driven approaches use statistical models (e.g., classifiers or regressors) trained with labeled data that describe the behavior of the system under different fault modes. This data-driven approach requires a large amount of data in order to build meaningful statistical models, and such a condition may not be easily satisfied. Moreover, the data-driven approaches often cannot provide sufficient information for explaining the detected system fault.
One embodiment provides a method and a system for diagnosing faults in a physical system. During operation, the system can obtain a model of the physical system comprising a plurality of components and can perform a structural analysis on the model to decompose the model into multiple independent subsystem models. A subsystem model corresponds to a subsystem comprising a subset of the plurality of components. The system can then perform, in parallel, a fault-diagnosis operation on each subsystem based on the corresponding subsystem model and can generate a diagnostic output indicating one or more components within the physical system being faulty based on outcomes of the fault-diagnosis operation on each subsystem.
In a variation on this embodiment, performing the fault-diagnosis operation can include estimating parameters of the subsystem model and determining a faulty parameter based on the estimated parameters and their corresponding loss functions.
In a further variation, determining the faulty parameter can further include computing, for each parameter, an empirical probability based on the loss functions; and determining a parameter with a maximum empirical probability as the faulty parameter.
In a variation on this embodiment, performing the structural analysis on the model can include performing a causal analysis of a plurality of equations associated with the model.
In a further variation, performing the causal analysis can include generating a block lower triangular (BLT) form of the plurality of equations.
In a variation on this embodiment, decomposing the model into multiple independent subsystem models can include identifying, for each subsystem model, a number of input variables.
In a further variation, the system installs one or more sensors corresponding to the identified input variables.
In a further variation, the system can obtain sensor measurement results associated with the identified input variables and can use the sensor measurement results as inputs of the subsystem model during the fault-diagnosis operation.
In the figures, like reference numerals refer to the same figure elements.
The following description is presented to enable any person skilled in the art to make and use the embodiments and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present invention is not limited to the embodiments shown but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Embodiments described herein provide a solution for improving the time efficiency of model-based fault diagnosis of physical systems. A model-based diagnosis engine uses a parameter estimation technique to detect and isolate faults. More specifically, the system model of a to-be-diagnosed physical system can be decomposed into a number of subsystems that can be treated independently. During operation, the dependency of variables of a system model can be determined by generating the block lower triangular (BLT) form of the model equations and determining, based on the BLT form, one or more input variables for a subsystem. By performing measurements on the input variables and using the measurement results as input to the model, model equations corresponding to the subsystem can be treated as independent of the rest of the system model. Once the system model is decomposed into subsystems, the diagnosis engine can perform fault diagnosis in parallel for each fault parameter and for each subsystem, thus significantly increasing the time efficiency for fault diagnosis.
Model-based fault diagnosis determines a fault by comparing deviations (of at least one characteristic property or parameter of the system) from nominal conditions in system-observable quantities. The diagnosis engine typically is provided with a model of the system, nominal values of the parameters of the model, and time series of inputs and outputs of the system. The main goal of a diagnosis engine is to detect a fault and to isolate it. There is a long history of model-based diagnosis methods proposed independently by the artificial intelligence (AI) and control communities.
The model-based diagnosis methods can be classified into three major categories: parameter estimation-based, observer-based, and redundancy relations (or parity equations)-based. For parameter estimation-based fault diagnosis, changes in the system parameters (e.g., stiffness or damping coefficients) can be tracked and detected. If a significant deviation is detected, an alarm can be raised. The parameter tracking can be performed by running optimization algorithms using time series of sensor measurements that learn the current parameter values, or filters (e.g., a Kalman filter, a particle filter), where the state vector is augmented to include system parameters. If the nominal values of the system parameters are known, state and output observers can be used, where deviations in the system behavior are treated as additive faults. There are several possible combinations of observers aimed at detecting single or multiple faults, such as an observer excited by one output, a bank of observers excited by all outputs, a bank of observers excited by single outputs, or a bank of observers excited by all outputs, except one. The redundant relations (or parity equations) diagnosis methods use part of the system model (constitutive equations) to derive residuals, and faults can be detected when the residual values are larger than some preset threshold. By tracking the residual sensitivity to system parameters or components, faults can be isolated as well. The parameter estimation and observer-based diagnosis methods require a fault model: deviation of parameters from their nominal value, additive or multiplicative faults. The redundancy relations-based methods do not require fault models; however, they typically require more sensors to disambiguate among multiple possible faults.
Model-based diagnosis requires accurate models of the physical systems to detect and isolate faults in the physical systems. For real-time diagnosis, such models need to be simulated within a maximum allotted time interval. Typically, the more accurate the models are, the more complex they become; hence, they will take more time to simulate. In addition, the type of mathematical model (e.g., ordinary differential equation (ODE) and differential algebraic equation (DAE)) and its dynamic response (e.g., stiff or non-stiff) can add to the time complexity of the simulation process. In particular, DAE simulations require the use of the Newton-Raphson algorithm that in turn requires the inversion of the system Jacobian matrix. The time complexity of such an operation is O(n3), where n is the number of equations. Therefore, model complexity is a deterrent for real-time implementations of model-based diagnosis algorithms.
The behavior of a physical system can be described by a DAE of the form:
0=F({dot over (x)}, x, u), (1)
y=h(x, u), (2)
where x represents the state vector, u is the vector of inputs, and y is a vector of outputs. In this disclosure, parametric faults are considered. Parametric faults are faults that can be detected by detecting deviations of the system parameters from their nominal values. Parametric faults do not impose significant constraints on the type of faults that can be detected and isolated. Indeed, it has been shown that the physical model of a system can be augmented with fault modes inspired by the physics of failure. The physics-based fault augmentation process adds additional equations to the model. These new equations are dependent on parameters whose activation induces the simulated faulty behavior. The types of faults introduced are domain dependent. We can model faults in the electrical (e.g., short, open connections, parameter drifts, etc.), mechanical (e.g., broken flanges, stuck flanges, torque losses due to added friction, efficiency losses, etc.), or fluid (e.g., blocked pipes, leaking pipes, etc.) domains.
Using F={F1, . . . , FM} to denote the set of faults that need to be detected and isolated, where F0 denotes the normal behavior, the diagnosis objective is to construct a classifier f:Y→{F1, . . . , FM}, where Y is a set of observations of the system behavior, typically given by a set of sensor measurements that are processed sample by sample or in batches. A set of fault parameters {θ1 . . . , θM} can be associated with each of the fault modes with nominal values θ*i for i∈{1, . . . , M}. The classifier fault detection scheme is defined as a deviation of the output measurements from their expected values. The fault isolation can be done based on the deviation of the fault parameters from their nominal values, i.e., ∥θi−θ*i∥≥εi, where εi is a fault-specific threshold that depends on measurement noise statistics.
Because estimating jointly all fault parameters can create ambiguity (combination of fault parameter values can generate outputs similar to a single parameter value), each fault parameter should be estimated separately. During the estimation of a single parameter, the remaining fault parameters are assumed to be nominal. The estimation of a fault parameter is done by solving a least-square optimization problem, over a fault time window T. During this window, time samples of inputs and outputs are used in an optimization problem whose solution is an estimate of the considered fault parameter. In particular, the optimization problem can have the following form:
where L(θj)=Lj=Σi-0N∥y(ti)−ŷj(ti)∥ is the least-square loss function, ti are time samples in the interval [0,T], ŷj is the output vector when the parameter θj is varied while other parameters remain constant, y(ti) are sensor measurements, and Θj is a constraint set for the parameter θj. The optimization problems for multiple parameters can be solved in parallel, and the diagnosis solution can be decided based on a maximum likelihood argument. In particular, one can define empirical probabilities as
and the fault is selected using i*=max arg{wi}.
Each optimization problem uses a model of the system to simulate the system outputs. The DAE representing the system model may include artifacts (discrete terms and discontinuities) that make it inappropriate for use with solvers featuring automatic differentiation. In such a case, gradient-free algorithms can be used, but they are typically slower. While the parallelism in testing for each of the fault parameters does help with the time efficiency, the model complexity can take its toll on each optimization problem.
To reduce the time complexity, in some embodiments, the to-be-simulated physical system can be divided into multiple subsystems, such that when a fault parameter is estimated, one only needs to perform simulation on the corresponding subsystem.
To explain the method and process of decomposing a physical system, the following description uses a friction model as an example.
To increase the timing efficiency of the simulation, a physical system (which can have a large number of components) can be decomposed into a number of smaller subsystems (with each subsystem comprising a smaller number of components). For example, the system shown in
As discussed previously, the behavior of a physical system (e.g., the drive train represented by friction model 200) can be described by a number of equations. Decomposing a system into multiple subsystems can involve grouping these equations into multiple groups, with each group of equations describing a corresponding subsystem. Ideally, the subsystems are independent of each other (meaning that solving equations in one subsystem does not rely on values of variables in other subsystems) to allow simulations of the subsystems to be performed in parallel. However, for a typical physical system, the equations are often dependent upon each other, meaning that solving the equations in one subsystem may rely on variable values obtained by solving one or more equations in a different subsystem. The dependency relationship among subsystems makes it difficult to perform simulations in parallel.
To decouple the subsystems, in some embodiments, sensor measurements can be used as inputs for the subsystems. More specifically, the behavior of each subsystem can be described by a set of equations that contain, in addition to unknown, to-be-solved variables, a set of “input” variables. These “input” variables are quantities that are computed by solving equations at other parts of the model (or other subsystems). However, instead of solving those equations, values of the “input” variables can be obtained by performing sensor measurements. This way, simulation of this particular subsystem no longer depends on simulation results of the other subsystem, making parallel simulation of the subsystems possible.
In some embodiments, the dependency among the model variables can be determined by generating the block lower triangular (BLT) form of the system model, which allows the system of equations to be solved by block forward substitution.
From
Compared with the entire friction system, the brake-and-inertia subsystem has fewer variables, fewer equations, and fewer states. Consequently, the amount of time needed for simulation (e.g., for simulating a predetermined time horizon) of the subsystem can be much less than what is needed for simulation of the entire system. Because parameter estimation-based fault diagnosis depends on how fast the models can be simulated, simpler models can result in faster diagnosis. In the example shown in
In addition to increasing the time efficiency for diagnosing a particular subsystem, decoupling subsystems can also increase the time efficiency for diagnosing the entire system. More specifically, the entire system can be divided into a number of independent subsystems, and fault diagnosis can be performed in parallel for each subsystem. This way, the amount of time needed for diagnosing faults in the entire system can be the amount of time needed for diagnosing the most complex subsystem. Using friction system 200 shown in
Based on the system model, the diagnosis engine can perform structural analysis of the system (operation 604). For example, the diagnosis engine can perform causal analysis of the model equations to derive causal relationships among the model equations. Note that equations without a causal relationship are probably independent of each other. In some embodiments, to execute the causal analysis, the diagnosis engine can generate a BLT form of the system model. Existing tools or known techniques (e.g., using the graph theory to associate model variables with model equations) can be used to generate the BLT form of the system model. The scope of this disclosure is not limited by the techniques used to generate the BLT form.
The diagnosis engine can subsequently decompose the model of the physical system into multiple independent subsystem models (operation 606). In some embodiments, the diagnosis engine can use output of the structural analysis (e.g., the causal relationship among model equations or the BLT form of the model) to determine one or more subsystem models that are independent of other parts of the system model. When determining that a subsystem model is independent, the diagnosis engine can identify a number of “input” variables for that subsystem model and determine whether sensor measurements of their values can be obtained. Such input variables are variables that couple the subsystem model to other parts of the system model. Note that it is possible that a subsystem model is naturally independent, meaning that it does not have any input variables. Obtaining sensor measurements of the input variables can “decouple” the subsystem model from the other parts of the system model. In certain situations, sensor measurements of certain input variables may not be readily available. For example, if inertia component 414 shown in
Once the physical system is decomposed into multiple subsystems, the fault-diagnosis process can be performed in parallel for each subsystem (operation 610). Note that the process for performing fault diagnosis for each subsystem can be similar to what is shown in
The fault diagnosis process included in each dashed box can be similar to the process shown in
The diagnosis engine can subsequently compute, for each subsystem, the empirical probability distribution of the fault parameters within the subsystem, and the diagnosis solution is the most likely faulty parameter, per the empirical probability distribution. Accordingly, the component associated with the faulty parameter will be identified as the faulty component. Because the subsystems are independent of each other, the diagnosis solutions of the subsystems are also independent of each other. In other words, multiple faulty components may be identified.
In the examples shown in
Model library 702 stores a number of models of to-be-diagnosed physical systems. A model can be a set of mathematical equations that describe behaviors of components in the corresponding physical system. Model-structural-analysis module 704 can be responsible for performing structural analysis of the model of a to-be-diagnosed system. In some embodiments, performing the structural analysis can include analyzing causal relationships among the model equations. In further embodiments, to execute the causal analysis, the BLT form of the system model can be generated.
Model-decomposing module 706 can be responsible for decomposing the model of the entire physical system into multiple subsystem models based on the outcome of the structural analysis (e.g., the BLT form of the model). Model equations having a stronger causal relationship can be grouped together to form a subsystem model. For each subsystem, input-variable-identification module 708 can identify a number of input variables as additional inputs of the subsystem model to enable independence of the subsystem model. The subsystem model can become independent of other parts of the system model (i.e., other equations) by obtaining (e.g., through sensor measurement) values of the identified input variables.
Sensors 710 can include sensors for observing behaviors of the system (e.g., measuring outputs of the system model) and sensors for measuring values of the input variables of each subsystem. Sensor-measurement-receiving module 712 can receive, from each sensor, the measurement result, which can be within a predetermined time window.
Model-parameter-estimation module 714 can be responsible for estimating time parameters for each subsystem. The parameter estimation process can be done by solving a least-square optimization problem, and the optimization can be performed in parallel for each parameter within each subsystem. Because the subsystems are independent, when a parameter is estimated, only the corresponding subsystem model needs to be simulated. Simulating the smaller subsystem model can be much faster than simulating the model of the entire system.
Faulty-parameter-determination module 716 can be responsible for determining, for each subsystem, the most likely fault parameter. More specifically, faulty-parameter-determination module 716 can compute, for each parameter within each subsystem, the empirical probability and determine that the parameter with the maximum empirical probability is the faulty parameter. Output module 718 can be responsible for outputting the diagnosis solution for each subsystem. The diagnosis solution can be the faulty parameter and/or the component associated with the faulty parameter.
Fault-diagnosis system 820 can include instructions, which when executed by computer system 800, can cause computer system 800 or processor 802 to perform methods and/or processes described in this disclosure. Specifically, fault-diagnosis system 820 can include instructions for performing structural analysis on a model of a physical system (model-structural-analysis module 822), instructions for decomposing the system model into multiple subsystem models (model-decomposing module 824), instructions for identifying input variables for each subsystem model (input-variable-identification module 826), instructions for receiving sensor measurements (sensor-measurement-receiving module 828), instructions for estimating parameters for each subsystem model (model-parameter-estimation module 830), and instructions for determining the most likely faulty parameter in each subsystem (faulty-parameter-determination module 832). Data 840 can include a model library 842.
In general, the disclosed embodiments provide a system and method for improving the time efficiency of fault diagnosis of a physical system using the parameter-estimation-based diagnosis technique. More specifically, the model of a to-be-diagnosed physical system can be analyzed and decomposed into multiple smaller subsystem models, with each subsystem model modeling the behavior of a subset of components of the original physical system. To enable decoupling between the subsystem models, the diagnosis engine can identify, for each subsystem, a number of input variables, which are variables that couple a subsystem model to other parts of the system model (i.e., other subsystem models). The decoupling can be achieved by treating these input variables as inputs to the subsystem model (instead of as to-be-solved model variables) and by obtaining their values using sensors (instead of solving model equations). Fault diagnosis operations on the decoupled or independent subsystems can be performed in parallel, thus increasing the time efficiency. In situations where sensors for measuring values of the input variables are not installed, appropriate types of sensors can be installed at desired locations to collect data for diagnostic purposes. In some embodiments, the diagnosis process may include a combination of serial and parallel operations, where a precursor block within a subsystem needs to be simulated first to allow other blocks within the subsystem to be simulated in parallel. This disclosure uses a mechanical system (e.g., a drive train comprising an engine, a clutch, a brake, and multiple inertia components) as an example to explain the principle of operation of the diagnosis engine. In practice, the same technique can be used to diagnose different types of physical systems, including but not limited to: mechanical systems, electrical systems, hydraulic systems, and a combination thereof. Moreover, in addition to the parameter-based diagnosis techniques, other types of model-based diagnosis techniques, including observer-based techniques and redundancy relations (or parity equations)-based techniques, can also benefit from the approach of decomposing a large system model into multiple smaller subsystem models.
The methods and processes described in the detailed description section can be embodied as code and/or data, which can be stored in a computer-readable storage medium as described above. When a computer system reads and executes the code and/or data stored on the computer-readable storage medium, the computer system performs the methods and processes embodied as data structures and code and stored within the computer-readable storage medium.
Furthermore, the methods and processes described above can be included in hardware modules or apparatus. The hardware modules or apparatus can include, but are not limited to, application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs), dedicated or shared processors that execute a particular software module or a piece of code at a particular time, and other programmable-logic devices now known or later developed. When the hardware modules or apparatus are activated, they perform the methods and processes included within them.
The foregoing descriptions of embodiments of the present invention have been presented for purposes of illustration and description only. They are not intended to be exhaustive or to limit the present invention to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the present invention. The scope of the present invention is defined by the appended claims.